CAN Shield¶
El CAN Shield proporciona a la OpenMV Cam un enlace de bus CAN mediante un conector DB9, con un regulador de 12 V a 5 V en placa para que el shield pueda alimentar la cámara desde un bus de vehículo.
Para ver la hoja de datos completa, fotos e información de compra, consulta la página de producto del CAN Shield.
Nota
No compatible con la OpenMV Cam RT1062.
Aspectos destacados¶
Bus CAN de hasta 1 Mb/s
Regulador de 12 V a 5 V en placa
Distribución de pines¶
Referencia de pines¶
Pin |
Función |
|---|---|
P2 |
CAN TX |
P3 |
CAN RX |
P6 |
Modo de espera CAN (opcional — ver nota) |
PWR in |
Entrada de 12 V del bus del vehículo en el conector DB9 |
VIN out |
Salida del regulador de 5 V (alimenta la cámara) |
Riel de 3,3 V |
Alimenta la lógica del SN65HVD230 |
Riel GND |
Tierra común |
Nota
La línea de espera del SN65HVD230 está desconectada de P6 por defecto. Conecta el puente de soldadura de la placa para unirla a P6, y luego pon P6 en alto para poner el transceptor en modo de espera de solo escucha (en bajo lo mantiene en modo normal de transmisión y recepción).
Nota
CANL, CANH, VIN y GND del conector DB9 también se exponen en almohadillas de orificio pasante en la parte inferior del shield — suelda cables ahí si quieres prescindir por completo del DB9.
Nota
La distribución de pines del DB9 puede cambiarse entre la disposición estándar DB9 CAN y la disposición OBD-II modificando los tres puentes de soldadura de la parte inferior del shield.
Nota
La resistencia de terminación de 120 ohmios en placa está conectada por defecto. Puede desactivarse mediante un puente de soldadura en la parte inferior del shield para buses que ya tengan terminación en otro lugar.
Uso¶
Nota
El número de periférico CAN(1) que aparece a continuación sigue el mapeo STM32. En otro procesador, el bus conectado a estos pines puede ser diferente — consulta la referencia de tu placa.
Envía y recibe fotogramas en el bus CAN a 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())
Con el puente de soldadura de la placa conectado, pon P6 en alto para poner el SN65HVD230 en modo de espera de solo escucha (en bajo vuelve al modo normal de transmisión y recepción):
from machine import Pin
Pin("P6", Pin.OUT).value(1) # listen-only standby