Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория микропроцессорных систем АТ_Методическое...docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
3.72 Mб
Скачать

2.1.11. Модуль последовательного интерфейса msCan

В состав микроконтроллеров 68НС912ВЕ32, 68HC912D60, 68HC912DG128 и ряда моделей семейства 68HCS12 входят модули последовательного интерфейса msCAN, которые обеспечивают последовательный обмен данными с использованием протокола CAN (Controller Area Network). Модули реализуют обмен данными в стандартном и расширенном формате в соответствии с протоколом CAN 2.0 А/В, который описан в 1.2.15.

Модуль интерфейса msCAN, используемый в микроконтроллерах семейства 68НС12/912, функционирует аналогично модулю msCAN08 в семействе 68НС08/908 (см. 1.2.15). Для реализации последовательного обмена модуль имеет два внешних вывода: RxCAN для ввода данных с CAN-шины, TxCAN для выдачи данных на эту шину. Выводы RxCAN, TxCAN совмещены с выводами PCAN0, PCAN1 параллельного порта PCAN (см. рис. 2.1). Остальные выводы этого порта PCAN7-2 служат для двунаправленного ввода-вывода данных. Модуль msCAN обеспечивает двойную последовательную буферизацию для принимаемых кадров и тройную параллельную буферизацию для передаваемых кадров (см. рис. 1.58). Для размещения регистров модуля и буферов, хранящих передаваемые и принимаемые сообщения, выделено 128 байт в адресном пространстве ОЗУ данных (табл. 2.36).

Содержимое регистров модуля и буферов обмена совпадает с содержимым ана­логичных регистров и буферов в модуле msCAN08 (см. 1.2.15). Процедура фильт­рации выполняется так, как показано на рис. 1.63. Отличие состоит только в том, что модуль msCAN в микроконтроллерах семейства 68НС12/912 имеет два набора фильтров идентификации, каждый из которых содержит один 32-разрядный, два 16-разрядных и четыре 8-разрядных фильтра. Первый набор фильтров задается содержимым регистров CIDAR0-3, CDMR0-3, второй набор - содержимым регистров CIDAR4-7, CDMR4-7. Форматы содержимого этих регистров соответствуют при­веденным на рис. 1.62, б, в. Идентификаторы поступивших сообщений сначала про­пускаются через фильтры 1-го набора, затем (при отсутствии совпадений) через фильтры 2-го набора. Регистр CIDAC (рис. 2.39, а) в модуле msCAN содержит биты IDAM1-0, которые задают вид фильтрации, выполняемой при приеме:

Таблица 2.36. Распределение адресного пространства модуля msCAN

IDAM1-0 = 00 - пропускание через два 32-битовых фильтра;

IDAM1-0 = 01 - пропускание через четыре 16-битовых фильтра;

IDAM1-0 = 10 - пропускание через восемь 8-битовых фильтров;

IDAM1-0 = 11- закрытое состояние всех фильтров (запрещение приема).

Биты IDHIT2-0 в регистре CIDAC указывают в случае приема номер фильтра, через который прошло сообщение.

Рис. 2.39. Формат содержимого регистров CIDAC (a), DDRCAN (б), PCTLCAN (в)

модуля msCAN

Как указано выше, 6 выводов PCAN7-2 порта CAN могут использоваться для параллельного ввода-вывода данных (см. 2.1.7). Направление передачи данных для этих выводов задается значением битов DDCAN7-2 в регистре DDRCAN (рис. 2.39, б). Принятые или передаваемые данные хранятся в шести старших разрядах регистра PORTCAN (адрес $013D). В регистре управления PCTLCAN (рис. 2.39, в) содер­жатся бит PUPCAN, который при PUPCAN=1 вызывает подключение ко всем выво­дам порта CAN резисторов, «подтягивающих» их потенциал к напряжению пита­ния, и бит RDPCAN, который при RDPCAN=1 обеспечивает для выходов этого порта пониженные значения выходных токов.