CAN Shield

CAN Shield предоставляет камере OpenMV Cam соединение с шиной CAN через разъём DB9, со встроенным стабилизатором с 12 В на 5 В, чтобы шилд мог питать камеру от автомобильной шины.

CAN Shield

Полную спецификацию, фотографии и информацию для заказа смотрите на странице продукта CAN Shield.

Примечание

Не поддерживается на OpenMV Cam RT1062.

Основные особенности

  • Шина CAN до 1 Мбит/с

  • Встроенный стабилизатор с 12 В на 5 В

Распиновка

Распиновка CAN Shield

Назначение выводов

Вывод

Функция

P2

CAN TX

P3

CAN RX

P6

Дежурный режим CAN (опционально — см. примечание)

PWR in

Вход автомобильной шины 12 В на разъёме DB9

VIN out

Выход стабилизатора 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