RS422/RS485 Shield

L’RS422/RS485 Shield offre alla OpenMV Cam un collegamento seriale differenziale a lunga distanza adatto ai bus industriali, con alimentazione a ingresso ampio, protezione dalle sovratensioni e I/O ADC/digitale.

RS422/RS485 Shield

Per il datasheet completo, le foto e l’acquisto consulta la pagina prodotto dell’RS422/RS485 Shield.

Punti salienti

  • RS-422 o RS-485 a 10 Mb/s con terminazione integrata

  • Ingresso 6-36 V, tollerante all’inversione di tensione

  • Ingresso ADC 0-5 V con protezione da sovratensione di ±36 V

  • I/O digitale 0-5 V per trigger di sincronizzazione della camera, protetto dai cortocircuiti

Pinout

Pinout dell'RS422/RS485 Shield

Riferimento dei pin

Pin

Funzione

P4

RS-422 / RS-485 TX → pilota la linea differenziale in uscita

P5

RS-422 / RS-485 RX ← riceve la linea differenziale in ingresso

P6

Lettura AIN con shift di livello (0–3,3 V su P6)

P10

SYN — I/O digitale open-drain sulla morsettiera

PWR in

Ingresso ampio 6–36 V sulla morsettiera (tollerante all’inversione di tensione)

AIN in

Ingresso analogico sulla morsettiera

VIN out

5,4 V fino a 600 mA dal regolatore integrato

Linea 3.3V

Alimenta l’elettronica integrata dello shield

Linea GND

Massa comune

Nota

AIN è protetto da sovratensione fino a ±36 V e per impostazione predefinita è un ingresso in tensione 0–5 V, ridotto a 0–3,3 V su P6. Ponticella lo shunt della modalità 4–20 mA sul fronte dello shield per commutare AIN in un ingresso a loop di corrente 4–20 mA.

Nota

SYN è una linea digitale open-drain, con pull-up a 3,3 V sul lato camera e a 5 V sul lato del morsetto SYN. Per impostazione predefinita è un ingresso: lo shield esegue lo shift di livello da 0–5 V su SYN a 0–3,3 V su P10. Modifica il ponticello a saldare integrato per trasformare P10 in un’uscita, eseguendo lo shift di livello da 0–3,3 V su P10 a 0–5 V su SYN.

Nota

Ciascuno dei pin P4, P5, P6 e P10 è collegato alla camera per impostazione predefinita tramite un ponticello a saldare: apri il ponticello su qualsiasi pin che vuoi riutilizzare per scopi non correlati. Il ponticello di P6 è sul retro dello shield; quelli di P4, P5 e P10 sono sul fronte.

Nota

Le resistenze di terminazione integrate sono collegate per impostazione predefinita: apri i corrispondenti ponticelli a saldare sul retro per scollegarle. Due coprono la coppia A/B di RS-422 e due coprono la coppia Y/Z di RS-422 (che funge anche da terminazione A/B per RS-485), quattro ponticelli in totale.

Informazioni su RS-422 e RS-485

Entrambi gli standard inviano i dati seriali come segnale bilanciato (differenziale) su coppie intrecciate per collegamenti a lunga distanza e tolleranti al rumore:

  • RS-422 è full-duplex su quattro fili. Un driver trasmette su una coppia TX dedicata denominata Y/Z, e il peer ritrasmette su una coppia RX separata denominata A/B. Un trasmettitore e fino a dieci ricevitori per coppia.

  • RS-485 è tipicamente half-duplex su due fili. Trasmissione e ricezione condividono un’unica coppia, chiamata A/B nella terminologia RS-485 ma fisicamente le stesse linee Y/Z su questo shield. Fino a trentadue nodi possono condividere il bus e ciascuno di essi può pilotarlo.

Come lo shield supporta entrambi

Lo shield monta due transceiver THVD1426, ciascuno in grado di gestire entrambi gli standard:

  • Il primo transceiver pilota la coppia Y/Z (che funge anche da coppia A/B di RS-485). È l’unico ad avere il driver collegato, quindi tutto il traffico in uscita dalla camera esce da questa coppia indipendentemente dalla modalità.

  • Il secondo transceiver pilota la coppia A/B. Il suo driver è disabilitato: questo transceiver è di sola ricezione e conta solo nella modalità RS-422 a 4 fili.

I ricevitori di entrambi i transceiver sono sempre abilitati e le loro uscite RX vengono combinate in AND su un’unica linea di ricezione verso la camera:

  • In modalità RS-485 a 2 fili, è attivo solo il primo transceiver. Cabla il bus su Y/Z; il lato A/B resta inattivo e la porta AND lascia semplicemente passare l’RX del primo transceiver.

  • In modalità RS-422 a 4 fili, il peer trasmette alla camera sulla coppia A/B (raccolta dal secondo transceiver) mentre la camera trasmette su Y/Z (con il ricevitore del primo transceiver che ritorna in eco i dati in uscita). La porta AND li combina: la coppia che vede un impulso basso (bit di start, dati) raggiunge la camera.

Le etichette della morsettiera riflettono il doppio mapping:

  • RS-422 (4 fili) — TX in uscita su Y/Z, RX in ingresso su A/B.

  • RS-485 (2 fili) — TX/RX condividono la coppia Y/Z (= A/B nella nomenclatura RS-485). Lascia scollegati i morsetti A/B sullo shield.

Utilizzo

Nota

Il numero della periferica UART(3) qui sotto segue il mapping di STM32. Su un altro processore il bus cablato a questi pin potrebbe essere diverso: consulta il riferimento della tua scheda.

Comunica con un peer seriale differenziale su P4 (TX) / P5 (RX):

from machine import UART

uart = UART(3, baudrate=115200)
uart.write("hello\n")
print(uart.read())

Leggi l’ingresso della morsettiera AIN tramite il pin P6 con shift di livello:

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)

Reagisci a un fronte di discesa sulla linea SYN — per esempio, per sincronizzare la camera con un altro dispositivo che porta SYN a livello basso:

from machine import Pin

def on_sync(pin):
    print("SYN falling edge")

syn = Pin("P10", Pin.IN)
syn.irq(on_sync, Pin.IRQ_FALLING)