Skip to content

bananapi hi

Ingo Lages edited this page Dec 28, 2023 · 21 revisions

Funktion des Hostinterfaces per CAN-Controller des Bananapi

Das Hostinterface verbindet das LAN mit dem HCAN Bus. Es leitet HCAN Frames transparent in beiden Richtungen weiter - es besitzt keine eigene HCAN Adresse.

Der Banana Pi BPI-M1(+) bietet sich als Hostinterface an, da seine "Cortex-A7 A20" CPU einen CAN-Controller integriert hat. Somit wird zum Anschluss an den CAN-Bus lediglich ein CAN-Bus-Transceiver (hier: SN65HVD230D) benötigt, welcher an CON3 angeschlossen wird.

Achtung nur der Banana Pi BPI-M1 und der Banana Pi BPI-M1+ haben den besagten Can-Controller in der CPU integriert!
Den Banana Pi BPI-M1 erkennt man leicht an dem gelben Anschluss wie auf dem Bild unten.
Den Banana Pi BPI-M1+ erkennt man grossen "A20" Schriftzug auf dem Chip in der Mitte.

pin_def_gpio

CON3 GPIO Header

wiringPi GPIO Funktion Pin Pin Funktion GPIO wiringPi
VCC-3V3 1 2 VCC-5V
8 PB21 TWI2-SDA 3 4 VCC-5V
9 PB20 TWI2-SCK 5 6 GND
7 PI3 GPCLK 7 8 UART3-TX PH0 15
GND 9 10 UART3-RX PH1 15
0 PI19 IO-0(UART2-RX) 11 12 IO-1 PH2 1
2 PI18 IO-2(UART2-TX) 13 14 GND
3 PI17 IO-3(UART2-CTS) 15 16 IO-4(CAN_TX) PH20 4
VCC-3V3 17 18 IO-5(CAN_RX) PH21 5
12 PI12 SPI0_MOSI 19 20 GND
13 PI13 SPI0-MISO 21 22 IO-6(UART2_RTS) PI16 6
14 PI11 SPI0_CLK 23 24 SPI0_CS0 PI10 10
GND 25 26 SPI0_CS1 PI14 11

Verbindung zum CAN-Transceiver

SN65HVD230D Bananapi-CON3-Pin
Pin 1 - CAN_TX 16
Pin 2 - GND 14
Pin 3 - 3.3V 17
Pin 4 - CAN_RX 18
Pin 5 - Vref: offen -
Pin 6 - CANL -
Pin 7 - CANH -
Pin 8 - Rs: 10 k zu Pin 2 -

CAN-Transceiver Breakout-Board, z. B.: "SN65HVD230 CAN bus transceiver communication module For Arduino" (z.B. CAN waveshare). Oder selbst löten :-)
Prinzipiell scheint der SN65HVD230 am Banana Pi wesentlich zuverlässiger zu funktionieren als z.B. der MCP2551.

Auf dem Bananapi werden noch die benötigten hcan-Dienste installiert. Fertig. Der Dienst hcansocketd ist der hcanhid-Ersatz.

Betriebssystem: Armbian 21.08 (Debian 11 - Bullseye)

hier

Anhang

Wenn der CAN-Transceiver falsch angeschlossen ist...

Bananapi-HW-Details

Clone this wiki locally