98
бит данных приемник ожидает перехода линии в стоп-состояние, но этого не
происходит.
• Break Condition (сигнал прерывания передачи, разрыва связи)
Этот сигнал информирует о том, что входная линия данных находилась в
неизменном нулевом состоянии в течение времени, больше передачи одного
символа. В буфере приема нулевой байт. Некоторые устройства используют
такую
последовательность, чтобы сообщить передатчику, например, о переходе
на другую скорость обмена данными.
Пример организации и работы контроллера последовательного канала
микроконтроллера ADuC812 (Intel MCS-51) рассмотрен в следующем
подразделе этой главы. В разделе 6.3 приведен пример программирования
последовательного канала в учебном стенде SDK-1.1.
Еще более упрощается функционирование в режиме SPI: приемник и
передатчик работают синхронно: приему одного бита соответствует
передача
одного бита, начало передачи байта совпадает с началом приема, за сеанс
обмена происходит прием одного байта и передача одного байта.
В большинстве случаев приемопередатчики работают с входными и
выходными сигналами уровней TTL. Формирование физических сигналов с
уровнями напряжения и тока, соответствующими реализуемому интерфейсу,
выполняется с помощью специальных микросхем – трансиверов или
адаптеров
физического интерфейса. Например: MAX232 (MAXIM) – RS-232C, MAX485
(MAXIM) – RS-422/485, PCA82C251 (Philips) – CAN.
Кроме рассмотренных приемопередатчиков USART во встраиваемых
процессорах широко используются другие интерфейсы, например, USB, CAN.
2.2.9.1 Контроллер последовательного интерфейса в
микроконтроллере с ядром Intel MCS-51
Последовательный порт в микроконтроллерах MCS-51 позволяет
осуществлять последовательный дуплексный ввод-вывод в синхронном и
асинхронном режимах с разными скоростями обмена. Помимо обычного ввода-
вывода, в нем предусмотрена аппаратная поддержка взаимодействия
нескольких микроконтроллеров.
Схематически контроллер последовательного порта представлен ниже на
рисунке. Как видно из рисунка, регистр SBUF, доступный пользователю для
чтения и записи, есть
на самом деле два регистра, в один из которых можно
только записывать, а из другого – читать. Контроллер позволяет дуплексный
обмен данными, т.е. одновременно может передавать и принимать информацию
по линиям TxD (P3.1) и RxD (P3.0) соответственно.
Передача инициируется записью в SBUF байта данных. Этот байт
переписывается в сдвиговый регистр, из которого пересылается бит за
битом.