Работа УАПП в мультимикроконтроллерных системах

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

В регистре специальных функций SCON микроконтроллера имеется управляющий бит SM2, который в режимах 2 и 3 УАПП позволяет относительно простыми средствами реализовать межконтроллерный обмен информацией в локальных управляющих сетях.

Механизм межконтроллерного обмена информацией через последовательный порт МК51 построен на том, что в режимах 2 и 3 программируемый девятый бит данных при приеме фиксируется в бите RB8. УАПП может быть запрограммирован таким образом, что при получении стоп-бита прерывание от приемника будет возможно только при условии RB8 = 1. Это выполняется установкой управляющего бита SM2 в регистре SCON.

Поясним процесс межконтроллерного обмена информацией на примере. Пусть ведущему МК требуется передать блок данных некоторому (или нескольким) ведомому МК. С этой целью ведущий МК в протокольном режиме "широковещательной" передачи (всем ведомым МК) выдает в моноканал байт-идентификатор абонента (код адреса МК-получателя), который отличается от байтов данных только тем, что в его девятом бите содержится 1. Программа реализации протокола сетевого обмена информацией должна быть построена таким образом, чтобы при получении Райта- идентификатора (RB8 = 1) во всех ведомых МК произошли прерывание прикладных программ и вызов подпрограммы сравнения байта-идентификатора с кодом собственного сетевого адреса. Адресуемый МК сбрасывает свой управляющий бит SM2 и готовится к приему блока данных. Остальные ведомые МК, адрес которых не совпал с кодом байта-идентификатора, оставляют неизменным состояние SM2 = 1 и передают управление основной программе. При SM2 = 1 ин формационные байты, передаваемые по моноканалу и поступающие в УАПП ведомых МК, прерывания не вызывают, т.е. игнорируются.

В режиме 1 УАПП автономного МК управляющий бит SM2 используется для контроля истинности стоп-бита (при SM2 = 1 прерывание не произойдет до тех пор, пока не будет получено истинное (единичное) значение стоп- бита). В режиме 0 бит SM2 не используется и должен быть сброшен.

Скорость приема/передачи

Скорость приема/передачи, т.е. частота работы УАПП в различных режимах, определяется различными способами.

В режиме 0 частота передачи зависит только от резонансной частоты кварцевого резонатора f0 = fрез/12. За один машинный цикл последовательный порт передает один бит информации.

В режимах 1, 2 и 3 скорость приема/передачи зависит от значения управляющего бита SMOD в регистре специальных функций РУМ (табл. 11.2).

В режиме 2 частота передачи определяется выражением f2 = (2MOD/64)*fрез иными словами, при SMOD = 0 частота передачи равна (1/64) *fрез, а при SMOD = 1 равна (1/32)*fрез.

Таблица 11.2. Регистр управления мощностью РУМ

Символ Позиция Имя и назначение
SMOD PCON.7 Удвоенная скорость передачи. Если бит установлен в 1, то скорость передачи вдвое больше, чем при SMOD = 0
---- PCON.6 Не используются
---- PCON.5
---- PCON.4
GF1 PCON.3 Флаги, специфицируемые пользователем (флаги общего назначения)
GF0 PCON.2
PD PCON.1 Бит пониженной мощности. При установке бит а в 1 МК переходит в режим пониженной потребляемой мощности
IDL PCON.0 Бит холостого хода. Если бит установлен в 1, то МК переходит в режим холостого хода
Примечание. При одновременной записи 1 в PD и IDL бит PD имеет преимущество. Сброс содержимого РУМ выполняется путем загрузки в него кода 0XXX0000.

В режимах 1 и 3 в формировании частоты передачи кроме управляющего бита SMOD принимает участие таймер 1. При этом частота передачи зависит от частоты переполнения (OVT1) и определяется следующим образом:

f1, 3 = (2SMOD/32)*fOVT1.

Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам T/C1 может работать и как таймер, и как счетчик событий в любом из трех режимов. Однако наиболее удобно использовать режим таймера с автоперезагрузкой (старшая тетрада TMOD = 0010В). При этом частота передачи определяется выражением:

f1, 3 = (2SMOD/32)*(fрез/12)/(256-(TH1))

В табл. 11.3 приводится описание способов настройки Т/С1 для получения типовых частот передачи данных через УАПП.

Таблица 11.3. Настройка таймера 1 для управления частотой работы УАПП

Частота приема/передачи (BAUD RATE) Частота резонатора, МГц SMOD Таймер/счетчик 1
C/T Режим (MODE) Перезагружаемое число
Режим 0, макс: 1 МГц X X X X
Режим 2, макс: 375 кГц X X X
Режимы 1, 3: 62.5 кГц 0FFH
19.2 кГц 11.059 0FDH
9.6 кГц 11.059 0FDH
4.8 кГц 11.059 0FAH
2.4 кГц 11.059 0F4H
1.2 кГц 11.059 0E8H
137.5 Гц 11.059 1DH
110 Гц 72H
110 Гц 0FEEBH

Наши рекомендации