Isolare in modo casereccio una linea digitale ripristinando i livelli di segnale

Salve a tutti, Ho una idea in testa che vorrei sapere se secondo voi è sensata o o meno. Attenzione: potrei dire un sacco di fesserie ;-)

Il problema è questo. Abbiamo una linea digitale dove transitano segnali ad es. con livello logico basso 0 e livello logico alto 3V. Diciamo che la linea è molto lunga e che quindi ad un capo della linea rischio di trovarmi i segnali a livello alto degradati... magari invece di avere circa 3V mi trovo con scarsi 1V.

Pensavo di far arrivare il valore di 1V sulla base di un BJT in funzionamento on/off e poi prelevare l'uscita "ripristinata" sull'emettitore. A logica dovrebbe funzionare ma se funziona sicuramente la cosa è mono-direzionale.

Se volessi renderla bidirezionale secondo voi mi basta collegare in parallelo con verso invertito (specchiato verticalmente rispetto al primo) un altro BJT che funziona allo stesso modo?

A voi gli insulti. ;-)

Grazie F

Reply to
fittizio
Loading thread data ...

"fittizio" ha scritto

se prelevi sull'emettitore ti ritrovi sempre con un segnale più basso in tensione rispetto a quello in base...

Non è che abbia molta esperienza in fatto di segnali digitali su linee lunghe. Cmq, io cercherei dei buffer integrati compatibili col tipo di segnale, il quale, sempre in caso di linee lunghe, è auspicabile sia differenziale . Nel caso non lo fosse già, metterei un buffer-convertitore all'inizio della linea, e dei ripetitori se necessario ogni tot distanza, prima che il segnale si degradi troppo. Alla fine se necessario riconvertirei in segnale unipolare. Cerca per "line driver" ad esempio su farnell e vedi se c'è qualcosa che fa per te.

Ciao OlMirko

Reply to
Strelnikov

Uhm... prelevando sull'emettitore con transistor che funziona in on/off dovrei avere o 0 volt o circa la tensione applicata sul collettore... se sul collettore applico poco più di 3V posso arrivare ad ottenere i 3V che mi servono per avere rigenerato il segnale o no?

Diciamo che il problema non è nemmeno legato al fatto che la linea sia molto lunga ma proprio alla volontà di avere ai due estremi dei segnali "NETTI" che siano o 0 o 3 volt.....

Ci ho provato.... ma mi escono così tanti componenti che mi passa la voglia di andare a vedere i ds....

Grazie!

Reply to
fittizio

Ho detto una grande fesseria.

Reply to
fittizio

"fittizio" ha scritto nel messaggio news: snipped-for-privacy@mid.individual.net...

Usa due driver 485, però ti serve un segnale di controllo del verso, se l'applicazione non è criticissima puoi derivare con un retriggerabile il segnale di controllo dal segnale da trasmettere! come driver sono molto affidabili i MAX485, ma anche i vecchi DS76qualcosa sono validi! ciao Rusty

Reply to
Rusty

Il 22 Apr 2009, 08:33, "fittizio" ha scritto:

logico

Dovresti dire almeno lunga quanto e la velocità di trasmissione. E poi che linea è? Doppino? Differenziale?

Quindi è una linea bidirezionale? Spiega un po' meglio. Di solito la soluzione migliore è usare gli appositi line driver/receiver.

-------------------------------- Inviato via

formatting link

Reply to
brown_fox

Allora. Si tratta fondamendalmente di due fili che uso per collegare due sistemi digitali A) e B). Il filo 1 lo uso come CLOCK. Il filo 2 lo uso come DATA. Per quanto riguarda il CLOCK è monodirezionale in quanto è comandato sempre dal sistema A) che lo porta ai livelli alti o bassi. La frequenza la imposto io ma è molto bassa. 10-20 clock al secondo.

Il filo DATA è invece bidirezionale ed il funzionamento che mi sono inventato è questo. DATA è collegato con un pullup sempre a VCC in modo da restare sempre alto. Quando la comunicazione è iniziata da A verso B ad ogni ciclo di clock trasmette sulla linea DATA in questo modo: - se deve trasmettere il bit 1 non fa nulla (DATA è già a VCC) - se deve trasmettere il bit 0 mette DATA a massa.

Normalmente ad ogni richiesta di A) che è sempre lunga 8 bit il sistema B) deve rispondere con un ACK e lo fa semplicemente portando DATA a low al terminte del nono clock inviato da A). Questo è il momento in cui la linea diventa bidirezionale. A seuito dell'ACK il sistema B) può o meno rispondere con altri dati seguendo la logica precente.

I fili posso intrecciarli o no... non so come è meglio fare... Il prob. è che il sistema B) è molto pignolo sui livelli di tensione per questo mi serve che alla fine del cavo (verso B) i livelli siano ripristinati quanto più possibile a 0 (livello basso) e 3 (livello alto).

Grazie a tutti.

Reply to
fittizio

Puoi leggere l'altro mio post e confermarmi se secondo te va bene il MAX485? Non l'ho mai usato.... Eventualmente hai un esempio di utilizzo? Grazie

Reply to
fittizio

Il 22 Apr 2009, 09:32, "fittizio" ha scritto:

sempre

imposto

Adesso è più chiaro. Quindi hai due linee per i dati più un terzo filo comune o massa. Un sistema di questo tipo può andare bene fino a qualche decina di metri, ma il limite non è dovuto tanto alla caduta di tensione che sarà sicuramente impercettibile, bensì ai disturbi. Eventuali amplificatori non ti aiuteranno. Non hai ancora detto quanto lunga è la tua linea, ma tutto quello che puoi fare è usare un cavo schermato del tipo per RS232 (con schermo separato dal comune) e mettere dei trigger di Schmitt come ricevitori. Vista la velocità bassissima, puoi mettere dei filtri passa basso, anche semplici RC. Comunque la mia opinione è che un sistema del genere non andrebbe usato oltre i 10-20 metri.

-------------------------------- Inviato via

formatting link

Reply to
brown_fox

"fittizio" ha scritto nel messaggio news: snipped-for-privacy@mid.individual.net...

Ho letto che hai un clock e data separati, il max485 è un driver per RS485, tutt'altra cosa rispetto alla tua funzione che assomiglia decisamente ad un e2c ciao Rusty

Reply to
Rusty

Grazie tante per la risposta.

Scusa ma se metto in trigger di schmitt non mi perdo la bidirezionalità?

Anche per il filtro passa basso, mi chiarisci l'idea? Lo metteresti in modo da far passare quale livello di tensine?

Grazie

Reply to
fittizio

fittizio ha scritto:

dalla tua descrizione sembra proprio una specie di I2C, per cui la vedo molto dura andare molto lontano, anche se il clock è piuttosto basso. la migliore cosa che puoi fare è cambiare con un sistema differenziale e se proprio vuoi tenere questo usare dei cavetti schermati e ritorti e sperare in qualche santo. emi

Reply to
emilio

Si è una sorta di I2C senza indirizzamento delle periferiche.

Possibile che oltre al cavo schermato mi resta solo il santo? ;-)

Grazie

Reply to
fittizio

Il 22 Apr 2009, 10:32, "fittizio" ha scritto:

Per il clock il problema non si pone. Per i dati, dipende da come è fatto il dipositivo. Se c'è un micro, potresti usare un pin di out e un pin di input dove metterai il trigger di Schmitt. In realtà non so cosa stai cercando di fare, magari è un acrocchio fatto da terzi su cui non puoi intervenire...

modo

Molto banalmente, una resistenza in serie alla linea e un condensatore verso massa dal lato linea. Per esempio 100 ohm e 100nF. Dovrebbe servire per limitare i disturbi impulsivi. Poi prova a testare il tutto accendendo e spegnendo nelle vicinanze trapani elettrici, frigoriferi, tubi fluorescenti con reattore non elettronico. Se non hai problemi, aspetta il prossimo temporale.

-------------------------------- Inviato via

formatting link

Reply to
brown_fox

Grazie tante! Farò delle prove e ti farò sapere i risultati.

Reply to
fittizio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.