Битовая структура регистра CANMOD приведена в Табл. 14.5. Регистр предназначен для управления основным операционным режимом контролера CAN. Чтение не указанных в таблице битов этого регистра возвращает значение 0, и в эти биты должны быть записаны нули. Конкретный адрес регистра CANMOD (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см. в Табл. 14.4.
Таблица 14.5. Биты регистра режима CAN (CANMOD — OxEOOx хООО)
Биты CANMOD |
Название |
Описание |
Значение после сброса |
Установка КМ |
0 |
RM |
0: Контроллер CAN работает в «защищенном режиме», т. е. запись в некоторые регистры не может быть произведена. 1: Режим сброса — операции CAN заблокированы и в доступные для записи регистры может быть произведена запись |
1 |
1 |
1 |
LOM |
0: CAN-контроллер после успешного приема каждого сообщения по шине CAN выставляет в линию соответствующий сигнал подтверждения. 1: Пассивный режим («слушания») — контроллер не дает никакого подтверждения через CAN, даже если сообщение успешно принято. Отправка сообщений заблокирована и контроллер находится в режиме «пассивной ошибки» («Егтог Passive mode* — контроллер CAN может передавать только пассивные фреймы ошибки, содержащие пассивный флаг ошибки, состоящий из рецессивных'* битов). Этот режим предназначен также для программной оценки скорости обмена и «горячего подключения» |
0 |
X |
2 |
STM |
0: Требуется подтверждение о приеме переданного в линию сообщения со стороны других подключенных к шине устройств. В противном случае, сообщение считается переданным с ошибкой и будет отправлено повторно. 1: Режим самотестирования — контроллер рассматривает сообщение как успешно отправленное, даже при отсутствии подтверждения. Рекомендуется при использовании этого режима устанавливать также бит SRR в регистре CANCMR |
0 |
X |
3 |
ТРМ |
0: Приоритет каждого из трех буферов передачи определяется в соответствии со значениями их CAN-идентификаторов. 1: Приоритет каждого из трех буферов передачи определяется в соответствии со значениями их полей приоритета передачи (PRIO в регистре CANTFI) |
0 |
X |
4 |
SM |
0: Контроллер CAN работает в нормальном режиме. 1: Спящий режим — контроллер CAN «спит», если он не запрашивает прерывание и нет активности на шине CAN |
0 |
0 |
5 |
RPM |
0: НИЗКИЙ уровень на выводах RX и ТХ для доминантного' бита. 1: Режим обратной полярности — ВЫСОКИЙ уровень на выводах RX и ТХ для доминантногого бита' |
0 |
0 |
7 |
ТМ |
0: Нормальная операция 1: Режим тестирования. Состояние вывода RX определяется состоянием вывода ТХ |
0 |
0 |
" В описании протокола CAN используются понятия «доминантный бит» и «рецессивный бит». По умолчанию доминантный бит имеет значение НИЗКОГО уровня и «затирает» любое количество рецессивных битов (по умолчанию имеющих значение ВЫСОКОГО уровня). То есть, если одно из участвующих в процессе обмена устройств выставило на шину CAN доминантный бит (0), а одно или несколько других — рецессивный (1), то текущее состояние шины будет определяться доминантным битом. (Прим. науч. ред.) |
Примечание. Состояние битов LOM и STM может быть изменено только в случае, когда бит RM установлен до начала операции записи.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |