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.

CAN/RS232 Shield

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

Stiftkonfiguration för CAN/RS232 Shield

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)