Struct stm32ral::stm32g4::peripherals::fdcan::RegisterBlock [−][src]
#[repr(C)]pub struct RegisterBlock {Show 37 fields
pub CREL: RORegister<u32>,
pub ENDN: RORegister<u32>,
pub DBTP: RWRegister<u32>,
pub TEST: RWRegister<u32>,
pub RWD: RWRegister<u32>,
pub CCCR: RWRegister<u32>,
pub NBTP: RWRegister<u32>,
pub TSCC: RWRegister<u32>,
pub TSCV: RWRegister<u32>,
pub TOCC: RWRegister<u32>,
pub TOCV: RWRegister<u32>,
pub ECR: RORegister<u32>,
pub PSR: RWRegister<u32>,
pub TDCR: RWRegister<u32>,
pub IR: RWRegister<u32>,
pub IE: RWRegister<u32>,
pub ILS: RWRegister<u32>,
pub ILE: RWRegister<u32>,
pub RXGFC: RWRegister<u32>,
pub XIDAM: RWRegister<u32>,
pub HPMS: RORegister<u32>,
pub RXF0S: RWRegister<u32>,
pub RXF0A: RWRegister<u32>,
pub RXF1S: RORegister<u32>,
pub RXF1A: RWRegister<u32>,
pub TXBC: RWRegister<u32>,
pub TXFQS: RORegister<u32>,
pub TXBRP: RORegister<u32>,
pub TXBAR: RWRegister<u32>,
pub TXBCR: RWRegister<u32>,
pub TXBTO: RORegister<u32>,
pub TXBCF: RORegister<u32>,
pub TXBTIE: RWRegister<u32>,
pub TXBCIE: RWRegister<u32>,
pub TXEFS: RORegister<u32>,
pub TXEFA: RWRegister<u32>,
pub CKDIV: RWRegister<u32>,
// some fields omitted
}
Fields
CREL: RORegister<u32>
FDCAN Core Release Register
ENDN: RORegister<u32>
FDCAN Core Release Register
DBTP: RWRegister<u32>
This register is only writable if bits CCCR.CCE and CCCR.INIT are set. The CAN bit time may be programed in the range of 4 to 25 time quanta. The CAN time quantum may be programmed in the range of 1 to 1024 FDCAN clock periods. tq = (DBRP + 1) FDCAN clock period. DTSEG1 is the sum of Prop_Seg and Phase_Seg1. DTSEG2 is Phase_Seg2. Therefore the length of the bit time is (programmed values) [DTSEG1 + DTSEG2 + 3] tq or (functional values) [Sync_Seg + Prop_Seg + Phase_Seg1 + Phase_Seg2] tq. The Information Processing Time (IPT) is zero, meaning the data for the next bit is available at the first clock edge after the sample point.
TEST: RWRegister<u32>
Write access to the Test Register has to be enabled by setting bit CCCR[TEST] to 1 . All Test Register functions are set to their reset values when bit CCCR[TEST] is reset. Loop Back mode and software control of Tx pin FDCANx_TX are hardware test modes. Programming TX differently from 00 may disturb the message transfer on the CAN bus.
RWD: RWRegister<u32>
The RAM Watchdog monitors the READY output of the Message RAM. A Message RAM access starts the Message RAM Watchdog Counter with the value configured by the RWD[WDC] bits. The counter is reloaded with RWD[WDC] bits when the Message RAM signals successful completion by activating its READY output. In case there is no response from the Message RAM until the counter has counted down to 0, the counter stops and interrupt flag IR[WDI] bit is set. The RAM Watchdog Counter is clocked by the fdcan_pclk clock.
CCCR: RWRegister<u32>
For details about setting and resetting of single bits see Software initialization.
NBTP: RWRegister<u32>
FDCAN_NBTP
TSCC: RWRegister<u32>
FDCAN Timestamp Counter Configuration Register
TSCV: RWRegister<u32>
FDCAN Timestamp Counter Value Register
TOCC: RWRegister<u32>
FDCAN Timeout Counter Configuration Register
TOCV: RWRegister<u32>
FDCAN Timeout Counter Value Register
ECR: RORegister<u32>
FDCAN Error Counter Register
PSR: RWRegister<u32>
FDCAN Protocol Status Register
TDCR: RWRegister<u32>
FDCAN Transmitter Delay Compensation Register
IR: RWRegister<u32>
The flags are set when one of the listed conditions is detected (edge-sensitive). The flags remain set until the Host clears them. A flag is cleared by writing a 1 to the corresponding bit position. Writing a 0 has no effect. A hard reset will clear the register. The configuration of IE controls whether an interrupt is generated. The configuration of ILS controls on which interrupt line an interrupt is signaled.
IE: RWRegister<u32>
The settings in the Interrupt Enable register determine which status changes in the Interrupt Register will be signaled on an interrupt line.
ILS: RWRegister<u32>
The Interrupt Line Select register assigns an interrupt generated by a specific interrupt flag from the Interrupt Register to one of the two module interrupt lines. For interrupt generation the respective interrupt line has to be enabled via ILE[EINT0] and ILE[EINT1].
ILE: RWRegister<u32>
Each of the two interrupt lines to the CPU can be enabled/disabled separately by programming bits EINT0 and EINT1.
RXGFC: RWRegister<u32>
Global settings for Message ID filtering. The Global Filter Configuration controls the filter path for standard and extended messages as described in Figure706: Standard Message ID filter path and Figure707: Extended Message ID filter path.
XIDAM: RWRegister<u32>
FDCAN Extended ID and Mask Register
HPMS: RORegister<u32>
This register is updated every time a Message ID filter element configured to generate a priority event match. This can be used to monitor the status of incoming high priority messages and to enable fast access to these messages.
RXF0S: RWRegister<u32>
FDCAN Rx FIFO 0 Status Register
RXF0A: RWRegister<u32>
CAN Rx FIFO 0 Acknowledge Register
RXF1S: RORegister<u32>
FDCAN Rx FIFO 1 Status Register
RXF1A: RWRegister<u32>
FDCAN Rx FIFO 1 Acknowledge Register
TXBC: RWRegister<u32>
FDCAN Tx Buffer Configuration Register
TXFQS: RORegister<u32>
The Tx FIFO/Queue status is related to the pending Tx requests listed in register TXBRP. Therefore the effect of Add/Cancellation requests may be delayed due to a running Tx scan (TXBRP not yet updated).
TXBRP: RORegister<u32>
FDCAN Tx Buffer Request Pending Register
TXBAR: RWRegister<u32>
FDCAN Tx Buffer Add Request Register
TXBCR: RWRegister<u32>
FDCAN Tx Buffer Cancellation Request Register
TXBTO: RORegister<u32>
FDCAN Tx Buffer Transmission Occurred Register
TXBCF: RORegister<u32>
FDCAN Tx Buffer Cancellation Finished Register
TXBTIE: RWRegister<u32>
FDCAN Tx Buffer Transmission Interrupt Enable Register
TXBCIE: RWRegister<u32>
FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register
TXEFS: RORegister<u32>
FDCAN Tx Event FIFO Status Register
TXEFA: RWRegister<u32>
FDCAN Tx Event FIFO Acknowledge Register
CKDIV: RWRegister<u32>
FDCAN CFG clock divider register