CAN/RS232 Shield¶
CAN/RS232 Shield kombinerar en CAN-FD-transceiver med en RS-232-transceiver så att OpenMV Cam kan kommunicera med fordon, styrenheter och äldre seriell utrustning från en enda shield, med bred ingångsström och skydd mot omvänd spänning.
För fullständigt datablad, foton och beställning, se produktsidan för CAN/RS232 Shield.
Höjdpunkter¶
8 Mb/s CAN-FD med inbyggd terminering och filtrering
1 Mb/s RS-232 med integrerad filtrering
6-36 V ingång, tål omvänd spänning
0-5 V ADC-ingång med ±36 V överspänningsskydd
0-5 V digital I/O för kamerasynktriggare, kortslutningsskyddad
Stiftkonfiguration¶
Stiftreferens¶
Stift |
Funktion |
|---|---|
P1 |
CAN TX → transceiveringång (standard) |
P2 |
CAN TX → transceiveringång (alternativ) |
P3 |
CAN RX ← transceiverutgång |
P4 |
RS-232 TX → driver linjeutgången |
P5 |
RS-232 RX ← tar emot linjeingången |
P6 |
Nivåväxlad AIN-återläsning (0–3,3 V på P6) |
P10 |
SYN — open-drain digital I/O på anslutningsplinten |
PWR in |
6–36 V bred ingång på anslutningsplinten (tål omvänd spänning) |
AIN in |
Analog ingång på anslutningsplinten |
VIN ut |
5,4 V vid upp till 600 mA från den inbyggda regulatorn |
3,3 V-skena |
Driver shieldens inbyggda elektronik |
GND-skena |
Gemensam jord |
Anteckning
AIN är överspänningsskyddad upp till ±36 V och är som standard en 0–5 V spänningsingång, nedskalad till 0–3,3 V på P6. Brygga 4–20 mA-lägets shunt på framsidan av shielden för att växla AIN till en 4–20 mA strömslingingång.
Anteckning
SYN är en open-drain digital linje, uppdragen till 3,3 V på kamerasidan och 5 V på SYN-anslutningssidan. Som standard är den en ingång — shielden nivåväxlar 0–5 V på SYN ner till 0–3,3 V på P10. Ändra den inbyggda lödbygeln för att vända P10 till en utgång, med nivåväxling av 0–3,3 V på P10 upp till 0–5 V på SYN.
Anteckning
Var och en av P1, P2, P3, P4, P5, P6 och P10 kan återanvändas för annan användning. P1, P3, P4, P5, P6 och P10 är anslutna som standard — P1, P3, P6 och P10 via lödbyglar på baksidan, P4 och P5 via lödbyglar på framsidan. Öppna bygeln på vilket stift du vill frigöra. P2 är som standard frånkopplad: brygga dess baksidesbygel för att i stället leda CAN TX till P2 (och öppna P1:s baksidesbygel för att frigöra P1).
Anteckning
Uppdelningen P1/P2 finns för att shielden ska fungera över processorfamiljer. OpenMV Cam IMXRT-korten (RT1062) kan leda CAN till P1, så de använder standardmappningen. STM32-kort kan inte nå P1 med sin CAN-kringutrustning, så brygga P2:s baksidesbygel (och öppna P1:s) för att använda alternativet.
Anteckning
CAN-bussterminieringen är ansluten som standard — uppdelad i två 60 Ω-halvor i serie mellan CANH och CANL med en kondensator till jord vid mittpunkten (en 120 Ω AC-kopplad uppdelad terminering). Öppna de två lödöarna för att koppla bort varje halva oberoende.
Användning¶
Anteckning
Kringutrustningsnumren CAN(0) och UART(1) nedan följer IMXRT-mappningen (standard P1-koppling). På en annan processor kan bussen som är kopplad till dessa stift vara annorlunda — kontrollera ditt korts referens.
Skicka och ta emot CAN-FD-bildrutor — TX på P1 (standard) eller P2 (alternativ), RX på P3:
from machine import CAN
can = CAN(2, 1_000_000)
can.set_filters(None)
can.send(0x123, b"\xDE\xAD\xBE\xEF")
print(can.recv())
Eka byte över RS-232 på P4 (TX) / P5 (RX):
from machine import UART
uart = UART(1, baudrate=115200)
uart.write("hello\n")
print(uart.read())
Läs av AIN-anslutningsplintens ingång via det nivåväxlade P6-stiftet:
from machine import ADC
import time
ain = ADC("P6")
while True:
v = ain.read_u16() * 3.3 / 65535
print("AIN:", v * (5.0 / 3.3), "V")
time.sleep_ms(100)
Reagera på en fallande flank på SYN-linjen — till exempel för att synkronisera kameran med en annan enhet som drar SYN lågt:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)