MAX485 RS-485: pinout, terminazione e polarizzazione
Un collegamento RS-485 half-duplex può superare una breve prova al banco e tuttavia non funzionare quando viene collegato l'ultimo nodo, tutti i trasmettitori smettono di trasmettere o un modulo sostitutivo modifica la rete resistiva. La scelta del transceiver è solo una parte della qualificazione del bus.
Questa guida prende come riferimento il componente originale MAX485 di Analog Devices/Maxim. Distingue le specifiche del chip dalle caratteristiche del modulo, spiega dove collocare la terminazione e la polarizzazione del bus inattivo e mostra perché un valore resistivo nominalmente ragionevole può non soddisfare la soglia del ricevitore in una combinazione limite di alimentazione e tolleranze.
1. Identificare il chip prima di scegliere il modulo
Il datasheet del produttore per la famiglia MAX1487–MAX491 comprende diversi componenti correlati con velocità, slew rate e carichi differenti. Una caratteristica elencata nella prima pagina per un membro della famiglia non è automaticamente una caratteristica del MAX485. In particolare, il MAX485 non ha lo slew rate limitato e non dispone della modalità di spegnimento a basso consumo offerta da alcuni altri membri.
Una scheda venduta come modulo MAX485 può aggiungere morsettiere, LED, resistori di polarizzazione, terminazione, protezione o circuiti di controllo automatico della direzione. Si tratta di scelte a livello di scheda. Procurarsi lo schema e identificare il produttore del componente montato prima di considerare la descrizione generica di una scheda come una specifica elettrica.
| Caratteristica del MAX485 di riferimento | Significato della specifica | Aspetti ancora da verificare |
|---|---|---|
| 4.75–5.25 V supply | Operation from a nominal 5 V rail | Rail tolerance, local bypassing and startup |
| Up to 2.5 Mbps | Device data-rate capability under specified conditions | Cable length, edge quality, topology and loading |
| −7 to +12 V receiver common-mode range | Specified receiver operation within the stated range | Ground offset, individual pin limits and transients |
| One unit load per receiver | A conventional 32-unit-load network budget | Bias-network loading and every attached receiver |
| Open-input failsafe | Receiver high with inputs open | Idle terminated bus and shorted-input behavior |
Utilizzare gli elenchi di IC di interfaccia MAX485 di Chip-seek per individuare i codici d'ordine, quindi qualificare il componente esatto rispetto al suo datasheet. RS-485 descrive l'interfaccia elettrica; indirizzamento, controlli dei pacchetti, ritrasmissioni e gestione dell'accesso al bus competono al protocollo e al firmware. Un transceiver RS-232 è un dispositivo diverso, come spiegato nella guida alla sostituzione di MAX3232 RS-232.
2. Piedinatura del MAX485: separare il lato logico dal lato bus
Per la piedinatura del DIP/SO di riferimento, il microcontrollore si collega a RO, DI, DE e all'abilitazione del ricevitore attiva bassa, qui indicata come /RE. Il cavo si collega ad A e B. Verificare l'orientamento della vista dall'alto prima di sbrogliare un PCB o effettuare misure su una scheda; una vista dal basso inverte le posizioni apparenti dei pin.
| Pin del DIP/SO | Segnale | Collegamento e funzione |
|---|---|---|
| 1 | RO | Receiver output to the MCU receive input |
| 2 | /RE | Low enables RO; high makes RO high impedance |
| 3 | DE | High enables the bus driver; low releases A and B |
| 4 | DI | Driver input from the MCU transmit output |
| 5 | GND | Local circuit reference |
| 6 | A | Noninverting bus connection for this device |
| 7 | B | Inverting bus connection for this device |
| 8 | VCC | Nominal 5 V supply |
Con DE alto, un livello alto su DI rende A più positivo di B in questo dispositivo. Con il ricevitore abilitato, A−B pari o superiore a +200 mV produce un livello alto su RO; un valore pari o inferiore a −200 mV produce un livello basso su RO. Non dedurre questa polarità soltanto dalle lettere A/B sui morsetti di un altro produttore: confrontare entrambe le tabelle funzionali e la convenzione di cablaggio dell'apparecchiatura.
Collegare DE e /RE a un unico segnale di direzione è pratico: il livello basso seleziona la ricezione, mentre quello alto seleziona la trasmissione e disabilita il ricevitore locale. Mantenere separati i controlli consente la ricezione durante la trasmissione, ma un'eco non costituisce un sistema completo di rilevamento delle collisioni o di arbitraggio. Quando DE è basso e /RE è alto, entrambe le interfacce sono disabilitate; questa condizione non conferisce al MAX485 la specifica di spegnimento a basso consumo della famiglia.
3. Verificare separatamente la logica a 3.3 V e il modo comune
Un microcontrollore a 3.3 V può pilotare DI, DE e /RE del MAX485 se i suoi livelli di uscita garantiti soddisfano i requisiti degli ingressi che ricevono tali segnali logici. Il componente di riferimento specifica un ingresso logico alto minimo di 2.0 V e un ingresso logico basso massimo di 0.8 V. Confrontare i limiti garantiti nell'intero intervallo di temperatura e di carico, anziché i valori nominali delle alimentazioni.
Il percorso di ritorno richiede una verifica separata. Un MAX485 alimentato a 5 V non garantisce una tensione su RO sicura per ogni ingresso MCU a 3.3 V. La sua specifica di uscita alta minima di 3.5 V al carico indicato è un limite inferiore, non una tensione di limitazione. Verificare i valori ammessi all'ingresso del pin MCU e la sua tolleranza a 5 V, aggiungere un'adeguata traslazione di livello oppure scegliere un transceiver progettato per l'alimentazione e l'interfaccia logica richieste.
Sul lato cavo, definire VAB = VA − VB e il modo comune come VCM = (VA + VB) / 2, misurati rispetto alla massa del nodo ricevente. La segnalazione differenziale tollera un intervallo di scostamenti comuni; non rende innocue differenze di potenziale arbitrarie tra le masse. Verificare sia le condizioni operative di modo comune specificate sia i limiti massimi assoluti di ciascun pin.
4. Collocare la terminazione alle estremità fisiche della dorsale
Utilizzare una dorsale con collegamenti brevi ai nodi anziché una stella con diramazioni lunghe. Dove è necessaria la terminazione della linea di trasmissione, adattare la resistenza di terminazione all'impedenza caratteristica del cavo e collocarla alle due estremità fisiche. Il primo e l'ultimo indirizzo del protocollo non hanno alcuna relazione con la loro posizione fisica.
La guida alla progettazione RS-485 di TI spiega la topologia, la terminazione e i vincoli delle derivazioni. Un esempio da 120 ohm è comune, ma la scelta dipende dalle specifiche del cavo e dalle misure sull'installazione. Il solo baud rate non consente di stabilire se un cavo sia elettricamente corto: conta anche il tempo di transizione del driver, soprattutto con un componente privo di limitazione dello slew rate.
Due resistori di estremità da 120 ohm presentano un carico in corrente continua in parallelo di 60 ohm, prima di considerare il carico dei ricevitori e della polarizzazione. Otto schede con un resistore da 120 ohm abilitato su ciascuna presentano soltanto 15 ohm. La seconda configurazione non migliora l'immunità ai disturbi; aumenta considerevolmente il carico del driver.
In caso di ammodernamento, ispezionare ogni ponticello di terminazione e ogni resistore fisso. Con l'apparecchiatura disalimentata in sicurezza e dopo aver compreso il circuito, una misura della resistenza tra i due conduttori può aiutare a individuare carichi in parallelo inattesi. Le reti di protezione e polarizzazione collegate possono influire sulla lettura: utilizzarla quindi come indicazione diagnostica, non come prova dell'impedenza del cavo alle alte frequenze.
Verificare quindi le forme d'onda ai nodi di estremità e alla derivazione più lunga, utilizzando un metodo di misura adatto alla tensione di modo comune. Cercare oscillazioni, attraversamenti delle soglie e assestamento prima dell'istante di campionamento del ricevitore. Sostituire il IC non può correggere una lunga diramazione a stella o un'eccessiva terminazione distribuita.
5. Il failsafe a ingressi aperti non equivale al failsafe del bus inattivo
Quando tutti i trasmettitori rilasciano un bus terminato, le resistenze alle estremità tendono a portare la tensione differenziale verso zero. Questa condizione è diversa dal lasciare aperti gli ingressi del ricevitore. Analog Devices distingue esplicitamente queste condizioni per MAX485: la garanzia con ingressi aperti non copre un ingresso in cortocircuito né un bus inattivo con terminazione collegata.
Un pull-up esterno su A e un pull-down su B possono stabilire una tensione differenziale positiva a bus inattivo con questa convenzione dei pin. Installare una rete di polarizzazione appositamente dimensionata in un punto designato. Aggiungere una coppia non controllata su ogni modulo modifica la resistenza equivalente, il consumo di corrente e il comportamento quando i nodi perdono alimentazione.
Un calcolo che mette in evidenza il problema delle tolleranze
Con resistenze di polarizzazione uguali Rb e due terminazioni da 120 ohm, il carico semplificato è Rt = 120 || 120 = 60 ohms. Trascurando il carico dei ricevitori e la resistenza del cavo si ottiene VAB = VCC × Rt / (2 × Rb + Rt). Si tratta di un modello calcolato in corrente continua, non di una misura al banco.
A 5.00 V, due resistenze di polarizzazione da 680 ohm producono circa 211 mV. Sono soltanto circa 11 mV oltre la soglia di +200 mV dello stato alto. Consideriamo ora un'alimentazione di 4.75 V, entrambe le resistenze di polarizzazione al +1% ed entrambe le resistenze di terminazione al −1%: Rb diventa 686.8 ohm, Rt diventa 59.4 ohm e la tensione differenziale scende a circa 197 mV. Già il circuito semplificato non raggiunge la soglia garantita dello stato alto.
L'esempio da 470 ohm produce nominalmente 300 mV, ma non costituisce una raccomandazione universale sui valori delle resistenze. Una resistenza di polarizzazione inferiore aumenta il carico e un bus completamente popolato può invalidare il calcolo senza carico. Nel modello finale includere le correnti di ingresso dei ricevitori nell'intero intervallo di modo comune, le tolleranze delle resistenze, la resistenza del cavo, le correnti di dispersione delle protezioni, i nodi non alimentati e il margine di rumore richiesto.
La guida di TI offre una trattazione più completa del carico e un esempio svolto di polarizzazione esterna. Utilizzare questo metodo con l'insieme effettivo dei transceiver presenti, anziché copiare una coppia di resistenze da un modulo non pertinente. Anche l'isteresi tipica del ricevitore non sostituisce un margine garantito di tensione differenziale a bus inattivo.
6. Disabilitare il driver dopo l'ultimo bit di stop
Su un bus half-duplex, soltanto il trasmettitore designato deve abilitare il proprio driver. Il firmware deve attivare DE con sufficiente anticipo per il primo bit di start e disattivarlo dopo che l'ultimo bit di stop è uscito da UART, rispettando le regole del protocollo per il cambio di direzione. Un evento di buffer di trasmissione vuoto o di completamento di DMA può verificarsi prima che l'ultimo bit raggiunga la linea.
Per un frame 8N1 UART, un byte occupa dieci periodi di bit. A 115,200 bit/s, ciò corrisponde a circa 86.8 microsecondi per byte; otto byte trasmessi senza interruzioni richiedono circa 694.4 microsecondi. Questi sono tempi di serializzazione, non un ritardo aggiuntivo universale da inserire dopo ogni pacchetto.
- Impostare lo stato desiderato del ricevitore, stabilire il livello di riposo di DI e attivare DE con il margine temporale necessario per il dispositivo.
- Trasmettere il frame completo e attendere la condizione di UART che conferma il completamento dell'ultimo bit di stop.
- Disattivare DE, tenere conto dei tempi di disabilitazione del driver e di propagazione, quindi abilitare la ricezione se era disabilitata.
- Consentire all'altro nodo di rispondere secondo i requisiti del protocollo relativi al controllo del bus e agli intervalli di silenzio.
Consultare il manuale di riferimento dello specifico MCU per il significato del flag di completamento. Durante la validazione, acquisire insieme DE, DI, RO e il bus, così da poter confrontare l'ultimo bit di stop con la disabilitazione del driver. Ripetere con il più breve intervallo consentito tra i frame e sotto carico di interrupt o di DMA.
7. Qualificare un sostituto in base al comportamento e al contenitore
Un contenitore a otto pin con la stessa sagoma non basta a identificare un sostituto. Confrontare innanzitutto alimentazione, soglie logiche, polarità, assegnazione dei pin e velocità di trasmissione. Confrontare poi le condizioni di failsafe del ricevitore, il carico unitario, i tempi di abilitazione, la classe di temperatura e i livelli di protezione richiesti dall'installazione.
| Componente o modifica | Differenza rilevante | Conseguenza per la qualificazione |
|---|---|---|
| MAX485 reference | 2.5 Mbps, one unit load, not slew-rate limited | Baseline; qualify cable, bias and actual loading |
| MAX487 in the same family | 250 kbps, slew-rate limited, one-quarter unit load | Lower speed limit; reassess timing and edge behavior |
| MAX1487 in the same family | 2.5 Mbps, one-quarter unit load | Loading differs; verify the exact package and full specification |
| A 3.3 V transceiver | Different supply and potentially different logic/failsafe limits | Review the entire interface, not just the footprint |
| A module with automatic direction | Board circuitry controls driver ownership | Verify first-bit, last-bit and turnaround behavior |
I valori di carico unitario riportati sopra descrivono il carico elettrico, non garantiscono che qualsiasi cavo possa supportare quel numero di dispositivi. La polarizzazione assorbe parte del carico ammissibile, mentre topologia, capacità delle protezioni e comportamento del protocollo introducono ulteriori vincoli. Tenere separato il calcolo del numero di dispositivi da un'affermazione sulle prestazioni della rete.
Leggere attentamente i suffissi. MAX485ESA e MAX485EESA appartengono a schemi diversi di denominazione del componente base; la E aggiuntiva non è una semplice variazione grafica. Non trasferire una dichiarazione relativa a ESD da una famiglia con un nome simile alla specifica originale di MAX485. Allegare alla BOM approvata la scheda tecnica dello specifico produttore e il codice d'ordine esatto.
Cosa richiedere insieme a un preventivo
- Identificazione: codice completo del componente del produttore, suffisso del contenitore, classe di temperatura e alternative consentite.
- Compatibilità di montaggio: disegno del contenitore, dimensioni del corpo, passo dei terminali, disposizione delle piazzole e formato di imballaggio.
- Tracciabilità: fotografie del lotto effettivo e delle etichette, se disponibili, informazioni su data e lotto e documenti di supporto della catena di fornitura.
- Campioni per la validazione nelle condizioni previste di alimentazione, temperatura, numero di nodi e rete di protezione, prima di approvare una sostituzione.
- Quantità e condizioni di consegna confermate per il lotto oggetto del preventivo; un'immagine di catalogo non dimostra disponibilità, origine o autenticità elettrica.
L'ispezione visiva può rivelare incongruenze nelle marcature o nell'imballaggio, ma da sola non può accertare l'autenticità elettrica. Conservare il riferimento al fornitore approvato, i criteri di ispezione e i risultati delle prove funzionali insieme alla documentazione d'acquisto. Se si sostituisce un modulo, registrare anche le resistenze e le protezioni montate che la BOM a livello di IC non riporta.
8. Una lista pratica di controlli per l'accettazione del bus
Collaudare l'installazione completa, non soltanto due schede collegate con un cavo corto. Prima di eseguire i controlli, annotare la polarità prevista a bus inattivo, le posizioni delle terminazioni, il punto di polarizzazione, la massima differenza di potenziale tra le masse, il tipo di cavo e il numero consentito di nodi. Questo rende ripetibile la decisione sulla sostituzione.
- Confermare la tolleranza dell'alimentazione e la compatibilità logica di MCU in entrambe le direzioni del segnale.
- Verificare la terminazione alle estremità fisiche e rimuovere le terminazioni interne non previste.
- Misurare la tensione differenziale a bus inattivo con tutti i driver disabilitati, includendo le combinazioni rilevanti di nodi spenti.
- Controllare le condizioni di modo comune e le forme d'onda nei nodi più lontani e maggiormente caricati.
- Osservare la trasmissione del primo bit, il completamento dell'ultimo bit di stop e la prima risposta consentita dell'altro nodo.
- Ripetere con l'alternativa proposta; conservare le acquisizioni, i valori dei resistori e il codice d'ordine esatto del componente testato.
Classificare i guasti prima di cambiare i componenti. Un RO instabile a riposo suggerisce un'indagine diversa rispetto a un ultimo byte troncato, mentre i guasti legati alla massa richiedono più del semplice scambio di A e B. Un riferimento documentato aiuta l'ufficio acquisti a distinguere un sostituto qualificato da un componente che funziona soltanto in una dimostrazione.
9. Domande frequenti su MAX485
MAX485 può funzionare direttamente con un'alimentazione di 3.3 V?
Non entro l'intervallo di alimentazione operativa specificato per il componente di riferimento. Richiede 4.75–5.25 V. Un MCU a 3.3 V può comunque interfacciarsi tramite un collegamento logico opportunamente verificato, ma ciò non rende valida un'alimentazione di 3.3 V per il transceiver stesso.
Ogni scheda MAX485 richiede un resistore da 120 ohm?
No. La terminazione va posta alle estremità fisiche quando le caratteristiche del cavo e la rapidità dei fronti la richiedono. In genere, ai nodi intermedi non si aggiunge un'altra terminazione in parallelo e il valore del resistore deve corrispondere al cavo, anziché seguire una convenzione universale per i moduli.
I resistori di polarizzazione da 680 ohm sono sempre sufficienti?
No. Con due terminazioni da 120 ohm, il risultato nominale semplificato è di soli 211 mV circa a 5 V. Nella condizione limite indicata, con 4.75 V e resistori con tolleranza del 1%, scende a circa 197 mV prima di considerare carichi aggiuntivi; è quindi necessario un calcolo completo nel caso peggiore.
MAX485 garantisce un'uscita del ricevitore a livello alto ogni volta che nessuno trasmette?
No. Il comportamento failsafe documentato con ingressi aperti non costituisce una garanzia per un bus terminato a riposo. Prevedere una polarizzazione differenziale esterna sufficiente oppure scegliere un transceiver con un comportamento esplicitamente specificato per le condizioni di riposo e di guasto richieste.
MAX487 può sostituire MAX485 senza modifiche al firmware?
Solo dopo la qualificazione; non è un sostituto universalmente compatibile in termini di velocità. Il limite massimo di 250 kbps di MAX487 differisce dal valore nominale di 2.5 Mbps di MAX485; anche la limitazione della velocità di variazione e il carico sono diversi. Verificare la velocità e le temporizzazioni effettive dell'applicazione prima di approvarlo.
DE deve passare a livello basso non appena il registro dati di UART è vuoto?
Solo se tale evento garantisce anche il completamento dell'ultimo bit di stop sul dispositivo MCU selezionato. Usare la condizione documentata di trasmissione completata e tenere conto delle temporizzazioni del transceiver e del protocollo. Disabilitare il driver troppo presto può troncare l'ultimo byte.
10. Riferimenti tecnici primari
- Scheda tecnica della famiglia Analog Devices/Maxim: limiti elettrici, configurazioni dei pin, tabelle funzionali e differenze tra i dispositivi.
- Chiarimento di Analog Devices sul failsafe di MAX485: condizioni degli ingressi aperti, in cortocircuito e collegati a un bus terminato a riposo.
- TI, Guida alla progettazione RS-485, SLLA272D: topologia, terminazione, polarizzazione esterna e carico unitario.
- Disegno del package SOIC stretto di Analog Devices: verifiche meccaniche per l'opzione d'ordine pertinente.