Smart Sensor CAN Node using the MCP2510 and PIC16F876
Advances in data communications has created efficient methods for several devices to communicate over a minimum number of system wires. The Controller Area Network (CAN) is one of these methods. CAN sends and receives messages over a two wire (CAN) bus. The nodes broadcast their individual messages over the CAN bus, while the receivers that are set-up to accept the message and anticipate an acknowledgment signal indicating the receipt of a non-corrupted message. The protocol of the CAN has two states and the bits are either dominant (logic"0") or recessive (logic"1"). Nodes may attempt to transmit a message at the same time. To ensure that collisions do not reduce the throughput of the bus there is an arbitration scheme. In this scheme, a node will continue to transmit until a dominant bit is detected while that node is expecting a
recessive bit on the bus (in the ID field). The node(s) that lost arbitration will automatically terminate their transmission and switch to receive mode. Some time later after the CAN bus enters an idle state, these nodes attempt to re-transmit. If the node did not lose arbitration, it completes it?s transmission. (For additional information on the CAN protocol, refer to AN713, ?CAN Basics?).
CAN, MCP2510, PIC16F876, Smart Sensor, AN212