Таблица 14.11. Биты регистра предупреждения о лимите ошибок CAN (CANEWL - ОхЕООх х018)
Биты CANEWL |
Название |
Описание |
Значение после сброса |
Установка RM |
7:0 |
EWL |
В ходе операций интерфейса CAN это значение постоянно сравнивается со счетчиками ошибок передачи и приема. Если содержимое любого из этих счетчиков достигает значения CANEWL, то устанавливается бит состояния ошибки (ES) в регистре CANSR |
96 = 0x60 |
X |
Регистр состояния (CANSR — ОхЕООххОЮ)
Битовая структура регистра CANNSR приведена в Табл. 14.12. Регистр содержит три байта состояния, в которых биты, не связанные с передачей, идентичны соответствующим битам в глобальном регистре состояния, а биты, свя-
занные с передачей, отражают состояние каждого из трех буферов Тх. Чтение не указанных в таблице битов этого регистра возвращает значение 0, и в эти биты должны быть записаны нули. Конкретный адрес регистра CANNSR (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см. в Табл. 14.4.
Таблица 14.12. Биты регистра состояния CAN (CANSR — ОхЕООх х01С)
Биты CANSR |
Название |
Описание |
Значение после сброса |
Установка КМ |
0, 8, 16 |
RBS |
Эти биты идентичны биту RSB в регистре CANGSR |
0 |
0 |
1,9, 17 |
DOS |
Эти биты идентичны биту DOS в регистре CANGSR |
0 |
0 |
2, 10, 18 |
TBSl, TBS2, TBS3 |
1: Можно производить программную запись сообщения из регистров CANTFI, CANTID, CANTDA и CANTDB в соответствующий буфер Тх. 0: Нельзя производить программную запись из регистров CANTFI, CANTID, CANTDA и CANTDB в соответствующий буфер Тх |
1 |
X |
3, 11,19 |
TCSl, TCS2, TCS3 |
1: Предварительно осуществлявшаяся передача из соответствующего буфера Тх была успешно закончена. 0: Предварительно осуществлявшаяся передача из соответствующего буфера Тх не закончена |
1 |
0 |
4, 12, 20 |
RS |
Эти биты идентичны биту RS в регистре CANGSR |
0 |
0 |
5, 13,21 |
TSl, TS2, TS3 |
1: CAN-контроллер передает сообщение из соответствующего буфера Тх |
0 |
0 |
6, 14, 22 |
ES |
Эти биты идентичны биту ES в регистре CANGSR |
0 |
0 |
7, 15, 23 |
BS |
Эти биты идентичны биту BS в регистре CANGSR |
0 |
0 |
Регистр состояния принятого фрейма (CANRFS — ОхЕООх х020)
Битовая структура регистра CANRFS приведена в Табл. 14.13. Регистр определяет характеристики принятого сообщения и доступен только для чтения при нормальных операциях интерфейса CAN, однако если установлен бит RM в регистре CANMOD, в него может быть произведена запись в целях тестирования. Конкретный адрес регистра CANRFS (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см. в Табл. 14.4.
Таблица 14.13. Биты регистра состояния принятого фрейма (CANRFS - ОхЕООх х020)
Биты CANRFS |
Название |
Описание |
Значение после сброса |
Установка RM |
9:0 |
ID |
Если бит BP (см. ниже) сброшен, то это поле — отсчитываемый от нуля номер в поисковой таблице ОЗУ, в которой приемный фильтр хранит идентификатор, совпадающий с полученным идентификатором. Запрещенные входы CAN в стандартных таблицах включены в эту нумерацию, но не участвуют в сравнении |
0 |
X |
10 |
BP |
Если этот бит установлен, то текущее сообщение было получено приемным фильтром, и поле идентификатора не имеет смысла |
0 |
X |
19:16 |
DLC |
Это поле содержит код длины данных (DLC) текущего принятого сообщения. Когда бит RTR = 0 (см. ниже), в регистрах CANRDA и CANRDB доступно для чтения следующее количество байтов: 0000...0111 = от 0 до 7 байтов, 1000...1111 = 8 байтов. Когда RTR = 1, значение поля DLC определяет, какое количество байтов данных требуется передать обратно удаленному корреспонденту с тем же идентификатором, что и у текущего принятого сообщения |
0 |
X |
30 |
RTR |
Это бит удаленного запроса на передачу текущего принятого сообщения. 0: принят текущий фрейм данных, байты которого (при ненулевом DLC) могут быть прочитаны из регистра CANRDA и, возможно, из регистра CANRDB. 1: фрейм данных, количество байтов в котором определяется значением DLC, требуется отправить удаленному корреспонденту, используя тот же идентификатор, что и у текущего принятого сообщения |
0 |
X |
31 |
FF |
0: текущее принятое сообщение включает 11-битный идентификатор. 1: текущее принятое сообщение включает 29-битный идентификатор. Значение этого бита влияет на состояние регистра CANRID, который будет описан далее |
0 |
X |
Регистр принятого идентификатора (CANRID — ОхЕООх х024)
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |