CAN mailbox data length control and time stamp register (CAN_TDTxR) (x=0..2)
Регистр временных отметок и длины сообщения почтового ящика передатчика CAN-шины
Смещение (Address offset): 0x184,0x194, 0x1A4
Reset value: 0xXXXX'XXXX
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
TIME[15:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
X | X | X | X | X | X | X | X |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
TIME[15:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
X | X | X | X | X | X | X | X |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | TGT | ||||||
--- | --- | --- | --- | --- | --- | --- | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | X |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | DLC[3:0] | ||||||
--- | --- | --- | --- | rw | rw | rw | rw |
0 | 0 | 0 | 0 | X | X | X | X |
Содержит 16-битное значение таймера, полученное при передаче бита SOF (Start or Frame, стартовый бит сообщающий о начале кадра).
Этот бит активен только тогда, когда аппаратное обеспечение находится в режиме связи с временным триггером (Time Trigger Communication mode). Установливается битом TTCM регистра CAN_MCR.
0 : отметка времени сообщения не передаётся
1 : отметка времени сообщения передаётся двумя последними байтами данных 8-байтового сообщения
TIME[7:0] передаётся в 7 байте (последнем), TIME[15:8] передаётся в 6 байте, заменяя данные в регистре CAN_TDHxR[31:16] (DATA6[7:0] и DATA7[7:0])
Определяет количество байт данных, содержащихся во фрейме данных или в запросе. Сообщение может содержать от 0 до 8 байт данных.
/****************** Bit definition for CAN_TDT0R register *******************/
#define CAN_TDT0R_DLC ((uint32_t)0x0000000F) /* Data Length Code */
#define CAN_TDT0R_TGT ((uint32_t)0x00000100) /* Transmit Global Time */
#define CAN_TDT0R_TIME ((uint32_t)0xFFFF0000) /* Message Time Stamp */
/******************* Bit definition for CAN_TDT1R register ******************/
#define CAN_TDT1R_DLC ((uint32_t)0x0000000F) /* Data Length Code */
#define CAN_TDT1R_TGT ((uint32_t)0x00000100) /* Transmit Global Time */
#define CAN_TDT1R_TIME ((uint32_t)0xFFFF0000) /* Message Time Stamp */
/******************* Bit definition for CAN_TDT2R register ******************/
#define CAN_TDT2R_DLC ((uint32_t)0x0000000F) /* Data Length Code */
#define CAN_TDT2R_TGT ((uint32_t)0x00000100) /* Transmit Global Time */
#define CAN_TDT2R_TIME ((uint32_t)0xFFFF0000) /* Message Time Stamp */