Motorola MC68HC705C8Рефераты >> Радиоэлектроника >> Motorola MC68HC705C8
Последовательный периферийный интерфейс использует 4 вывода порта D (MISO и MOSI-ввод-вывод информации, SCK-системная синхронизация, SS-ведущий/ведомый). Последовательный интерфейс связи использует 2 вывода (RDI-прием данных, TDO-передача).
Рассмотрим подробнее последовательный интерфейс связи. Полно-дуплексный асинхронный последовательный интерфейс связи работает в стандартном NRZ формате с широким выбором скорости приема/передачи информации. Передатчик и приемник функционально независимы, но используют одинаковый формат данных и скорость работы.
Общие особенности интерфейса:
стандартный NRZ формат;
усовершенствованная система выявления ошибок, включающая фильтрацию помех с длительностью до 1/16 времени передачи 1 бита;
полно-дуплексное функционирование (одновременный прием и передача);
программирование на одну из 32 возможных скоростей обмена;
программно-изменяемая длина слова (8 либо 9 бит в слове);
отдельно расположенные биты управления приемом и передачей;
возможность управления по прерыванию;
различных условия возникновения прерывания;
Особенности приемника:
наличие функции активации передатчика (свободная линия или разряд адреса);
обнаружение свободной линии;
обнаружение ошибок кадрирования (см. ниже);
выявление шумов;
обнаружение переполнения;
флаг контроля за полнотой регистра данных;
Особенности передатчика:
флаг контроля за пустотой регистра данных;
флаг завершения передачи;
прерывание посылки;
Структура интерфейса представлена на рис. 2-9.
Пользователь имеет возможность задать режим работы интерфейса через первый управляющий регистр (SCCR1). Второй управляющий регистр (SCCR2) содержит биты контроля за приемом/передачей, разрешением/запретом прерываний и другие. Рассмотри работу SCI в различных режимах.
Передача данных начинается с записи в регистр передачи данных (SCDAT),который физически расположен в одной и той же ячейке памяти с регистром приема данных. При условии, что работа передатчика разрешена, данные передаются в сдвиговый регистр. Эта передача данных устанавливает бит TDRE (пуст регистр передачи данных) в регистре SCSR и генерирует прерывание, если прерывания разрешены. Передача данных в сдвиговый регистр синхронизируется по внутреннему генератору скорости. Данные передаются младшим битом вперед При завершении передачи данных, бит TC устанавливается и генерируется прерывание. Если передатчик блокирован, и были посланы либо данные, либо код останова, бит ТС также будет установлен. Если передатчик блокируется во время передачи, то происходит завершение передачи текущего байта, и затем останов передатчика.
Прием данных начинается с чтения из регистра SCDAT, содержащего последний полученный байт, при условии что приемник не блокирован. Бит RDRF в регистре SCSR устанавливается, если данные из сдвигового регистра перенесены в SCDAT, что может вызвать кроме того прерывание от периферийного интерфейса, если оно разрешено. Передача данных из сдвигового регистра в SCDAT синхронизируется по внутреннему генератору. Флаги переполнения (OR), обнаружения шумов (NF), либо FE устанавливаются, если происходит ошибка при приеме данных.
На рис. 2-10 представлена диаграмма обмена в упоминавшимся выше NRZ-формате, используемом в интерфейсе.
Рис. 2-9 Структурная схема последовательного интерфейса связи.
(1)-контрольный бит, задается программно.
Рис. 2-10 Диаграмма обмена по SCI.
Рассмотрим регистры, входящие в интерфейс.
Регистр скорости передачи данных (BAUD), расположенный по адресу 0DH, используется для задания скорости обмена по интерфейсу. Из таблиц 2-3 и 2-4 можно определить скорость приема/передачи информации, исходя из частоты кварцевого генератора.
Регистр скорости приема/передачи
Название |
- |
- |
SCP1 |
SCP0 |
- |
SCR2 |
SCR1 |
SCR0 |
Установка после RESET |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
SCP1, SCP0-предварительное деление на 1, 3, 4, 13.
SCR2, SCR1, SCR0-деление после предварительного делителя на 1, 2, 4, . ,128.
Таблица 2-3. Предделитель тактовой частоты.
SCP1 |
SCP0 |
Делитель тактовой частоты |
4.19430 |
4.0 |
2.4576 |
2.0 |
1.8432 |
0 |
0 |
1 |
131072 |
125000 |
76800 |
62500 |
57600 |
0 |
1 |
3 |
43691 |
41666 |
25600 |
20833 |
19200 |
1 |
0 |
4 |
32768 |
31250 |
19200 |
15625 |
14400 |
1 |
1 |
13 |
10082 |
9600 |
5907 |
4800 |
4430 |
Таблица 2-4. Частота приема/передачи
SCR2 |
SCR1 |
SCR0 |
Делитель внутренней частоты |
131.072 |
32768 |
76800 |
19200 |
9600 |
0 |
0 |
0 |
1 |
131072 |
32768 |
76800 |
19200 |
9600 |
0 |
0 |
1 |
2 |
65536 |
16384 |
38400 |
9600 |
4800 |
0 |
1 |
0 |
4 |
32768 |
8192 |
19200 |
4800 |
2400 |
0 |
1 |
1 |
8 |
16384 |
4096 |
9600 |
2400 |
1200 |
1 |
0 |
0 |
16 |
8192 |
2048 |
4800 |
1200 |
600 |
1 |
0 |
1 |
32 |
4096 |
1024 |
2400 |
600 |
300 |
1 |
1 |
0 |
64 |
2048 |
512 |
1200 |
300 |
150 |
1 |
1 |
1 |
128 |
1024 |
256 |
600 |
150 |
75 |