CAN Shield

O CAN Shield dá à OpenMV Cam um link de barramento CAN via um conector DB9, com um regulador embarcado de 12 V para 5 V para que o shield possa alimentar a câmera a partir de um barramento veicular.

CAN Shield

Para o datasheet completo, fotos e informações de compra, consulte a página do produto CAN Shield.

Nota

Não suportado na OpenMV Cam RT1062.

Destaques

  • Barramento CAN de até 1 Mb/s

  • Regulador embarcado de 12 V para 5 V

Pinagem

Pinagem do CAN Shield

Referência de pinos

Pino

Função

P2

CAN TX

P3

CAN RX

P6

Standby do CAN (opcional — veja a nota)

PWR in

Entrada de 12 V do barramento veicular no conector DB9

VIN out

Saída do regulador de 5 V (alimenta a câmera)

trilho de 3,3 V

Alimenta a lógica do SN65HVD230

trilho GND

Terra comum

Nota

A linha de standby do SN65HVD230 vem desconectada do P6 por padrão. Conecte a ponte de solda embarcada para ligá-la ao P6, depois acione o P6 em nível alto para colocar o transceptor em modo standby somente-escuta (nível baixo o mantém em modo normal de transmissão e recepção).

Nota

CANL, CANH, VIN e GND do conector DB9 também são disponibilizados em pads through-hole na parte inferior do shield — solde fios ali se quiser dispensar o DB9 completamente.

Nota

A pinagem do DB9 pode ser alterada entre o layout CAN DB9 padrão e o layout OBD-II mudando os três jumpers de ponte de solda na parte inferior do shield.

Nota

O resistor de terminação embarcado de 120 ohm está conectado por padrão. Ele pode ser desabilitado via uma ponte de solda na parte inferior do shield, para barramentos que já tenham terminação em outro lugar.

Uso

Nota

O número de periférico CAN(1) abaixo segue o mapeamento STM32. Em outro processador, o barramento conectado a esses pinos pode ser diferente — consulte a referência da sua placa.

Envie e receba quadros no barramento 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())

Com a ponte de solda embarcada conectada, acione o P6 em nível alto para colocar o SN65HVD230 em modo standby somente-escuta (nível baixo o retorna ao modo normal de transmissão e recepção):

from machine import Pin
Pin("P6", Pin.OUT).value(1)  # listen-only standby