RS422/RS485 Shield

RS422/RS485 Shield oferă camerei OpenMV Cam o legătură serială diferențială de lungă distanță, potrivită pentru magistrale industriale, cu alimentare cu intrare largă, protecție la supratensiune și I/O ADC/digital.

RS422/RS485 Shield

Pentru fișa tehnică completă, fotografii și comandă, consultați pagina de produs RS422/RS485 Shield.

Caracteristici principale

  • RS-422 sau RS-485 la 10 Mb/s cu terminație integrată

  • Intrare de 6-36 V, tolerantă la tensiune inversă

  • Intrare ADC de 0-5 V cu protecție la supratensiune de ±36 V

  • I/O digital de 0-5 V pentru declanșatoare de sincronizare a camerei, protejat la scurtcircuit

Pinout

Pinout RS422/RS485 Shield

Referință pini

Pin

Funcție

P4

RS-422 / RS-485 TX → acționează linia diferențială de ieșire

P5

RS-422 / RS-485 RX ← primește linia diferențială de intrare

P6

Citire AIN cu translatare de nivel (0–3,3 V pe P6)

P10

SYN — I/O digital open-drain pe blocul de borne

PWR in

Intrare largă de 6–36 V pe blocul de borne (tolerantă la tensiune inversă)

AIN in

Intrare analogică pe blocul de borne

VIN out

5,4 V la până la 600 mA de la regulatorul integrat

Magistrală 3,3 V

Alimentează componentele electronice integrate ale shield-ului

Magistrală GND

Masă comună

Notă

AIN este protejat la supratensiune până la ±36 V și este implicit o intrare de tensiune de 0–5 V, redusă la 0–3,3 V pe P6. Conectați șuntul de mod 4–20 mA de pe fața shield-ului pentru a comuta AIN la o intrare în buclă de curent de 4–20 mA.

Notă

SYN este o linie digitală open-drain, ridicată la 3,3 V pe partea camerei și la 5 V pe partea bornei SYN. În mod implicit este o intrare — shield-ul translatează nivelul de 0–5 V de pe SYN la 0–3,3 V pe P10. Modificați jumperul de lipire integrat pentru a transforma P10 într-o ieșire, translatând nivelul de 0–3,3 V de pe P10 la 0–5 V pe SYN.

Notă

Fiecare dintre P4, P5, P6 și P10 este conectat la cameră în mod implicit printr-un jumper de lipire — deschideți jumperul de pe orice pin doriți să îl recuperați pentru utilizare neînrudită. Jumperul lui P6 este pe spatele shield-ului; P4, P5 și P10 sunt pe față.

Notă

Rezistențele de terminație integrate sunt conectate în mod implicit — deschideți jumperii de lipire corespunzători de pe spate pentru a le deconecta. Doi acoperă perechea RS-422 A/B și doi acoperă perechea RS-422 Y/Z (care servește și ca terminație RS-485 A/B), patru jumperi în total.

Despre RS-422 și RS-485

Ambele standarde transmit date seriale ca un semnal echilibrat (diferențial) prin perechi torsadate, pentru legături de lungă distanță, tolerante la zgomot:

  • RS-422 este full-duplex pe patru fire. Un driver transmite pe o pereche TX dedicată etichetată Y/Z, iar partenerul transmite înapoi pe o pereche RX separată etichetată A/B. Un transmițător și până la zece receptoare per pereche.

  • RS-485 este de obicei half-duplex pe două fire. Transmisia și recepția împart o singură pereche, numită A/B în terminologia RS-485, dar fizic aceleași linii Y/Z pe acest shield. Până la treizeci și două de noduri pot împărți magistrala și oricare dintre ele o poate acționa.

Cum suportă shield-ul ambele

Shield-ul include două transceivere THVD1426, fiecare capabil să gestioneze oricare standard:

  • Primul transceiver acționează perechea Y/Z (care servește și ca pereche RS-485 A/B). Este singurul cu driverul conectat, deci tot traficul de ieșire din cameră iese pe această pereche, indiferent de mod.

  • Al doilea transceiver acționează perechea A/B. Driverul său este dezactivat — acest transceiver este doar de recepție și contează doar în modul RS-422 pe 4 fire.

Receptoarele ambelor transceivere sunt mereu activate, iar ieșirile lor RX sunt combinate prin AND pe o singură linie de recepție către cameră:

  • În modul RS-485 pe 2 fire, doar primul transceiver este activ. Cablați magistrala la Y/Z; partea A/B rămâne inactivă, iar poarta AND doar lasă să treacă RX-ul primului transceiver.

  • În modul RS-422 pe 4 fire, partenerul transmite către cameră pe perechea A/B (preluată de al doilea transceiver), în timp ce camera transmite pe Y/Z (cu propriul receptor al primului transceiver returnând datele de ieșire). Poarta AND le combină — oricare pereche vede un puls jos (bit de start, date) ajunge la cameră.

Etichetele blocului de borne reflectă maparea duală:

  • RS-422 (4 fire) — TX de ieșire pe Y/Z, RX de intrare pe A/B.

  • RS-485 (2 fire) — TX/RX împart perechea Y/Z (= A/B în nomenclatura RS-485). Lăsați bornele A/B de pe shield neconectate.

Utilizare

Notă

Numărul perifericului UART(3) de mai jos respectă maparea STM32. Pe alt procesor, magistrala cablată la acești pini poate fi diferită — verificați referința plăcii dvs.

Comunicați cu un partener serial diferențial pe P4 (TX) / P5 (RX):

from machine import UART

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

Citiți intrarea de pe borna AIN prin pinul P6 cu translatare 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)

Reacționați la o muchie descendentă pe linia SYN — de exemplu, pentru a sincroniza camera cu un alt dispozitiv care trage SYN la nivel jos:

from machine import Pin

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

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