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