CAN Network Reverse Engineering | Creating DBC | iMiEV

Mitsubishi i-MiEV Forum

Help Support Mitsubishi i-MiEV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
That diagram is helpful to show how the EV-ECU is the gateway device between two CAN Busses.
I've been thinking about what you wrote above, and looking through the docs. And, whilst I have a big L plate on my arse (that's UK speak for a learner driver) I just can't see that.

I see one canbus. With etacs at one end, and ev-ecu at the other (and each of them containing 120ohm termination resistors. I see everything else as a slave (or passenger or whatever the term is) on that bus. Obviously bmu has its own network to the cmus and there is some networking going on for chademo. But I don't see the ev-ecu as being a gateway between canbus 1 and 2 because I think there is only one. On the other hand ev-ecu does indeed control the UK-line which outputs on pins 7 and 11 of the diagnostic port. Access to this is probably required for programming and resetting SRS and similar fault codes.

Am I completely wrong? 1000002569.jpg
 
Due arrived, transceivers connected and I managed to follow the tutorial as far as getting the ping-pong working. I think that makes me a coding genius 😉.

I'll have to make some kind of enclosure before trying it out on the car, but it's progress.

Sadly there doesn't appear to be any desire whatsoever to communicate and collaborate between the others that are attempting the exact same task.

I wonder if this is why every thread ever started with this as a goal, going back over a decade, just sort of fades out into nothingness, and we still have no dbc for the imiev.
 
Sadly there doesn't appear to be any desire whatsoever to communicate and collaborate between the others that are attempting the exact same task.
let's give @tomasinjapan the benefit of the doubt that he will post any useful findings here
I wonder if this is why every thread ever started with this as a goal, going back over a decade, just sort of fades out into nothingness, and we still have no dbc for the imiev.
First of all it takes a lot of time and effort to do such a thing and as fewer cars are around year by year therefore the pool of enthusiasts is constantly shrinking. Some solutions are only available commercially and obviously there is a reluctance to share that sort of data.

David (owner of OBDZero) @CZeroOwner has collected probably then most comprehensive dbc and implemented it into the free OBDZero app. (Almost) all relevant PIDs for NMC cell updates are known already, so there is little incentive to dig deeper.

Your best bet is probably the guy behind the 318iev blog, he has solved and documented some of the challenges you're going to face
https://318iev.blogspot.com/2020/01/eps-srs-system-removal.html

There was also a guy in Germany who electified his camper van using a triplet but unfortunately I'm unable to find any specifics..

Why a dbc for the triplets was never completed is probably because sadly there is no compelling reason to do so...
 
From over on openinverter and here there are at least four people taking on this task right now. Add to that all those that have gone before. Some making huge strides, some understandably giving up quickly in the face of the mountain.

Sure people have different aims and hence different areas to concentrate on. But each area is surely easier if other areas are already decoded.

It is difficult, no doubt. So surely it makes sense to spread the load and avoid wasting time and effort doing what someone else is doing in the next room (or continent).

And sure, I also hope Thomas in japan in Belgium will publish a full dbc in a month. But of course then all of my time and effort, and that of all the others attempting the task will be for nothing.
 
And sure, I also hope Thomas in japan in Belgium will publish a full dbc in a month.
That might be a tad optimistic
But of course then all of my time and effort, and that of all the others attempting the task will be for nothing.
Focus on the positives, you will have learned something new and can cross reference the data with your own research.😉
 
Due arrived, transceivers connected and I managed to follow the tutorial as far as getting the ping-pong working. I think that makes me a coding genius 😉.

I'll have to make some kind of enclosure before trying it out on the car, but it's progress.

Sadly there doesn't appear to be any desire whatsoever to communicate and collaborate between the others that are attempting the exact same task.

I wonder if this is why every thread ever started with this as a goal, going back over a decade, just sort of fades out into nothingness, and we still have no dbc for the imiev.
I guess I don't understand what you are attempting to accomplish. The documentation thus far is very good and we know most of what goes on in the CAN messages.
 
You can't beat hot glue for that professional look.
1000002702.jpg
Soldering the micro usb plug into the socket is also pure class. But although it comes with some risks, it does stop the otherwise inevitable disconnects.

SavvyCan seems happy so far... Although there is a distinct lack of car in the picture!

I would suggest to anyone wishing to play along, don't buy a due. They're big, outdated, and the tutorial on openinverter doesn't work (although the linked workaround does). Get an esp32 based setup. I'd probably go with Mr DIY 's setup for wireless connection because these tiny usb connections are just not designed for this. I did try to use a 15pin to USB cable from an old psa lexia, but despite powering up and having continuity on the data lines the arduino was not correctly detected with that setup. I wonder if that was the reason that lexia never worked a decade ago!

I'm probably going to start a topic for my next post as the beginning of tomhanman and the holy grail. It won't have much action, but will enable me to keep everything in one place.

I will try and include at the start a list of all the currently decoded and available main canbus ids. Unless there is somewhere else they are already collected?
 
i suppose you have seen garygid's thread about the CAN Buss?
https://myimiev.com/threads/decyphering-imiev-and-ion-car-can-message-data.763/

There are lots of good nuggets in posts there. If you look at the code of canion you can find the pids that app uses. Maybe send a nice note to David at OBDZero and he would share his list, although he uses lsb->msb bit numbering you could easily reverse that.

Years ago we had a read-only Tech section in the forum that was a repository of findings. Not sure what happened to it. i had a blog on the forum that contained all my tech findings but that got wiped too.

Here is my list of periodic pids. i then filtered to only see the ones i was trying to decode.
1000ms (1 fps): 01C [1]
200ms (5 fps): 568 [1]
100ms (10 fps): 101, 286, 298, 29A, 2F2, 374, 375, 384, 385, 389 [1], 38A [1], 3A4, 408, 412, 695, 696, 697, 6FA, 75A, 75B
50ms (20 fps): 38D, 564, 565, 5A1, 6D0, 6D1, 6D2, 6D3, 6D4, 6D5, 6D6, 6DA
40ms (25 fps): 424, 6E1, 6E2, 6E3, 6E4
20ms (50 fps): 119, 149, 156, 200, 208, 210, 212, 215, 231, 300, 308, 325, 346, 418
10ms (100fps): 236, 285, 288, 373

then plotted results to try to figure them out, crude and slow process: shift into gear, stomp on pedal, measure torque command.
iMiEV CAN pedal torq.png

There are CAN Pids for diagnostics and pass-thru programming, in addition to the pids for vehicle realtime control.
 
Back
Top