RS422/RS485 Shield¶
O RS422/RS485 Shield oferece à OpenMV Cam uma ligação série diferencial de longa distância adequada a barramentos industriais, com alimentação de entrada larga, proteção contra surtos e I/O ADC/digital.
Para a ficha técnica completa, fotos e encomendas, consulte a página do produto RS422/RS485 Shield.
Destaques¶
RS-422 ou RS-485 a 10 Mb/s com terminação a bordo
Entrada de 6-36 V, tolerante a inversão de polaridade
Entrada ADC de 0-5 V com proteção contra sobretensão de ±36 V
I/O digital de 0-5 V para gatilhos de sincronização com câmara, protegido contra curto-circuito
Pinout¶
Referência de pinos¶
Pino |
Função |
|---|---|
P4 |
RS-422 / RS-485 TX → envia a linha diferencial para fora |
P5 |
RS-422 / RS-485 RX ← recebe a linha diferencial |
P6 |
Leitura AIN com conversão de nível (0–3,3 V em P6) |
P10 |
SYN — I/O digital open-drain no bloco de terminais |
PWR in |
Entrada larga de 6–36 V no bloco de terminais (tolerante a inversão de polaridade) |
AIN in |
Entrada analógica no bloco de terminais |
VIN out |
5,4 V a até 600 mA do regulador a bordo |
Barramento 3.3V |
Alimenta a eletrónica a bordo do shield |
Barramento GND |
Massa comum |
Nota
AIN tem proteção contra sobretensão até ±36 V e está configurado por predefinição como entrada de tensão de 0–5 V, escalada para 0–3,3 V em P6. Faça a ponte do shunt de modo 4–20 mA na frente do shield para mudar AIN para entrada de corrente de 4–20 mA.
Nota
SYN é uma linha digital open-drain, com pull-up para 3,3 V no lado da câmara e 5 V no lado do terminal SYN. Por predefinição é uma entrada — o shield converte 0–5 V em SYN para 0–3,3 V em P10. Altere a ponte de solda a bordo para colocar P10 como saída, convertendo 0–3,3 V em P10 para 0–5 V em SYN.
Nota
Cada um dos pinos P4, P5, P6 e P10 está ligado à câmara por predefinição através de uma ponte de solda — abra a ponte no pino que pretende recuperar para uso independente. A ponte de P6 fica no verso do shield; P4, P5 e P10 ficam na frente.
Nota
As resistências de terminação a bordo estão ligadas por predefinição — abra as pontes de solda correspondentes no verso para as desligar. Duas cobrem o par RS-422 A/B e duas cobrem o par RS-422 Y/Z (que também serve como terminação RS-485 A/B), num total de quatro pontes.
Acerca de RS-422 e RS-485
Ambos os padrões transmitem dados série como sinal balanceado (diferencial) sobre pares entrançados para ligações de longa distância e tolerantes a ruído:
RS-422 é full-duplex sobre quatro fios. Um driver transmite num par TX dedicado designado Y/Z, e o par transmite de volta num par RX separado designado A/B. Um transmissor e até dez recetores por par.
RS-485 é tipicamente half-duplex sobre dois fios. Transmissão e receção partilham um único par, chamado A/B na terminologia RS-485, mas fisicamente os mesmos fios Y/Z neste shield. Até trinta e dois nós podem partilhar o barramento e qualquer um deles pode acioná-lo.
Como o shield suporta ambos
O shield inclui dois transcetores THVD1426, cada um capaz de suportar qualquer um dos padrões:
O primeiro transcetor aciona o par Y/Z (que também serve como par RS-485 A/B). É o único com o seu driver ligado, pelo que todo o tráfego de saída da câmara sai por este par independentemente do modo.
O segundo transcetor aciona o par A/B. O seu driver está desativado — este transcetor é apenas de receção e só é relevante no modo RS-422 de 4 fios.
Os recetores de ambos os transcetores estão sempre ativos e as suas saídas RX são combinadas por AND numa única linha de receção de volta à câmara:
No modo RS-485 de 2 fios, apenas o primeiro transcetor está ativo. Ligue o barramento a Y/Z; o lado A/B fica inativo e a porta AND simplesmente passa o RX do primeiro transcetor.
No modo RS-422 de 4 fios, o par transmite para a câmara no par A/B (captado pelo segundo transcetor) enquanto a câmara transmite em Y/Z (com o recetor do primeiro transcetor a replicar os dados de saída de volta). A porta AND combina-os — o par que apresentar um pulso baixo (bit de início, dados) chega à câmara.
As etiquetas do bloco de terminais refletem o mapeamento dual:
RS-422 (4 fios) — TX de saída em Y/Z, RX de entrada em A/B.
RS-485 (2 fios) — TX/RX partilham o par Y/Z (= A/B na nomenclatura RS-485). Deixe os terminais A/B do shield desligados.
Utilização¶
Nota
O número de periférico UART(3) abaixo segue o mapeamento STM32. Noutro processador, o barramento ligado a estes pinos pode ser diferente — consulte a referência da sua placa.
Comunicar com um par série diferencial em P4 (TX) / P5 (RX):
from machine import UART
uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())
Leitura da entrada AIN no bloco de terminais através do pino P6 com conversão de nível:
from machine import ADC
import time
ain = ADC("P6")
while True:
v = ain.read_u16() * 3.3 / 65535
print("AIN:", v * (5.0 / 3.3), "V")
time.sleep_ms(100)
Reagir a uma transição descendente na linha SYN — por exemplo, para sincronizar a câmara com outro dispositivo que coloca SYN em nível baixo:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)