CAN Shield

CAN Shield ger OpenMV Cam en CAN-bussanslutning via en DB9-kontakt, med en inbyggd 12 V till 5 V-regulator så att shielden kan driva kameran från en fordonsbuss.

CAN Shield

För fullständigt datablad, foton och beställning, se produktsidan för CAN Shield.

Anteckning

Stöds inte på OpenMV Cam RT1062.

Höjdpunkter

  • CAN-buss upp till 1 Mb/s

  • Inbyggd 12 V till 5 V-regulator

Stiftkonfiguration

Stiftkonfiguration för CAN Shield

Stiftreferens

Stift

Funktion

P2

CAN TX

P3

CAN RX

P6

CAN standby (valfritt — se anmärkning)

PWR in

12 V fordonsbussingång på DB9-kontakten

VIN ut

5 V regulatorutgång (driver kameran)

3,3 V-skena

Driver SN65HVD230-logiken

GND-skena

Gemensam jord

Anteckning

SN65HVD230:ns standby-linje är som standard frånkopplad från P6. Anslut den inbyggda lödbryggan för att knyta den till P6, och driv sedan P6 högt för att försätta transceivern i lyssningsläge (standby) (lågt håller den i normalt sänd- och mottagningsläge).

Anteckning

CANL, CANH, VIN och GND från DB9-kontakten är också utförda till genomgående hål-lödöar på undersidan av shielden — löd dit ledningar om du vill hoppa över DB9:an helt.

Anteckning

DB9-stiftkonfigurationen kan ändras mellan den vanliga DB9 CAN-layouten och OBD-II-layouten genom att ändra de tre lödbygelbyglarna på undersidan av shielden.

Anteckning

Det inbyggda 120-ohms termineringsmotståndet är anslutet som standard. Det kan inaktiveras via en lödbrygga på undersidan av shielden för bussar som redan har terminering på annan plats.

Användning

Anteckning

Kringutrustningsnumret CAN(1) nedan följer STM32-mappningen. På en annan processor kan bussen som är kopplad till dessa stift vara annorlunda — kontrollera ditt korts referens.

Skicka och ta emot bildrutor på CAN-bussen vid 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())

Med den inbyggda lödbryggan ansluten, driv P6 högt för att försätta SN65HVD230 i lyssningsläge (standby) (lågt återställer den till normalt sänd- och mottagningsläge):

from machine import Pin
Pin("P6", Pin.OUT).value(1)  # listen-only standby