Предыдущая Следующая

Биты CANICR

Название

Описание

Значение после сброса

Установка RM

20:16

ERRBIT

Код ошибки захвата: когда CAN-контроллер обнаруживает шинную ошибку, ее местоположение в пределах фрейма фиксируется в этом поле. Значение кода содержится во внутренней переменной. 00010: ID28:21. 00011: Начало фрейма. 00100: SRTR бит. 00101: IDE бит. 00110: ID20:18. 00111: ID17:13. 01000: CRC.

01001: Зарезервированный бит 0. 01010: Поле данных. 01011: DLC. 01100: RTR бит.

01101: Зарезервированный бит 1. OHIO: ID4:0. 01111: ID12:5.

10001: Флаг активной ошибки. 10010: Перерыв.

10011: Доминирующие биты ОК. 10110: Флаг пассивной ошибки. 10111: Разделитель ошибки. 11000: CRC разделитель. 11001: Слот подтверждения (Ack). 11010: Конец фрейма. 11011: Ack разделитель. 11100: Флаг переполнения.

Чтение этого байта разрешает следующее прерывание от шинной ошибки

0

X

21

ERRDIR

Когда CAN-контроллер обнаруживает шинную ошибку, направление следования текущего бита фиксируется в этом бите: 1 = прием, 0 = передача

0

X

23:22

ERRC

Когда CAN-контроллер обнаруживает шинную ошибку, тип ошибки фиксируется в этом поле: 00 = bit-ошибка, 01 = Form-ошибка, 10 = Stuff-ошибка, 11 = другая ошибка

0

X

28:24

ALCBIT

Каждый раз, когда теряется арбитраж, в то время как производится попытка пересылки через CAN, количество битов в составе фрейма фиксируется в этом поле. Значение 0 указывает на потерю арбитража в первом (MS) бите идентификатора,значение 31 указывает на потерю арбитража в бите RTR расширенного фрейма. После того, как байт читается, бит ALI в регистре CANICR сбрасывается, и может происходить новое прерывание от потери арбитража CAN

0

X

Содержимое битов 16...23 захватывается (фиксируется до тех пор, пока не будет прочитано), когда на шине происходит ошибка. В этот момент, в случае, если бит BEIE в регистре CANIER установлен, в регистре CANICR устанавливается бит BEI и может произойти прерывание CAN.

Содержимое битов 24...31 захватывается, когда теряется арбитраж CAN. В этот момент, в случае, если бит ALIE в регистре CANIER установлен, в регистре CANICR устанавливается бит ALI и генерация прерывания CAN разрешается.

Как только происходит захват любого из этих байтов (биты 16...23 или 24...31), содержимое байта сохраняется, пока не будет прочитано, с тем, чтобы можно было захватить новое значение.

Сброс битов 1...9 и выгрузка битов 16...23 и 24...31 производятся при любой операции чтения регистра CANICR, независимо от того, читается часть регистра или весь регистр целиком. Это означает, что программа-пользователь должна всегда при чтении рассматривать регистр CANICR, как 32-битное слово и обрабатывать в пользовательском приложении все биты регистра как значащие.

Регистр разрешения прерываний (CANIER — ОхЕООххОЮ)

Битовая структура регистра CANIER приведена в Табл. 14.9. Регистр доступен для чтения и записи и управляет разрешением прерываний от различных событий в контроллере CAN. Биты 7:0 этого регистра соответствуют битам 7:0 регистра CANICR. Конкретный адрес регистра CANIER (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см. в Табл. 14.4.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_167.html on line 226

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_167.html on line 226

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_167.html on line 226