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 Pinout

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