Daisy-chaining 9 to 11 Devices to the NI PCI-CAN/2 Series 2Hardware: Industrial Communications>>CAN>>PCI-CAN/2 Series 2
Problem: Are you able to connect 9 to 11 devices, through daisy-chaining, to the NI PCI-CAN/2 Series 2? Solution: The NI PCI-CAN/2 Series 2 is capable of communicating with this number of CAN devices as long as you have set up a CAN network. The CAN specification defines it as "a serial communication protocol which effectively supports distributed real-time control with a high level of security". Here are some of the features that provide these characteristics to the CAN protocol: Broadcast Communication Mechanism A message has a identifier that defines the meaning of the message, not the destination address. Each message is broadcasted to all the nodes in the network. Only the nodes interested in the message receive it. The CAN controller can filter the messages that are accepted to the node, which reduces the load on the processing unit of the node. This communication mechanism allows designers to modify existing CAN networks with minimal impact. In fact, non-transmitting nodes can be added without any modifications to the network or the nodes. Real-time data Transmission CAN defines a priority based protocol to manage bus access. Nodes can transmit a message when the bus is idle (Carrier Sense). When two or more nodes try to transmit a message, the CAN bus performs a bit-wise nondestructive arbitration between the message identifiers, also refer to as Arbitration IDs. The end result is that the highest priority message is transmitted without interruption. This mechanism provides a bounded data transmission latency, that network designers can use to meet real-time constrains in the system. Not unlike assigning task priorities when using a real-time OS. The message priority is determined by the arbitration ID value. The lower the arbitration ID value the higher the priority of the message. Error Detection and Signaling The CAN identification defines the specific format of the frames, bit stuffing and a Cyclic Redundancy Code (CRC) to check the contents of a frame. All nodes in the network check for errors in the CAN frame (format, stuffing, CRC), disregarding if the message is used by the node. If any node detects an error, the node transmits an error frame to signal the error. All the nodes in the network discard the transmitted frame. This mechanism provides Data Coherency in the network. Either the frames are received by all nodes or by none. Additionally, the transmitting node monitors the bus while transmitting. This allows bus arbitration and bit error detection. Error Confinement The CAN specification defines a mechanism to differentiate between local errors or global errors. Each CAN controller has a counter to keep track of how many transmission and reception errors have been detected. Depending on the value the node can assume a Error Passive state, where it does not signal any detected errors, or a Bus Off state, where the node disconnects itself from the network. The rules that control the error counting makes nodes closer to the source (or causing the error) more likely to go to bus off state. Related Links: Developer Zone Tutorial: Controller Area Network (CAN) Overview Developer Zone Tutorial: Controller Area Network (CAN) FAQs Products & Services: NI PCI-CAN Series 2 Attachments:
Report Date: 06/05/2009 Last Updated: 06/05/2009 Document ID: 4Y45MD84 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
