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.

CAN Shield

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

Pinout del CAN Shield

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