CAN bit timing register (CAN_BTR)
Регистр битов синхронизации CAN-шины
Смещение (Address offset): 0x1C
Reset value: 0x0123'0000
Регистр доступен только в режиме инициализации контроллера CAN-шины
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
SILM | LBKM | Reserved | SJW[1:0] | ||||
rw | rw | --- | --- | --- | --- | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | TS2[2:0] | TS1[3:0] | |||||
--- | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | BRP[9:0] | ||||||
--- | --- | --- | --- | --- | --- | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
BRP[9:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 31
SILM
Silent mode (debug)
"Тихий" режим работы контроллера CAN-шины.
Режим без передачи сообщений по CANTX (CANTX=1 - выставлен рецессивный бит), только приём по CANRX. .
0 : Normal mode - обычный режим
1 : Silent mode - "тихий" режим
Bit 30
LBKM
Loop back mode (debug)
Режим "обратной связи" работы контроллера CAN-шины.
Режим без приёма сообщений по CANRX.
0 : Normal mode - обычный режим
1 : Loop back mode - режим "обратной связи"
Bits 29:26
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 25:24
SJW[1:0]
Resynchronization jump width
Определяет максимальное количество квантов времени, на которое контроллеру CAN разрешено удлинять или сокращать бит для выполнения повторной синхронизации.
tRJW = tq x (SJW[1:0] + 1)
Bit 23
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 22:20
TS2[2:0]
Time segment 2
Определяет количество квантов времени во временном сегменте 2
tBS2 = tq x (TS2[2:0] + 1)
Bits 19:16
TS1[3:0]
Time segment 1
Определяет количество квантов времени во временном сегменте 1
tBS1 = tq x (TS1[3:0] + 1)
Bits 15:10
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 9:0
BRP[9:0]
Baud rate prescaler
Предделитель бодрейта
Определяет длительность кванта времени.
tq = (BRP[9:0]+1) x tPCLK
/******************* Bit definition for CAN_BTR register ********************/
#define CAN_BTR_BRP ((uint32_t)0x000003FF) /* Baud Rate Prescaler */
#define CAN_BTR_TS1 ((uint32_t)0x000F0000) /* Time Segment 1 */
#define CAN_BTR_TS2 ((uint32_t)0x00700000) /* Time Segment 2 */
#define CAN_BTR_SJW ((uint32_t)0x03000000) /* Resynchronization Jump Width */
#define CAN_BTR_LBKM ((uint32_t)0x40000000) /* Loop Back Mode (Debug) */
#define CAN_BTR_SILM ((uint32_t)0x80000000) /* Silent Mode */
