Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Asinkhronnye_rezhimy (1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.54 Mб
Скачать

Режимы 2 и 3 работы последовательного порта

Это режимы 9-разрядного приёмо-передатчика с постоянной (режим 2) и переменной (режим 3) скоростью обмена данными. В этих режимах 11 бит передаются и принимаются через выводы TxD и RxD в следующей последовательности: старт-бит, 9 бит данных, стоп-бит. При передаче 9-й бит данных определяется содержимым разряда ТВ8 регистра SCON. При приёме 9-й бит заносится в бит RB8 регистра SCON.

В режиме 2 скорость (частота) приёма-передачи программно настраивается на одну из двух возможных величин fxtal/32 и fxtal/64 с помощью бита SMOD регистра PCON. В режиме 3 скорость определяется частотой преполнения Т/С 1 (fov). Во всём остальном режимы идентичны.

Временные диаграммы при передаче в отличие от режима 1 имеет перед стоп-битом бит ТВ8, а при приёме перед стоп-битом следует бит RB8. Регистр сдвига приёмника (как и передатчика) является 9-разрядным. При приёме после десятого импульса "Сдвиг" в регистре находятся 9 бит принятой посылки (8 бит данных и бит RB8). После десятого импульса "Сдвиг" биты D0 – D7 загружаются в регистр SBUF, 9-й разряд регистра сдвига загружается в бит RB8 регистра SCON и устанавливается флаг прерывания приёмника RI регистра SCON. Загрузка SBUF, RB8 и установка RI происходит при выполнении 2-х условий: 1) RI = 0 и 2) Либо SM2 = 0, либо принятый 9-й бит равен 1. Если хотя бы одно условие не выполняется посылка теряется , а флаг RI не устанавливается. Независимо от выполнения этих условий последовательный порт вновь начинает отслеживать на входе RxD переход из 1 в 0. Значение принятого стоп-бита не влияет на SBUF, RB8 и RI.

Напомним, что использование 9-го служебного бита необходимо для организации контроля обмена по чётности или обеспечения многопроцессорной работы микроконтроллеров.

Организация обмена в многопроцессорных системах

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

Д ля организации обмена необходимо обеспечить адресацию посылок от персонального компьютера к определённому микроконтроллеру и обеспечить передачу данных от микроконтроллера к персональному компьютеру (ведущему микроконтроллеру) только по команде персонального компьютера. Режимы 2 и 3 последовательного порта позволяют реализовать механизм адресации ведомых микроконтроллеров. В этих режимах принимается 9 бит данных и 9-й принятый бит записывается в разряд RB8 регистра SCON. При этом если бит SM2 регистра SCON установлен в 1, то после приёма посылки флаг прерывания приёмника RI будет установлен только в том случае, если RB8 = 1. Когда персональный компьютер хочет передать блок данных одному из микроконтроллеров, он выдаёт в моноканал посылку с адресом этого микроконтроллера. Адресная посылка отличается от посылки с данными тем, что в адресной посылке 9-ый бит данных равен 1, а в посылке с данными он равен 0. При SM2 = 1, ни один микроконтроллер не будет реагировать на посылку с данными, но все среагируют на посылку с адресом. Одновременная реакция микроконтроллеров заключается в переходе от выполнения текущей программы к подпрограмме обработки прерывания от приёмника, в которой происходит сравнение содержимого принятой посылки с уникальным адресом микроконтроллера. Адресуемый микроконтроллер, опознав свой адрес, сбрасывает свой бит SM2, а остальные оставляют его без изменения и вновь переходят к выполнению прерванной программы. После этого персональный компьютер начинает выдачу данных в моноканал. Данные передаются с девятым битом данных, равном нулю. На посылки будет реагировать микроконтроллер, у которого SM2 = 0. Его реакция заключается в том, что байт данных принимается приёмником, загружается в SBUF, устанавливается флаг прерывания от приёмника RI, происходит переход к подпрограмме обработки прерывания, пересылающей байт из SBUF в ячейку оперативной памяти.

Приёмники микроконтроллеров, у которых SM2 = 1, принимают байт данных, но он не загружается в SBUF и флаг прерывания RI не устанавливается. Поэтому байт данных затирается следующим принятым байтом, текущая программа не прерывается. Работающие приёмники контролируют возможность поступления адресной посылки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]