CAN Shield¶
CAN Shield มอบการเชื่อมต่อบัส CAN ให้กับ OpenMV Cam ผ่านขั้วต่อ DB9 พร้อมตัวควบคุมแรงดัน 12 V เป็น 5 V บนบอร์ด เพื่อให้ชีลด์สามารถจ่ายไฟให้กล้องจากบัสยานพาหนะได้
ดูข้อมูลทางเทคนิคฉบับเต็ม รูปภาพ และการสั่งซื้อได้ที่ หน้าผลิตภัณฑ์ CAN Shield
Note
ไม่รองรับบน OpenMV Cam RT1062
คุณสมบัติเด่น¶
บัส CAN ความเร็วสูงสุด 1 Mb/s
ตัวควบคุมแรงดัน 12 V เป็น 5 V บนบอร์ด
การจัดเรียงพิน¶
ข้อมูลอ้างอิงพิน¶
พิน |
ฟังก์ชัน |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
CAN standby (ตัวเลือก — ดูหมายเหตุ) |
PWR in |
อินพุตแรงดัน 12 V จากบัสยานพาหนะบนขั้วต่อ DB9 |
VIN out |
เอาต์พุตจากตัวควบคุมแรงดัน 5 V (จ่ายไฟให้กล้อง) |
3.3V rail |
จ่ายไฟให้กับลอจิก SN65HVD230 |
GND rail |
กราวด์ร่วม |
Note
สายสแตนด์บายของ SN65HVD230 ถูกตัดการเชื่อมต่อจาก P6 โดยค่าเริ่มต้น เชื่อมต่อจัมเปอร์บัดกรีบนบอร์ดเพื่อต่อเข้ากับ P6 จากนั้นขับ P6 ให้เป็น high เพื่อให้ทรานซีฟเวอร์เข้าสู่โหมด listen-only standby (สัญญาณ low จะทำให้กลับสู่โหมดส่งและรับปกติ)
Note
CANL, CANH, VIN และ GND จากขั้วต่อ DB9 ยังถูกนำออกมาที่แพดบัดกรีแบบ through-hole ที่ด้านล่างของชีลด์ด้วย — บัดกรีสายไฟที่นั่นหากต้องการข้ามการใช้ DB9
Note
การจัดเรียงพิน DB9 สามารถเปลี่ยนระหว่างเลย์เอาต์ DB9 CAN มาตรฐานและเลย์เอาต์ OBD-II ได้โดยการเปลี่ยนจัมเปอร์บัดกรีสามตัวที่ด้านล่างของชีลด์
Note
ตัวต้านทานปลายสาย 120 โอห์มบนบอร์ดถูกเชื่อมต่อโดยค่าเริ่มต้น สามารถปิดใช้งานได้ผ่านจัมเปอร์บัดกรีที่ด้านล่างของชีลด์สำหรับบัสที่มีตัวต้านทานปลายสายอยู่แล้ว
การใช้งาน¶
Note
หมายเลขอุปกรณ์ต่อพ่วง CAN(1) ด้านล่างใช้การแมปแบบ STM32 บนโปรเซสเซอร์อื่น บัสที่เดินสายไปยังพินเหล่านี้อาจแตกต่างกัน — ตรวจสอบข้อมูลอ้างอิงของบอร์ดคุณ
ส่งและรับเฟรมบนบัส CAN ที่ความเร็ว 1 Mb/s:
from machine import CAN
import time
can = CAN(2, 1_000_000)
can.set_filters(None)
can.send(0x123, b"\xDE\xAD\xBE\xEF")
print(can.recv())
เมื่อเชื่อมต่อจัมเปอร์บัดกรีบนบอร์ดแล้ว ขับ P6 ให้เป็น high เพื่อให้ SN65HVD230 เข้าสู่โหมด listen-only standby (สัญญาณ low จะคืนค่าสู่โหมดส่งและรับปกติ):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby