View Single Post
Old 06-27-2015, 12:21 PM   #6
Spartarus
...Just add nauseum
 
Spartarus's Avatar
 
Join Date: Jan 2015
Drives: 2003 (AP1) S2000
Location: Miami, FL
Posts: 545
Thanks: 310
Thanked 784 Times in 335 Posts
Mentioned: 19 Post(s)
Tagged: 1 Thread(s)
Quote:
Originally Posted by Calum View Post
Do you know if, for example, crank shaft position, would be the same word on the FA20 ECU's bus as on the LSx ECU's bus? What about IP's for the various inputs and outputs? Is there an industry standard for these, or are those details left to the OE?
Kind of. There's no address like in TCP / IP. There's no central network controller either. In lay terms, the devices all just start talking when they have something to say, the type of data and the source device are included in the message header. The devices are listening passively at all times, and if another device talks over with a more "important" message they all just shut up and attempt to re-broadcast six bit clocks later. They only pick out and listen to the signals they want to hear. So, the trick is to figure out what the engine ECM is saying to the network, and replicate those signals. More on this.

As far as the signals go, they are proprietary per manufacturer. However, any device with a CAN output can be tricked into throwing out the appropriate type of signal. It doesn't matter if the raw sensor data doesn't match, i.e. if GM cps has more teeth on the crank sensor ring than Toyota. Or if they use hall-type or optical sensors.

There are two ways to do this, modify the firmware of the CAN controller, this has been done successfully with a 996tt on MegaSquirt, for example. The second way is to have a translator box, several examples for e36 BMW's exist using arudino boards.

Quote:
Originally Posted by Calum View Post
A little off topic, but have you ever used a CAN BUS to USB converter? (An industrial one that doesn't plug into the OBD2 port but just has terminals for wires.) Do you know if one would work to talk with an android OBD2 app, or could an industrial one require a different protocol?
Haven't used one before, but they exist. You can use any device with serial input to sniff for CAN signals, it just has to have the right application. I don't know if Android has one, but it might. None of the OBDII apps are likely to have CAN sniffing or CAN output features.

This whole operation depends on a few things. If the engine ECM only broadcasts data and never receives, this will be super-easy and probably cheap. If the engine ECM receives data, or receives data requests, it will be less easy. Example - if the ABS / VSC ECU is telling the the engine when to kick on the traction control (ECUTEK tuners please chime in, I'm 99.9% sure you know the answer because you can mess with the TC settings.) Then you add another layer of complexity, unless you just don't care about TC, like me.

Quote:
Originally Posted by Cuchullain View Post
If you are really interested, there are a number of sites around that have been working on listing out different OEM CAN bus values.
True. In just a day or two, I have unearthed a massive amount of information other people have already figured out. However, this forum is quieter on that subject than the crickets after a GDI delete. There are a whole bunch of people hanging around on this forum who would love to do a swap if only there was a resource for getting the CAN stuff working. Many of them have done other swaps before.

EDIT: this is where it started
Attached Images
 

Last edited by Spartarus; 06-27-2015 at 01:04 PM.
Spartarus is offline   Reply With Quote
The Following 4 Users Say Thank You to Spartarus For This Useful Post:
Calum (06-27-2015), civicdrivr (07-10-2015), whataboutbob (03-14-2016), wparsons (07-09-2015)