Лекция №11. Программируемый связной интерфейс

Содержание лекции:схема включения программируемого связного интерфейса в микропроцессорную систему, назначение его входов и выходов, адресация, форматы инструкции и команд управления.

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

Программируемый связной интерфейс (РСI – Programmable Communication Interface) или универсальный синхронно-асинхронный приемо-передатчик (УСАПП или USART – Universal Synchronous Asynchronous Receiver Transmitter) предназначен для организации обмена данными между МП и удаленными внешними устройствами (ВУ) в последовательном формате. По этой причине УСАПП называют также последовательным интерфейсом (IOS). В качестве передатчика УСАПП преобразует параллельный код в последовательный и отправляет его в линию связи, а в качестве приемника осуществляет обратное преобразование. УСАПП может обмениваться данными с удаленными устройствами в симплексном (движение информации в одном направлении) ,полудуплексном (информация передается и принимается в обоих направлениях, нопоочередно)и дуплексном режимах (обмен данными вобоих направленияходновременно).

На рисунке 32 приведено упрощенное условное обозначение УСАПП, схема его включения в микропроцессорную систему и типичная последовательность бит на входе приемника или выходе передатчика в асинхронном режиме работы. Микропроцессор на схеме не показан. Счетчик CT0 таймера (мог быть и другой) обеспечивает требуемую скорость обмена данными.

Назначение некоторых выводов: TxD - выход передатчика, RxD - вход приемника, CLK - вход частоты синхронизации, TxC - вход синхросигнала передатчика, RxC - вход синхросигнала приемника, ~CTS - инверсный вход готовности приемника терминала (удаленного устройства или модема). В простых системах связи вход ~CTS можно жестко связать с "землей", уведомляя передатчик, что приемник "всегда готов". Если используется стандартный протокол связи, например, RS-232C, то вход ~CTS должен быть отсоединен от нулевого провода. C/~D - функциональный вход "управление/данные". Если C/~D = 0 , то МП и УСАПП обмениваются байтом данных, если C/~D = 1, то происходит запись байта управления или чтение байта состояния. Назначение остальных выводов PCI аналогично назначению соответствующих выводов ППИ. Приведенных на рисунке 32 выводов достаточно для реализации связи с не очень удаленными объектами, например, с компъютером или с другими МП.

Лекция №11. Программируемый связной интерфейс - student2.ru

Рисунок 32 - Схема включения УСАПП в микропроцессорную систему

Из приведенного рисунка нетрудно вычислить адреса PCI. Для нулевого выхода дешифратора, подключенного к входу таймеру "выбор микросхемы" адреса уже найдены. Активизация инверсного входа ~CS УСАПП производится подачей сигналов A4,A3,A2 = 111(BIN) = 7(DEC) и разрешающих работу дешифратора сигналов A7,A6,A5 = 100(BIN). В таблице 32 приведены два из четырех возможных адресов PCI (A1 = 0).

Т а б л и ц а 32

ЛИНИИ ШИНЫ АДРЕСА ДАННЫЕ / РЕГИСТР УПРАВЛЕНИЯ (CSR) АДРЕС (HEX)
AА7 AА6 AА5 AА4 AА3 AА2 AА1 AА0
Лекция №11. Программируемый связной интерфейс - student2.ru 11 хx Адрес порта данных
хx Адрес порта CSR 9D

Одним из наиболее распространенных режимов работы УСАПП является асинхронный режим. В этом режиме каждый передаваемый символ (кадр) содержит следующие поля:

1) обязательный стартовый бит (ST) всегда равен нулю;

2) 5…8 информационных бит;

3) необязательный бит контроля четности/нечетности PB;

4) 1…2 стоп-бита SP.

Кадры следуют непрерывно или отделяются паузами. Инфомационные биты передаются, начиная со 010 старших разрядов. На рисунке 32 передается/принимается код 11001, а не 10011010.

УСАПП программируется записью в него байта управления, который может быть двух типов:

1) инструкция режима;

Команда управления.

Инструкция режима задает режим синхронизации, формат данных, скорость обмена, необходимость контроля. В таблице 33 приведен формат инструкции режима.

Т а б л и ц а 33

D7 D6 Число стоп-бит     Вид контроля D5 D4
Лекция №11. Программируемый связной интерфейс - student2.ru 0 Запрет Нет контроля
1 стоп-бит Контроль нечетности
"полтора" стоп-бита Нет контроля
2 стоп-бита Контроль четности

Продолжение таблицы 33

Лекция №11. Программируемый связной интерфейс - student2.ru Лекция №11. Программируемый связной интерфейс - student2.ru D3 D2 Число информационных бит   Частота синхронизации D1 D0
fTxC(RxC) / 1
fTxC(RxC) / 16
fTxC(RxC) / 64
 

Продолжение таблицы 33

Биты D7,D6 определяют число стоп-бит в каждом кадре, причем "полтора бита" обозначают длительность в полтора тактовых интервала.

Длительность тактового интервала (fTxC(RxC)/x)-1сек задают биты D1,D0. Частота fTxC или fRxC - частота сигнала на одноименных входах TxC и RxC приемопередатчика, должна быть меньше или равной fCLK/(4.5).

Внутри УСАПП может быть дополнительно поделена в 16 или 64 раза. Частота fTxC(RxC)/x определяет скорость передачи в Бодах (baud) или битах в секунду (bps). Для УСАПП обе скорости совпадают. В асинхронном режиме комбинация D1,D0 = 01 недопустима.

Максимальную скорость обмена данными нетрудно вычислить. Пусть fCLKmax = 2МГц, тогда fTxC(RxC) = fCLK/4.5 =444444,44Гц. В асинхронном режиме дополнительный коэффициент деления должен быть не менее 16, как показано в инструкции режима. Поэтому максимальная скорость обмена равна 444444,44Гц / 16 = 27777 бит в секунду.

Число информационных бит в кадре определяется битами D3,D2. Биты D5,D4 задают вид контроля за правильностью передачи.

В таблице 34 приведены некоторые биты команды управления.

Т а б л и ц а 34

Разряд Обозначение Назначение команды
Лекция №11. Программируемый связной интерфейс - student2.ru D0 TxEN Разрешение работы УСАПП в качестве передатчика, D0=1
D2 RxEN Разрешение работы УСАПП в качестве приемника, D2=1
D4 ER Сброс в ''0" флагов ошибок, D4=1
D6 RESET Программный сброс УСАПП в исходное состояние, D6=1

В процессе работы можно осуществлять контроль за работой УСАПП путем чтения байта его состояния. В таблице 35 приведены некоторые наиболее употребительные в асинхронном режиме биты состояния УСАПП.

Т а б л и ц а 35

Лекция №11. Программируемый связной интерфейс - student2.ru D7 D6 D5 D4 D3 D2 D1 D0
    FE OE PE   RxRDY TxRDY

Биты D5,D4,D3 (флаги) устанавливаются/сбрасываются приемником УСАПП, причем, PE=1 (Parity Error), если УСАПП зафиксировал ошибку при контроле четности/нечетности, OE=1(Overrun Error), если была попытка считать в микропроцессор передаваемый из линии в приемник код, до завершения его полной передачи, FE=1(Frame Error), если приемник не обнаружил стоп-бит(ы).

Бит RxRDY (готовность приемника), если RxRDY=0, то приемник еще не преобразовал последовательный код в параллельный и считывать его в микропроцессор бессмысленно.

Бит TxRDY (готовность передатчика), если TxRDY=0, то передатчик еще не преобразовал параллельный код в последовательный и загрузка следующего кода из микропроцессора в передатчик исказит текущее передаваемое значение.

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