This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OBD2 interface with a Microcontroller

Hello!!


I would like to implement an OBD2 interfac in order to communicate it with a microcontroller but i dont have any idea about this.


Someone could help me with this? Is there an Texas Instrument IC which can help me with this?

Thanks!! I hope you can help me!

  • Hello Ricardo,

    This forum is mainly for analog devices used in automotive applications.  It seems like you are looking for information related to TI MCU's, so let me move your question to one of our MCU forums.

  • Hi Ricardo,

    I do not have much experience with OBDII, but from a high level it is a standard that specifies the connector (pin out), what protocols are used, etc. for the diagnostic link in a car. If you have never seen any information about it I would recommend reading this:

    http://en.wikipedia.org/wiki/On-board_diagnostics#OBD-II

    and this:

    http://www.obdii.com/

    As you can see there are multiple protocols used in OBDII. Like CAN and ISO9141. TI sell lots of transceivers, and microcontrollers that can handle these protocols.

    Thanks,

    John

  • Sorry Ben,

    Your are right... Thanks!

  • Thanks John,

    I have read you told me... But i dont  know what do i need to use my microcontroller with a OBD2 system... (interface, circuits, transceiver-....)

    Regards,

    Ricardo

  • Hi Ricardo,

    The Hercules or C2000 team should be able to help you with microcontrollers that are able to handle what protocols you need. But as the documentation shows, different cars have different OBDII interfaces?

    Do you know what model car you will be working with?

    Are you making an external diagnostic connector that will be attaching to the car's OBDII port? I am still no clear with what you need.

    Thanks,

    John

  • Hello Jhon,

    The idea is to use CAN BUS ... The design requirements just specify OBD2 with CAN BUS, and the microcontroller selected has CAN port. The thing that i have to do is to define the imterface to connect the car with the microcontroller.... Thats what i nedd...


    Thanks for your attention,

    Regards,

    Ricardo

  • Hi Ricardo,

    You will then need to connect a microcontroller with built in CAN controller (Hercules or C2000) and pair it with an external CAN transceiver. The external CAN transceiver is part of the physical layer, and the microcontroller handles all of the protocol.

    I would work with this forum and the C200 forum in picking the correct microcontroller. I would then recommend checking the following link for the CAN transceiver portfolio.

    www.ti.com/can

    Thanks,

    John

  • Thanks John,


    Your idea is great ... But... I have to use a PIC32 microcontroller... I can't at this time use another one. According with this i attached an image with the diagram of it eith the can peripheral, so i would have two questions:


    1. Whit this CAN module of the PIC which circuiit i would have to integrate with it to make it work?

    2. I could use the UART pins? Tx, Rx and not the CAN module of the PIC?

    One more time again, thanks four help...

    Regards,

    Ricardo

  • Hi Ricardo,

    I apologize for the delay. I have been swamped with emails this week.

    For PIC related questions, I would recommend going to them for support. But from a high level, a standard UART is not compatible with CAN. Usually all the protocol is not written in software, rather in hardware in the form of a CAN controller. That means that error checking, arbitration, bit stuffing, frame handling, etc. is all handled in hardware, and not in software. This is known as a CAN controller. Different vendors have different names for their CAN controller output and input pins but if the micro you have is compatible, they wouldn’t be the same as the UART. For example TI controllers call these controller eCAN and DCAN, where the pins are usually referred to as CANRXx and CANTXx.

    From your picture above, it looks like you would use the CxTX and CxRX in the upper left corner of the picture and connect them to an external CAN transceiver.

    Thanks,

    John