CAN Shield¶
CAN Shield, OpenMV Cam’e bir DB9 konektörü aracılığıyla CAN veri yolu bağlantısı sağlar ve kart üzerindeki bir 12 V’tan 5 V’a regülatör sayesinde shield, kamerayı bir araç veri yolundan besleyebilir.
Tam veri sayfası, fotoğraflar ve sipariş için CAN Shield ürün sayfasına bakın.
Not
OpenMV Cam RT1062’de desteklenmez.
Öne çıkanlar¶
1 Mb/s’ye kadar CAN veri yolu
Kart üzerinde 12 V’tan 5 V’a regülatör
Pin çıkışı¶
Pin referansı¶
Pin |
Fonksiyon |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
CAN bekleme (isteğe bağlı — nota bakın) |
PWR girişi |
DB9 konektörü üzerinde 12 V araç veri yolu girişi |
VIN çıkışı |
5 V regülatör çıkışı (kamerayı besler) |
3,3V hattı |
SN65HVD230 mantığını besler |
GND hattı |
Ortak toprak |
Not
SN65HVD230’un bekleme hattı varsayılan olarak P6’dan ayrıdır. Onu P6’ya bağlamak için kart üzerindeki lehim köprüsünü bağlayın, ardından alıcı-vericiyi yalnızca dinleme bekleme moduna geçirmek için P6’yı yükseğe sürün (düşük, onu normal gönderme ve alma modunda tutar).
Not
DB9 konektöründen gelen CANL, CANH, VIN ve GND, shield’in altındaki delikli pedlere de getirilmiştir — DB9’u tamamen atlamak isterseniz oraya tel lehimleyin.
Not
DB9 pin çıkışı, shield’in altındaki üç lehim köprüsü atlama teli değiştirilerek standart DB9 CAN düzeni ile OBD-II düzeni arasında değiştirilebilir.
Not
Kart üzerindeki 120 ohm’luk sonlandırma direnci varsayılan olarak bağlıdır. Başka bir yerde zaten sonlandırması olan veri yolları için shield’in altındaki bir lehim köprüsü aracılığıyla devre dışı bırakılabilir.
Kullanım¶
Not
Aşağıdaki CAN(1) çevre birimi numarası STM32 eşlemesini izler. Başka bir işlemcide bu pinlere bağlı veri yolu farklı olabilir — kartınızın referansını kontrol edin.
CAN veri yolunda 1 Mb/s hızında çerçeveler gönderin ve alın:
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())
Kart üzerindeki lehim köprüsü bağlıyken, SN65HVD230’u yalnızca dinleme bekleme moduna geçirmek için P6’yı yükseğe sürün (düşük, onu normal gönderme ve almaya döndürür):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby