Cat5 Cable Checker
Exposure Timer 2
MP3 Player Touch
Can Bus Schield for Banana Pi
OverviewThe Allwinner A20 chip used in the Banana Pi and Banana Pi Pro boards has an embedded CAN controller, which is supported since Linux Kernel 4.4.0. To use the CAN Controller only a transceiver is needed. I Publish this small module which is tested on both Mainboards. It is designed to be used with different 5V CAN Transceivers. It was tested with the SN65HVDA1040A but should also work with many other. 5V transceiver need a voltage devider on the RXD to feed the 3.3V logic level of the Allwinner A20. The 3.3V logic level on the TXD line is usually sufficient to drive a 5V logic input. 5V transceiver have higher bus levels compared to 3.3V devices and can therefore feed a longer bus with better EMC performance. Also the price is usually much lower.
Armbian installationThe Armbian release during writing these lines includes Linux kernel 4.4.5. The vanilla kernel contains the Can driver for the Allwinner A20 CPU but currently not the correct pin mapping for the Banana Pi boards.
To test if the latest kernel still has these limitation do a "modprobe sun4i_can" and "ifconfig -a" if no can0 device is shown, you need a patched kernel. Either compile a new release on your own or download the tested version below.
Follow the instructions on Armbian Kernel compile documentation Add the Patches for pin assignment to the userpatches/kernel/sunxi-next/ folder.
The needed patches are published on github.
A ready compiled and tested set of 4.4.5 Kernel for armbian can be downloaded here.
|last change to banana_can.html: 2016/03/23|