Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

CAN messages in vehicles

Status
Not open for further replies.
Can someone please help me understanding this. Generally J1939 is the standard in trucks so they mostly follow the 29 bit identifiers. But if you come to cars they do not follow the J1939 standard they follow the 11 bit standard identifier according to my understanding. So my doubt is if i have an engine ecu and if it is used in trucks as well as car. Do they follow different softwares to adjust to these identifiers. In cars do they follow any standard like J1939. Can anyone guide me.
 
There's a standard for diagnostics over CAN but I don't believe a set stand for vehicle communication. Like it said above, each OEM has their own system using either std or extended CAN i.e. BMW using 2 CANbus, 1 low speed for ICE and the other high speed for vehicle use. Fiat still use CAN and KLine etc...

On top of that each component OEM has their own CAN diagnostics mainly using CCP.

Most of the CAN spec is detailed normally by the OEM in the component FRD. But normally the internal diagnostics to the component is supplier based and the OEM can only see the top level DTCs.

Jason
 
J1587 and J1708 is the older, slower version of CAN used on Class 8 highway tractors and heavy equipment. J1939 is the 9 pin connector and can include the former in the ATA datalink connector for diagnostics and is much faster. these to my knowledge have not been used on cars. J1962 (OBD-II) is now being adapted to some heavy trucks (Volvo/Mack) and is the automotive connector used for years. In automobiles there are many CAN protocols used depending on the vehicle OEM and the country of origin. Some of them include SAE J1850 PWM, SAE J1850 VPM, ISO 9141-2 which is quite common, ISO 14230 KW and ISO 15765 to name a few.
 
Oops why so many protocols. Suppose if i want to analyze the CAN in particular vehicle what i have to do? I connected one CAN tool to OBD connector and saw lot of messages coming in. I want to analyze them. What i need to do? Please suggest.
 
Oops why so many protocols. Suppose if i want to analyze the CAN in particular vehicle what i have to do? I connected one CAN tool to OBD connector and saw lot of messages coming in. I want to analyze them. What i need to do? Please suggest.

It is difficult. All the manufacturers use different protocols, and generally they don't publish how the protocol works. Most vehicles have the CAN busses fairly full, as they have all had to use multiple CAN busses, and they don't want to have more than needed.

You can look up if anyone has published the protocols on the internet.

If you have a particular function that you want to check, try changing just that, if you can, and seeing what messages change. Most CAN analysers will show you what signals are changing. Of course, there will be some signals that change all the time, as there are signals that are "keep alive" counters. Also some signals may be send with an extra level of multiplexing, so they will appear to change all the time.

Also you need to find how the signals are encoded. Numbers that can go negative may be encoded with an offset.

I have heard of it taking months to find out a message and encoding.

I managed to reverse-engineer a couple of simple (non-CAN) communication busses on a car.
 
When you say you want to analyze the CAN, what exactly are you hoping to do? Do you want to analyze a diagnostic trouble code because there is a format or standard that is followed by all car manufacturers for that. Do you want to look at the actual datastream and decipher it and if so, what is the outcome you are hoping for. As said previously, the OEM's will choose a code or language to write their code in, the Communication adaptor must decipher it and the software must read/write to it. What is is you are looking for?
 
I have heard of it taking months to find out a message and encoding.

I managed to reverse-engineer a couple of simple (non-CAN) communication busses on a car.

I used to reverse engineer vehicle CAN signals to demo an eps on current production vehicles.

We had to find signals like speed, engine running, rpm, reverse gear enable etc..

It did sometimes became very difficult when speed use to be an average of all 4 wheels and we had 4 can messages showing speed. Usually we just picked a wheel CAN signal for demo purposes.

what car you looking at? Maybe someone else has already done it and can provide some data for you.

Or what is your end goal?
 
I think the OP has left the building. I would be interested in hearing more about reading CAN data and deciphering it if you want to elaborate. How do you figure out what language it is written in and how do you determine what part of the code belongs to what sensor. I know everything is addressed but not sure how you would pick it out. I am curious because I work on instrument clusters and want to know more about the data on the EEPROM specifically mileage etc. I find this stuff fascinating but never had a chance to work on it.
 
Sorry for the delay. I only wanted to know if all cars follow some standard or not. I have concluded that they don't follow any standards.
 
I'm not sure I follow. I mentioned earlier that they follow ISO and SAE guidelines and those are standard for all manufacturers. What is available in the datastream and diagnostic codes fall under these guidelines. What the OEM releases at each level is also mandatory but that doesn't mean they all have to speak the same language or offer up the same data. If your statement was true, then only OEM's would be able to communicate with these vehicles.
 
OEMs usually have proprietary signals as well as mandatory ones on the same CANbus. Also there are usually several CANbuses on a car, and only one has to comply withe the laws, so on all the others they can do what they want.
 
Yes now i understand diagnostics follow standards while other messages are proprietary since there is no necessity for it. But anyone has any idea is AUTOSAR any way related to this? I am hearing all OEMs want to make some standards.
 
I think that AUTOSAR is about software within the electronic modules that communicated on CANbus (or other busses). It is similar to an operating system, so that applications can be re-used or moved between modules more easily.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top