Hardware Design

The electronic hardware has two major parts. The CAN Controller handles all the logic necessary to transmit and receive data. It handles “arbitration”, the process by which all the nodes in the network determine who gets to talk next, as well as the transmission speed and other aspects of the process. Most of this it does automatically – the main processor doesn't need to concern itself with the details of the transmission and reception.

The other main component is the Transceiver, which steps the signals from the Controller to the proper voltage levels to be heard on the network. CAN Controllers are often integrated into the main microprocessor – in fact, almost every major microprocessor family includes versions with an integrated CAN controller. Atmel, Microchip, Intel, Motorola, Fujitsu, Infineon, NEC, Phillips, TI, ST-Micro, Toshiba, Hitachi, and National Semiconductor all offer CAN on at least some of their processors – 8, 16, and 32 bit. The transceiver, however, is almost always a standalone component.

Note that some transceivers support a signal-shaping technique intended to reduce EMI. Do not implement this feature – transceivers from different manufacturers occasionally have troubles intercommunicating when one or the other is using this wave-shaping.

RV-C operates at 250 kbps. Since data is transmitted in packets with eight bytes of data and 21 bits of overhead, this translates into about 3000 packets per second. In actual use it will rarely see this much activity, but the processor must be able to deal with bursts of that speed.

Most controllers have a limited buffer – generally a dozen packets or so. Therefore the processor must be able to check the buffer and process any contents rapidly – every 3 milliseconds or so. For most processors this requires using a timer interrupt to call the service routing. Some advanced products may use the services of an RTOS. Not all messages need to be stored, so memory size is not necessarily impacted. But the processor must be able to handle the throughput.