CAN Shield¶
Das CAN Shield gibt der OpenMV Cam eine CAN-Bus-Verbindung über einen DB9-Anschluss, mit einem bordeigenen 12-V-auf-5-V-Regler, sodass das Shield die Kamera aus einem Fahrzeugbus versorgen kann.
Vollständiges Datenblatt, Fotos und Bestellinformationen finden Sie auf der Produktseite des CAN Shield.
Bemerkung
Nicht unterstützt auf der OpenMV Cam RT1062.
Highlights¶
CAN-Bus mit bis zu 1 Mb/s
Bordeigener 12-V-auf-5-V-Regler
Pinout¶
Pin-Referenz¶
Pin |
Funktion |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
CAN-Standby (optional — siehe Hinweis) |
PWR in |
12-V-Fahrzeugbus-Eingang am DB9-Anschluss |
VIN out |
5-V-Reglerausgang (versorgt die Kamera) |
3,3-V-Schiene |
Versorgt die SN65HVD230-Logik |
GND-Schiene |
Gemeinsame Masse |
Bemerkung
Die Standby-Leitung des SN65HVD230 ist standardmäßig von P6 getrennt. Schließen Sie die bordeigene Lötbrücke, um sie mit P6 zu verbinden, und treiben Sie dann P6 auf high, um den Transceiver in den Listen-only-Standby-Modus zu versetzen (low hält ihn im normalen Sende- und Empfangsmodus).
Bemerkung
CANL, CANH, VIN und GND vom DB9-Anschluss sind außerdem auf Durchkontaktierungs-Pads an der Unterseite des Shields herausgeführt — löten Sie dort Drähte an, wenn Sie den DB9 ganz überspringen möchten.
Bemerkung
Das DB9-Pinout kann zwischen dem Standard-DB9-CAN-Layout und dem OBD-II-Layout umgestellt werden, indem die drei Lötbrücken-Jumper an der Unterseite des Shields geändert werden.
Bemerkung
Der bordeigene 120-Ohm-Terminierungswiderstand ist standardmäßig verbunden. Er kann über eine Lötbrücke an der Unterseite des Shields deaktiviert werden, für Busse, die bereits anderswo terminiert sind.
Verwendung¶
Bemerkung
Die Peripheriegerätenummer CAN(1) unten folgt der STM32-Zuordnung. Auf einem anderen Prozessor kann der an diese Pins verdrahtete Bus ein anderer sein — prüfen Sie die Referenz Ihres Boards.
Senden und empfangen Sie Frames auf dem CAN-Bus mit 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())
Treiben Sie bei verbundener bordeigener Lötbrücke P6 auf high, um den SN65HVD230 in den Listen-only-Standby-Modus zu versetzen (low setzt ihn in den normalen Sende- und Empfangsmodus zurück):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby