Hi Graham, Personally, I beg to differ on the distance. CAN has now been recognised for use in aviation and on large aircraft it is going to be some cable distance from some nodes. I have also successfully in the past run on an ROV umbilical of 1500m with albeit a slower bus rate of 10Kbps but it worked extremely reliably with all nodes surface and subsea getting the messages with no loss of transmission. We put transorbs on the line to protect from the potential of 1100V from the electronics being shorted to the bus if water got in the connectors. We did find some transorbs expanded to due to shorting failures but after replacing them, the bus still worked. I have also used RS485 over the same umbilical and yes, it does work very well but as we increased the number of nodes, the speed at which we could communicate between them dropped and we had issues with this for control. With the change to CAN bus we had a faster throughput because we no longer had the issue of one master in control and sending and requesting the data. For more modern ROV's we have changed to Ethernet based communications surface to subsea as we now have fibre optic links but we still use CAN bus for the inter vehicle control because of the ease of which to add nodes without any new programming of the master to request data from it. The real reason for suggesting to Chuck the use of CAN is the simple nature to which you can add nodes and no need for a master to know about them. They simply send their data as and when they want or are programmed to do so and any node on the network can do what it wants with that data.! Can also allows all devices to acknowledge each message whereas with RS484 if you want to send to multiple nodes, you have to send a separate message to each or send a broadcast message but each slave cannot simply reply to it as they can't all send on the bus at the same time, but with CAN any node not getting the message correctly can indicate this failure and the unit will resend until all accept it or a bus error is detected! Cheers, Dave. From: AVR-Chat@yahoogroups.com [mailto:AVR-Chat@yahoogroups.com] On Behalf Of ecros_technology Sent: 19 June 2010 19:15 To: AVR-Chat@yahoogroups.com Subject: [AVR-Chat] "RS"-485 vs CAN (was ATMega16 I/O port protection diodes) I've been following this thread, which started as a simple question about the safe current carrying capacity of input protection diodes and morphed into tales of lightning strikes damaging equipment, but now I have a question about the turn it is taking. TIA/EIA-485 was designed from the outset to operate over long distances and transceivers are generally designed to be robust in the presence of the kind of interference and induced high voltages that are common in long distance data transmission. When used with the UART that just about every microcontroller has and a simple master / slave protocol (especially where the choice of a master node is "obvious"), the system is simple, reliable and easy to monitor and "debug". CAN was designed for communication on a network within a vehicle. Although it is eaily adaptable to room or even small building distances, there is nothing about it that makes it suitable for long outdoor runs. Transceivers expect to be exposed to interference, but not induced high voltages. The physical layer protocol is complicated and finicky to set up and you either have to buy or make some kind of sniffer to monitor bus traffic. So, whence the enthusiasm for CAN on this project? Graham. [Non-text portions of this message have been removed]
Message
RE: [AVR-Chat] "RS"-485 vs CAN (was ATMega16 I/O port protection diodes)
2010-06-19 by Dave McLaughlin
Attachments
- No local attachments were found for this message.