Скачиваний:
107
Добавлен:
21.02.2014
Размер:
10.67 Mб
Скачать

2.2.3 Работа последовательного канала связи

Встроенный в ВЕ51 последовательный канал связи может быть запрограммирован для работы в одном из четырех режимов. В режиме 0 данные принимаются или передаются последовательно через линию ТхD со скоростью OSC/12 младшими битами вперед по 8 разрядов за операцию. Для синхронизации внешних средств используется линия ТхD. Передача инициируется всякий раз, когда новые данные записываются в SBUF. Признаком окончания передачи служит установка флажка TI. Операция ввода данных активизируется при разрешенном приеме (REN = 1) по сбросу флажка RI. Установка флажка RI свидетельствует о готовности введенных данных для считывания из SBUF.

Выдаваемый на линию ТхD синхросигнал переходит в состояние 0 в фазе S3PI второго машинного цикла, следующего за циклом исполнения команды записи данных в SBUF или команды сброса RI при REN=1 (рисунок 7, а). Затем он переключается через каждые шесть тактов, переходя в состояние 1 в фазе S6P1 и воз­вращаясь в состояние 0 в фазе S3P1 до тех пор, пока не будут переданы или приняты все 8 бит. Флажок RI или TI в зависимости от выполняемой операции устанавливается после фронта восьмого синхроимпульса. Прием выходных данных внешними средствами следует осуществлять по фронту синхросигнала. Ввод данных от внешних средств выполняется перед очередным фронтом синхро­сигнала в фазе S5P2.

а) режим 0; б) режим 1; в) режим 2 и 3

Рисунок 7 - Форматы передачи данных

В отличие от режима 0 в трех оставшихся режимах реализу­ется асинхронный обмен данными, форматы которых приве­дены на рисунке 7, б, в. Для повышения помехоустойчивости приема в режимах 1-3 каждый бит данных опрашивается трижды. Для этого период передачи бита данных делится на 16 интервалов. Опрос осуществляется в интервалах 7-9. Решение о состоянии бита данных принимается голосованием «два из трех».

До прихода стартового бита приемник проверяет вход RхD 16 раз за период. При обнаружении перехода из 1 в 0 на входе RхD приемник начинает счет периодов передачи данных. В интервалах 7 - 9 первого периода приемник проверяет правильность генера­ции стартового бита. Если стартовый бит не подтверждается, то переход принимается за помеху, в противном случае реализуется операция последовательного приема 8 или 9 бит данных, которые запоминаются в регистре SBUF и во флажке RB8 (режим 2 и 3) при приеме последующего стопового бита. Одновременно с этим устанавливается флажок готовности приемника RI, свидетельст­вующий о приеме очередного кадра.

Данные передаются на вход ТxD после их записи в SBUF независимо от состояния TI. Передача стартового бита начинается в фазе S1P1 машинного цикла, следующего за первым сигналом переполнения счетчика, который используется в качестве генерато­ра скорости. Таким образом, начало передачи данных оказывается синхронизированным по отношению к генератору скорости. Кадр завершается выдачей стопового бита. Перед началом передачи стопового бита устанавливается флажок TI, свидетельствующий об окончании передачи данных.

В режимах 1-3 кадр данных имеет форматы, представленные на рисунке 6, б, в. Если данные D0 - D7 доступны через SBUF, то разряд D8 - через флажки ТВ8 и RB8 управляющего слова SCON. В режиме 2 скорость передачи в зависимости от значения флажка SMOD в регистре PCON может быть равной либо OSC/32 (SMOD = 0), либо OSC/64 (SMOD=l). В режиме 1 и 3 скорость передачи определяется частотой переполнения СТ1 или СТ2 (RCLK=1 или TCLK=1). В случае SMOD=l скорость передачи совпадает с частотой переполнения, а при SMOD = 0 скорость передачи в 2 раза меньше. Таким образом, манипулируя флажком SMOD, можно понизить скорость передачи в режимах 1-3 в 2 раза.

Флажки RI и TI способны осуществлять запрос на прерывание. В режимах 1-3 - установка флажка SM2 разрешает установку флажка RI и генерацию запросов от него только при приеме кадра с D8 = l. Для режима 1 это соответствует контролю кадра на стоповый бит. Для режима 2 и 3 такая организация работы обеспечивает разделение кадров на два класса в зависимости от состояния RB8. В противном случае принятые данные в SBUF не записываются и безвозвратно теряются.

Соседние файлы в папке КОНТРОЛЛЕР НА БАЗЕ ОЭВМ КР1816ВЕ51