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.
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¶
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