Once it is initialized CAN is very easy to use. You can set up each node to ignore or accept whatever types of messages you want. Then, everybody just willy nilly blasts whatever the crap they want with no regard to concern about collisions. And they just accept whatever messages are for them. I have used it between a charger and several bms boards. Each board sent a packet of 8 bytes long, which were the 8 voltages of that bms module's 8 batteries. There were 6 modules just blasting their 8 bytes randomly and each ignored each others 8 bytes. The charger would pick up all the packets. No problems with noise and no missed packets (i dont think). And the data was never corrupted. You just use a little 8 pin $1 part along with the dspic CAN module.
I don't think it would take very long for it to be all proper with the standard packets. I just havent done that because i was trying to make interface with the user as cheap as possible. And I've never done any obd2 or whatever it is called. I just pictured people in a car repair shop with a greasy handheld device that read cryptic codes.
|