Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КС-ZAO / Лекции ЦЭВМруский вариант11.doc
Скачиваний:
188
Добавлен:
07.02.2016
Размер:
15.82 Mб
Скачать

§7.5 Последовательный интерфейс

Последовательный порт является полнодуплексным – т.е. он может принимать и передавать данные одновременно. Также он снабжен приемным буфером, что позволяет начинать прием следующего байта до того как предыдущий полученный байт был считан из приемного регистра (в случае, если к моменту окончания приема следующего байта предыдущий байт все еще не был считан из регистра, один из байтов будет потерян). Доступ к регистрам приема и передачи последовательного порта осуществляется через СФР SBUF. Данные, записанные вSBUF загружаются в регистр передачи, а считанные изSBUF, приходят непосредственно из регистра приема.

Рисунок 7.12. Таймер 2 в режиме захвата

Последовательный порт может работать в 4-х рехимах.

Режим 0: Последовательный данные входят и выходят черезRXD. На выходе TXD – синхронизирующий сигнал. Передаются/принимаются 8 бит. Скорость передачи постоянная и составляет 1/12 частоты осциллятора (в бодах).

Режим 1: 10 бит передаются (через TXD) или принимаются (через RXD): старт-бит (0), 8 бит данных, и стоп-бит (1). При приеме стоповый бит попадает в RB8 регистра SCON. Скорость приема/передачи переменная.

Режим 2: 11 бит передаются (черезTXD) или принимаются(черезRXD): старт-бит (0), 9 программируемых бит данных, и стоп-бит (1). При передаче 9-ый бит данных (TB8 вSCON) может принимать значения 0 и 1. Этим битом может быть, например, бит четности (P вPSW), для чего его необходимо поместить вTB8. При приеме 9-ый бит данных попадает вRB8 регистраSCON в то время как стоп-бит игнорируется. Скорость приема/передачи переменная и может составлять1/32 или 1/64 частоты осциллятора (в бодах).

Режим 3: 11 бит передаются (черезTXD) или принимаются(черезRXD): старт-бит (0), 8 бит данных, программируемый 9-ый бит и стоп-бит(1). По сути, режим 3 полностью повторяет режим 2, за исключением скорости передачи, которая в режиме 3 переменная.

Во всех 4-х режимах передача инициируется инструкциями, использующими SBUF в качестве регистра назначения. Прием инициируется в режиме 0 при условияхRI=0, REN=1. В остальных режимах прием инициируется поступлением старт-бита при условии REN=1.

§7.5.1 Многопроцессорные связи

Режимы 2 и 3 предназначены специально для многопроцессорных связей. В этих режимах осуществляется прием 9-го бита данных, который попадает в RB8. После него следует стоп-бит. Порт может быть запрограммирован таким образом, что при приеме стоп-бита препывание последовательного порта сгенерируется только при условииRB8=1.Это свойство можно использовать установивSM2 вSCON. Способ использования этой особенности в многопроцессорных системах следующий.

Когда master-процессор хочет передать блок данных одному из несколькихslave-процессоров, он передает адресный байт, который идентифицирует получателя. Адресный байт отличается от остальных тем, что у него 9-ый бит 1, а не 0, как у обычных байт данных. ПриSM2=1 slave не будут прерваны приходом адресного байта. В общем случае, получение адресного байта генерирует прерывание уslave-процессоров, чтобы они могли проверить, не им ли адресована передача. Получатель сбрасывает битSM2 и готовится получать байты данных. Остальныеslave-процессоры оставляют их флагSM2 и игнорируют последующие байты данных.

SM2 не используется в режиме 0. В режиме 1 он может быть использован для проверки валидности стоп-бита. При приеме данных в режиме 1 иSM2=1 прерывание приема не будет активировано, пока не будет получен валидный стоп-бит.

Соседние файлы в папке КС-ZAO