This example emulates SENT sensor using PRU ICSS.
**The SENT encoder Example is a reference for software based implementation of sent sensor. It is meant for only validating SENT Decoder Example .**
The sensor sends out a signal that is made up of a string of pulses with data encoded as falling to falling edge periods. It happens independently of any receiver module activity and takes place without the receiver module sending a synchronization signal. The modulated signal with a constant amplitude voltage and an evaluation of the time interval between two falling edges (a single edge) is delivered in units of 4 bits (1 nibble), which can represent values ranging from 0 to 15. According to the SAE J2716 specification, a transmitter-specific nominal clock period that is used to quantify the pulse period (tick time) can be between 3-90 ms. The sensor device can use low-cost RC oscillators because the maximum permitted clock deviation is 20% from the normal tick time. The specified tick time, the sent data value, and the message time of a SENT message determine its duration. The following pulses (all with nominal timings) make up the transmitting sequence:
Parameter | Value |
---|---|
ICSSM | ICSSM - PRU0 |
Toolchain | pru-cgt |
Board | am263x-cc |
Example folder | examples/pru_io/sent/encoder/encoder_example |
C:/ti/
Launch a CCS debug session and run the executable, see CCS Launch, Load and Run Open a UART terminal and use config menu to send SENT frames Setup UART Terminal
Modification supported: Change hardcoded tick period in fw. Current release supports only 500ns tick period support in firmware. In order to modify it:
main.asm
file modify TICK_PRD_100ns to desired value divided by 100. For example for 3000ns.