Measuring the pulse length today I noted the base/smallest pulse is about 100us this makes it either 9600baud a standard serial setting, or 10400 baud (ODB-II) comms. Logic analyser hasn't arrived yet so still tinkering round the edges.
I'm starting to suspect ODB-II style inter unit comms which we know it uses when talking to the odb-II diagnostic port so that would make sense.
Someone else is tinkering with ODB-II and a Picaxe.
I have been looking with envious eyes at Honda GNA system on UK E-Bay which provides the full range of diagnostics etc for our cars. It's the oem system used by dealers and was very expensive in the past but is now a bit cheaper. Not sure how useful it would be.
I've also been looking at the way the soc/regen/assist gauge works, and that appears to be driven via a comparator input in the gauge from the MetSCI1 & 2 wires which also joins the BCM and MCM.
I believe the BCM sends it the SOC level, and the MCM sends it the assist/regen level.
I would like to drive the SOC gauge independently with a pic which could be fed from my master board so it shows a true reading of phev battery soc.
In fact I want to remove the BCM altogther but justy need to fake it's critical signals.
According to the technical training data sheet the BCM sends the MCM (SOC and failure data) and recieves (Fail clear requests, etc)
I added a plugin and switch board to the inter bcm/mcm/dash connections today so I can plug into and monitor the siganls without taking it all apart.
I can also now switch off the BATTSCI & METSCI siganls from/to the BCM/MCM/Dash, this also allows me to inject my own signals at these point when I have sussed them out.
Logic Analyser arrived today. Very neat bit of kit. Thanks to those who contributed.
Now just need to learn how to use it.
Anyway I captured some data from just before you turn on ignition and then with ignition on for about 5 seconds. Engine not running. The normal signal is on BATTSC1 and an inverted signal on BATTSCI2 ditto the METSCI1 & 2 signals. SOC at 19 bars.
I can share this with other's which is nice you need to install the Logic software from here
The data on Input 1 & 2 is the BCM to MCM link BATTSCI1 & 2
This seem to be alternating packets of data in the sample I obtained.
The data on Input 7 & 8 is the BCM to MCM to Dash Display link METSCI1 & 2
This repeats at wider intervals but looks consistent with some small variations.
I'll capture some more later. Please have a look at it and post your thoughts.
Here is a screen capture from the program, this is the first burst of data on the buses after switch on.
Ignore the data in the middle two lines that's a duplicate of the bottom ones. The numbers superimposed are what the program thinks the hex values are for the transmitted data. The shortest pulse is 106us which makes the baud rate? 10,400 poss. But as we don't know the structure, how many data bits, parity, stop, start etc that's still up for discussion.
There is definitely a repeating pattern... as you are able to collect more samples of signals under different conditions ... it looks like at the very least you should be able to determine what signals you want to replicate... especially if you continue to get repeatability in the same patterns.
I shall upload all the captured data so others can have a look/play about with the logic software and today I will try to formalise it a bit.
I'll concentrate on the BCM/MCM BATTSCI1 & 2 and try to work out who transmits first on the bus after switch on. I added some switches so I can interrupt the connections between them so should be able to isolate who is starting the comms on that link.
I'll try and capture some engine running data as well.
Ian, did you install the logic software? If anyone has please let me know, so I'm not wasting my time uploading the data if I'm the only one looking at it in detail.
I can set up a pic to start transmitting some serial data and I'll just compare the captured data until the two are identical, might have to bit bang we shall see.
This zip file contains 8 Logic capture files that you can open and examine.
I tried to make the names sensible.
110309EngOff4Bars.logicsession = Turned Ignition On but did not start engine. SOC at 4 bars.
110309PosRecalEngOff.logicsession = Turned Ignition On but did not start engine. SOC initially at 4 bars, but within one minute Pos recal to 19 bars. This might be very interesting to see how the data changes as the soc gauge rises a bar at a time!
110309BcmMcmDisconnected.logicsession = Disconnected BCM & MCM by interupting BATTSCI1 & 2 then turned Ign on
110309BcmMcmSci1Disconnected.logicsession = Disconnected BCM & MCM by interupting BATTSCI1 then turned Ign on.
110309BcmMcmSci2Disconnected.logicsession = Disconnected BCM & MCM by interupting BATTSCI2 then turned Ign on.
110309BcmMcmMetSci1Disconnected.logicsession = Disconnected BCM & MCM by interupting METSCI1 then turned Ign on.
110309BcmMcmMetSci2Disconnected.logicsession = Disconnected BCM & MCM by interupting METSCI2 then turned Ign on.
110309EngStart19Bars.logicsession = Finally in this session. Turned Ignition on and started car with IMA, ran it for a few seconds.
Ian, did you install the logic software? If anyone has please let me know, so I'm not wasting my time uploading the data if I'm the only one looking at it in detail.
yes I did... but I have not had the time to do more than just a casual look at that first set of data... thanks for the additional data... will have to take a look tonight or tomorrow.
I know I am pretty late to the game, but did you get to the bottom of this?
I believe that the BATT lines transmit SOC DC current and Battery voltage and the METSC1/2 is used to update the instrument cluster
Am I on the right track?
I noticed on one of your traces that the METSC2 is not the polar opposite of 1, is that a master slave conversation?
I know I am pretty late to the game, but did you get to the bottom of this?
I believe that the BATT lines transmit SOC DC current and Battery voltage and the METSC1/2 is used to update the instrument cluster
Am I on the right track?
I noticed on one of your traces that the METSC2 is not the polar opposite of 1, is that a master slave conversation?
Hope you guys are still in the game
cianmh
According to the manual the BCM BATT lines sends the MCM (SOC and failure data) and recieves (Fail clear requests, etc)
The MET lines I agree appear to be driving the gauge, but both the BCM & MCM drive the gauge on the same MET lines.
I think the METSCI1 & 2 are the same. The only time it was different was when the engine was running due to interference. If you look closely at that data it's rubish but you can see the real data mirroring the METSCI1 line through the mush on METSCI2.
Shows why they went for RS485 type comms due to the nightmare noise levels.
I'll try and capture data on the BATTSCI 1 & 2 lines from both sides of my interupter switch next to see if I can work out which unit is initialising/sending the first data packet. I hope it is BCM as that may make life a lot easier, just capture then mimic/copy that packet with soc at 19 bars or even higher and transmit it to MCM ad infinitum.
If the BCM BATTSCI transmission is triggered by the reception of a message from MCM on the same BATTSCI bus I can just let a pic detect the first pulse from MCM and then after appropriate delay transmit the data packet. I'll knock up a circuit this week. I should be able to reach the reqd baud rate with a picaxe 18X chip.
I'm looking at Peters data too, in fact I spent several hours. I notice that the last byte of a 12 byte string might be a checksum or CRC (cyclic redundancy count)
This would check the integrity of the received data, and if it is CRC then it could identify corrupted bits and correct them.
I noticed that on some of the repetitions of the 12 byte transmissions, when one of the bytes incremented by 1, then the last byte decremented by one.
I'll have to try and buy a hexadecimal calculator and do a few sums to test this hunch.
One request Peter, If you wire a switch tied to a voltage onto one of the unused channels, you could then mark an event which could be replayed on the simulator traces.
One thing I would like to see, after pulling the fuse and losing SOC, I would like to view the transmissions as the car charges up and rebuilds the SOC on the dash gauge.
The AutoGuide.com network consists of the largest network of enthusiast-owned enthusiast-operated automotive communities.
AutoGuide.com provides the latest car reviews, auto show coverage, new car prices, and automotive news. The AutoGuide network operates more than 100 automotive forums where our users consult peers for shopping information and advice, and share opinions as a community.