Смекни!
smekni.com

Motorola MC68HC705C8 (стр. 9 из 12)

Рис. 2-9 Структурная схема последовательного интерфейса связи.

Motorola MC68HC705C8

(1)-контрольный бит, задается программно.

Рис. 2-10 Диаграмма обмена по SCI.

Рассмотрим регистры, входящие в интерфейс.

Регистр скорости передачи данных (BAUD), расположенный по адресу 0DH, используется для задания скорости обмена по интерфейсу. Из таблиц 2-3 и 2-4 можно определить скорость приема/передачи информации, исходя из частоты кварцевого генератора.

Регистр скорости приема/передачи

Название - - SCP1 SCP0 - SCR2 SCR1 SCR0
Установка после RESET 0 0 0 0 0 0 0 0

SCP1, SCP0-предварительное деление на 1, 3, 4, 13.

SCR2, SCR1, SCR0-деление после предварительного делителя на 1, 2, 4, ... ,128.

Таблица 2-3. Предделитель тактовой частоты.

SCP1 SCP0 Делитель тактовой частоты 4.19430 4.0 2.4576 2.0 1.8432
0 0 1 131072 125000 76800 62500 57600
0 1 3 43691 41666 25600 20833 19200
1 0 4 32768 31250 19200 15625 14400
1 1 13 10082 9600 5907 4800 4430

Таблица 2-4. Частота приема/передачи

SCR2 SCR1 SCR0 Делитель внутренней частоты 131.072 32768 76800 19200 9600
0 0 0 1 131072 32768 76800 19200 9600
0 0 1 2 65536 16384 38400 9600 4800
0 1 0 4 32768 8192 19200 4800 2400
0 1 1 8 16384 4096 9600 2400 1200
1 0 0 16 8192 2048 4800 1200 600
1 0 1 32 4096 1024 2400 600 300
1 1 0 64 2048 512 1200 300 150
1 1 1 128 1024 256 600 150 75

Первый управляющий регистр расположен по адресу 0ЕН (SCCR1) и содержит 3 бита, связанных с использованием 9-битного формата данных, а также один бит, определяющий способ активизации интерфейса.

Первый управляющий регистр

Название R8 T8 - M WAKE - - -
Установка после RESET 0 0 - 0 0 - - -

R8-принимаемый девятый бит.

T8-передаваемый девятый бит.

M-бит, определяющий длину посылки:

при М=1- 9 бит данных;

при М=0 -8 бит данных.

WAKE-метод активизации приемника:

при WAKE=1-приемник активизируется при обнаружении разряда адреса (старшего бита);

при WAKE=0-свободная линия вызывает активизацию приемника.

Второй управляющий регистр (SCCR2) расположен по адресу 0FH и осуществляет управление такими индивидуальными функциями интерфейса, как прерывания, блокировка приемника/передатчика и другими.

Второй управляющий регистр

Название TIE TCIE RIE ILIE TE RE RWU SBK
Установка после RESET 0 0 0 0 0 0 0 0

TIE-бит разрешения/запрета прерываний передатчика,

при TIE=1-прерывания разрешены,

при TIE=0-прерывания запрещены.

TCIE-бит разрешения/запрета прерываний при завершении передачи,

при TCIE=1-прерывания разрешены,

при TCIE=0-прерывания запрещены.

RIE-бит разрешения/запрета прерываний от приемника,

при RIE=1-прерывания разрешены,

при RIE=0-прерывания запрещены.

ILIE-бит разрешения/запрета прерывания при освобождении линии ,

при ILIE=1-прерывание разрешено,

при ILIE=0-прерывание запрещено.

TE-бит разрешения/запрета передачи,

при TE=1-выход передающего сдвигового регистра подключен к линии TD0. В зависимости от бита M передаются 10 (M=0) или 11 (M=1) бит.

при TE=0-передача запрещается после завершения передачи байта, который обрабатывался в момент сброса бита TE, линия TD0 переходит в высокоимпедансное состояние,

RE-бит запрета/разрешения приема,

при RE=1-линия RDI соединяется со сдвиговым регистром приемника,

при RE=0-прием запрещен.

RWU-метод активизации приемника,

при RWU=1-приемник в режиме ожидания,

при RWU=0-если бит WAKE=1, то бит RWU сбрасывается после приема слова данных. Если WAKE=0, бит RWU сбрасывается после приема 10 (M=0), либо 11 (M=1) бит.

SBK-посылка сигнала останов,

при SBK=1-передатчик посылает блоки нулей (серии из 10 или 11) до очистки сдвигового регистра. Затем передатчик посылает один бит высокого уровня для определения старт-бита.

при SBK=0-передатчик посылает 10 или 11 нулей и затем возвращается в свободное состояние или продолжает посылки информации.

Если сдвиговый регистр передатчика пуст и линия свободна, установка и очистка SBK может поставить в очередь до двух посылок сигнала останова, т.к. первый сигнал передается немедленно в сдвиговый регистр, а второй встает в очередь в параллельный буфер передатчика.

Регистр статуса(SCSR) находится по адресу 10Н и содержит два флага статуса передатчика, и 5 флагов, относящихся к приемнику.

Регистр статуса

Название TDRE TC RDRF IDLE OR NF FE -
Установка после RESET 1 1 0 0 0 0 0 -

TDRE-сообщает о наличии данных в регистре передачи (ТDR),

при TDRE=1-регистр пуст и может принять новые данные,

при TDRE=0-регистр содержит данные. Чтение SCSR сбрасывает TDRE, если оно следует за записью в TDR.

TC-флаг завершение передачи,

при ТС=1-передатчик пуст (включая сдвиговый регистр),

при ТС=0-передатчик активирован. Чтение SCSR сбрасывает TDRE, если оно следует за записью в TDR.

RDRF -флаг наличия данных в регистре приема данных (RDR),

при RDRF=1-устанавливается, когда содержимое сдвигового регистра передано в RDR,

при RDRF=0-данных в RDR нет. RDRF сбрасывается при чтении SCSR, следующие за чтением RDR.

IDLE-обнаружение свободной линии,

при IDLE=1-Индицирует, что приемник обнаружил свободную линию,

при IDLE=0-IDLE сбрасывается при чтении SCSR, следующим за чтением RDR. Если IDLE сброшен, то он не может быть установлен в 1 до тех пор, пока линия RDI не будет активной и свободной вновь.

OR-флаг ошибки переполнения,

при OR=1-индицирует, что регистр приема данных переслан в RDR до считывания информации из него (RDRF=1). Данные, вызвавшие переполнение, теряются, а данные в RDR сохраняются,

при OR=0-OR сброшен при чтении SCSR, следовавшим за чтением RDR.

NF-флаг помехи,

при NF=1-индицирует наличие помехи на шине приема. NF не устанавливается, пока RDRF=1.

FE-флаг ошибки кадрирования,

при FE=1-индицирует отсутствие стоп-бита в принятых данных. FE устанавливается одновременно с установкой RDRF. Если принятый байт вызывает и ошибку кадрирования, и ошибку переполнения, процессор опознает только переполнение. Дальнейшая передача данных в RDR запрещается до сброса FE.

при FE=0-сброс бита FE произошел при чтении SCSR, следовавшим за чтением RDR.

Регистр данных (SCDAT) расположен по адресу 11Н и используется для передачи и приема данных.

Регистр данных

SCD7 SCD6 SCD5 SCD4 SCD3 SCD2 SCD1 SCD0

Как уже упоминалось, SCDAT функционирует как два раздельных регистра: передающий и принимающий.

Перейдем к рассмотрению Последовательного периферийного интерфейса, дающего возможность нескольким ОЭВМ и/или периферийным устройствам быть объединенными в одно целое. Периферийные устройства могут представлять собой как простой сдвиговый TTL регистр, так и сложные подсистемы, например драйверы жидкокристаллических дисплеев или системы ЦАП или АЦП.

В формате периферийного интерфейса сигнал синхронизации не включен в поток данных и выполнен в виде отдельного сигнала. Система на основе последовательного периферийного интерфейса должна состоять из одного ведущего устройства (ОЭВМ) и нескольких ведомых устройств, которые также могут представлять собой ОЭВМ (см. рис. 2-13), либо ОЭВМ, которые могут быть как ведущими, так и ведомыми.

Особенности интерфейса:

полно-дуплексная, трехпроводная синхронная передача данных;

работа ОЭВМ в качестве ведущего или ведомого устройства;

максимальная частота ведущего 1.05 МГц;

максимальная частота ведомого 2.1 МГц;

четыре программируемые скорости передачи данных ведущим;

программируемая полярность синхронизации и фаза;

флаг прерывания при окончании передачи;

флаг защиты от конфликта при записи данных;

возможность защиты от сбоя режима ведущий-ведомый.

Motorola MC68HC705C8

Рис. 2-11 Последовательный периферийный интерфейс. Блок-схема.

Блок-схема интерфейса представлена на рис. 2-11. При работе с периферийным интерфейсом нет необходимости указывать направление передачи данных, поскольку "ведущий" одновременно производит передачу и прием по раздельным линиям. Сдвиговые регистры ведущего и ведомого устройств удобно рассматривать как один 16-битный регистр, замкнутый в кольцо. Когда происходит передача данных, содержимое регистра сдвигается на 8 позиций, и устройства обмениваются данными.

Как видно из рис. 2-12, в состав периферийного интерфейса входят 4 линии (MOSI, MISO, SCK и SS), назначение которых приведено ниже:

MOSI (Master Out, Slave In)-линия, предназначенная для ввода последовательной информации, если устройство находится в режиме "ведомый", или для вывода информации, если устройство находится в режиме "ведущий". Данные по линии передаются в одном направлении старшим битом вперед.