Page 8 of 24 FirstFirst 123456789101112131415161718 ... LastLast
Results 176 to 200 of 599

Thread: (Almost) free DIY ADS interface

  1. #176
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by benemorius View Post
    Exactly.

    What you're asking is certainly possible, but it would have been pretty hard to damage anything by shorting any wires. It would survive a dead short to ground as well as 12V. An ESD event (static shock) may have done something, but it's not likely. Assuming it has standard automotive-grade input protection it's relatively safe to say that it wasn't damaged in this manner.

    In fact these values do not come from the DME. I'm something of an expert on the operation of the e36 OBC now and I can assure you that it doesn't get live data from the DME using diagnostics communications. The OBC receives the necessary signals in its wiring harness to calculate all of these values itself.

    In fact on the e36 there is no communication on the diagnostic buses whatsoever unless a computer (DIS, INPA, carsoft, whatever) is hooked up and running diagnostics. The modules are not capable of talking to each other - only a diagnostic computer can initiate a query.
    Wow, it is very refreshing to be talking to an expert in these matters. Either way, it makes sense that it would have input protection. Given that other modules on those lines still respond, there probably wasn't a destructive ESD event.

    If you wrote a book about OBC / DME communications, I'd buy it. Just sayin'.

  2. #177
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Quote Originally Posted by benemorius View Post
    So then, the only possibility for a hardware fault that I can come up with is that the DME is not asserting the bus strongly enough to bring the voltage below the threshold for the interface to switch logic states. While I do seem to recall a bit of variation in the low levels achieved by different modules, I don't think I ever saw anything more than 3V. This should easily be low enough to trip the CMOS gate in the 4053 assuming nominal battery voltage, but, as I said, I can think of no other possibility for a hardware fault at present.

    There would then seem to be four possibile reasons for the inability to access the DME:

    1) if the assumption made in the third paragraph is false and the DME is in this case the only module that listens on L, then a broken L bus could still be to blame

    2) the logic level incompatibility described above

    3) faulty DME

    4) unspecified INPA shenanigans
    From that theory then I would assume most likely possibility #2.
    I have tried HansV's version on a 1994 325i and a 1995 318Ti with the exact same results. Dataxpress has tried it on his 1994 325iC, so I'm going to assume these cars are all expecting the same signals and are not "broken" in any fashion. I believe we have both tried various versions of INPA and DIS with the same results as well.

    The only other possibility (#4) that had crossed my mind is whether INPA was trying to use OBD orientated files even while in ADS mode, not that I know there is an actual difference in files or how to tell, just a thought I'd been playing with. But if your original interface IS working 100% on your 1994 325i then I would not think that's the case with our cars as the only difference is the physical interface hardware being used. (your design versus HansV's version of your design)

    Quote Originally Posted by benemorius View Post
    I may have mentioned this before but a logic analyzer or oscilloscope would reveal the source of the problem in a matter of minutes if you should happen to have access to anything like that.
    Would this little video with a logic probe be of any help?
    [ame]http://www.youtube.com/watch?v=QLI8iwqvWUQ[/ame]
    I was trying to watch the switching of the DTR line as each individual quick test ran.

    Green is low - Red is High
    Switching according to our schematics:
    DTR=low: PIN15 (L-line) connected to TXD
    PIN 17/20 (K-line) connected to RXD
    DTR=high: PIN 17/20(K-line) connected to TXD
    RXD connected to ground

    Quote Originally Posted by dataxpress View Post
    With HansV's adapter:
    My car (OBD1 DME3.31) is missing Pin 17. I connect on 20 and 15 and can communicate with airbag, ZKE, convertible top, and a few other units, but not the DME.
    Same here.

    Quote Originally Posted by dataxpress View Post
    My friend's car is a 96 M3 (OBD2) has both Pin 17 and 20. When we tried to connect using Pin 15 and 20, like my car, we were unable to access the DME; when I bridged Pin 17 and 20 together, we suddenly had full access.

    I hope this helps shed more light onto the Pin 17 issue.
    My 20 pin harness adapter is internally jumpered (17+20). So I also have the same results on newer cars such as our 99', full access. I've used it in OBD and ADS mode with good results on the newer cars.

    Quote Originally Posted by dataxpress View Post
    Ah, I see. So it's the same protocol, but the DME is put on a separate line so that OBD tools don't see the various other BMW modules? That makes sense.
    Quote Originally Posted by benemorius View Post
    Exactly.
    Ditto.
    This is why even on newer cars (96' +) the OBD port under the dash is pretty useless unless all you want to do is read engine codes and such.
    Rule of thumb is if it has a 20 pin port under the hood, use it, regardless of what year your car is.
    You can jumper the port under the hood and make the OBD port more functional, but why, just use the 20 pin harness adapter and be done with it.
    Ignition "on" detection can also be a problem on the OBD port since pin #1 is usually not wired up in the OBD port.
    Last edited by KevinMullins; 01-26-2013 at 04:56 PM. Reason: Automerged Doublepost

  3. #178
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    A logic probe! I forgot they even existed. Yes, the video does provide a bit more information.

    I believe you have the logic states reversed, though. DTR should be idling low and briefly toggling high - not the other way around.

    While watching the video we can observe that while the red light is lit INPA is either sending data on L, listening for a reply, or doing nothing. While green is lit, we can be sure that INPA is sending data on K.

    So when we see the flashes of green, each flash is INPA trying to query a module with a certain kind of packet. There are a few different kinds of packets to try and each packet may be tried multiple times, hence multiple green flashes for each module.

    In cases where the light stays red for a long period of time, we must assume that INPA is trying packets on L.

    INPA appears to try raising a DME twice - once near the beginning of the video and once near the end. The first time it is evident that it only tries sending some short packets on K. There is not enough time for it to be sending anything on L and there is nowhere near enough time for it to be sending the incredibly long (actually it's just slow - it is sent at 5 baud) packet required to awaken our DME.

    The second time is different. It appears to be sending data on L and I would submit that there is indeed sufficient time for it to be sending the expected packet approximately three times before giving up. This is exactly what I would expect it to do. Unfortunately it was not successful, but we can't be sure why.

    It is possible that INPA is not in fact sending the expected packet on L. We are, after all, only watching DTR and cannot see TXD. This seems to me very unlikely, however. It has the time, and I believe it is doing the business. We could confirm this by using the logic probe on the serial port's TXD pin.

    So then, maybe INPA is sending the data but it isn't reaching the L bus wire in the car somehow? This also seems unlikely since the interface is otherwise working flawlessly and we have multiple cases which are apparently exhibiting the same behavior. It would be useful to see what the logic probe does on the L bus.

    We must then consider that the packet is reaching the DME on L, and, if we assume that the DME is in working order, a reply is coming back on K. Since all replies from all modules always come back on K and the interface has had no trouble receiving those, we would presume that it should also receive the reply from the DME, but then there's the hypothesized logic level issue. I must say I really don't like this possibility, but it has to be considered if we're to remain objective and get to the bottom of this with our sanity intact. It is possible that the DME uses a weaker bus driver and that the logic low voltage that it produces is too close to the threshold, such that one DME works while another one doesn't. It would also be useful to see what the logic probe reveals on the K bus, though of course we face the same uncertainty with regard to voltage levels with a logic probe too.

    The threshold voltage for a logic low for a CMOS gate (such as those in the CD4053) is expected to be about 30% of the power supply voltage. So if the battery voltage is a nominal 12.8V then the DME must pull the L bus below (12.8*.3 = 3.84V) if it is to be heard. It is difficult to imagine that it is not capable of doing this, but we are only speculating without any hard evidence.

  4. #179
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Glad the video helps a bit.

    Quote Originally Posted by benemorius View Post
    I believe you have the logic states reversed, though. DTR should be idling low and briefly toggling high - not the other way around.
    Ok. That kinda concerns me then as I am pretty certain it is idling high and toggling low.
    But really I would assume it depends on the CD4053's switching characteristics. (ie. what is switched when either in high or low state)
    I really wish I understood the nitty gritty of some of this, sometimes I feel I know enough to just confuse myself.

    Quote Originally Posted by benemorius View Post
    We could confirm this by using the logic probe on the serial port's TXD pin.

    It would be useful to see what the logic probe does on the L bus.
    It would also be useful to see what the logic probe reveals on the K bus, though of course we face the same uncertainty with regard to voltage levels with a logic probe too.
    I can try to do these tests as well when I get a chance, just not been able to physically do much with this stuff lately.

    Quote Originally Posted by benemorius View Post
    The threshold voltage for a logic low for a CMOS gate (such as those in the CD4053) is expected to be about 30% of the power supply voltage. So if the battery voltage is a nominal 12.8V then the DME must pull the L bus below (12.8*.3 = 3.84V) if it is to be heard. It is difficult to imagine that it is not capable of doing this, but we are only speculating without any hard evidence.
    I don't have an oscilloscope, so it might be hard to measure these voltages with as short a time that the switching occurs.
    Maybe there are some resistor variables that could be changed in the circuit design to test this theory. (?)

    HansV has been working with me on this as well and sent me a couple things to try, just hadn't had a chance to do much recently, and my version became so compact it was hard to work with, I need to breadboard it or something to make it easier to change around.

    For reference I thought I'd attach both yours and HansV's original designs for comparison without having to dig through this thread looking for them. Maybe a difference or something will jump out at someone else who may be reading.
    Attached Images Attached Images
    Attached Files Attached Files

  5. #180
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    Quote Originally Posted by KevinMullins View Post
    Ok. That kinda concerns me then as I am pretty certain it is idling high and toggling low.
    But really I would assume it depends on the CD4053's switching characteristics. (ie. what is switched when either in high or low state)
    I really wish I understood the nitty gritty of some of this, sometimes I feel I know enough to just confuse myself.
    Yes, it depends on where exactly you were probing it. I assumed you had probed it right at pin 4 on the serial connector, but you'd get inverted logic if you probed it at pin 11 or 9 on the 4053 instead.

    I don't have an oscilloscope, so it might be hard to measure these voltages with as short a time that the switching occurs.
    Maybe there are some resistor variables that could be changed in the circuit design to test this theory. (?)
    One could try adjusting the 1k pullup resistors on the buses but it would just be shooting in the dark really. A weaker pullup on the K bus (higher ohms) would allow the DME to pull the voltage lower. It would be great of course if such a test did cause an improvement, but a negative result would be disproportionately meaningless I'm afraid.

    Now that I think about it, it could just as well be a problem with the 4053 not asserting the bus strongly enough for the DME's liking. It's just more speculation, though. I never actually finished characterizing the bus requirements once I got my interface working as I quickly moved on to trying to get meaningful data out of the modules for the openobc project. We may be going way off the mark here. Still, I haven't any doubt at all that we'll eventually get to the bottom of this.

  6. #181
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Building the original design right now to test on my car. Will post pictures as soon as it's done & begin testing on the car

  7. #182
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    Quote Originally Posted by dataxpress View Post
    Building the original design right now to test on my car. Will post pictures as soon as it's done & begin testing on the car
    Awesome. Originally I felt more or less confident that it would be a software issue but after seeing that video all bets are off. I'm really interested to hear what happens with this now.

  8. #183
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Quote Originally Posted by benemorius View Post
    Yes, it depends on where exactly you were probing it. I assumed you had probed it right at pin 4 on the serial connector, but you'd get inverted logic if you probed it at pin 11 or 9 on the 4053 instead.
    Ah.... I was probing at pin 9 & 11 of the 4053.
    So if I were to run the same test directly at pin 4 of the serial I should get the opposite effect then.

    Quote Originally Posted by dataxpress View Post
    Building the original design right now to test on my car. Will post pictures as soon as it's done & begin testing on the car
    Cool. Looking forward to your results.
    I believe I have all the components to do so, just have to lay it out on a perfboard as I don't have a breadboard like yours.
    Last edited by KevinMullins; 01-26-2013 at 08:26 PM. Reason: Automerged Doublepost

  9. #184
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by KevinMullins View Post
    Cool. Looking forward to your results.
    I believe I have all the components to do so, just have to lay it out on a perfboard as I don't have a breadboard like yours.
    Go get one! Radioshack is still open!

  10. #185
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    Quote Originally Posted by KevinMullins View Post
    Ah.... I was probing at pin 9 & 11 of the 4053.
    So if I were to run the same test directly at pin 4 of the serial I should get the opposite effect then.
    Yes. T3, R7, and R6 form a simple NOT gate, also known as an inverter. If you have a 1 on one side, you can be certain that there's a 0 on the other side.

  11. #186
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by benemorius View Post
    Yes. T3, R7, and R6 form a simple NOT gate, also known as an inverter. If you have a 1 on one side, you can be certain that there's a 0 on the other side.
    So what does this mean for the results of the video? The behavior in the video is correct?

  12. #187
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    Quote Originally Posted by dataxpress View Post
    So what does this mean for the results of the video? The behavior in the video is correct?
    That's right. It was a miscommunication only and is of no consequence. DTR is low (unasserted; idle) when the red LED is lit. This is what we expect, and this is what we observe.

  13. #188
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by benemorius View Post
    That's right. It was a miscommunication only and is of no consequence. DTR is low (unasserted; idle) when the red LED is lit. This is what we expect, and this is what we observe.
    Ok. I'm about half way done building the circuit, so we'll see if it changes anything. I suppose if it works, it means our expectations for the CD4053 or the DME's pulldown behavior are off.

    Here's this... time to hook it up and pray.
    Last edited by dataxpress; 01-26-2013 at 09:40 PM. Reason: Automerged Doublepost

  14. #189
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    @KevinMullins

    I'm watching the video again and it appears that only three modules are responding - airbag, zke, and obc. Is this consistent with your observations as well? I'm wondering why there are no responses from abs, kombi, and ihkr. I guess I can't be sure you have abs or ihkr but I'll be damned if you don't have an instrument cluster!
    Last edited by benemorius; 01-26-2013 at 10:14 PM.

  15. #190
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Quote Originally Posted by benemorius View Post
    @KevinMullins

    I'm watching the video again and it appears that only three modules are responding - airbag, zke, and obc. Is this consistent with your observations as well? I'm wondering why there are no responses from abs, kombi, and ihkr. I guess I can't be sure you have abs or ihkr but I'll be damned if you don't have an instrument cluster!
    Yes. This is exactly what I can get a response from consistently.
    I can get into the IHKR with INPA as well, even though it doesn't show up properly. But absolutely nothing else responds.
    Dataxpress gets basically the same results on his car other than he can also get the convertible module, which I obviously don't have with the sedan.

  16. #191
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    So neither of you can access your ABS or instrument cluster in addition to the DME? That's interesting. I know of no common factor among those modules that would prevent them from working and not other modules. I don't know what it means yet but we're getting close. The results from dataxpress are eagerly awaited.

  17. #192
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Quote Originally Posted by benemorius View Post
    So neither of you can access your ABS or instrument cluster in addition to the DME? That's interesting. I know of no common factor among those modules that would prevent them from working and not other modules.
    Correct.
    This is exactly why it had been boggling us.
    I even started an excell sheet and was going through various years and their schematics module by module trying to find a common problem factor. (RXD/L-Line/pin 15/one-way communication and TXD/K-Line/pin 20/two-way communication lines)
    Nothing jumped out at me so far. Seems most of the modules we can't read use the same RXD/TXD arrangement as the few modules we can read.

    Quote Originally Posted by benemorius View Post
    The results from dataxpress are eagerly awaited.
    Indeed.
    And I'll do the same when I have a chance.

  18. #193
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    BOOM. Works. That is, I can access the DME and the goodies it entails. However, it gives me two errors when I enter the DME screen:

    - "Checking versions" "Versions do not match. Malfunction possible!"
    - "Checking language variants" "Language variants do not match. Malfunction possible!"

    After OK'ing past these screens, I was able to access error memory, live running values (not quite as many as OBD2 but still some interesting ones), and even activation - you can activate individual fuel injectors, which is neat.

    I'm at the computer with the car right now - anything you guys want me to look into?

  19. #194
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    BOOM. Works. That is, I can access the DME and the goodies it entails. However, it gives me two errors when I enter the DME screen:

    - "Checking versions" "Versions do not match. Malfunction possible!"
    - "Checking language variants" "Language variants do not match. Malfunction possible!"

    After OK'ing past these screens, I was able to access error memory, live running values (not quite as many as OBD2 but still some interesting ones), and even activation - you can activate individual fuel injectors, which is neat.

    Something else interesting is that I also have proper access to the instrument cluster now, as well as ABS.

    I'm at the computer with the car right now - anything you guys want me to look into?

    Quote Originally Posted by benemorius View Post
    I'll be damned if you don't have an instrument cluster!
    Also, this just made my day. :-D
    Last edited by dataxpress; 01-27-2013 at 02:43 AM. Reason: Automerged Doublepost

  20. #195
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    That's AWESOME news!!
    The errors you were getting are probably due to different variations of INPA and it's associated files getting mixed and matched. Neither of those errors are a major "functionality" concerns.

    So then it does indeed boil down to a circuit difference somewhere/somehow between the original and HansV's compact version. I'm sure he'll check in and chime in when he gets a chance. Shouldn't be terribly hard to narrow now I would hope. (for you electronically smart fellas anyways)

  21. #196
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Just because it might be helpful, here's INPA scanning my system.
    [ame]http://www.youtube.com/watch?v=FsKeqcKcWNk[/ame]

  22. #197
    Join Date
    Apr 2011
    Location
    Mcloud, Oklahoma
    Posts
    3,098
    My Cars
    '99 323is, '00 323i 528i
    Which version of INPA and EDIABAS are you running?
    Are the DME .ipo and .prg files the originals or some modified version?
    Is your car automatic or manual? (curious about transmission module as I am testing automatics)
    Last edited by KevinMullins; 01-27-2013 at 03:18 AM.

  23. #198
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by KevinMullins View Post
    Which version of INPA and EDIABAS are you running?
    Are the DME .ipo and .prg files the originals or some modified version?
    Is your car automatic or manual? (curious about transmission module as I am testing automatics)
    INPA: 3.01
    EDIABAS: 6.4.3

    ipo/prg files: I don't remember. I had some modified ones I swapped in once, not sure if these are still them.

    Transmission: Manual

  24. #199
    Join Date
    Dec 2011
    Location
    Pasadena, CA
    Posts
    212
    My Cars
    1994 325iC
    Quote Originally Posted by KevinMullins View Post
    When you get a chance, right click on the DME331.ipo file and check it's "modified" date in the properties. Looks like 1997 or 2004 would be "original" INPA files, anything else (2012) would be a recent modified version.

    Transmission - figured you had a manual since the module didn't get recognized and everything else was going good. I should know how well things work with an auto when I get back to it.

    I keep going back to this for some reason, especially since it was brought up earlier, hoping someone else could take a look and see if anything jumps out at them when comparing my video and Hans's schematic.

    In my video I am probing at pin 11 of the CD4053 in Hans's schematic.....
    Green is low - Red is High
    Looking at the CD4053 diagram: when pin 11 is LOW (green) - pin 14 is connected to the K-Line. Shouldn't this be to the L-Line if wake/queries are done on the L-Line?
    When it is HIGH (red) - is when it should be expecting data/response on the K-Line. (?)
    Hard for me to wrap my head around it at the moment as I keep getting disturbed, but I keep thinking something is "backwards".

    Can I easily invert the inverter on the DTR line and see if it makes a difference?

    Switching according to our schematics:
    DTR=low: PIN15 (L-line) connected to TXD
    PIN 17/20 (K-line) connected to RXD
    DTR=high: PIN 17/20(K-line) connected to TXD
    RXD connected to ground
    It might be worthwhile to try to draw a truth table about both circuits and see if anything doesn't match up. Sounds like this is what you're trying to do in your head, anyway.

  25. #200
    Join Date
    May 2007
    Location
    US
    Posts
    942
    My Cars
    '94 325i / s13
    Ok guys this is great! We're all but done. Something simply isn't asserting the bus to something else's liking.

    There are now only two possibilities. Either the vehicle isn't pulling low enough for the 4053's input or the 4053 isn't pulling low enough for the vehicle.

    It is very easy to test either possibility, but I'd like to start with the latter as I believe it is most likely the problem. All we need to do is add a pair of discrete transistors to the 4053 design between the 4053 and the buses. This should hopefully allow the 4053 interface to work just as the original one does. If so, then we'll have determined the exact cause of the problem. I'll make a minor modification to HansV's circuit and attach the modified schematic in my next post.

    Two npn transistors (exactly the same kind as the other two in the circuit) must be added - one per bus. The outputs of the 4053's switch A (pins 12 and 13) must then be disconnected from the buses and connected instead to the bases of the transistors. Each transistor's collector then goes to the appropriate bus, and the emitters go to ground. The input for the 4053's switch B (pin 10) must remain where it is on the k bus.

    Now the 4053 does not drive the buses directly but instead drives the additional transistors which then drive the bus. However, adding these transistors has inverted the logic so we must invert it again elsewhere to compensate. As it happens, we can accomplish both this and one more thing by disconnecting the ground connection from the emitter of T1. This will prevent T1 from inverting the signal by turning it from a transistor in to a simple diode, which is fortunate, because this is exactly what we needed to protect the 4053 from any negative voltages which might now come through the TXD pin of the serial port toward the 4053.

    Stand by for the modified schematic. I have given the written description of the modifications only in case it is needed to accompany the schematic. It's actually a very simple change to make, despite how clumsy the written description may have been.

    I'm fairly confident that this test will conclude our troubleshooting efforts.
    Attached Images Attached Images
    Last edited by benemorius; 01-27-2013 at 04:50 PM.

Page 8 of 24 FirstFirst 123456789101112131415161718 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •