CAN controller driver for ESP32 (esp_can)
More...
CAN controller driver for ESP32 (esp_can)
The ESP32 intregates a CAN controller which is compatible with the NXP SJA1000 CAN controller. Thus, it is CAN 2.0B specification compliant and supports two message formats:
- Base frame format (11-bit ID)
- Extended frame format (29-bit ID)
- Note
- ESP32 CAN does not support CAN-FD and is not CAN-FD tolerant.
- ESP32 CAN does not support SJA1000's sleep mode and wake-up functionality.
As with the SJA1000, the ESP32 CAN controller provides only the data link layer and the physical layer signaling sublayer. Therefore, depending on the physical layer requirements, an external transceiver module is required which converts the CAN-RX
and CAN-TX
signals of the ESP32 into CAN_H
and CAN_L
bus signals, e.g., the MCP2551 or SN65HVD23X transceiver for compatibility with ISO 11898-2.
The driver realizes a low-level CAN driver interface for the ESP32 CAN controller and provides a CAN DLL device that can be used in RIOT's CAN protocol stack. It uses the ESP32 CAN controller in SJA1000 PeliCAN mode. Please refer the SJA1000 Datasheet for detailed information about the CAN controller and its programming.
- Author
- Gunar Schorcht gunar.nosp@m.@sch.nosp@m.orcht.nosp@m..net
|
struct | can |
| Low level device structure for ESP32 CAN (extension of candev_t) More...
|
|
struct | can_conf_t |
| ESP CAN device configuration. More...
|
|
|
typedef struct can | can_t |
| Low level device structure for ESP32 CAN (extension of candev_t)
|
|
◆ ESP_CAN_MAX_RX_FILTERS
#define ESP_CAN_MAX_RX_FILTERS (16) |
Number of receiver acceptance filters.
Definition at line 56 of file can_esp.h.
◆ ESP_CAN_MAX_RX_FRAMES
#define ESP_CAN_MAX_RX_FRAMES (8) |
Number of frames in receiver buffer, must be a power of two.
Definition at line 59 of file can_esp.h.
◆ HAVE_CAN_CONF_T
◆ HAVE_CAN_T
CAN device type can_t is redefined by ESP CAN.
Definition at line 83 of file can_esp.h.