UEXT CAN Transeiver only for ESP32

Started by mw75, September 30, 2024, 07:45:03 PM

Previous topic - Next topic

mw75

The ESP32 has an integrated CAN-Controller (called TWAI, for whatever reason). The ESP32-C6 seems to have two of them.

Currently i use a SN65HVD230-Breakout on UEXT Pins 1-4 of my ESP32-C6-EVB boards. So far not tested the second controller.

Would be neat to have a ready made module instead of hot-glued jumper wires.

Regards,
Mario Wolff

KeesZagers

Maybe it is an idea to use the I/O pins on the UEXT (if serial, I2C and SPI are not used) and build a small UEXT module with two CAN transceivers. The only disadvantage is that they would be powered with 3.3 Volts and personally I prefer transceivers powered by 5 Volts.

I guess the ESP32 use TWAI in stead of CAN because of Bosch patents. The patent on CAN version 2.0A/B has been expired, so Espressif does not have to pay a fee for the existing CAN interface, however Bosch has a new patent for CAN-FD and people could think that the CAN interface is compatible with the new standard. This however is not the case. So never use these controllers in a modern CAN network. It will not work.

Kees

mw75

Hi Kees,

your "idea" is what i have meant with this post. It's intentionally placed in the "New Product Ideas" forum and the topic already states for a UEXT-module.

For my RP2040-project i use tja1050 transceivers on mcp2515 controllers wich i modify to use 3.3V logic and and 5V transceiver voltage. I don't see any difference in reliability or speed.

CAN-FD has not reached my environment so far as i do retrofit stuff in the industries and entertainment and "smart vehicle" stuff for RV and motorhomes. As far as i know, CAN-FD should be downward compatible, so i don't see problems even for green field projects. On my customer projects price is key all the time.

But nice to see, that there are others out there knowing communication options other than Wifi.

Thanks and regards,
Mario Wolff

PS: My text reads a little harsh. It's not meant this way! I'm just not nativ English.

KeesZagers

Sorry Mario,

I did not read your message well. I thought you meant the I/O pins 1 to 4 of the ESP32 controller. You are right such an UEXT module would be a nice product.

Concerning the 3.3 Volt: in a project I have seen problems with a mix of 5 Volt and 3.3 Volt transceivers. The problem is the common mode voltage which is 2.5 Volt when the 5 Volt transceiver is transmitting and 1.7 Volt when the 3.3 Volt transceiver is transmitting. Heavy loaded networks over a long distance network (low bitrate) gave problems (greenhouses).

As long as all nodes (also the CAN-FD compatible ones) are communicating following the CAN 2.0 specification there is no problem. However if the CAN_FD compatible ones are trying to communicate following the CAN-FD specification (either higher speed or more than 8 bytes data) the old CAN 2.0 nodes will generate errors. In fact we call this upwards compatible in my opinion, not downwards. The new ones are compatible with old specification; however the old ones are not compatible with the new specification.

Half of my life worked with CAN (I'm 71), also some experience is available. Concerning the ESP32 controller I made a quite universal project now using the ESP-EVB. However I think the SJA1000 concept used in the ESP32 is a bit old-fashioned (25 years old I guess). I liked the Microchip PIC32 integrated CAN controllers much more.

BTW: My native language is Dutch (Netherlands), so I have the same problem.

Kees