Jump to content
  • 0

SAE J1850 VPW protocol decoder


TOIVI

Question

I wrote a protocol decoder for the SAE J1850 VPW bus that can be used in WaveForms' Logic Analyzer. I share it.
The decoder works on the DIO 0 channel. It decodes frames and can display bytes (if the DiplayBytes variable is set to true).
I also attach a csv file containing a test sample recorded from a working bus. (This pattern should be imported into the Samples tool for the DIO 0 channel at 346021 Hz.)
Note that the J1850 VPW bus uses a level higher than 5V. Do not connect the input of the logic analyzer  directly to the bus. 

Screen.jpg

J1850_VPW.txt J1850_VPW_DIO_0.csv J1850_VPW_V2T.txt

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
3 hours ago, attila said:

Edit:
Instead of:
if ((Symbol == 7) || (Symbol == 7)){ //SOF or EOD
you probably wanted:
if ((Symbol == 6) || (Symbol == 7)){ //SOF or EOD

Exactly.
I used real bus traffic (with simulated  glitches) to test the decoder. The GM bus I used does not require "in-frame response" (sending bytes after EOD). Probably that's why this bug is not detected by me.

Link to comment
Share on other sites

  • 0

 

Great! Using the native support, the user can connect the oscilloscope tool directly to the vehicle bus,  digitize the signal in mixed mode and decode protocol, eliminating the need for external voltage divider.
(Yes, this unusal bit encoding  is used in J850 VPW. Passive Level Short Pulse = 0, Passive Level Long pulse =1, Active Level Short Pulse =1, Active Level Long Pulse = 0.)

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...