CAN Shield¶
Il CAN Shield fornisce alla OpenMV Cam un collegamento al bus CAN tramite un connettore DB9, con un regolatore a bordo da 12 V a 5 V così che lo shield possa alimentare la camera dal bus del veicolo.
Per il datasheet completo, le foto e le informazioni d’ordine consulta la pagina prodotto CAN Shield.
Nota
Non supportato sulla OpenMV Cam RT1062.
Punti salienti¶
Bus CAN fino a 1 Mb/s
Regolatore a bordo da 12 V a 5 V
Pinout¶
Riferimento dei pin¶
Pin |
Funzione |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
Standby CAN (opzionale — vedi nota) |
PWR in |
Ingresso bus veicolo da 12 V sul connettore DB9 |
VIN out |
Uscita del regolatore a 5 V (alimenta la camera) |
linea 3.3V |
Alimenta la logica SN65HVD230 |
linea GND |
Massa comune |
Nota
La linea di standby dell’SN65HVD230 è scollegata da P6 per impostazione predefinita. Collega il ponticello a saldare a bordo per legarla a P6, poi porta P6 alto per mettere il ricetrasmettitore in modalità standby di solo ascolto (basso lo mantiene in normale modalità di trasmissione e ricezione).
Nota
CANL, CANH, VIN e GND dal connettore DB9 sono portati anche su pad passanti sul fondo dello shield — salda lì dei fili se vuoi evitare del tutto il DB9.
Nota
Il pinout del DB9 può essere modificato tra il layout CAN DB9 standard e il layout OBD-II cambiando i tre jumper a ponticello a saldare sul fondo dello shield.
Nota
La resistenza di terminazione da 120 ohm a bordo è collegata per impostazione predefinita. Può essere disabilitata tramite un ponticello a saldare sul fondo dello shield per i bus che hanno già una terminazione altrove.
Utilizzo¶
Nota
Il numero di periferica CAN(1) qui sotto segue la mappatura STM32. Su un altro processore il bus collegato a questi pin potrebbe essere diverso — controlla il riferimento della tua scheda.
Invia e ricevi frame sul bus CAN a 1 Mb/s:
from machine import CAN
import time
can = CAN(2, 1_000_000)
can.set_filters(None)
can.send(0x123, b"\xDE\xAD\xBE\xEF")
print(can.recv())
Con il ponticello a saldare a bordo collegato, porta P6 alto per mettere l’SN65HVD230 in modalità standby di solo ascolto (basso lo riporta alla normale trasmissione e ricezione):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby