Having briefly discussed what CAN is and where it can be used, let's now look at five main reasons why it's an excellent choice for implementing networked communication in embedded systems. First, CAN has been carefully designed to provide very reliable, error-free network communication. This is a major issue for some types of safety critical equipment and real-time systems. Second, since the bus is a simple "twisted pair" wire, network wiring cost is low. Moreover, the peripheral circuit that implements connectivity with the microcontroller doesn't occupy too much chip area, which helps to keep MCU cost low. It's usually less than a few dollars more than a device with the same features except CAN. Third, the CAN network is readily expandable. It's simple to add nodes to the network: just tap into the two wires at any point on the bus. This doesn't require a re-configuration of existing nodes. Of course, only two pins are needed on the MCU and in the bus connectors. And with just two connection points per node, a CAN network has reliability advantage over other networking schemes that use more wires and connections. Fourth, more and more MCUs with on-chip CAN functions are becoming available. The same holds true for tools debugging CAN networks. Also, the availability for standardized higher level protocols helps system designers to build complex control applications efficiently. Fifth and last, CAN is a mature technology, having been used for over 15 years. During that time, a substantial body of knowledge has been accumulated about it's application, and the database continues to grow.

