Page 1 of 1

ESP device selection help, SENT interface

Posted: Tue Sep 14, 2021 12:31 pm
by g.assis
Hi everyone!

This is my first topic on this forum :)
I've been working with ESP8266 and ESP32 for some years(as a hobby only), but now is the first time I'm working on a real project with an Espressif device.

Our goal is to implement an SENT (Single Edge Nibble Transmission) protocol receiver and transmitter using an ESP device, SENT protocol is a single direction communication interface used on automotive sensors. Its data is coded in pulse length, the smallest time frame is 3usec(referred as tick).
The start frame is 56 ticks and each nibble is 12+nible value tick, value 0 is 12 ticks, value 1 is 13 ticks and 15 is 27 ticks.
Image

So, I'm here to find help choosing the right device to handle this protocol, I've already implemented this protocol on another MCU using timer capture and interrupt but ESP doesn't have those, except on MCPWM only on ESP32, the RMT interface seems very promising but I've never worked with this peripheral and don't know if it's able to handle such protocol.

The device will act as an interface gateway, it must receive a SENT frame, decode and transmit this frame with the shortest time possible(between receive and transmit).

ESP32-C3 is the best option for us, based on price, availability and size/packing, but it lacks MCPWM.
I'll start working on RMT using and ESP32 dev board, but hope that someone can light my way. I'm unable to find an ESP32-C3 dev board, so I'm relying on Espressif answering this topic.

Cheers!

Re: ESP device selection help, SENT interface

Posted: Wed Sep 15, 2021 1:21 am
by ESP_Sprite
RMT will probably work, indeed. Turnaround may be an issue, as RMT transmits generally end when the line is idle for a specified period. Worst case you can also use a GPIO interrupt and manually parse the incoming edges.

Re: ESP device selection help, SENT interface

Posted: Wed Sep 15, 2021 10:41 am
by g.assis
Turnaround may be an issue, as RMT transmits generally end when the line is idle for a specified period.
You mean the incoming SENT messages? There's a "long" pause at the end. Otherwise I could use the synchronization pulse as a pause, as its way longer than the other pulses.
Tried to move from my usual Arduino framework to the IDF but I'm struggling to solve a weird issue when I try to build my code or create a new IDF project on VsCode+Platformio:

Code: Select all

Multiple ways to build the same target were specified for: esp_efuse_api.c
Then I went back to Arduino fw and got some code RMT code working for transmitting SENT frames.
I'll work on the receiving side today.

Cheers!

Re: ESP device selection help, SENT interface

Posted: Thu Sep 16, 2021 12:11 am
by g.assis
SENT packet receive is working!

Now going off-topic. (maybe i should open another thread)
Have you already tested supplying less than 3V to power ESP32-C3?

Our product must accept 3.3-5V input range, and we are short in PCB area to add an buck-boost power supply and I wasn't able to find an LDO regulator to work with 3.3Vin and 3Vout to meet minimum recommended VDD on ESP32-C3 datasheet (and our project/manufacturing capabilities)
Working on 2.5>Vdd<3 would be perfect.

Cheers!

Re: ESP device selection help, SENT interface

Posted: Thu Sep 16, 2021 1:12 am
by ESP_Sprite
Check the datasheet, the limits are in there. However, be aware that the limiting factor tend not to be the chip itself, but the flash chip your program is stored in, and maybe the impedance of your power supply lines for the spikey WiFi current usage. I think the C3 can use an 1.8V flash part if you supply an external 1.8V power supply and burn a certain eFuse, that may be worth looking at.

Re: ESP device selection help, SENT interface

Posted: Tue Oct 10, 2023 2:39 pm
by mcSensor
Hi everyone!

I also want to decode SENT frames with an ESP32. Can you help me how you have implemented the capturing of the SENT frames?

Thank you very much!

Cheers.