CAN Shield¶
CAN Shield antaa OpenMV Camille CAN-väyläyhteyden DB9-liittimen kautta, kortilla olevalla 12 V:stä 5 V:iin -säätimellä, joten shield voi syöttää kameralle virran ajoneuvon väylästä.
Täydellinen datalehti, kuvat ja tilaustiedot löytyvät CAN Shield -tuotesivulta.
Muista
Ei tuettu OpenMV Cam RT1062:ssa.
Kohokohdat¶
CAN-väylä jopa 1 Mb/s
Kortilla oleva 12 V:stä 5 V:iin -säädin
Nastakartta¶
Nastaviittaus¶
Nasta |
Toiminto |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
CAN-valmiustila (valinnainen — katso huomautus) |
PWR sisään |
12 V:n ajoneuvoväyläsyöte DB9-liittimessä |
VIN ulos |
5 V:n säätimen ulostulo (syöttää virran kameralle) |
3,3 V:n linja |
Syöttää virran SN65HVD230-logiikalle |
GND-linja |
Yhteinen maa |
Muista
SN65HVD230:n valmiustilalinja on oletuksena irti kytkettynä P6:sta. Kytke kortilla oleva juotossilta sitoaksesi sen P6:een, ja ohjaa sitten P6 ylös asettaaksesi lähetinvastaanottimen vain-kuuntelu-valmiustilaan (alhaalla se pysyy normaalissa lähetys- ja vastaanottotilassa).
Muista
CANL, CANH, VIN ja GND DB9-liittimestä on myös tuotu ulos läpireikäpadeihin shieldin pohjassa — juota johdot sinne, jos haluat ohittaa DB9:n kokonaan.
Muista
DB9-nastakartta voidaan vaihtaa vakio-DB9-CAN-asettelun ja OBD-II-asettelun välillä muuttamalla kolmea juotossiltahyppyä shieldin pohjassa.
Muista
Kortilla oleva 120 ohmin terminointivastus on kytkettynä oletuksena. Se voidaan poistaa käytöstä juotossillalla shieldin pohjassa väylille, joilla on jo terminointi muualla.
Käyttö¶
Muista
Alla oleva CAN(1)-oheislaitenumero noudattaa STM32-kartoitusta. Toisella prosessorilla näihin nastoihin kytketty väylä voi olla erilainen — tarkista korttisi viite.
Lähetä ja vastaanota kehyksiä CAN-väylällä 1 Mb/s:n nopeudella:
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())
Kun kortilla oleva juotossilta on kytketty, ohjaa P6 ylös asettaaksesi SN65HVD230:n vain-kuuntelu-valmiustilaan (alhaalla se palautuu normaaliin lähetys- ja vastaanottotilaan):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby