Di questi moduli e' pieno il mondo
Modulo rs485 / ttl - senza il data enable/receiver enable ?
Ne ho appena comprato uno simile in versione isolata e devo ancora provarlo. Ero perplesso, poi ho capito che sono dei "quasi-485", nel senso che abilitano il driver TX (e disabilitano RX) solo quando si trasmettono bit "mark", ossia col segno del bit di start. Montano un bias importante in uscita verso lo "space" (2 resistori, uno verso GND e l'altro verso
+5 sui segnali differenziali), cosi' gli altri ricevitori sul bus vedono un segnale asimmetrico, ma decodificabile. Ovviamente non c'e' da aspettarsi di superare grandi distanze, specialmente in multidrop, ma in molti casi possono funzionare. Se cerchi bene, per svariati modelli troverai lo schema.Ciao,
Se non ho capito male, dovrebbe essere la configurazione che ho alcune volte visto (ed una volta implementato) del tipo:
- l'ingresso del driver fisso a GND
- il negato del segnale TX della UART collegato all'enable del driver
Quando lato TTL non c'è trasmissione, il segnale TX è alto, il suo negato è basso e quindi il driver è disattivato.
Quando c'è trasmissione ovviamente il segnale TX va su e giù secondo la classica forma d'onda della seriale (START + dati + parità + STOP). Durante tutta questa forma d'onda, il driver viene continuamente acceso e spento. Viene acceso solo quando il TX è a livello basso (come il bit di START).
Se il driver è abbastanza veloce ad accendersi e spegnersi, il baudrate non è molto alto e così la lunghezza dei cavi ecc (come diceva RoV), dovrebbe funzionare bene.
Se vedi con oscilloscopio, i fronti dei segnali A/B sulla RS485 non sono simmetrici. Mi immagino che lo spegnimento del driver dovrebbe creare dei fronti che dipendono dal carico e dal bias sul bus.
Il 26/02/2025 12:31, pozz ha scritto:
Me tocca darve proprio tuuutto, :)
Il 26/02/2025 15:21, RobertoA ha scritto:
Rimangio quello che mi sono detto. Usano un RC per ritardare la disattivazione del driver quando il TX passa da livello basso a livello alto (mentre l'attivazione dovrebbe essere veloce grazie dal diodo).
La costante di tempo è 5.6us, diciamo che la porta NOT commuta dopo 4us dall'inizio della carica del condensatore. Un tempo di bit di 4us corrisponde ad un baudrate 2.5Mbps. Da queste parti quel coso sicuramente non funziona più.
Un bel giorno pozz digitò:
Non ho letto tutta la pagina chilometrica, ma non ho capito perché devono "allungare" il tempo in cui il TX è attivo. La tecnica che descrivi tu mi sembra corretta, e fra l'altro è simile al principio di funzionamento del CAN bus, livelli di tensione a parte.
Il 26/02/2025 17:53, dalai lamah ha scritto:
Il "mio" metodo è ancora meno infallibile, penso. Al fronte di salita del TX in mezzo ad un dato, corrisponde una disattivazione del driver. Tu vedi commutare A e B sul bus con tempi molto aleatori che dipendono da quanto è caricato il bus, il bias che vede, ecc. ecc. Questo sistema potrebbe non funzionare a baudrate non molto alti, forse ben al di sotto di 1Mbps. Chiaramente per fare un collegamento punto-punto tra PC e centralina in laboratorio va benissimo.
Con il "suo" sistema, invece, al fronte di salita del TX commuta il driver che è ancora abilitato. Dopo 4us molto probabilmente A e B sono già commutati, in quanto è il driver che li "spinge" e non le resistenze di bias. Dopo questi 4us si può disattivare il driver con meno pensieri, visto che A e B sono già arrivati dove volevano arrivare.
Il 26/02/2025 17:53, dalai lamah ha scritto:
Per fare in modo che se l'utente spara caratteri uno dietro l'altro, il secondo parte che c'e' ancora il tx-enable attivato dal primo carattere
Il 26/02/2025 19:01, RobertoA ha scritto:
Non penso sia così. Se ho fatto bene i calcoli, come scrivevo, il driver viene disattivato dopo soli 4us circa dal fronte di salita su segnale TX. A 115200bps (una velocità già parecchio sostenuta) hai un tempo di bit di 9us. Il driver viene attivato e disattivato continuamente all'interno di un byte, figuriamoci tra un carattere e l'altro.
Ci sono anche schedine basate sul MAX13487, che realizza le stesse cose in modo piu' "scientifico". Guardate il datasheet, e' interessante. Resta che un "vero 485" fatto comandando il driver per tutto il tempo di trasmissione, fino a 1/2 tempo di bit dopo quello di stop come dice la specifica RS485 originale, sicuramente ha un miglior rapporto S/N di questi accrocchi, che pero' semplificano la vita in modo importante.
Ciao,
Rispetto al classico max485 non mi pare semplifichino granche' Come spazio pcb sono di gran lunga peggio, come scrive utente pozz ad alte velocita' (disattivazione tx intra-byte) non si sa bene come funzionino Semplificano perche' non hanno bisogno del DataEnable/RxEnable, che e' si un vantaggio, ma mi sembra ci siano anche dei discreti contro
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required