STM32G474 FDCAN - restricted operation mode on a third-party vehicle bus
We plan to use an STM32G474 (three FDCAN instances) as a passive tap on vehicle CAN buses we do not own. The node must acknowledge frames but never transmit anything else. Reference manual RM0440, FDCAN chapter. Questions:
1. In restricted operation mode (CCCR.ASM = 1), is it correct that the node sends the ACK bit for valid frames and never sends a data frame, remote frame, active error frame or overload frame, under any bus condition? Is there any case in which the TX pin goes dominant other than in the ACK slot?
2. If the application has a transmit request pending, or sets one by mistake while ASM = 1, is anything transmitted?
3. We start in bus monitoring mode (CCCR.MON = 1) and switch to restricted operation once the bit rate is confirmed. MON and ASM appear to need INIT and CCE set. What is the shortest correct sequence to go from MON = 1 to ASM = 1 on a live bus, how long is the node off the bus, and can the switch itself disturb the bus?
4. In bus monitoring mode on a bus with a single transmitter (nothing acknowledges), the transmitter sends an error flag after the ACK slot. How does FDCAN report such a frame: is it stored in the RX FIFO, and which PSR.LEC value is set? Is there any way to tell "the frame was correct up to and including the CRC, and failed only at ACK" from other errors?
5. With the nominal bit rate set wrong (for example 250 kbit/s on a 500 kbit/s bus), in bus monitoring mode and in restricted operation mode: is it guaranteed that the node never drives the bus?
6. With the nominal rate right but the CAN FD data-phase rate wrong (or FD operation disabled, FDOE = 0, while FD frames are on the bus), in restricted operation mode: is it correct that the frame is not acknowledged and no error frame is sent?
7. Do the answers hold with transmitter delay compensation enabled, and for all three FDCAN instances?
