CAN mailbox data length control and time stamp register (CAN_TDTxR) (x=0..2)

Регистр временных отметок и длины сообщения почтового ящика передатчика CAN-шины

Смещение (Address offset): 0x184,0x194, 0x1A4

Reset value: 0xXXXX'XXXX

3130292827262524
TIME[15:0]
rwrwrwrwrwrwrwrw
XXXXXXXX
2322212019181716
TIME[15:0]
rwrwrwrwrwrwrwrw
XXXXXXXX


15141312111098
Reserved TGT
---------------------rw
0000000X
76543210
Reserved DLC[3:0]
------------rwrwrwrw
0000XXXX


Bits 31:16
TIME[15:0]
Message time stamp
Отметка времени сообщения

Содержит 16-битное значение таймера, полученное при передаче бита SOF (Start or Frame, стартовый бит сообщающий о начале кадра).

Bits 15:7
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bit 8
TGT
Transmit global time
Передача глобального времени

Этот бит активен только тогда, когда аппаратное обеспечение находится в режиме связи с временным триггером (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])

Bits 7:4
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 3:0
DLC[3:0]
Data length code
Код длины сообщения

Определяет количество байт данных, содержащихся во фрейме данных или в запросе. Сообщение может содержать от 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 */