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.
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¶
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)