I've been developing with the CCS can dev board and everything works great. Until I remove Node B from the board (or hold it in reset) now EX6 example on Node A can no longer talk to Node D.
There appears to be something in Node B can_init() that enables Node A to communicate with Node D correctly. Holding B in reset when restarting appears to break A to D communications. The can instructions are Tx'ed onto the bus but never acknowledged.
If any has any ideas they would be greatly appreciated
Thanks in advance
Greg
newguy
Joined: 24 Jun 2004 Posts: 1908
Posted: Fri Jul 20, 2007 9:51 am
I don't have the CCS CAN development board but I may be able to offer some insight. CAN communications can be foiled by a faulty node if that node holds one or both of the CAN bus lines in the dominant state. Perhaps node B has pullups/downs on the lines that interface to the CAN transceiver?
greg@gjsonline.com
Joined: 20 Jul 2007 Posts: 4
Posted: Fri Jul 20, 2007 2:52 pm
Thanks .... But I have physically removed Node B including the tranciever and still have the same problem.
newguy
Joined: 24 Jun 2004 Posts: 1908
Posted: Fri Jul 20, 2007 6:00 pm
Well that has me stumped then. You'll have to wait for someone with that development board to weigh in. Sorry.
.....Wait. A & C are still on the board but all comms cease when node B is removed? Are you sure that nodes A & C still function properly when B is gone? That's the only thing I can think of - that for some reason one or both of the remaining nodes no longer functions which will also hang the CAN bus.
greg@gjsonline.com
Joined: 20 Jul 2007 Posts: 4
Posted: Sat Jul 21, 2007 2:52 am
Thanks for your reply.
Let me clarify, the comms do do cease exactly Node A continually sends, I can see the data at Node D Rx but Node D doesn't respond.
Also note Node B can be held in reset after Node A has started and everything continues fine.
My speculation is Node D (a MCP25250) either is not "waking-up" or is configured incorrectly.
Leaving the question does node B 16F876 can_init() do something
differant to 18xxx8 can_init().
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum