Ford Can Bus Questions
I am trying to interface with Ford's CAN BUS. I understand they keep there message identifiers and almost all information about their system proprietary. The information I am looking to pull off the bus would be
-seat belt sensor status
-parking brake sensor status
-reverse signal (or trans gear will work)
Some nice to have info would be engine RPM and vehicle speed but I don't need those.
From what I understand most of that information is going to be a non-standard message. Meaning it is not specified in a standard like J1939 or and ISO standard. I've read it is a high speed (500 kbit/s) network but I don't know a whole lot more about it.
So I have a couple questions to start.
1. Does anyone know what the message format is for their BUS? For example heavy trucks use the J1939 standard/format. Does Ford us this as well?
2. Is there an CAN data monitoring software I can use to try and find their message ID's? Since most of the signals I'm looking for are easily actuated I think if I could monitor the bus and had a way to filter out some of the traffic I could then plug in/out the seat belt and watch the traffic on the BUS to try and find the associated message.
Any information you guys have would be a help at this point.
What I plan on doing is monitor the canbus, build up a library, then see what each one does when initiated.
I don't know of any release from any of the manufactures of what proprietary codes they are using for what.
Tech II, EFI live and HP tuners does the engine stuff.
Can the Tech II, EFI live and HP tuners all send messages to the CANBUS?
I was considering sending all the messages I see to the BUS and watching what happened but I was concerned that it could possibly cause problems in some case that I am not considering. For example, one that was worrying me is that I am sure the crash sensors and air bag deployment are a processor controlled function and I would not want to inadvertently send any messages associated with that system.
Airbags are not CANBUS controlled (to slow).
TECHII is the only one that I know of that "does everything".
SNAP-ON has something that is their version also.
Most likely, they don't use any particular standard for their messages, just raw ISO11898 (CAN). You're going to need a decent tool that can sniff the CAN network, I use the OBDLink MX and it works really well. I actually wound up writing my own software for parsing and displaying CAN messages using the MX when I was trying to figure out door lock/unlock and headlight on/off codes on a car, since I really couldn't find anything that good already out there. If you get around to buying a MX, I could probably get a build of it for you to try.
While the likelihood of you doing something like setting off the airbag is fairly slim, it is entirely possible to **** off the ECU. I've never bricked something, but I've certainly had to unplug the ECU and let it reset before. I'm sure by sending random messages you can screw something up, but just repeating messages you see on the bus should be fairly safe, no guarantees.
The quick answer is the data does not have a format other than that it is CAN BUS data. With J1939 there is proprietary data as well. So similar to that, all of the data on light duty vehicles is going to be proprietary and unique to that vehicle (or specifically that vehicle's electrical platform). So reverse engineering the data is probably your best option... however there is a bit of a learning curve that you'll have to work on.
I have made a Blog on doing just this. Please visit www.CanBusHack.com. Feel free to ask questions if you'd like.
Thanks for the help so far guys. I apologize if a few of these questions are rookie questions. Still trying to figure this all out. I think I have got a way to monitor the traffic on the BUS now so I will start trying to reverse the signals soon. I'll let you know how it goes.