CAN Shield

CAN Shield poskytuje OpenMV Cam připojení k CAN sběrnici přes konektor DB9, s regulátorem 12 V na 5 V na desce, takže shield může napájet kameru ze sběrnice vozidla.

CAN Shield

Kompletní datasheet, fotografie a možnosti objednání najdete na produktové stránce CAN Shield.

Poznámka

Není podporováno na OpenMV Cam RT1062.

Hlavní vlastnosti

  • CAN sběrnice až do 1 Mb/s

  • Regulátor 12 V na 5 V na desce

Rozložení pinů

Rozložení pinů CAN Shield

Přehled pinů

Pin

Funkce

P2

CAN TX

P3

CAN RX

P6

CAN standby (volitelné — viz poznámka)

PWR in

Vstup 12 V ze sběrnice vozidla na konektoru DB9

VIN out

Výstup regulátoru 5 V (napájí kameru)

Napájecí větev 3,3 V

Napájí logiku SN65HVD230

Zemnicí větev GND

Společná zem

Poznámka

Standby linka SN65HVD230 je ve výchozím stavu odpojena od P6. Propojením pájecího můstku na desce ji svážete s P6, poté nastavením P6 do vysoké úrovně přepnete transceiver do režimu listen-only standby (nízká úroveň jej ponechá v běžném režimu vysílání a příjmu).

Poznámka

CANL, CANH, VIN a GND z konektoru DB9 jsou rovněž vyvedeny na průchozí plošky na spodní straně shieldu — pokud chcete DB9 zcela vynechat, připájejte vodiče tam.

Poznámka

Rozložení pinů DB9 lze měnit mezi standardním rozložením DB9 CAN a rozložením OBD-II změnou tří pájecích propojek na spodní straně shieldu.

Poznámka

Terminační rezistor 120 ohmů na desce je ve výchozím stavu připojen. Lze jej zakázat pájecím můstkem na spodní straně shieldu pro sběrnice, které již mají terminaci jinde.

Použití

Poznámka

Číslo periferie CAN(1) níže odpovídá mapování STM32. Na jiném procesoru může být sběrnice zapojená na tyto piny jiná — zkontrolujte referenci své desky.

Odesílejte a přijímejte snímky na CAN sběrnici rychlostí 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())

S připojeným pájecím můstkem na desce nastavte P6 do vysoké úrovně, abyste přepnuli SN65HVD230 do režimu listen-only standby (nízká úroveň jej vrátí do běžného režimu vysílání a příjmu):

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