OBD II 协议源码基于OBD II Protocol Stack
OBD II协议解决方案,支持定制化服务,OBD II软件方案
基于can的OBD II协议源码,
基于KWP 2000-4的OBD II协议源码
基于ISO 9141-2的OBD II协议源码
基于SAE J1850 PWM (Ford SCP)实现的OBD II协议C源码
基于SAE J1850 VPW (GM Class 2))的OBD II协议C源码
支持ISO 15765-4 (CAN 11-bit & 29-bit)的OBD II协议
OBD Experts can provide you with ready to use off-the-shelf OBD II software implementing the following automotive protocols:
Our OBD II Software is organized into a simple hierarchy of software layers called a protocol stack. The OBD II Protocol Stack includes the source code for all OBD II protocols.
The software includes a user API and a demonstration file as well as distinct OBD and Hardware Abstraction Layers. The source code is fully commented using doxygen and includes an easy to follow html guide as well as an installation video.
Our OBD II Protocol Stack not only gives you the ability to extract OBD II information, but it also provides the fundamentals that you need to communicate with a vehicle. The five OBD II protocols will allow you to go beyond OBD II and to communicate to other Electronic Control Units (ECUs) in the vehicle.
As well as the inpidual protocols we include a debug file and information to guide you through the debug process. With this information an engineer should be able to quickly identify and fix any faults and quickly achieve reliable OBD II communications.
In addition to the OBD II protocol stack you also receive comprehensive documentation on how to get started with your development. You may choose to receive an on-site training session where we will work with your engineers to set up the software. You will also receive one year of telephone/e-mail support.
Supported ProcessorsThe OBD Experts OBD II Protocol Software has been built and tested for the following microprocessors:
When you buy the stack, OBD Experts provides the complete Hardware Abstraction Layer (HAL) files required to run the OBD II Protocol Stack on any of these microprocessors. Porting the software to other platforms is easy. All C source files are organized with a layer of abstraction and contain clear instructions on what must be changed and where to change it. OBD Experts will provide the support you need to get the code working on your chosen processor.
The careful structure and clear comments in our C source code ensure that you can use the OBD II Protocol Stack on all of your products today and in the future.
Not sure which processor you should pick? We are happy to advise you and help you pick the cheapest most reliable solution.
OBD Experts can help you best design your tests for speed and vehicle coverage. We will research your target market and determine the vehicles on which you should test.
OBD Experts can orchestrate a large scale product validation or we can perform on-going conformance tests. Whatever your requirements, let OBD Experts help you develop the best test suite for your OBD Tool.
OBD Experts testers work with garage owners, car dealerships and rental agencies. We have access to a wide range of vehicles so whether you are interested in a general set of tests on the most common cars on the road today or a specialist market (for example fleet cars, or 4x4s) we can find the appropriate vehicles.
Our testers are all fully trained automotive engineers with years of experience in OBD. From locating the OBD connector in a vehicle to analyzing bus data using specialized tools OBD Experts testers are fast, reliable and provide you an on-site expert help to perfect your product.
Custom Protocol SimulatorsOBD Experts custom J1850 PWM and J1850 VPW simulators are the most innovative
on the market and let you simulate a busy bus with multiple ECUs and multiple
ECU responses. Use our simulators to test your device in the most realistic
environment outside a real vehicle.
Frequently Asked Questions
Welcome to the OBD Frequently Asked Questions page. Click on one of the questions in the list below to go straight to the answer.
Don't see your question? E-mail us for an answer.
Q:What software is included in the OBD Experts Protocol Stack?
A:When you purchase the complete OBD II Protocol Stack you will receive the source code for all the OBD II protocols. The source files are written in C and organised with a layer of abstraction to the hardware specific code so that porting of the code to alternative hardware platforms is kept simple. Currently the design is built and tested using an STM32F103 high density ARM Cortex chip so all the actual calls to this chip and the STM32's library code are provided too. On top of the stack sits a simple API that attempts to connect to one of the protocols and if successful loops through a file requesting the desired modes and PIDs from the ECU(s). Watch a video introduction to the OBD Experts OBD II Protocol Stack here -
Q:Can I modify/tailor the OBD II Protocol Stack once it has been purchased?
A:When you purchase the OBD II Protocol Stack you will be required to sign an agreement stating you will not sell it on to any 3rd party, however, you will be able to use it freely - including all modifications - in your company products.
Q:What support comes with the OBD II Protocol Stack?
A:You will not only receive the source code (written entirely in C) but you will also receive comprehensive documentation on how to get started with your development. You also get direct access to our engineers by phone and email as well as entry to our on-line support page.
Q:How do I determine which OBD II protocol to use on a particular vehicle?
A:OBD II specifies 5 different electrical protocols which can be used to access OBD II information. Automotive manufacturers are required to implement one of the mandated OBD II protocols. CAN is becoming the mandated OBD II protocol for all new vehicles. In the near future all vehicles will use this protocol to communicate.
At the moment, however, different manufacturers favour different protocols. Table 1, below, describes which OBD II protocol is favoured by which manufacturers. Please note that this list is not exhaustive and that there are always exceptions to these general rules.
OBD Protocol | Vehicle Manufacturer |
ISO 9141-2/KWP2000-4 | Many Asian and European vehicles including Alfa Romeo, Audi, BMW, Citroen, Fiat, Honda, Hyundai, Jeep post-2004, Kia, Land Rover, Mazda, Mercedes, Mitsubishi, Nissan, Peugeot, Renault, Saab, Skoda, Subaru, Toyota, Vauxhall, Volkswagen post-2001, Volvo pre-2004. |
J1850 PWM | Ford pre-2003. Jaguar pre-2003. Mazda pre-2004. |
J1850 VPW | General Motors, Chrysler |
ISO 15765-4 (CAN) | Ford, Mazda, Volvo since 2004. |
Table 1 - OBD II protocols by vehicle manufacturer
One way to tell which OBD II protocol is implemented by a vehicle is by examining the J1962 connector. This connector is often located under the steering wheel on the driver's side of the vehicle. A J1962 connector is shown in Figure 1, below.
Figure 1 - J1962 connector
The numbers in Figure 1 represent the 16 pins of the J1962 connector. The following J1962 connections are dependent on the protocol(s) in use by the vehicle:
Pin 16 is Battery Voltage and Pins 4 & 5 are Ground. By checking which pins are implemented in a vehicle it may be possible to determine which OBD II protocol is in use.
Q:Will OBD Experts modify their existing stack for specific vehicles?
A:Yes. As part of our consultancy service we can provide you with a tailor made stack that is not only fully OBD II compliant, but can also communicate 'physically' to specific ECU's.
Q:What additional hardware is required to communicate with a vehicle using OBD II?
A:You cannot connect microprocessor outputs directly to the J1962 connector on a vehicle. You will require some simple external circuitry including:
Q:What processors does are supported by your software?
A:The OBD Experts OBD II Protocol Stack has been built and tested for the following microprocessors:
If you are using a different processor then the OBD II Protocol Stack can be adapted using the easy to follow instructions provided. As all of our software comes with a support package we are happy to help you port the OBD II Protocol Stack onto your chosen processor.
Q:What support comes with your software, do you provide updates?
A:All of our licences come with off-site support. This is phone and email support for any question that your engineers may have about how the software works, porting, or even general questions about OBD II. There is also a support page on our website that you may access using a password. During your support period you will be notified of bug-fixes if any operational bugs are reported in the software by any of our other clients.
Q:Do you license your software on a per-unit basis?
A:The OBD II protocol stack is usually licensed for an initial fee and an on-going fixed monthly payment. The licence includes off-site support. We can also provide per-unit licenses on the source code on a case by case basis. Contact us for more information.
Q:Do you support non-OBD II diagnostic protocols such as J1939 and J1708?
A:We currently support J1939 truck protocol and J1708 is currently in development - contact us for more information.
Q:What is the difference between OBD II and CANbus?
A:OBD II and CANbus arenotthe same thing. OBD II is a standard that must be supported on all modern cars in order to retrieve diagnostic information. CANbus is one of the five electrical protocols over which the OBD II standard can be used. All North American cars since 2008 must support OBD II over CAN, however, it is not enough to just have a CAN bus connection to communicate with these vehicles - one must also implement the OBD II standard.
Q:Can I use your firmware to read the door lock status and unlock the car doors?
A:It depends. The OBD II standard does not have access to parameters such as door lock status; however, it is possible that this information can be read using one of the five electrical protocols used for OBD II. In theory, this means with just a small change to the OBD II source code you can read door lock status. In practice, however, parameters such as door locks, odometer, seat belts etc are kept secret by car manufacturers so in order to access this data you need proprietary information. In addition the information (parameter address, scaling, key etc) required to read this data can (and often is) different for every vehicle. So, in short, you can use our firmware to read the door lock status and unlock the car doors, but only if you possess the proprietary information required to do so.