The bitstream processor (BSP) module performs several functions while sending and receiving CAN messages. The BSP obtains a message for transmission from either the TXFIFO or the TXHPB and performs the following functions before passing the bitstream to the BTL.
•Serializing the message.
•Inserting Stuff bits, CRC bits, and other protocol defined fields during transmission.
During transmission the BSP simultaneously monitors RX data and performs bus arbitration tasks. It then transmits the complete frame when arbitration is won, and retrying when arbitration is lost.
During reception the BSP removes Stuff bits, CRC bits, and other protocol fields from the received bitstream. The BSP state machine also analyzes bus traffic during transmission and reception for form, CRC, ACK, Stuff, and bit violations. The state machine then performs error signaling and error confinement tasks. The CAN controller does not voluntarily generate overload frames but does respond to overload flags detected on the bus.
This module determines the error state of the CAN controller: error active, error passive, or bus-off. When TX or RX errors are observed on the bus, the BSP updates the transmit and receive error counters according to the rules defined in the CAN 2.0A, CAN 2.0B, and ISO 11898-1 standards. Based on the values of these counters, the error state of the CAN controller is updated by the BSP.