CAN/RS232 Shield

CAN/RS232 Shield รวม CAN-FD transceiver และ RS-232 transceiver เข้าด้วยกัน เพื่อให้ OpenMV Cam สื่อสารกับยานยนต์ คอนโทรลเลอร์ และอุปกรณ์ serial รุ่นเก่าได้จากโล่เดียว พร้อมจ่ายไฟแบบ wide-input และการป้องกันแรงดันย้อนกลับ

CAN/RS232 Shield

สำหรับ datasheet ฉบับสมบูรณ์ รูปภาพ และการสั่งซื้อ ดูได้ที่ หน้าผลิตภัณฑ์ CAN/RS232 Shield

จุดเด่น

  • CAN-FD 8 Mb/s พร้อม termination และ filtering บนบอร์ด

  • RS-232 1 Mb/s พร้อม filtering ในตัว

  • ช่อง input 6–36 V ทนแรงดันย้อนกลับ

  • ช่อง ADC input 0–5 V พร้อมการป้องกัน overvoltage ±36 V

  • I/O ดิจิทัล 0–5 V สำหรับ trigger ซิงค์กล้อง ป้องกันลัดวงจร

ผังพิน

CAN/RS232 Shield Pinout

อ้างอิงพิน

พิน

ฟังก์ชัน

P1

CAN TX → ส่งเข้า transceiver (ค่าเริ่มต้น)

P2

CAN TX → ส่งเข้า transceiver (ทางเลือก)

P3

CAN RX ← รับออกจาก transceiver

P4

RS-232 TX → ขับสาย output

P5

RS-232 RX ← รับสาย input

P6

อ่านค่า AIN แบบ level-shifted (0–3.3 V ที่ P6)

P10

SYN — I/O ดิจิทัล open-drain บนบล็อกขั้วต่อ

PWR in

ช่อง input กว้าง 6–36 V บนบล็อกขั้วต่อ (ทนแรงดันย้อนกลับ)

AIN in

ช่อง analog input บนบล็อกขั้วต่อ

VIN out

5.4 V สูงสุด 600 mA จาก regulator บนบอร์ด

ราง 3.3V

จ่ายไฟให้วงจรอิเล็กทรอนิกส์บนบอร์ดของโล่

ราง GND

กราวด์ร่วม

Note

AIN ป้องกัน overvoltage สูงสุด ±36 V และค่าเริ่มต้นเป็น voltage input 0–5 V โดยสเกลลงเป็น 0–3.3 V ที่ P6 เชื่อม shunt โหมด 4–20 mA ที่ด้านหน้าของโล่เพื่อสลับ AIN ไปเป็น current-loop input 4–20 mA

Note

SYN เป็นสาย digital open-drain ดึงขึ้น 3.3 V ฝั่งกล้องและ 5 V ฝั่งขั้วต่อ SYN ค่าเริ่มต้นเป็น input — โล่จะ level-shift 0–5 V บน SYN ลงเป็น 0–3.3 V ที่ P10 เปลี่ยน solder jumper บนบอร์ดเพื่อสลับ P10 เป็น output โดย level-shift 0–3.3 V ที่ P10 ขึ้นเป็น 0–5 V บน SYN

Note

P1, P2, P3, P4, P5, P6 และ P10 แต่ละพินสามารถนำไปใช้งานอื่นได้ P1, P3, P4, P5, P6 และ P10 เชื่อมต่อโดยค่าเริ่มต้น — P1, P3, P6 และ P10 ผ่าน solder jumper ด้านหลัง, P4 และ P5 ผ่าน solder jumper ด้านหน้า เปิด jumper ที่พินใดก็ตามที่ต้องการใช้งานอื่น P2 ค่าเริ่มต้นคือตัดการเชื่อมต่อ: เชื่อม solder jumper ด้านหลังของมันเพื่อ route CAN TX ไปที่ P2 แทน (และเปิด solder jumper ด้านหลังของ P1 เพื่อปล่อย P1)

Note

การแยก P1/P2 มีขึ้นเพื่อให้โล่ทำงานได้กับตระกูลโปรเซสเซอร์ต่างๆ บอร์ด OpenMV Cam IMXRT (RT1062) สามารถ route CAN ไปยัง P1 ได้ จึงใช้การ mapping ค่าเริ่มต้น บอร์ด STM32 ไม่สามารถไปถึง P1 ด้วย CAN peripheral ของตัวเองได้ ดังนั้นให้เชื่อม solder jumper ด้านหลังของ P2 (และเปิด P1) เพื่อใช้ทางเลือก

Note

Termination ของบัส CAN เชื่อมต่อโดยค่าเริ่มต้น — แบ่งเป็นสองครึ่ง 60 Ω ต่ออนุกรมระหว่าง CANH และ CANL พร้อม cap ไปยัง ground ที่จุดกึ่งกลาง (split termination 120 Ω แบบ AC-coupled) เปิดแผ่นนำไฟฟ้าสองแผ่นเพื่อตัดการเชื่อมต่อแต่ละครึ่งอย่างอิสระ

การใช้งาน

Note

หมายเลขอุปกรณ์ CAN(0) และ UART(1) ด้านล่างนี้ตาม IMXRT mapping (การต่อสาย P1 ค่าเริ่มต้น) บนโปรเซสเซอร์ตัวอื่น บัสที่ต่อกับพินเหล่านี้อาจแตกต่างกัน — ตรวจสอบอ้างอิงบอร์ดของคุณ

ส่งและรับเฟรม CAN-FD — TX ที่ P1 (ค่าเริ่มต้น) หรือ P2 (ทางเลือก), RX ที่ 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())

รับ-ส่งไบต์ผ่าน RS-232 ที่ P4 (TX) / P5 (RX):

from machine import UART

uart = UART(1, baudrate=115200)
uart.write("hello\n")
print(uart.read())

อ่าน AIN จากบล็อกขั้วต่อผ่านพิน P6 ที่ level-shifted:

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)

ตอบสนองต่อขอบลงของสาย SYN — เช่น ซิงค์กล้องกับอุปกรณ์อื่นที่ดึง SYN ลงต่ำ:

from machine import Pin

def on_sync(pin):
    print("SYN falling edge")

syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)