CAN/RS232 Shield¶
CAN/RS232 Shield menggabungkan transceiver CAN-FD dengan transceiver RS-232 sehingga OpenMV Cam dapat berkomunikasi dengan kendaraan, kontroler, dan perangkat serial lama dari satu shield, dengan daya input wide dan proteksi tegangan balik.
Untuk datasheet lengkap, foto, dan pemesanan, lihat halaman produk CAN/RS232 Shield.
Fitur Unggulan¶
CAN-FD 8 Mb/s dengan terminasi dan filtering bawaan
RS-232 1 Mb/s dengan filtering terintegrasi
Input 6–36 V, toleran terhadap tegangan balik
Input ADC 0–5 V dengan proteksi overvoltage ±36 V
I/O digital 0–5 V untuk trigger sinkronisasi kamera, terlindungi dari hubung singkat
Pinout¶
Referensi Pin¶
Pin |
Fungsi |
|---|---|
P1 |
CAN TX → input transceiver (default) |
P2 |
CAN TX → input transceiver (alternatif) |
P3 |
CAN RX ← output transceiver |
P4 |
RS-232 TX → menggerakkan jalur keluar |
P5 |
RS-232 RX ← menerima jalur masuk |
P6 |
Pembacaan AIN yang digeser level (0–3,3 V pada P6) |
P10 |
SYN — I/O digital open-drain pada blok terminal |
PWR in |
Input wide 6–36 V pada blok terminal (toleran terhadap tegangan balik) |
AIN in |
Input analog pada blok terminal |
VIN out |
5,4 V hingga 600 mA dari regulator bawaan |
3.3V rail |
Memberi daya pada elektronik bawaan shield |
GND rail |
Ground bersama |
Catatan
AIN terlindungi dari overvoltage hingga ±36 V dan defaultnya sebagai input tegangan 0–5 V, diskalakan menjadi 0–3,3 V pada P6. Jembatani shunt mode 4–20 mA di bagian depan shield untuk mengalihkan AIN ke input current-loop 4–20 mA.
Catatan
SYN adalah jalur digital open-drain, ditarik ke 3,3 V di sisi kamera dan 5 V di sisi terminal SYN. Secara default ini adalah input — shield menggeser level 0–5 V pada SYN menjadi 0–3,3 V pada P10. Ubah solder jumper bawaan untuk membalik P10 menjadi output, menggeser level 0–3,3 V pada P10 menjadi 0–5 V pada SYN.
Catatan
Setiap pin P1, P2, P3, P4, P5, P6, dan P10 dapat diambil kembali untuk penggunaan lain. P1, P3, P4, P5, P6, dan P10 terhubung secara default — P1, P3, P6, dan P10 melalui solder jumper di bagian belakang, P4 dan P5 melalui solder jumper di bagian depan. Buka jumper pada pin mana pun yang ingin Anda bebaskan. P2 defaultnya terputus: jembatani solder jumper bagian belakangnya untuk merutekan CAN TX ke P2 sebagai gantinya (dan buka solder jumper bagian belakang P1 untuk membebaskan P1).
Catatan
Pembagian P1/P2 ada agar shield bekerja di berbagai keluarga prosesor. Board OpenMV Cam IMXRT (RT1062) dapat merutekan CAN ke P1, sehingga menggunakan pemetaan default. Board STM32 tidak dapat menjangkau P1 dengan periferal CAN-nya, jadi jembatani solder jumper bagian belakang P2 (dan buka P1) untuk menggunakan alternatif.
Catatan
Terminasi bus CAN terhubung secara default — dibagi menjadi dua bagian 60 Ω secara seri antara CANH dan CANL dengan kapasitor ke ground di titik tengah (terminasi split 120 Ω AC-coupled). Buka dua pad solder untuk memutus setiap bagian secara independen.
Penggunaan¶
Catatan
Nomor periferal CAN(0) dan UART(1) di bawah mengikuti pemetaan IMXRT (kabel P1 default). Pada prosesor lain, bus yang terhubung ke pin ini mungkin berbeda — periksa referensi board Anda.
Kirim dan terima frame CAN-FD — TX pada P1 (default) atau P2 (alternatif), RX pada 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())
Echo byte melalui RS-232 pada P4 (TX) / P5 (RX):
from machine import UART
uart = UART(1, baudrate=115200)
uart.write("hello\n")
print(uart.read())
Baca input blok terminal AIN melalui pin P6 yang digeser levelnya:
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)
Bereaksi terhadap tepi turun pada jalur SYN — misalnya, untuk menyinkronkan kamera dengan perangkat lain yang menarik SYN ke rendah:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)