GM CAN-bus ID

American Delco GM ECUs and PCMs, ALDL, OBD 1.5.
Post Reply
kds90
Posts: 3
Joined: Tue Feb 09, 2021 9:02 pm
cars: GM Chevrolet Express Van cutaway G4500

GM CAN-bus ID

Post by kds90 »

Hello I am new and I have a question. my English can be not good because I am not a English speaking person. So if you don't understand what I am trying to ask just let me know and I will explain it to you again.

I have to install a digital tachograph on my vehicle(government requirement). my car is GM Chevrolet Express Van (year 2020) and the ECU is E78

but the guy installing the digital tachograph told me he needs to know the RPM, vehicle speed and brake CAN ID to be able to program his device and make it work on my car. I look on google and I think he is talking about PIDs. (I am not sure...)

I did a lot a googling but found nothing.

Can somebody here share those information if you have or know them please.

Thank you in advance for your helps.
User avatar
Gatecrasher
Posts: 272
Joined: Sat Apr 25, 2020 6:09 am

Re: GM CAN-bus ID

Post by Gatecrasher »

Can he give you an example from a car he has done before? It will help us know what information he needs.

I think I have the raw CAN IDs, but those are complicated to decode. I would be very surprised if your tachograph used raw CAN. But it is possible.

I agree with you that he probably wants diagnostic PIDs. But an example from him will make it easier for us all to know for sure.
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: GM CAN-bus ID

Post by ironduke »

Most likely the data is being broadcast by default, I remember finding vehicle speed and rpm at least but if you want to poll for the data yourself every second or so look here https://en.wikipedia.org/wiki/OBD-II_PIDs

should be able to simply send

7e0 02 01 05 for coolant temp
7e0 02 01 0c for RPM
7e0 02 01 0d for vehicle speed

I do not know what you're looking for for brake information? Brake switch input would be BCM and get send to the ECM over the canbus, you'd have to sniff that data, don't know if you can poll the ECM for it..

Or are you looking for the CAN ID of each module?? If you send a 1ab0 you should get back the ID's for pretty much any module on the high speed bus that's programmable..
7e8 is always ECM, there is a range it could be, same as the rest of the modules..
7EA has been the transmission every time for me.
BCM has varied for me I think. 641 was the last one..

I send a 1ab0 then look at the responses that contain a 5ab0..
if it's an 11 than the ECM is answering back.
kds90
Posts: 3
Joined: Tue Feb 09, 2021 9:02 pm
cars: GM Chevrolet Express Van cutaway G4500

Re: GM CAN-bus ID

Post by kds90 »

Gatecrasher wrote:Can he give you an example from a car he has done before? It will help us know what information he needs.

I think I have the raw CAN IDs, but those are complicated to decode. I would be very surprised if your tachograph used raw CAN. But it is possible.

I agree with you that he probably wants diagnostic PIDs. But an example from him will make it easier for us all to know for sure.


The only example he gave me was showing me a program with a lot of numbers and the first vertical row was written ID. Those were also numbers. He said all of this numbers are IDs.
But the problem is that he has to know which number is speed, rpm and brake. But we doesn't know because it's the first time he is working on a GM vehicle.
He also added that if he knows the 3 IDs he can change the programing of the digital tachograph so it can read our vehicle information.

Can you share with me the raw CAN IDs you have please? If yes I will try and figure out which one is the speed, rpm and brake.
kds90
Posts: 3
Joined: Tue Feb 09, 2021 9:02 pm
cars: GM Chevrolet Express Van cutaway G4500

Re: GM CAN-bus ID

Post by kds90 »

ironduke wrote:Most likely the data is being broadcast by default, I remember finding vehicle speed and rpm at least but if you want to poll for the data yourself every second or so look here https://en.wikipedia.org/wiki/OBD-II_PIDs

should be able to simply send

7e0 02 01 05 for coolant temp
7e0 02 01 0c for RPM
7e0 02 01 0d for vehicle speed

I do not know what you're looking for for brake information? Brake switch input would be BCM and get send to the ECM over the canbus, you'd have to sniff that data, don't know if you can poll the ECM for it..

Or are you looking for the CAN ID of each module?? If you send a 1ab0 you should get back the ID's for pretty much any module on the high speed bus that's programmable..
7e8 is always ECM, there is a range it could be, same as the rest of the modules..
7EA has been the transmission every time for me.
BCM has varied for me I think. 641 was the last one..

I send a 1ab0 then look at the responses that contain a 5ab0..
if it's an 11 than the ECM is answering back.



Thank you for the reply. But sorry I have no knowledge in this area so I didn't understand the part I have underlined.
I already told him that the vehicle is using the OB2 so he can try and check with the link you have sent me. (I had the link too) But not sure if he tried to check with it. I will double check.
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: GM CAN-bus ID

Post by antus »

I have been reading a bit about obd2 and what they call canbus. They are the same thing, technically, but what people tend to mean is obd2 - poll for pids to get the data. This is standardised and not hard to find, but its also slow. It'll work but the tacho would be more laggy than if you did it the other way. when they say canbus, what they mean is reading the broadcast data in the propriety format from the data broadcast on the bus. It means you dont have to poll (only filter) and get more frames per second, reducing in less lag in the tacho. This is how the factory dash would do it, and it will be a better result if you can find the data. This is why he would want this.

Some or all of the information required might be in this document. Look at the worksheets down the bottom to try and find the relevant bit. http://is.gd/gmlanbible
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Gatecrasher
Posts: 272
Joined: Sat Apr 25, 2020 6:09 am

Re: GM CAN-bus ID

Post by Gatecrasher »

I might be able to help. But this can be very complicated. Also, my examples come from a 2009 truck. This might be the same for your 2020, but it might not. Hopefully the person installing the tacho will be able to use it as a starting point. If you can give us a sample of your van's CAN data, we might be able to be much more helpful. It doesn't have to be a lot. You can drive across a parking lot and that will be enough data. Start your log while you're not moving. Accelerate to a safe and legal speed. Press the brakes and come to a stop again. End the log.

Here is what I found on my truck.

Brake on/off is pretty easy. The CAN ID is 0x0C9. Watch the sixth byte. It will change by 1 when the brake is on. Like so:

0x0C9 84 0B F4 0D 00 40 08 - Brake off
0x0C9 84 0B CC 00 00 41 08 - Brake on

Engine RPM is also in 0x0C9. You use the second and third bytes. Convert them from hexadecimal, to regular decimal. You can use a calculator like this: https://www.rapidtables.com/convert/num ... cimal.html

Hex digits 0BF4 converts to decimal 3060. 3060 multiplied by 0.25 is 765.

0x0C9 84 0B F4 0D 00 40 08 - 0BF4 = 3060. 3060 * 0.25 = 765 rpm
0x0C9 80 14 21 13 04 40 08 - 1421 = 5153. 5153 * 0.25 = 1288 rpm

Vehicle speed is in 0x3E9. You want the first and second bytes. Convert from hex to decimal, multiply by 0.01 to get mph. You can multiply mph by 1.609 to get kph.

0x3E9 03 40 0A 95 03 00 40 00 - 0340 = 832. 832 * 0.01 = 8.32 mph. 8.32 * 1.609 = 13.39 kph
0x3E9 0B 0B 11 5B 0A 80 40 00 - 0B0B = 2827. 2827 * 0.01 = 28.27 mph. 28.27 * 1.609 = 45.49 kph
antus wrote:I have been reading a bit about obd2 and what they call canbus. They are the same thing, technically, but what people tend to mean is obd2 - poll for pids to get the data. This is standardised and not hard to find, but its also slow. It'll work but the tacho would be more laggy than if you did it the other way. when they say canbus, what they mean is reading the broadcast data in the propriety format from the data broadcast on the bus. It means you dont have to poll (only filter) and get more frames per second, reducing in less lag in the tacho. This is how the factory dash would do it, and it will be a better result if you can find the data. This is why he would want this.

Some or all of the information required might be in this document. Look at the worksheets down the bottom to try and find the relevant bit. http://is.gd/gmlanbible
The GMLAN bible is great for what it is, but it doesn't have anything for the high speed (2 wire CAN) GMLAN stuff. I'm going to guess our friend's tachograph doesn't have the hardware to read low speed (single wire CAN) GMLAN anyway.

Some GM DBCs showed up on CommaAIs github page. Their high speed stuff is incomplete and seems to have some errors, but the low speed stuff has been a goldmine. I've applied it to samples I have from a couple different cars and trucks and I haven't found a single message that's not in that DBC. Check out the Cadillac and GM Global A files here: https://github.com/commaai/opendbc

I've also found some docs that map GMs older class 2 bus to some SAE standards. There's still plenty of proprietary messages mixed in, but it's given me enough info to do some useful things.

Most of this stuff is dying off starting with cars that are all-new for 2020. C8 Corvette, CT5, etc. It's all higher speed, multiple CAN buses, with some automotive ethernet mixed in. It's also firewalled from the diagnostic port by a gateway module, and it looks like the CAN messages may have some kind of authentication mechanism added to them. They're trying to tighten up security now that they're implementing more in depth OTA services.
Post Reply