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

CAN Shield

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

CAN Shield -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