Salve, ho un dispositivo (server) dotato di UART che deve dialogare (non in contemporanea) con altri 3 dispositivi. Mi è venuto in mente di collegare direttamente i pin RX e TX dei 3 dispositivi direttamente ai pin TX ed RX del dispositivo "server". Lì per lì mi sembrava un'idea semplice e funzionante, poi però ho pensato che magari avrei dei problemi su TX dei vari dispositivi client, poichè quando uno di questi è abilitato nell'inviare dati al server i segnali elettrici mi arrivano anche sui piedini di TX degli altri client... cosa magari non tanto consigliata! O Sbaglio? Come la potrei risolvere? Potrei utilizzare dei diodi veloci ma poi il segnale mi cade di voltaggio e magari creo anche correnti non desiderate... che consigliate? Grazie per l'aiuto. (Piano piano anche io smetterò di chiedere ed inizierò a rispondere... non temete... mi manca solo qualche anno di esperienza!!!!)
UART in comune
Jul 17, 2007
8 Replies
Se utilizzi lo standard RS485 puoi mettere tutte le periferiche seriali sullo stesso bus. Una per volta potrà trasmettere quando la linea non è occupata (vi è il pin di enable sul TX) e per quanto i dati saranno inviati in broadcast ciascuna unità potrà scartare i pacchetti destinati alle altre semplicemente includendo nell'header del pacchetto l'indirizzo del destinatario (ed eventualmente del mittente).
Ciao! Marco / iw2nzm
Purtroppo non utilizzo lo standard RS485. Ho a disposizione periferiche UART 5V TTL. Insomma utilizzo uno standard RS232 però con livelli TTL.
74[HC]138 in uscita, 74[HC]251 in ingresso otiteni la moltiplicazione dei pani e dei pesci ( pardon degli ingressi e delle uscite ) 3 bit d'indirizzo, gestisci fino ad 8 'seriali' e le seriali in uscita non usate si portano al livello logico 'giusto'
collegare in parallelo linee a bassa impedenza d'uscita (come i segnali TX) =E8 male. Pensaci un attimo, e ci arrivi da solo...
. . .
.=2E .=2E .=2E
.=2E. .=2E. .=2E.
Ci sei arrivato ? Se parliamo di segnali TTL, puoi disaccoppiare i segnali con dei diodi in serie ad ogni TX e mettere un pull down sull'ingresso RX. Ovviamente, se c'=E8 la possibilit=E0 di collisione sul "bus" cos=EC costruito, devi prevedere un'opportuna strategia di rilevazione (tipo codice CRC).
saluti simone.bern
Il pull-down sull'ingresso RX (credo tu indenta su ogni RX dei client giusto?) che mi comporta?
Mcippaedo ha scritto:
Per caso ha il compito di migliorarmi il livello logico basso e velocizzare l'uscita dalla saturazione del transistor altrimenti più lenta del normale a causa della presenza di due porte logiche collegate sulla stessa linea (e quindi maggiore capacità in gioco)?
Mcippaedo ha scritto:
Qualcuno mi potrebbe confermare o meno la seguente cosa:
Mcippaedo ha scritto:
Ok, ho trovato la mia soluzione idela un bel 74LVC126... in questo modo non ho alcun tipo di problema... mi manca da trovare quale sia la frequenza massima a cui può arrivare l'integrato ma credo sia sicuramente superiore almeno ai 57600bps.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required