SWCU195A December 2024 – May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755R10
Software initialization is started by setting bit CCCR.INIT, either by software or by a hardware reset, when an uncorrected bit error is detected in the Message RAM, or by going Bus_Off. While CCCR.INIT is set, message transfer from and to the CAN bus is stopped, and the status of the CAN bus output m_can_tx is recessive (HIGH). The counters of the Error Management Logic EML are unchanged. Setting CCCR.INIT does not change any configuration register. Resetting CCCR.INIT finishes the software initialization. Afterwards, the Bit Stream Processor BSP synchronizes itself to the data transfer on the CAN bus by waiting for the occurrence of a sequence of 11 consecutive recessive bits (≡ Bus_Idle) before it can take part in bus activities and start the message transfer.
Access to the M_CAN configuration registers is only enabled when both bits CCCR.INIT and CCCR.CCE are set (protected write).
CCCR.CCE can only be set/reset while CCCR.INIT = ‘1’. CCCR.CCE is automatically reset when CCCR.INIT is reset.
The following registers are reset when CCCR.CCE is set
HPMS - High Priority Message Status
RXF0S - Rx FIFO 0 Status
RXF1S - Rx FIFO 1 Status
TXFQS - Tx FIFO/Queue Status
TXBRP - Tx Buffer Request Pending
TXBTO - Tx Buffer Transmission Occurred
TXBCF - Tx Buffer Cancellation Finished
TXEFS - Tx Event FIFO Status
The Timeout Counter value TOCV.TOC is preset to the value configured by TOCC.TOP when CCCR.CCE is set.
In addition, the state machines of the Tx Handler and Rx Handler are held in idle state while CCCR.CCE = ‘1’.
The following registers are only writable while CCCR.CCE = ‘0’
TXBAR - Tx Buffer Add Request
TXBCR - Tx Buffer Cancellation Request
CCCR.TEST and CCCR.MON can only be set by the Host while CCCR.INIT = ‘1’ and CCCR.CCE = ‘1’. Both bits may be reset at any time. CCCR.DAR can only be set/reset while CCCR.INIT = ‘1’ and CCCR.CCE = ‘1’.
In case the Message RAM is equipped with parity or ECC functionality, it is recommended to initialize the Message RAM after hardware reset by writing, for example, 0x00000000 to each Message RAM word to create valid parity/ECC checksums. This avoids the reading from uninitialized Message RAM sections will activate the interrupt IR.BEC (Bit Error Corrected) or IR.BEU (Bit Error Uncorrected).