PDA

View Full Version : DSP5 CAN Messages.



Chavez91
January 1st, 2016, 04:04 PM
Hey Ross.

For some reason I remember seeing something long ago in the documentation about the CAN message structure needed to change tunes via the OBD-II. (Were talking a LLY specifically)

Correct me if im wrong.

I was just looking cause I was throwing something silly together with my little Arduino board to control my lift pump and various other sensors and thought It would be something nice to implement.

If so, can you show a link of where to find it at

Thanks!

Happy New Years!

Mitco39
January 1st, 2016, 05:06 PM
IIRC the message was only during the flash process, not during the switching of the tunes.

Chavez91
January 1st, 2016, 05:19 PM
Maybe I didn't word it correctly?

I'm just looking for what messages need to be sent in order to change DSP tunes. Like how the EDGE CTS does it.

Road
January 2nd, 2016, 03:13 AM
This is the link Ross sent me don't know if it is what your looking for.
https://service.gm.com/gmspo/mode6/index.html

GMPX
January 3rd, 2016, 11:05 AM
Maybe I didn't word it correctly?

I'm just looking for what messages need to be sent in order to change DSP tunes. Like how the EDGE CTS does it.
It is not done on the CAN bus, the older LB7 & LLY switching messages are done on GM's own VPW bus, totally different to CAN.

Chavez91
January 3rd, 2016, 10:12 PM
It is not done on the CAN bus, the older LB7 & LLY switching messages are done on GM's own VPW bus, totally different to CAN.

Is there documentation you can send me on it?

GMPX
January 4th, 2016, 10:40 AM
Edge were never given official permission to do the switching BTW, they just did it.
Checkout how much of a pain the VPW bus is to interface to before you get too excited, the physical interface chips are drying up. I think we are currently buying them at 5,000+ lots off parts brokers.

Chavez91
January 4th, 2016, 02:04 PM
Luckily I was planning on using a ELM327 v2.1 chip from ELM Electronics, so I have a few sitting here on the desk. Looking at the specs it should do just fine communicating on the VPW bus. Looks like it supports most all standard OBD-II protocols. They were a little pricey. I guess because they're hard to find (like you said) and that its kinda an obsolete protocol makes sense as to why.

GMPX
January 4th, 2016, 02:54 PM
Luckily I was planning on using a ELM327 v2.1 chip from ELM Electronics, so I have a few sitting here on the desk. Looking at the specs it should do just fine communicating on the VPW bus. Looks like it supports most all standard OBD-II protocols. They were a little pricey. I guess because they're hard to find (like you said) and that its kinda an obsolete protocol makes sense as to why.
We don't use ELM chips in our hardware, the Infineon CPU we are currently using in V2/AC has a VPW processing module built in (which is one of the main reasons we picked it), the hard chips to get are the 8 pin IC's that connect the VPW bus to the CPU (I don't recall the actual Freescale part number of it).
Essentially when GM switched to CAN in 2006 all semiconductor manufacturers stopped making anything to do with VPW, here we are 10 years on and parts are really drying up now.

Chavez91
January 4th, 2016, 03:07 PM
Oh I didn't think you used that chip specifically. Didn't seem like it would fit the application very well when i thought about after I got reading the specs. But yeah, I can see how that really bites you guys in the butt as time goes on. Im assuming as far as the V3 design is going, you have found a solution to the IC supply problem for VPW support?

GMPX
January 4th, 2016, 05:02 PM
Yeah for new hardware a discrete VPW bus<> CPU interface and software VPW emulation in the CPU, a lot harder for sure but it means we never get caught with supply issues.
From what I know of the ELM it is pretty cool for a lot of comms stuff, but I don't think it would have the 'grunt' to be used for CAN programming applications where blocks of 2048 bytes are sent up at once.

Chavez91
January 4th, 2016, 09:04 PM
Sounds like a solid plan.

Yeah, for my small projects the ELM has done alright. Just looking for more things to tinker with as I get bored.
The DSP switching seemed like something fun to learn. Just wasn't sure if it was some top secret thing or not.

DURAtotheMAX
January 5th, 2016, 02:02 AM
Josh, you can use an ELM327, couple fast-acting NPN and PNP transistors, some schottky diodes and a few resistors to easily interface an ELM327, STN1100, or ELM322 to J1850 VPW. It works fine for doing things like cluster/DIC messages, controlling things like door locks and other modules, and DSP-switching on 01-05.

DURAtotheMAX
January 5th, 2016, 02:10 AM
Yeah for new hardware a discrete VPW bus<> CPU interface and software VPW emulation in the CPU, a lot harder for sure but it means we never get caught with supply issues.
From what I know of the ELM it is pretty cool for a lot of comms stuff, but I don't think it would have the 'grunt' to be used for CAN programming applications where blocks of 2048 bytes are sent up at once.

bit-banging VPW, I bet that was fun to code LOL!!

Yeah the ELM322/ELM327/STN1100 probably wouldnt be suited to reprogramming or high speed logging, because it only supports standard 10.4k regular communications mode, it doesnt support 41.6k VPW high speed mode I dont think.

DURAtotheMAX
January 5th, 2016, 02:17 AM
We don't use ELM chips in our hardware, the Infineon CPU we are currently using in V2/AC has a VPW processing module built in (which is one of the main reasons we picked it), the hard chips to get are the 8 pin IC's that connect the VPW bus to the CPU (I don't recall the actual Freescale part number of it).

Phillips/NXP AU5780A is what you're referring to. I think they might be available on Alibaba as chinese knockoffs/leftovers, but I havent been able to find a legit source for "real" ones yet.

The good news is you can effectively do the same thing as the AU5780A chip with resistors, transistors, diodes, and a +8v linear regulator. Its just annoying because it makes your circuit much bigger and more complicated. And then you have to add your own external EMC/transient protection as well.

Its really obnoxious that VPW transceivers have completely disappeared. I know its not used anymore in new automotive applications, but forcing end-of-lifecycle on a chip as widely used as the AU5780A after only 5 years or so is ridiculous IMO.

DURAtotheMAX
January 5th, 2016, 02:30 AM
Josh- Heres a schematic I drew up for a simple VPW interface circuit. It works fine. Its similar to the circuit that ELM suggests, but I had to add a couple extra components to make it more reliable.

Some of the resistor values might have to be changed slightly to work with 5v versus 3.3v. But try it as-is first. At your own risk of course. :grin:

19125

Chavez91
January 5th, 2016, 08:00 AM
Yeah the ELM322/ELM327/STN1100 probably wouldnt be suited to reprogramming or high speed logging, because it only supports standard 10.4k regular communications mode, it doesnt support 41.6k VPW high speed mode I dont think.

Yeah, the ELM doesn't support VPW4x. Just 10.4k as you said.

Chavez91
January 5th, 2016, 08:07 AM
Josh- Heres a schematic I drew up for a simple VPW interface circuit. It works fine. Its similar to the circuit that ELM suggests, but I had to add a couple extra components to make it more reliable.

Some of the resistor values might have to be changed slightly to work with 5v versus 3.3v. But try it as-is first. At your own risk of course. :grin:

19125

Thanks, Ill try that one out also with the STN1110. 3.3v would be nicer as well instead of the 5v. :angel_innocent:

Chavez91
January 5th, 2016, 10:14 AM
Looks like the ELM only supports 8bytes for transmitting. Doesn't support block mode transmits or 4x. Not sure if that could pose a problem. Not sure if the STN1110 or 1170 do either? I read that they have the 4x capability but wasn't implemented in the firmware? Do you know that answer Ben?

DURAtotheMAX
January 5th, 2016, 10:44 AM
All databus messages, whether its CAN or J1850VPW, they're all 8-byte max.

Well, 8 bytes plus header. For J1850 the header is 3-bytes long. Priority, target node, source node.

The ELM327/322, and STN1110 chips will do everything you want to do as far as DSP switching. The only thing they wont do is high speed 4x logging and reflashing.

GMPX
January 5th, 2016, 10:45 AM
Phillips/NXP AU5780A is what you're referring to. I think they might be available on Alibaba as chinese knockoffs/leftovers, but I havent been able to find a legit source for "real" ones yet.
Not quite what you want to put in to a commercial product :shock:


The good news is you can effectively do the same thing as the AU5780A chip with resistors, transistors, diodes, and a +8v linear regulator. Its just annoying because it makes your circuit much bigger and more complicated. And then you have to add your own external EMC/transient protection as well.
Yes it isn't the end of the world, but going from a nice 8 pin chip to a handful of parts to do something similar is a pain.


Looks like the ELM only supports 8bytes for transmitting. Doesn't support block mode transmits or 4x. Not sure if that could pose a problem. Not sure if the STN1110 or 1170 do either? I read that they have the 4x capability but wasn't implemented in the firmware? Do you know that answer Ben?
Block mode and 4x mode are only used for reflashing situations, if you just want to send simple messages on the bus then they aren't needed.