RS422/RS485 Shield¶
El RS422/RS485 Shield ofrece a la OpenMV Cam un enlace serie diferencial de larga distancia adecuado para buses industriales, con alimentación de entrada amplia, protección contra sobretensiones transitorias y E/S ADC/digital.
Para consultar la hoja de datos completa, fotos e información de compra, visita la página de producto del RS422/RS485 Shield.
Características destacadas¶
RS-422 o RS-485 a 10 Mb/s con terminación integrada
Entrada de 6-36 V, tolerante a tensión inversa
Entrada ADC de 0-5 V con protección contra sobretensión de ±36 V
E/S digital de 0-5 V para disparadores de sincronización de la cámara, protegida contra cortocircuitos
Distribución de pines¶
Referencia de pines¶
Pin |
Función |
|---|---|
P4 |
RS-422 / RS-485 TX → controla la salida de la línea diferencial |
P5 |
RS-422 / RS-485 RX ← recibe la entrada de la línea diferencial |
P6 |
Lectura de AIN con cambio de nivel (0–3,3 V en P6) |
P10 |
SYN — E/S digital de drenaje abierto en el bloque de terminales |
Entrada PWR |
Entrada amplia de 6–36 V en el bloque de terminales (tolerante a tensión inversa) |
Entrada AIN |
Entrada analógica en el bloque de terminales |
Salida VIN |
5,4 V a hasta 600 mA desde el regulador integrado |
Riel de 3.3V |
Alimenta la electrónica integrada del shield |
Riel de GND |
Tierra común |
Nota
AIN está protegida contra sobretensión de hasta ±36 V y por defecto es una entrada de tensión de 0–5 V, reducida a 0–3,3 V en P6. Puentea el shunt del modo 4–20 mA en la parte frontal del shield para cambiar AIN a una entrada de bucle de corriente de 4–20 mA.
Nota
SYN es una línea digital de drenaje abierto, con pull-up a 3,3 V en el lado de la cámara y a 5 V en el lado del terminal SYN. Por defecto es una entrada: el shield convierte el nivel de 0–5 V en SYN a 0–3,3 V en P10. Cambia el puente de soldadura integrado para convertir P10 en una salida, elevando el nivel de 0–3,3 V en P10 a 0–5 V en SYN.
Nota
Cada uno de los pines P4, P5, P6 y P10 está conectado a la cámara por defecto mediante un puente de soldadura: abre el puente del pin que quieras reutilizar para otros fines. El puente de P6 está en la parte posterior del shield; los de P4, P5 y P10 están en la frontal.
Nota
Las resistencias de terminación integradas están conectadas por defecto: abre los puentes de soldadura posteriores correspondientes para desconectarlas. Dos cubren el par A/B de RS-422 y dos cubren el par Y/Z de RS-422 (que también sirve como terminación A/B de RS-485), cuatro puentes en total.
Acerca de RS-422 y RS-485
Ambos estándares envían datos serie como una señal balanceada (diferencial) sobre pares trenzados para lograr enlaces de larga distancia y tolerantes al ruido:
RS-422 es full-duplex sobre cuatro hilos. Un emisor transmite por un par TX dedicado etiquetado como Y/Z, y el par remoto responde por un par RX independiente etiquetado como A/B. Un transmisor y hasta diez receptores por par.
RS-485 suele ser half-duplex sobre dos hilos. La transmisión y la recepción comparten un único par, denominado A/B en la terminología de RS-485 pero físicamente las mismas líneas Y/Z en este shield. Hasta treinta y dos nodos pueden compartir el bus y cualquiera de ellos puede controlarlo.
Cómo soporta el shield ambos estándares
El shield incorpora dos transceptores THVD1426, cada uno capaz de manejar cualquiera de los dos estándares:
El primer transceptor controla el par Y/Z (que también sirve como par A/B de RS-485). Es el único cuyo emisor está conectado, por lo que todo el tráfico saliente de la cámara sale por este par sin importar el modo.
El segundo transceptor controla el par A/B. Su emisor está desactivado: este transceptor es solo de recepción y únicamente importa en el modo RS-422 de 4 hilos.
Los receptores de ambos transceptores están siempre habilitados, y sus salidas RX se combinan mediante una puerta AND en una única línea de recepción de vuelta a la cámara:
En el modo RS-485 de 2 hilos, solo el primer transceptor está activo. Cablea el bus a Y/Z; el lado A/B permanece inactivo y la puerta AND simplemente deja pasar el RX del primer transceptor.
En el modo RS-422 de 4 hilos, el par remoto transmite a la cámara por el par A/B (captado por el segundo transceptor) mientras la cámara transmite por Y/Z (con el propio receptor del primer transceptor reenviando sus datos salientes). La puerta AND los combina: el par que vea un pulso bajo (bit de inicio, datos) llega a la cámara.
Las etiquetas del bloque de terminales reflejan la doble asignación:
RS-422 (4 hilos) — TX por Y/Z, RX por A/B.
RS-485 (2 hilos) — TX/RX comparten el par Y/Z (= A/B en la nomenclatura de RS-485). Deja los terminales A/B del shield sin conectar.
Uso¶
Nota
El número de periférico UART(3) que aparece a continuación sigue la asignación de STM32. En otro procesador el bus cableado a estos pines puede ser distinto: consulta la referencia de tu placa.
Comunícate con un par serie diferencial en P4 (TX) / P5 (RX):
from machine import UART
uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())
Lee la entrada del bloque de terminales AIN a través del pin P6 con cambio de nivel:
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)
Reacciona a un flanco descendente en la línea SYN; por ejemplo, para sincronizar la cámara con otro dispositivo que pone SYN a nivel bajo:
from machine import Pin
def on_sync(pin):
print("SYN falling edge")
syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)