
Technical discussions about Freescale (Motorola) DSPs (including the DSP56000, DSP56300, DSP56600, 56800 DSPs).
|
The CAN interface of a 56F803, wich is only listening to incoming
messages, stops asserting the acknowledge when working in a very noisy environment. What's happening? By which flags can I detect this status during program execution? Thank you for your help. Andrea Benassi |
|
|
|
Hi Andrea Unfortunately, you can only read the error counter registers if you go into Sleep mode or Soft Reset mode. I don't see any way to detect one bad packet. As far as I understand the CANbus specification, noise could lead to a packet being NAKed with an error frame. If the node is not ACKing, doesn't that mean that it is supposed to NAK, causing the packet to be re-transmitted until every node on the bus ACKs it? I would not have guessed that a node could totally fail to hear a packet, and neither ACK it nor NAK it. I'm curious to know how you got a noisy enough environment to break CANbus. We have a huge breadboard, wired as a "pretzel" topology with enough cheesy connectors and stubs and loop-the-loops to make an electron dizzy. We don't have enough CANbus errors that we notice them - but I hope to add better error detection when we switch over to 568357s, with FlexCAN (instead of MSCAN on the 56803). Rick Corey -----Original Message----- From: Andrea Benassi [mailto:] Sent: Wednesday, September 29, 2004 1:58 PM To: Subject: [motoroladsp] No more acknowledge on incoming messages The CAN interface of a 56F803, wich is only listening to incoming messages, stops asserting the acknowledge when working in a very noisy environment. What's happening? By which flags can I detect this status during program execution? Thank you for your help. Andrea Benassi _____________________________________ /groups.php3 Yahoo! Groups Links |