Announcement

Collapse
No announcement yet.

J1708 obdii

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • J1708 obdii

    I just had someone contact me, asking about whether it's possible or feasible to use something like OBDGPSLogger with J1708 industrial type vehicles.

    Does anyone know anything about this? Can I just plug in an OBDLink or OBDPro device and expect it to talk just fine to these things?

    Another way to ask this is, "is there an ELM327- compatible device that works with J1708" ?

    Thanks,
    Gary (-;
    OBDGPSLogger, for logging OBDII and/or GPS data
    OBDSim, an OBDII/ELM327 software simulator
    mp3car forums: obdgpslogger, obdsim

  • #2
    I'd say, 'no'. J1708 is a 9600 baud, half duplex RS-485 link. If the interface can do ISO 9141, it probably has a UART, but RS-485 is quite a bit different from the electrical connection of ISO 9141 (which is basically VBAT pulled down by a transistor through a 500-600 ohm load resistor).

    J1708 is also just the link. The vehicles then generally run a higher level protocol, like J1922 on top. This is much like the J1979 you get most OBD-II pids from, but the packet structure is different.

    -jjf

    Comment


    • #3
      Chunky, PM Vitaly at ScanTool and ask him. He'll be able to tell you.
      Originally posted by ghettocruzer
      I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
      Want to:
      -Find out about the new iBug iPad install?
      -Find out about carPC's in just 5 minutes? View the Car PC 101 video

      Comment


      • #4
        Originally posted by chunkyks View Post
        I just had someone contact me, asking about whether it's possible or feasible to use something like OBDGPSLogger with J1708 industrial type vehicles.

        Does anyone know anything about this? Can I just plug in an OBDLink or OBDPro device and expect it to talk just fine to these things?

        Another way to ask this is, "is there an ELM327- compatible device that works with J1708" ?

        Thanks,
        Gary (-;

        OBDPro cannot do J1708 but if needed we can provide the functionality

        Comment


        • #5
          Originally posted by jfitzpat View Post
          I'd say, 'no'. J1708 is a 9600 baud, half duplex RS-485 link. If the interface can do ISO 9141, it probably has a UART, but RS-485 is quite a bit different from the electrical connection of ISO 9141 (which is basically VBAT pulled down by a transistor through a 500-600 ohm load resistor).

          J1708 is also just the link. The vehicles then generally run a higher level protocol, like J1922 on top. This is much like the J1979 you get most OBD-II pids from, but the packet structure is different.

          -jjf


          OBDLink hardware can be modified for J1708 by swapping a few resistors.



          Basically, you would need to remove the 510 ohm resistor to +12V, and add R1 and R3 to the transmitter. Then you would adjust the ratio of the resistors on the receiver (or if you want to be extra safe, copy the receiver circuit).

          Then you would use ISO-specific ST commands to set the baud rate (see section 10.4 of the STN11XX datasheet) and turn off the automatic checksum.

          Vitaliy
          OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
          Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

          You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

          Comment


          • #6
            Huh, cool. Do the same PIDs mean the same things on J1708 as J1979?

            Basically, this guy currently has a bunch of devices that use a nasty proprietary system, and he's interested in moving to a less vendor-lock-in solution - obdgpslogger is almost exactly what he wants, software-wise, it's just a question of hardware, and what modifications need to be made to obdgpslogger [if obdgpslogger is even a viable starting point].

            Thanks,
            Gary (-;
            OBDGPSLogger, for logging OBDII and/or GPS data
            OBDSim, an OBDII/ELM327 software simulator
            mp3car forums: obdgpslogger, obdsim

            Comment


            • #7
              No, the application layer is completely different. See SAE J1587.
              OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
              Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

              You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

              Comment


              • #8
                Originally posted by chunkyks View Post
                Huh, cool. Do the same PIDs mean the same things on J1708 as J1979?
                No, for DIY's who want a basic overview, Microchip has an app note:

                http://ww1.microchip.com/downloads/e...tes/01230A.pdf

                For a complete understanding, best to read the spec.

                -jjf

                Comment


                • #9
                  Originally posted by Vitaliy View Post


                  OBDLink hardware can be modified for J1708 by swapping a few resistors.

                  Basically, you would need to remove the 510 ohm resistor to +12V, and add R1 and R3 to the transmitter. Then you would adjust the ratio of the resistors on the receiver (or if you want to be extra safe, copy the receiver circuit).
                  FWIW RS 485 is a open collector version of RS-422. That is, it is a differential signal, much more like J1850 PWM.

                  Lifting the K line pullup and reusing the UART could be done on virtually any ISO 9141 HW, but it wouldn't be J1708 without a suitable tranceiver. In fact, it might kill the system.

                  Remember, J1708 is multi master, so you have to be able to go open-collector when not driving the bus to not conflict with other equipment. If you attach a UART directly to the bus with just resistors, you are not meeting this requirement.

                  The second problem is drive. An RS-484 transceiver can handle up to 70 mA, and since every J1708 node is supposed to be bridge terminated some serious oomph can be required. If it is a complicated setup, a typical UART is not going to be able to drive the line directly.

                  Last, there is the issue of running single ended instead of true differential. You can sometimes get this to work, but it makes for a much less reliable connection. For example, I can get single ended to work with a controller on the bench for a quick test, but would generally see zero connectivity single ended on the actual industrial rig.

                  -jjf

                  Comment


                  • #10
                    jjf,

                    You're right, what I suggested is a hack (similar to how dual wire CAN can be made to "work" in a single wire configuration) . The ISO driver uses a 2N3904 which can sink up to 200 mA.

                    If there was enough demand, we could throw together a J1708 interface that used a "real" RS-485 transceiver. But AFAIK that market is already oversaturated, and is disappearing as older vehicles are being retired.

                    Vitaliy
                    OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
                    Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

                    You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

                    Comment


                    • #11
                      Originally posted by Vitaliy View Post
                      The ISO driver uses a 2N3904 which can sink up to 200 mA.
                      FWIW, the problem is that you are sinking, but not sourcing (in ISO protocols you were sourcing through the 500-600 ohm resistor to 12V).

                      For the hack to work you have to count on a fairly narrow differential threshold on the receivers, biased termination, and sourcing to come from the termination circuits on the nodes. In other words, instead of sourcing the 485 bus, you are 'sinking' the termination.

                      Now that I think about it, you are at least quasi open collector, though you can't meet the settle time thing in the spec because you don't have a way to drive, only sink during actual transmission.

                      If the setup is simple and everything else uses a simple RS-485 driver, like an SN75176, I could see the kludge often working, albeit with dramatically lower line reliability. However, in quite a few setups I've seen equipment using 'Fail Safe' RS-485 drivers. These generally would detect the non-driven line as an error. Even if you tried to get fancy, and used the transistor from the L line to pull the other line to GND when transmitting, they would generally sense that as a short. You could probably hack to external J1850 circuit to provide differential IO, but at that point, why not just use a tranceiver in an 8 pin DIP...

                      Originally posted by Vitaliy View Post
                      If there was enough demand, we could throw together a J1708 interface that used a "real" RS-485 transceiver. But AFAIK that market is already oversaturated, and is disappearing as older vehicles are being retired.
                      Yeah, we have a board we use in OEM stuff that is both CAN and RS-485, but the demand always seemed to small to us to warrant a commercial product as well.

                      -jjf

                      Comment


                      • #12
                        SAE J1708 is different than J1939. And there are also J1708-bus arbitration which is kind of similar to J1939, multi-masters on the same network, but it is made in software, the J1939 using CAN hardware arbitration. There are some overhead on software to fully implementing the SAE J1708 protocols.

                        We currently have both SAE J1708 simulator and SAE J1708 interpreter released.
                        An Au J1708 simulator:

                        The following is a typical J1708 topology:
                        F.N.

                        Comment


                        • #13
                          J1708 uses the RS485 transceiver, but the hardware is slightly different, please search the following reference for "What's so special about J1708/J1587". (A web link here may violate the forum rule)
                          F.N.

                          Comment

                          Working...
                          X