4

I am working on developing a vehicle CAN communications protocol being implemented in an electric vehicle. I was wondering if anyone knew if there is a standard MODE and PID for OBD-II messages transmitted over CANbus on pure electric vehicles (PEV)? as outlined in SAE J1979, ISO-15031-5, and ISO-15765-4 for HEV and ICE?

All the resources I found online state that typically vehicle information for inter-module communication is not transmitted in the OBD-II (ISO-15765-4) format on the CAN bus unless it is requested by for service/diagnostic purposes. Typically ECUs in the vehicle don't support OBD-II CAN messages unless they have to provide information to an diagnostic recorder/device. OBD-II messages on automobiles (light-heavy duty) are typically transmitted over the vehicle CANbus (CAN2.0b/ISO-11898-2 in my case) in special CAN message formats (ISO-15765). My only problem is that I need to use these OBD-II over CAN messages (ISO-15765-4) for my driver display panel which is running Android. Android doesn't have native support for CAN and I am trying use the open-source C/C++ library provided by OpenXC to read OBD-II style CAN messages to convert them into JSON format which is Android friendly (to my understanding).

Any advice, resources, information on how to use OBD-II style CAN messages for a PEV would be appreciated.

RaaziR
  • 73
  • 2
  • 7

1 Answers1

5

It seems like every (lots of people on this forum) one is mixing up what OBD is and what CAN is.

OBDII is a standard ratified in 1996 in the US. This standard is required by the government and incorporates 3 things. First is that the vehicle will provide a standard list of data (PIDs). Second is that the vehicle will be able to detect and provide a standard list of DTCs (diagnostic trouble codes). Third is that the connector under the dash that one would plug in to is standard across all vehicles. OBDII incorporates five communication protocols.

CAN is a communication protocol and that's it. CAN is one of the five protocols that are incorporated in OBDII. CAN was made the mandatory communication protocol in 2008. Any vehicle made after 2008 must be able to provide the mandatory data and mandatory DTCs over CAN. Further, CAN must be wired into the standard connector in the predesignated location.

For an all electric vehicle things get tricky. To comply with OBDII, 90% of the data and DTCs are not applicable. Vehicle speed and throttle position are the only PIDs i can think off the top of my head. Similar thing with the DTCs, you need fault detection for vehicle speed and throttle position.

vini_i
  • 16,115
  • 1
  • 42
  • 64