Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Режимы 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 не устанавливается. Поэтому байт данных затирается следующим принятым байтом, текущая программа не прерывается. Работающие приёмники контролируют возможность поступления адресной посылки.

 

Варианты организации окончания передачи данных

 

Начало обмена в многопроцессорной системе инициируется персональным компьютером (ведущим микроконтроллером) выдачей байта адреса микроконтроллера. Затем персональный компьютер передаёт данные. Рассмотрим варианты окончания передачи данных персональным компьютером. Это необходимо для того, чтобы подготовить микроконтроллер, который принимал данные, к приёму новой адресной посылки.

Одним из вариантов является передача данных в кодах ASCII. Окончание передачи данных может заканчиваться передачей специального символа, например, символом перевода строки. Подпрограмма обработки прерывания приёмника сравнивает каждый принимаемый байт с кодом специального символа окончания передачи данных. При поступлении этого символа подпрограмма обработки прерывания устанавливает SM2 = 1. Недостатком этого способа является увеличение объёма передаваемых байтов. Например, число 255 передаётся тремя байтами (код 2, код 5, код 5). Этот способ удобен при небольшом объёме передаваемых данных.

Другим способом окончания обмена может быть длительность интервала времени после передачи последнего байта данных. Если этот интервал больше заданного, то это означает конец передачи. Этот способ удобен для передачи больших объёмов данных.

В качестве признака конца передачи используют передачу в первых байтах пакета информацию о числе передаваемых байтов. Подпрограмма обработки прерывания от приёмника ведёт подсчёт этого числа, и достижение его означает конец передачи.

Вариацией последнего способа является передача постоянного числа байтов в пакете. В этом случае заранее известно, сколько байт будет передано. Поэтому нет необходимости передавать в первых байтах информацию о количестве байтов в пакете.

 

 




Поделиться с друзьями:


Дата добавления: 2015-06-28; Просмотров: 424; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.