Recent Posts
Testing PICAN CAN Bus HATs with the Raspberry Pi 5
Posted by
on
The new Raspberry Pi 5 features the Broadcom BCM2712 quad-core Arm Cortex A76 processor @ 2.4GHz, up to three times faster than the previous generation. With RAM variants up to 8GB, this is the fastest, smoothest Raspberry Pi experience yet.
The latest release of Raspberry Pi OS was made to maximize Raspberry Pi 5's potential. The operating system delivers superb desktop performance, making it ideal for work, leisure, enterprise, and more.
Key features include:
- 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU
- VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.2
- Dual 4Kp60 HDMI® display output
- 4Kp60 HEVC decoder
- Dual-band 802.11ac Wi-Fi®
- Bluetooth 5.0 / Bluetooth Low Energy (BLE)
- High-speed microSD card interface with SDR104 mode support
- 2 × USB 3.0 ports, supporting simultaneous 5Gbps operation
- 2 × USB 2.0 ports
- Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT, coming soon)
- 2 × 4-lane MIPI camera/display transceivers
- PCIe 2.0 x1 interface for fast peripherals
- Raspberry Pi standard 40-pin GPIO header
- Real-time clock
- Power button
While we appreciate the increased performance of hardware and software, such an upgrade also causes major headaches for manufacturers and sellers of RPi HATs, such as our PiCAN CAN Bus HAT series. The questions that arise are:
- Is the HAT still hardware-compatible?
- Will the driver software and other software utilities still work?
Consequently, I accomplished some tests with an RPi5-8G and our PiCAN Duo CAN Bus HAT with SMPS (Switch Mode Power Supply). I chose the DUO version since it allows me to exchange CAN Bus data frames between two ports.
The installation requires several steps:
- 1.Add lines to the config.txt file:
In the command line, type sudo nano /boot/config.txt.
Add these three lines at the end of the file:
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=24
Save the file and reboot: sudo reboot - 2.Initialize the CAN ports:
sudo /sbin/ip link set can0 up type can bitrate 500000
sudo /sbin/ip link set can1 up type can bitrate 500000 - 3.Install the CAN utilizes:
sudo apt-get install can-utils - 4.Open two Terminal windows.
In the first window, enter candump can0.
In the other window, enter cansend can1 7DF#0201050000000000.
The below image shows a screenshot proving that the data exchange works as expected:
However, there are some restrictions regarding hardware compatibility. You should experience no problems with boards that don't carry an SMPS (Switch Mode Power Supply).
The SMPS versions will also work, but their use may restrict the range of hardware extensions. The RPi5 is ideally powered by a 5 Amp power supply, but the latest SMPS versions supply only 3 Amp. Consequently, at startup, the RPi OS displays a message:
The power supply is not capable of supplying 5A.
Power to peripherals will be restricted.
My tests ran smoothly at 3 Amps, but it is not guaranteed that operation will continue with additional peripherals (HATs). So, as long as we are waiting for a 5A SMPS version, please take extra caution when testing and operating your application.
The SMPS situation applies specifically to automotive applications when power is supplied through the vehicle's battery. You must also be cautious about using the RPi 5 in automobiles or any battery-supplied application. I consider the 5 Amp almost prohibitive for automotive applications, specifically in terms of preserving battery power. Other embedded solutions, such as the Arduino series, draw much less amperage.
On another note, the above-described test applies to Classical CAN Bus HATs. At this time, I assume that our CAN FD HATs will also work. Please check our website frequently for updates on CAN FD Hats compatibility.
PiCAN2 Duo CAN Bus Board for Raspberry Pi 4 With 3A SMPS
The PiCAN2 DUO board provides two independent CAN Bus ports for the Raspberry Pi 4. It uses the Microchip MCP2515 CAN controller with MCP2551 CAN transceiver. Connections are made via a 4-way screw terminal. This board has a 5VDC 3A SMPS (Switch Mode Power Supply) that can power the Pi and the PICAN board. The board has an easy-to-install SocketCAN driver, which allows programming in C or Python.