1. Home
  2. Docs
  3. Sensor Node
  4. Introduction
  5. Hardware Overview

Hardware Overview

The current SNODE library implementation uses the Microchip MCP2515 CAN controller as the CAN bus controller.

MCP2515 is a stand-alone CAN controller that implements the CAN specification, Version 2.0B. It is capable of transmitting and receiving both standard and extended data and remote frames. The MCP2515 has two acceptance masks and six acceptance filters that are used to filter out unwanted messages, thereby reducing the host MCU’s overhead. The MCP2515 interfaces with microcontrollers (MCUs) via an industry standard Serial Peripheral Interface (SPI).

The CAN network is based on a half-duplex differential signal. CANH is the HIGH-level CAN bus line which is a differential signal. CANL is the LOW-level CAN bus line which is a differential signal. There are two logical states: dominant and recessive. The figure below shows the general concept.

Figure 2 – Differential Signals

The CAN transceiver is needed to convert the digital signals generated by a CAN controller to signals suitable for transmission over the bus cabling (differential output). It also provides a buffer between the CAN controller and the high-voltage spikes that can be generated on the CAN bus by outside sources (EMI, ESD, electrical transients, etc.).

Figure 3 – Typical Interconnect

The Receive (Rx) signal of CAN is the signal receiving the data. The Transmit (Tx) signal of CAN is the signal transmitting the data. These signals are connected to the CAN transceiver (PHY) which performs the CAN encoding and decoding. The CAN bus must be terminated with termination resistors at both ends to avoid electrical signal reflections. Typically, R is 120R. Twisted pair wires in a shielded cable should be used to minimize emissions and reduce interference.

MCP2551 or TJA1055 can be used as the CAN transceiver controller. The typical interconnect schematic diagram of the CAN controller (MCP2515) and the CAN transceiver (MCP2551) is shown below.

Figure 4 – Typical Interconnect Schematic Diagram

The MCU is used to perform the SNODE logic, the CAN and sensors configuration, receive and transmit data, etc. (Figure 1). The Arduino board is used as the MCU of the SNODE implementation.

The following figures are the pin connections of Arduino boards and the popular MCP2512 CAN bus shield.

Figure 4 – Arduino Nano and the MCP2515 CAN bus shield

Figure 5 – Arduino Micro and the MCP2515 CAN Bus shield

The table below shows the pin to pin connection.

Arduino NanoArduino MicroThe MCP2515 CAN Bus Shield
5 V5 VVCC
GNDGNDGND
D10SSCS
D12MISOSO
D11MOSISI
D13SCKSCK

Table 1 – Pin to pin connection

As the node sensors, there can be any module (OLED, button, buzzer, etc.) connected to the MCU (Arduino) via one of interfaces (SPI, I2C, GPIO, etc.).

Figure 6 – The connection of node sensors