F20-23 (1041603), страница 45
Текст из файла (страница 45)
Режим 2: 9-разрядный УАПП1, фиксированная скорость передачи данныхРежим 2 обеспечивает асинхронный полнодуплексный обмен данными с использованием 11 бит дляпередачи одного байта: один стартовый бит, восемь бит данных (МЗР вперед), программируемый девятый битданных и один стоповый бит. Режим 2 поддерживает организацию связи с несколькими МК и аппаратноераспознавание адреса (см. раздел 21.2).
При передаче значение девятого бита данных определяется значениембита TB81 (SCON1.3). Оно может соответствовать значению флага четности Р регистра PSW илииспользоваться для организации связи с несколькими МК. При приеме значение девятого бита сохраняется вбите RB81 (SCON1.2), а стоповый бит игнорируется.Передача данных начинается, когда происходит запись байта данных в регистр SBUF1. Флагпрерывания от передатчика TI1 (SCON1.1) устанавливается в 1 в конце передачи (в начале передачи стоповогобита).
Прием данных может быть начат в любое время после установки в 1 флага включения приемника REN1(SCON1.4). После приема стопового бита байт данных будет загружен в регистр приемника SBUF1, еслиRI1 = 0 и если соблюдается одно из следующих условий:1.2.SM21 = 0SM21 = 1, принятый 9-й бит равен лог. ‘1’, принятый адрес соответствует адресу УАПП1, какописано в разделе 21.2.Если описанные выше условия соблюдаются, то восемь бит данных сохраняются в регистре SBUF1,девятый бит данных сохраняется в бите RB81 и устанавливается в 1 флаг RI1.
Если эти условия несоблюдаются, то SBUF1 и RB81 не будут загружаться и флаг RI1 не будет устанавливаться. При установкефлагов TI1 или RI1 будет сгенерировано прерывание, если оно разрешено.Скорость передачи данных в режиме 2 будет равна SYSCLK/32 или SYSCLK/64 в зависимости отзначения бита SMOD1 регистра PCON:Уравнение 21.3. Скорость передачи данных в режиме 2Mode 2 Baud Rate = 2SMOD1 * (SYSCLK / 64).Рисунок 21.5. Временные диаграммы УАПП в режимах 2 и 3Лог.1Лог.0БитСТАРТD0D1D2D3D4D5D6D7D8БитСТОПБИТОВЫЕИНТЕРВАЛЫВЫБОРКА БИТАРед.
1.4218C8051F020/1/2/3Рисунок 21.6. Пример использования УАПП в режимах 1, 2 и 3RS-232LEVELXLTRRS-232TXRXC8051FxxxORTXTXRXRXMCUC8051Fxxx21.1.4. Режим 3: 9- разрядный УАПП, различная скорость передачи данныхВ режиме 3 используется протокол передачи данных, как в режиме 2, и генерация скорости передачиданных, как в режиме 1. В режиме 3 передаются 11 бит: один стартовый бит, восемь бит данных (МЗР вперед),программируемый девятый бит данных и один стоповый бит. Скорость передачи данных определяетсяпереполнением Таймера 1 или Таймера 4 в соответствии с уравнениями 21.1. и 21.2. Поддерживаютсяаппаратное распознавание адреса и организация связи с несколькими МК, как описано в разделе 21.2.219Ред. 1.4C8051F020/1/2/321.2.
Поддержка связи с несколькими МКРежимы 2 и 3 поддерживают мультимикроконтроллерный обмен данными между ведущим МК иодним или несколькими ведомыми МК, для чего применяется встроенная схема аппаратного распознаванияадреса и особым образом используется девятый бит данных. Когда ведущий МК хочет передать данные одномуили нескольким ведомым МК, он прежде всего посылает байт адреса выбранному(-ым) устройству(-ам).Адресный байт отличается от байта данных тем, что его девятый бит равен лог.1; в байте данных девятый битвсегда равен лог.0.Адрес УАПП1 определяется двумя SFR регистрами: SADDR1 (адрес последовательного порта) иSADEN1 (разрешение адреса последовательного порта). Регистр SADEN1 устанавливает битовую маску дляадреса, хранимого в регистре SADDR1: биты, установленные в 1 в регистре SADEN1, соответствуют битамрегистра SADDR1, которые участвуют в сравнении с принятым байтом адреса; биты, сброшенные в 0 врегистре SADEN1, соответствуют битам регистра SADDR1, состояние которых «не имеет значения» присравнении с принятым байтом адреса.Пример 1Пример 2Пример 3SADDR1= 00110101SADEN1= 00001111Адрес УАПП1 = хххх0101SADDR1= 00110101SADEN1= 11110011Адрес УАПП1 = 0011хх01SADDR1= 00110101SADEN1= 11000000Адрес УАПП1 = 00ххххххУстановка в 1 бита SM21 (SCON1.5) настраивает модуль УАПП1 таким образом, что при получениистопового бита УАПП1 будет генерировать прерывание только в том случае, если девятый бит равен лог.1(RB81 = 1) и принятый байт данных соответствует адресу ведомого УАПП1.
После возникновения такогопрерывания следует сбросить в 0 бит SM21, чтобы разрешить генерацию прерываний при полученииследующих байтов данных. После того, как все сообщение получено, адресованный ведомый МК устанавливаетв 1 бит SM21, чтобы игнорировать все посылки до получения следующего адресного байта. Пока SM21 = 1,УАПП1 игнорирует все байты, значение которых не соответствует адресу УАПП1 и 9-й бит которых не равенлог. ‘1’.Рисунок 21.7. Пример использования УАПП в многопроцессорном режимеВедущееустройствоВедомоеустройствоВедомоеустройствоВедомоеустройствоVDDRXTXRXTXRXРед. 1.4TXRXTX220C8051F020/1/2/321.3. Определение ошибок формата и ошибок передачиОпределение ошибок формата доступно в описанных ниже режимах, когда бит SSTAT1 в регистреPCON установлен в 1.Примечание: Для доступа к любому из битов состояния (FE1, RXOVR1, TXCOL1) бит SSTAT1 долженбыть установлен в 1. Для доступа к битам выбора режима УАПП1 (SM01, SM11, SM21) бит SSTAT1 долженбыть сброшен в 0.Все режимы:Бит ошибки передачи (TXCOL1 в регистре SCON1) читается как ‘1’, если программа пользователязаписывает данные в регистр SBUF1 во время процесса передачи данных.
Следует иметь ввиду, что битTXCOL1 функционирует также как бит SM21, если бит SSTAT1 в регистре PCON сброшен в 0.Режимы 1, 2 и 3:Бит переполнения приемника (RXOVR1 в регистре SCON1) читается как ‘1’, если новый байт данныхфиксируется в буфере приемника прежде, чем программа закончит чтение предыдущего байта. Следует иметьввиду, что бит RXOVR1 функционирует также как бит SM11, если бит SSTAT1 в регистре PCON сброшен в 0.Бит ошибки формата (FE1 в регистре SCON1) читается как ‘1’, если обнаружен некорректный (низкогоуровня) бит STOP.
Следует иметь ввиду, что бит FE1 функционирует также как бит SM01, если бит SSTAT1 врегистре PCON сброшен в 0.221Ред. 1.4C8051F020/1/2/3Таблица 21.2. Тактовые частоты, соответствующие стандартным скоростям обменаТактовая частота(МГц)25.025.024.57624.57624.024.023.59223.59222.118422.118418.43218.43216.588816.588814.745614.745612.902412.902411.059211.05929.2169.2167.37287.37285.52965.52963.68643.68641.84321.8432Коэффициентделения43486832084820883320581919276816064014457612851211244896348803206425648192321281664Значение перезагрузкиТаймера 1*0xE50xCA0xEC0xCB0XF30xCC0xF30xCD0xF40xD00xF60xD80xF70xDC0xF80xE00xF90xE40xFA0xE80xFB0xEC0xFC0xF00xFD0xF40xFE0xF80xFF0xFCСкорость передачиданных (Гц)**57600 (57870)288007680028800 (28921)115200 (115384)28800 (28846)115200 (113423)28800 (28911)1152002880011520028800115200288001152002880011520028800115200288001152002880011520028800115200288001152002880011520028800* При условии, что SMOD1 = 1 и T1M = 1.** Числа в скобках показывают действительную скорость передачи данных.Ред.
1.4222C8051F020/1/2/3Рисунок 21.8. SCON1: Регистр управления УАПП1R/WR/WR/WSM01/FE1 SM11/RXOV1 SM21/TXCOL1Бит 7Бит 6Бит 5R/WREN1R/WTB81R/WRB81R/WTI1R/WRI1Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес:0xF1Биты 7-6: Функционирование этих бит определяется битом SSTAT1 регистра PCON.Если SSTAT1 = 1, то эти биты являются битами состояния УАПП1, как описано в разделе 21.3.Если SSTAT1 = 0, то эти биты выбирают режим работы последовательного порта, как показанониже.SM01 - SM11: Биты выбора режима работы УАПП1:SM010011SM110101Режим работы УАПП1Режим 0: синхронный режимРежим 1: 8-битный УАПП, изменяемая скорость передачиРежим 2: 9- битный УАПП, фиксированная скорость передачиРежим 3: 9- битный УАПП, изменяемая скорость передачиБит 5:SM21: Разрешение поддержки мультимикроконтроллерного взаимодействия.Если SSTAT1 = 1, то этот бит является битом состояния УАПП1, как описано в разделе 21.3.Если SSTAT1 = 0, то функционирование этого бита зависит от режима работы УАПП1.Режим 0: Не влияет на работуРежим 1: Проверка корректности стопового бита.0: Логический уровень стопового бита игнорируется.1: Флаг RI1 будет установлен только в том случае, если стоповый бит равен лог.1.Режимы 2 и 3: Разрешение поддержки мультимикроконтроллерного взаимодействия.0: Логический уровень девятого бита игнорируется.1: Флаг RI1 устанавливается и прерывание генерируется только в том случае, еслидевятый бит равен лог.1 и принятый адрес соответствует адресу УАПП1 илишироковещательному адресу.Бит 4:REN1: Разрешение приема.Этот бит включает/отключает приемник УАПП1.0: Прием данных модулем УАПП1 запрещен.1: Прием данных модулем УАПП1 разрешен.Бит 3:TB81: Девятый бит передаваемых данных.Значение этого бита будет передано в качестве девятого бита данных в режимах 2 и 3.
Врежимах 0 и 1 этот бит не используется. Бит TB81 устанавливается и сбрасываетсяпрограммно.Бит 2:RB81: Девятый бит принимаемых данных.Этот бит принимает значение девятого бита данных, полученного в режимах 2 и 3. В режиме1, если SM21 = 0, бит RB81 принимает значение полученного стопового бита. В режиме 0 битRB81 не используется.Бит 1:TI1: Флаг прерывания от передатчика УАПП1.Устанавливается в 1 аппаратно при окончании передачи байта данных (после передачи 8-гобита в режиме 0, или в начале передачи стопового бита в остальных режимах). Еслипрерывание от УАПП1 разрешено, то установка этого бита вызовет переход на процедуруобслуживания прерывания от УАПП1.
Этот бит должен сбрасываться программно.Бит 0:RI1: Флаг прерывания от приемника УАПП1.Устанавливается в 1 аппаратно при приеме байта данных (после 8-го бита в режиме 0, илипосле стопового бита в остальных режимах, за исключением случаев, указанных в описаниибита SM21). Если прерывание от УАПП1 разрешено, то установка этого бита вызовет переходна процедуру обслуживания прерывания от УАПП1. Этот бит должен сбрасыватьсяпрограммно.223Ред. 1.4C8051F020/1/2/3Рисунок 21.9. SBUF1: Регистр буфера данных УАПП1R/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0xF2Биты 7-0: SBUF1.[7:0]: Биты (7-0) буфера данных УАПП1 (СЗР - МЗР)На самом деле именем SBUF1 обозначаются два регистра: буфер передатчика и буферприемника.