CAN/RS232 Shield¶
CAN/RS232 Shield kết hợp bộ thu phát CAN-FD với bộ thu phát RS-232 để OpenMV Cam có thể giao tiếp với xe cộ, bộ điều khiển và thiết bị serial cũ từ một shield duy nhất, với nguồn điện đầu vào rộng và bảo vệ điện áp ngược.
Để xem datasheet đầy đủ, ảnh sản phẩm và thông tin đặt hàng, hãy truy cập trang sản phẩm CAN/RS232 Shield.
Điểm nổi bật¶
CAN-FD 8 Mb/s với đầu cuối và bộ lọc tích hợp
RS-232 1 Mb/s với bộ lọc tích hợp
Đầu vào 6–36 V, chịu được điện áp ngược
Đầu vào ADC 0–5 V với bảo vệ quá áp ±36 V
I/O số 0–5 V cho kích hoạt đồng bộ camera, bảo vệ ngắn mạch
Sơ đồ chân¶
Tham chiếu chân¶
Chân |
Chức năng |
|---|---|
P1 |
CAN TX → đầu vào bộ thu phát (mặc định) |
P2 |
CAN TX → đầu vào bộ thu phát (thay thế) |
P3 |
CAN RX ← đầu ra bộ thu phát |
P4 |
RS-232 TX → truyền tín hiệu ra đường dây |
P5 |
RS-232 RX ← nhận tín hiệu từ đường dây |
P6 |
Đọc AIN qua dịch mức (0–3,3 V tại P6) |
P10 |
SYN — I/O số open-drain trên khối đầu nối |
PWR in |
Đầu vào điện áp rộng 6–36 V trên khối đầu nối (chịu được điện áp ngược) |
AIN in |
Đầu vào tương tự trên khối đầu nối |
VIN out |
5,4 V tối đa 600 mA từ bộ điều áp tích hợp |
3.3V rail |
Cấp nguồn cho các linh kiện tích hợp trên shield |
GND rail |
Đất chung |
Ghi chú
AIN được bảo vệ quá áp đến ±36 V và mặc định là đầu vào điện áp 0–5 V, được chia tỷ lệ xuống 0–3,3 V tại P6. Nối cầu jumper chế độ 4–20 mA ở mặt trước của shield để chuyển AIN sang đầu vào vòng dòng 4–20 mA.
Ghi chú
SYN là đường số open-drain, được kéo lên 3,3 V ở phía camera và 5 V ở phía đầu nối SYN. Mặc định là đầu vào — shield dịch mức 0–5 V trên SYN xuống 0–3,3 V tại P10. Thay đổi jumper hàn trên shield để chuyển P10 thành đầu ra, dịch mức 0–3,3 V tại P10 lên 0–5 V tại SYN.
Ghi chú
Mỗi chân P1, P2, P3, P4, P5, P6 và P10 đều có thể được thu hồi cho mục đích khác. P1, P3, P4, P5, P6 và P10 được kết nối theo mặc định — P1, P3, P6 và P10 qua jumper hàn mặt sau, P4 và P5 qua jumper hàn mặt trước. Mở jumper trên bất kỳ chân nào bạn muốn giải phóng. P2 mặc định bị ngắt kết nối: nối cầu jumper mặt sau của P2 để định tuyến CAN TX đến P2 thay thế (và mở jumper mặt sau của P1 để giải phóng P1).
Ghi chú
Việc tách P1/P2 tồn tại để shield hoạt động được trên nhiều dòng vi xử lý khác nhau. Các bo mạch OpenMV Cam IMXRT (RT1062) có thể định tuyến CAN đến P1, vì vậy chúng dùng ánh xạ mặc định. Các bo mạch STM32 không thể kết nối P1 với ngoại vi CAN của chúng, vì vậy hãy nối cầu jumper mặt sau của P2 (và mở jumper của P1) để dùng phương án thay thế.
Ghi chú
Đầu cuối bus CAN được kết nối theo mặc định — chia thành hai nửa 60 Ω nối tiếp nhau giữa CANH và CANL với tụ xuống đất tại điểm giữa (đầu cuối tách AC 120 Ω). Mở hai pad hàn để ngắt kết nối từng nửa một cách độc lập.
Sử dụng¶
Ghi chú
Số ngoại vi CAN(0) và UART(1) dưới đây theo ánh xạ IMXRT (nối dây P1 mặc định). Trên vi xử lý khác, bus được nối với các chân này có thể khác nhau — hãy kiểm tra tài liệu tham chiếu của bo mạch.
Gửi và nhận khung CAN-FD — TX trên P1 (mặc định) hoặc P2 (thay thế), RX trên 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())
Vọng lại các byte qua RS-232 trên P4 (TX) / P5 (RX):
from machine import UART
uart = UART(1, baudrate=115200)
uart.write("hello\n")
print(uart.read())
Đọc đầu vào khối đầu nối AIN qua chân P6 đã dịch mức:
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)
Phản ứng với cạnh xuống trên đường SYN — ví dụ, để đồng bộ camera với thiết bị khác kéo SYN xuống thấp:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)