CAN Shield

CAN Shield oferă camerei OpenMV Cam o conexiune la magistrala CAN printr-un conector DB9, cu un regulator de pe placă de la 12 V la 5 V, astfel încât shield-ul poate alimenta camera de la o magistrală de vehicul.

CAN Shield

Pentru fișa tehnică completă, fotografii și comenzi, consultați pagina produsului CAN Shield.

Notă

Nu este acceptat pe OpenMV Cam RT1062.

Puncte importante

  • Magistrală CAN până la 1 Mb/s

  • Regulator de pe placă de la 12 V la 5 V

Configurația pinilor

Configurația pinilor CAN Shield

Referință pini

Pin

Funcție

P2

CAN TX

P3

CAN RX

P6

CAN standby (opțional — consultați nota)

intrare PWR

Intrare de 12 V de la magistrala de vehicul pe conectorul DB9

ieșire VIN

Ieșire de 5 V a regulatorului (alimentează camera)

linie de 3,3 V

Alimentează logica SN65HVD230

linie GND

Masă comună

Notă

Linia de standby a SN65HVD230 este deconectată de la P6 în mod implicit. Conectați puntea de lipire de pe placă pentru a o lega la P6, apoi comandați P6 la nivel înalt pentru a pune transceiverul în modul standby doar de ascultare (nivelul jos îl menține în modul normal de transmisie și recepție).

Notă

CANL, CANH, VIN și GND de la conectorul DB9 sunt, de asemenea, scoase la pad-uri prin orificiu (through-hole) de pe partea inferioară a shield-ului — lipiți fire acolo dacă doriți să omiteți complet conectorul DB9.

Notă

Configurația pinilor DB9 poate fi schimbată între aranjamentul standard DB9 CAN și aranjamentul OBD-II prin modificarea celor trei jumpere cu punte de lipire de pe partea inferioară a shield-ului.

Notă

Rezistorul de terminație de 120 ohmi de pe placă este conectat în mod implicit. Acesta poate fi dezactivat printr-o punte de lipire de pe partea inferioară a shield-ului, pentru magistralele care au deja terminație în altă parte.

Utilizare

Notă

Numărul perifericului CAN(1) de mai jos urmează maparea STM32. Pe un alt procesor, magistrala conectată la acești pini poate fi diferită — verificați referința plăcii dvs.

Trimiteți și recepționați cadre pe magistrala CAN la 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())

Cu puntea de lipire de pe placă conectată, comandați P6 la nivel înalt pentru a pune SN65HVD230 în modul standby doar de ascultare (nivelul jos îl readuce în modul normal de transmisie și recepție):

from machine import Pin
Pin("P6", Pin.OUT).value(1)  # listen-only standby