SK Pang electronics PiCAN FD Zero Raspberry Pi Zero

Introducció
Aquesta placa PiCAN FD Zero ofereix la capacitat CAN-Bus FD per al Raspberry Pi Zero. Utilitza el controlador CAN Microchip MCP2518FD amb el transceptor CAN MCP2562FD. La connexió s'efectua mitjançant un terminal de 4 vies. Alimentació CAN_H, CAN_L i +12v per a la placa i el Pi Zero. A bord hi ha un SMPS d'1 A que subministra energia a la placa PiCAN FD i Pi Zero.
El CAN FD millorat amplia la longitud de la secció de dades fins a 64 bytes per fotograma i una velocitat de dades de fins a 8 Mbps.
Fàcil d'instal·lar el controlador SocketCAN. La programació es pot fer en C o Python.
Característiques
- Velocitat de bits d’arbitratge fins a 1 Mbps
- Velocitat de bits de dades de fins a 8 Mbps
- Modes de controlador CAN FD
- Mode mixt CAN2.0B i CANFD
- Mode CAN2.0B
- Compleix la norma ISO11898-1: 2015
- Interfície SPI d'alta velocitat
- Terminador de 120Ω preparat
- Terminal endollable de 4 vies per a CAN i alimentació
- Terminador de 120Ω preparat
- Indicador LED (GPIO 22)
- Controlador SocketCAN, apareix com a can0 a l'aplicació
- Interrompeu RX a GPIO25 o GPIO6
- Connector Qwiic (I2C) per a sensors addicionals
- Interval d'entrada 1A SMPS de 6v a 20v
Instal·lació de maquinari
Abans d'instal·lar la placa, assegureu-vos que el gerd està apagat. Alineeu amb cura el connector 40way a la part superior del Pi. Utilitzeu un espaciador i un cargol (elements opcionals) per fixar el tauler.
Terminals de cargol
Les connexions CAN es fan mitjançant els terminals endollables de 4 vies.
Terminator de 120 W
Hi ha un 120W instal·lat a la placa. Per utilitzar el terminador, soldeu un pin de capçalera de 2 vies a JP3 i, a continuació, inseriu un pont.
LED
Hi ha un LED vermell instal·lat al tauler. Això està connectat a GPIO22.
SMPS (Font d'alimentació en mode de canvi)
El mòdul SMPS de 5v 1A que pot alimentar el Pi i la placa. Té una entrada voltagRang de 6v a 20v.
Instal·lació de programari
El millor és començar amb una nova imatge Raspbian. Descarregueu les últimes novetats de:
https://www.raspberrypi.org/downloads/raspbian/
Després de l'arrencar per primera vegada, feu una actualització i actualitzeu-la primer.
sudo apt-get update
sudo apt-get upgrade
sudo reinici
Afegiu les superposicions per:
sudo nano /boot/config.txt
Afegiu aquestes línies al final de file:
dtparam = spi = on
dtoverlay = mcp251xfd, spi0-0, interrupt = 25
Reinicieu Pi:
sudo reinici
Instal·lació de CAN Utils
Instal·leu les utilitats CAN mitjançant:
sudo apt-get install can-utils
Obre la interfície
Ara podeu augmentar la interfície CAN amb CAN 2.0B a 500 kbps:
sudo /sbin/ip link set can0 up type can bitrate 500000
o CAN FD a 500 kpbs / 2 Mbps. Utilitzeu copiar i enganxar a un terminal.
sudo / sbin / ip link set can0 up type can bitrate 500000 dbitrate 2000000 fd on sample-punt .8 dsample-punt .8
Connecteu el PiCAN FD Zero a la vostra xarxa CAN mitjançant el terminal de cargol endollable.
Per enviar un missatge CAN 2.0, utilitzeu:
cansend can0 7DF#0201050000000000
Això us enviarà un identificador CAN de 7DF. Dades 02 01 05 - sol·licitud de temperatura del refrigerant.
Per enviar un missatge CAN FD amb BRS, utilitzeu:
cansend can0 7df##15555555555555555
Per enviar un missatge CAN FD sense utilitzar BRS:
cansend can0 7df##05555555555555555
Connecteu el PiCAN a una xarxa de bus CAN i controleu el trànsit mitjançant l'ordre:
candump can0
Hauríeu de veure alguna cosa com això:

Instal·lació i ús de Python
Assegureu-vos que el controlador de PiCAN FD està instal·lat i funciona correctament primer.
Clonar el dipòsit de pythonCan mitjançant:
clon de git https://github.com/hardbyte/python-can
cd python-can
sudo python3 setup.py install
Comproveu que no s'hagi mostrat cap error.
Obriu la interfície can0:
sudo / sbin / ip link set can0 up type can bitrate 500000 dbitrate 2000000 fd on sample-punt .8 dsample-punt .8
Ara inicieu Python3 i proveu de transmetre amb CAN FD i BRS.
python3
pot importar
bus = can.interface.Bus(channel='can0′, bustype='socketcan_native',fd = True)
msg = can.Message(arbitration_id=0x7de,extended_id=False,is_fd = True, bitrate_switch = True,data=[0,0,0,0,0,0x1e,0x21,0xfe, 0x80, 0, 0,1,0 ])
bus.send(msg)
Per rebre missatges i mostrar-los a la pantalla, escriviu: notifier = can.Notifier(bus, [can.Printer()]) 
Es pot trobar documentació per a python-can
a: https://python-can.readthedocs.io/en/stable/index.html
Més expamles a github:
https://github.com/skpang/PiCAN-FD-Python-examples
SK Pang Electronics Ltd - 2021 www.skpang.co.uk
Documents/Recursos
![]() |
SK Pang electronics PiCAN FD Zero Raspberry Pi Zero [pdfGuia de l'usuari PiCAN FD Zero, Raspberry Pi Zero, PiCAN FD Zero Raspberry Pi Zero |





