Documentation

BE-IIS-HPP-CAN-FD-SIC

An isolated CAN-FD HAT++ for Raspberry Pi systems requiring robust, high-speed CAN communication.

BE-IIS-HPP-CAN-FD-SIC

Overview

The BE-IIS-HPP-CAN-FD-SIC provides a galvanically isolated CAN-FD interface with Signal Improvement Capability. It is intended for automotive, industrial and laboratory CAN networks with data rates up to 8 Mbit/s.

The HAT is part of the stackable HAT++ ecosystem and uses a defined hardware instance for SPI and interrupt assignment.

Linux integration

The board uses the Linux MCP251xFD driver family. The BE-IIS installer includes the relevant kernel-module build support and product-specific Device Tree overlays.

After the overlay is active, the CAN controller is available through the standard SocketCAN subsystem. Use normal Linux CAN tools and applications rather than a vendor-specific API.

Typical operation

Bring the CAN interface up with the selected nominal and data bit rates, then use tools such as ip link, candump, cansend or a SocketCAN application.

The physical network must have correct bus termination. CAN-FD timing must match all participating nodes.

Integration notes

Choose a unique HAT++ instance before installation. The selected overlay maps the controller to the correct SPI chip select and interrupt GPIO. Do not use the same SPI instance for a second board in the same stack.

CAN-FD example

The product scripts contain predefined CAN and CAN-FD timing configurations. This example configures the default interface and starts the included transmit performance test.

cd ~/be-iis-installer/products/BE-IIS-HPP-CAN-FD-SIC-REVB
./scripts/config_7M_can.sh beiis-can0
./scripts/canperf.py tx -i beiis-can0 --size 64 --time 10

On the receiving node, use:

./scripts/canperf.py rx -i beiis-can0

CAN over 10BASE-T1S example

CAN over 10BASE-T1S test setup

The CAN TCP bridge is the application example for transporting this HAT’s SocketCAN traffic over a T1S Ethernet link. First configure beiis-can0 and the T1S network on both gateways. Then run:

cd ~/be-iis-installer/examples/can-gateway/can-tcp-bridge
./can_tcp_bridge.py 10.10.10.2 beiis-can0    # first gateway
./can_tcp_bridge.py 10.10.10.1 beiis-can0    # second gateway

The two commands belong on separate Raspberry Pis. TCP port 29536 is used by default.

Source: CAN TCP Bridge example.