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

Регистр команды (CANCMR — 0хЕ00хх004)

Битовая структура регистра CANCMR приведена в Табл. 14.6. Запись в этот доступный только для записи регистр инициирует какое-либо действие контроллера. В биты этого регистра, которые не перечислены в таблице, должны быть записаны нули. Чтение регистра возвращает нулевое значение. Конкретный адрес регистра CANCMR (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см.. в Табл. 14.4.

Таблица 14.6. Биты регистра команды CAN (CANCMR — OxEOOx х004)

Биты CANCMR

Название

Функция

0

TR

1: Запрос передачи — сообщение, предварительно записанное в регистры CANTFI, CANTID и, возможно, в регистры CANTDA, CANTDB, поставлено в очередь для передачи

1

AT

1: Передача аварийного прекращения работы — ожидающий обработки запрос передачи отменен, если он еще не обрабатывается. Если этот бит и бит TR установлены одной и той же операцией записи, то передача фрейма производится однократно и повторная передача не предпринимается даже в случае, если устанавливается флаг ошибки или теряется арбитраж

2

RRB

1: Выгрузка приемного буфера — информация, содержащаяся в регистрах CANRFS, CANRID, а также в регистрах CANRDA, CANRDB, если последние используются в приложении, выгружается, после чего эти регистры готовы для размещения следующего принятого фрейма. Если следующий принятый фрейм недоступен, то запись этой команды сбрасывает бит RBS в регистре CANSR

3

CDO

1: Сброс переполнения данных — бит переполнения данных в регистре CANSR сбрасывается

4

SRR

1: Автозапрос приема — сообщение, предварительно записанное в регистры CANTFS, CANTID и, возможно, в регистры CANTDA, CANTDB, поставлено в очередь для передачи. Отличие этого бита от бита TR состоит в том, что приемник не отключается в ходе передачи, так что сообщение принимается, если его идентификатор распознан приемным фильтром

5

STB1

1: Выбрать буфер Тх 1 для передачи

6

STB2

1: Выбрать буфер Тх 2 для передачи

7

STB3

1: Выбрать буфер Тх 3 для передачи

Глобальный регистр состояния (CANGSR — ОхЕООххООв)

Битовая структура регистра CANGSR приведена в Табл. 14.7. Этот регистр доступен только для чтения, за исключением того, что в счетчики ошибок может быть произведена запись, если установлен бит RM в регистре CANMOD. Чтение не указанных в таблице битов этого регистра возвращает значение 0, и в эти биты должны быть записаны нули. Конкретный адрес регистра CANGSR (в зависимости от его принадлежности к одному из четырех возможных для микроконтроллера LPC2000 контроллеров CAN) см. в Табл. 14.4.

Таблица 14.7. Биты глобального регистра состояния CAN (CANGSR — OxEOOx х008)

Биты CANGSR

Название

Описание

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

Установка RM

0

RBS

1: Состояние приемного буфера — принятое сообщение доступно в регистрах CANRFS, CANRID и в регистрах CANRDA, CANRDB (если последние используются в приложении). Этот бит сбрасывается командой выгрузки приемного буфера в регистре CANCMR, если отсутствует следующее принятое сообщение

0

0

1

DOS

1: Состояние переполнения данных — сообщение было потеряно, потому что предыдущее сообщение не было прочитано контроллером CAN и не было выгружено достаточно быстро. 0: Никакого переполнения данных не произошло с тех пор, как последняя команда очистки переполнения данных была записана в регистр CANCMR (или после сброса)

0

0

2

TBS

1: Состояние буфера передачи — не передается сообщение, содержащееся в CAN-контроллере (в любом из трех буферов Тх), и возможна программная запись в любой из регистров CANTFI, CANTID, CANTDA и CANTDB. 0: Поскольку, по крайней мере, одно предварительно поставленное в очередь сообщение CAN-koht-роллер еще не передал, то пользовательская програ-ма не должна производить запись в регистры CANTFI, CANTID, CANTDA, CANTDB этого буфера Тх

1

X

3

TCS

1: Состояние завершения передачи — все требуемые передачи успешно закончены. 0: По крайней мере, одна требуемая передача не была успешно закончена

1

0

4

RS

1: Состояние приема: CAN-контроллер принимает сообщение

0

0

5

TS

1: Состояние передачи: CAN-контроллер передает сообщение

0

0

6

ES

1: Состояние ошибки: содержимое одного или обоих счетчиков ошибок передачи и приема достигло значения, предварительно записанного в регистре предупреждения о лимите ошибок

0

0

7

BS

1: Состояние отключения шины: CAN-контроллеру в настоящее время запрещена деятельность на шине, потому что значение счетчика ошибок передачи достигло 255 (предельно возможная величина)

0

0

23:16

RXERR

Текущее значение счетчика ошибок приема

0

X

31:24

TXERR

Текущее значение счетчика ошибок передачи

0

X

Регистр захвата и прерываний (CANICR — ОхЕООххООС)


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



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz