14.7.11 Remote Transmit Request – RTR
The CAN bus system has a method for allowing a master node to request data from another node. The master sends a message with the RTR bit set. The message contains no data, only an address to trigger a filter match.
Remote frames are only specified for CAN 2.0 frames; they are not supported in CAN FD frames.
The filter that is configured to respond to a Remote Transmit Request will point to a FIFO that is configured for transmission, and RTREN has to be set.
Automatic remote data requests can be handled without MCU intervention. If a FIFO is properly configured, when a filter matches and points to the FIFO, the FIFO will be queued for transmission.
The FIFO must be configured as follows:
- Set TXEN to ‘
1
’. - A filter must be enabled and loaded with a matching message identifier.
- The buffer pointer for that filter must point to the TX FIFO. (Normally, a filter points to an RX FIFO.)
- RTREN bit must be set to ‘
1
’ to enable RTR. - The FIFO must be preloaded with at least one message to be sent.
When an RTR message is received, and it matches a filter pointing to a properly configured transmit FIFO, the TXREQ bit is set, queuing the object for transmission according to priorities.
A FIFO will only be transmitted if TXEN and RTREN are set, and if it is NOT empty. When a request for a remote transmission occurs while the FIFO is empty, the event will be treated as an overflow and the RXOVIF bit will be set.