A bit of background for beginners:
1. Most modern cars have a number of micro-computers (uP) in them
that control many (or even most) of the car's functions.
For example, in the olden days, many wires went from the front
to the back of the car, to light tail, brake, and backup lights, operate
the turn signal lights, and perhaps unlock the trunk, and light a
small light in there.
Now, there is a uP in the rear, that gets commands from a uP in the
front of the car. Just power, ground, and 2 wires for the communication
go to the rear uP, and that saves weight and many wires, and usually
makes for having smaller connectors. Yes, the fuses complicate things a bit.
2. In most modern cars, this commuication is done on one CAN bus,
which allows many of the car's uPs to all talk to each other. Most cars
emit pollution, so they are subject to more regulations than pure EVs.
In the case of the iMiEV, iOn, and C-?? the maker has apparently decided
to use only one CAN bus, and it is available at the On Board Diagnostics
(OBD) connector, usualy located near the driver's knees.
The LEAF is an exception, where two additional CAN buses are used,
and all three CAN buses come to the OBD connector. There is even another
CAN bus in the LEAF, used for Quick-Charging, that does not come to
the OBD conector at all. With some effort, we have logged all 4 of those
CAN buses simultaneously, and I wrote my CAN-Do program to help
me and others explore the data collected in the resulting logs.
A 6-chou charging of just the EV-CAN bus is about 6 million Messages.
For our discussion here, we will concentrate on the one CAN bus that
is often called the CAR-CAN bus. The iMiEV and other similar EVs seem
to have most of their internal communication done on this one CAN bus,
and we can, with some careful exploration and detective work, discover
what some of the data in the CAN Messages means.
We might discover a higher-resolution "fuel" number, that could be of help
in making decisions of when to drive, and when to seek re-fueling (charging).
3. The CAN Messages are short, quick messages that might be sent by
any one of the uP connected to the bus, and intended to be received by
another uP, or even (more rarely) by several uPs.
We can carefully "listen" to the CAN bus, try to record all of the Messages
that we "hear", but neither Write nor Receive the Messages, so that we
do not upset or change the operation of the vehicle.
At this point, we do not know enough to safely inject (Write) Messages.
4. A CAN Message has primarily a Message Identification, often called
MsgID or PID, and up to 8 Data Bytes. The MsgID is either 11 (or 29) bits,
and there are anywhere from 0 to 8 Data bytes, sometimes called Byte 0
through Byte 7, but I prefer to use D1 through D8 to be more human friendly.
It appears that the iMiEV uses the 11-bit MsgID, like the LEAF does.
Much more detail on CAN bus details, for those who want it:
http://en.wikipedia.org/wiki/CAN_bus
5. The effort to discover the meaning of the Data Bytes is considerable.
Much, much easier if the Manufacturer would tell us, but in general they do not.
To make thigs a lot easier for normal ICE vehicles, many standards have developed.
But the EV, not subject to smog tests or pollution regulations, is fairly free
to make their own conventions, much like the early days of computerized cars,
when almost nothing was standard, without even the OBD connector being required.
6. In EVs like the iMiEV, I am hoping that some of the conventions used (like RPM)
are the same as they are in ICE cars, just to avoid re-invention of all new firmware.
However, we might not be that lucky.
More Later.