Щит CAN¶
Щит CAN надає OpenMV Cam зв’язок через шину CAN через роз’єм DB9, з вбудованим стабілізатором напруги 12 В до 5 В, що дозволяє живити камеру від шини транспортного засобу.
Повну документацію, фотографії та інформацію про замовлення дивіться на сторінці продукту CAN Shield.
Примітка
Не підтримується на OpenMV Cam RT1062.
Особливості¶
Шина CAN до 1 Мбіт/с
Вбудований стабілізатор напруги 12 В до 5 В
Розпіновка¶
Довідник виводів¶
Вивід |
Функція |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
Режим очікування CAN (необов’язково — дивіться примітку) |
PWR вхід |
Вхід 12 В від шини транспортного засобу через роз’єм DB9 |
VIN вихід |
Вихід стабілізатора 5 В (живить камеру) |
Шина 3.3В |
Живить логіку SN65HVD230 |
Шина GND |
Загальна земля |
Примітка
Лінія режиму очікування мікросхеми SN65HVD230 за замовчуванням відключена від P6. Щоб підключити її до P6, замкніть перемичку на платі, після чого високий рівень на P6 переведе трансивер у режим очікування лише для прийому (низький рівень — у звичайний режим передачі й прийому).
Примітка
Виводи CANL, CANH, VIN та GND від роз’єму DB9 також виведені на наскрізні контактні площадки на нижній стороні щита — припаяйте до них дроти, якщо хочете обійтися без DB9.
Примітка
Розпіновку DB9 можна змінити між стандартним розташуванням DB9 CAN та схемою OBD-II, перемикаючи три перемичкові джампери на нижній стороні щита.
Примітка
Вбудований термінальний резистор 120 Ом підключений за замовчуванням. Його можна відключити за допомогою перемичкового джампера на нижній стороні щита для шин, де вже є термінація.
Використання¶
Примітка
Номер периферійного пристрою CAN(1) нижче відповідає нумерації STM32. На іншому процесорі шина, підключена до цих виводів, може бути іншою — перевіряйте довідник своєї плати.
Відправка та прийом кадрів по шині CAN зі швидкістю 1 Мбіт/с:
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, щоб перевести SN65HVD230 у режим очікування лише для прийому (низький рівень повертає до звичайного режиму передачі й прийому):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby