-----Original Message----- From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf Of Gerhard Fiedler Sent: Tuesday, May 01, 2007 9:26 AM To: piclist@mit.edu Subject: Re: [PIC] CAN Bus >> Tom Sefranek wrote: Thank you, Gerhard! >> I have an application note from Analog devices that states that you can >> only have 40 nodes on a bus. >You probably know this, but just to state it here: CAN is not a hardware >specification. The actual hardware layer is defined in other specs (ISO) or >none at all. In the end, it is the specific hardware interface (chip or >custom circuit) that defines the properties of the wire interface. >So this AN from AD may be valid for one of their CAN interface chips, but >doesn't necessarily say much about others. I think it is nice of you to take the time to point this out, It is re-assuring. As I re-read the MCP2551, it CLEARLY states, 112 nodes can be connected! >> All nodes work well for the first 900 or so messages. then the lowest and >> highest ID nodes in each group of 6 stall, while the middle 4 (ID) nodes >> continue chugging on. The stalled nodes make some attempt to catch up, >> but eventually the software FIFOs fill up with unsent messages. It make >> no difference what ID I assign to the failing nodes. >> But the highest and lowest ID nodes are the most physically distant (6") >> in the star stub. >The two statements above seem to contradict each other: in one you say the >assigned ID makes no difference, in the other you say there's a clear >relationship between lowest/highest ID and physical distance. Ahhh! Again I fall victim to ASSUMPTIONS. The address are assigned in the boot software with the PIC reading it's physical location on the board, and which physical location on the machine. >I agree that it doesn't really sound like only a wiring problem. Always the >same nodes that fail? How about changing their location in the ID sequence >(not anymore lowest/highest), and/or changing their location in the wiring? I have changed starting IDs, but have not yet hard coded IDs. I have moved their locations in the wiring, no change with either. >> I know this is complicated, and if I knew then what I know now.... I >> would have designed it as all daisy chain. (But I read the spec. >> allowing nodes to be quite long off the bus relative to the 3 inches I >> am using in my nodes.) >Again, don't mistake the CAN spec for the wire interface spec. For the real >details, you need to look at the interface itself. Well, I started with the Microchip AN713, AN738, AN930, AN945, and the MCP2551 spec. sheet. Then read the BOSCH CAN Specification, other app. Notes, as well as CAN errors doccumented online. I can not sort out what I have learned from which source. Gerhard Again, Thanks! Tom * | __O Thomas C. Sefranek WA1RHP@ARRL.NET |_-\<,_ Amateur Radio Operator: WA1RHP (*)/ (*) Bicycle mobile on 145.41MHz PL74.4 ARRL Instructor, Technical Specialist, VE Contact. http://hamradio.cmcorp.com/inventory/Inventory.html http://www.harvardrepeater.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist