Регистры арбитража
Регистры арбитража используются при фильтрации входящих кадров и определяют идентификатор исходящих кадров. Принятый кадр сохраняется в действительном (бит MSGVAL = 1) буфере приема с соответствующим идентификатором и DIR="0" (кадр данных) или DIR="1" (кадр удаленного запроса данных). Расширенный кадр может быть сохранен только в буфера приема с XTD="1", стандартный только с XTD="0". Если для принятия кадра имеются несколько буферов приема, принимаемые кадры будут сохраняться в буфера приема начиная с меньшего номера.
Когда CAN - контроллер сохраняет данные в буфере приема, он также сохраняет идентификатор кадра и код длины данных (стандартный идентификатор имеет разряды ID17...0 равными нулю). Это используется для сохранения связи идентификатора кадра и данных этого сообщения. Когда CAN - контроллер сохраняет кадр удаленного запроса данных, он сохраняет только DLC в соответствующий буфер приема. Идентификатор и байты данных остаются неизмененными.
В любое время не должно быть больше чем одного кадра с данным идентификатором. Если несколько бит маскированы глобальной маской, то идентификаторы действительных кадров должны отличаться в тех битовых позициях, которые используются для фильтрации сообщений.
Если сохраняется принятый кадр данных, то идентификатор данного буфера приема также изменяется. Если несколько бит идентификатора не проверяются приемным фильтром, эти биты могут быть изменены при сохранении в буфере приема. Если принят кадр удаленного запроса данных, идентификатор кадра для передачи останется не измененным, за исключением буфера приема № 15 (он не может стать буфером передачи). Биты этого идентификатора, которые не проверяются приемным фильтром, могут быть перезаписаны входящим сообщением.
CAN Upper Arbitration Register Low UAR0
Адрес - F7n2h.
Значение после сброса - UUh.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Доступ |
rw |
Назван. |
ID28-21 |
CAN Upper Arbitration Register High UAR1
Адрес - F7n3h.
Значение после сброса - UUh.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Доступ |
rw |
Назван. |
ID20-13 |
CAN Lower Arbitration Register Low LAR0
Адрес - F7n4h.
Значение после сброса - UUh.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Доступ |
rw |
Назван. |
ID12-5 |
CAN Lower Arbitration Register High LAR1
Адрес - F7n5h.
Значение после сброса - UUUUU000b.
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Доступ |
rw |
r |
r |
r |
Назван. |
ID4-0 |
0 |
0 |
0 |
Бит |
Назначение |
ID28-0 |
Идентификатор (29-бит) Идентификатор стандартных (ID28-18) или расширенных кадров (ID28-0) |
Конфигурация буфера
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Доступ |
rw |
rw |
rw |
r |
r |
Назван. |
DLC |
DIR |
XTD |
0 |
0 |
Бит |
Назначение |
DLC |
Код длины данных Действительные значения 0…8 |
DIR |
Направление сообщения DIR="1": передача. Если установлен TXRQ соответствующее сообщение будет передано. При принятии пакета удаленного запроса данных с соответствующим идентификатором, будут установлены биты TXRQ и RMTPND данного буфера.DIR="0": прием. Если установлен TXRQ , то будет послан пакет удаленного запроса данных. При принятии сообщения с соответствующим идентификатором, сообщение будет сохранено в этот буфер приема. |
XTD |
Расширенный идентификатор Показывает, использует ли буфер расширенный 29 битный или стандартный 11 битный идентификатор |
Байты данных
Адреса: F7n7h - F7nEh
Значения после сброса: XXh
Доступны для чтения или записи.
Данные для буфера приема № 15 (последний буфер) записываются в буфер, построенный таким образом, что при принятии нового кадра, старый кадр не теряется, если он еще не был прочтен микроконтроллером (при приеме третьего кадра - первой кадр будет потерян).
|