Newsgroup: it.hobby.elettronica.digitale
Titolo: ripetitore rs485

Avete qualche progetto di un ripetitore di segnale per linee rs485 da
suggerirmi?
grazie


qui abbiamo buone esperienze con il DAT35690, vedi:
http://www.datexel.it/italiano/3000.html
(e nessun suggerimento sulla punteggiatura...)
saluti,
simone.bern

 qui abbiamo buone esperienze con il DAT35690, vedi:
                                      ~~~~~~~~
Sorry, >>DAT3590<<

 suggerirmi?
Ti hanno consigliato il datexel, ma è già uno strumento pronto.
Se necessiti di uno schema, il problema è generare, nel caso di rete half 
duplex, il segnale di attivazione alla trasmissione, che per la 485 
full-duplex (422) non è necessario. Ne sto parlando in questi giorni con un 
tecnico maxim, perchè in rete si trovano molto sistemi ma baud-rate 
dependent
Ciao
CG 

>.. perchè in rete si trovano molto sistemi ma baud-rate dependent
Esatto, infatti sto realizzando un ripetitore seguendo uno schema che ho 
trovato in rete.
Il funzionamento si basa sul fatto che, a 9600bps, 1 bit impiega 104us per 
essere trasmesso.
Viene intercettato il bit di start, e quindi viene fatto partire un 
temporizzatore per 9,5 cicli, ovvero 988us.
Una volta scaduto il timer, si ritorna in modalita di ricezione.
Il timer sui progetti che ho trovato in rete viene fatto con degli integrati 
appositi, io ho pensato di metterci 1 pic ..
Se hai soluzioni piu interessanti fammi sapere.
ciao

 Se hai soluzioni piu interessanti fammi sapere.
Ne stiamo parlando. L'idea era generare sempre il TX enable e allo stesso 
tempo misurare la durata del bit, così da adattarsi alla durata del byte. 
Rimane il fatto che non può più funzionare con 9 bit di dato, a meno di non 
accettare che possa esserci un ritardo tra un byte e l'altro. Posterò 
qualcosa se arriviamo a un risultato
Ciao
CG 

 bit di dato e nessuna parità!
Ok, ho fatto!
Funziona bene ..
Son daccordo sul fatto che è una porcheria! Se trovi qualche soluzione piu 
elegante, lo riprogetto subito!
Stavo valutando la tua idea di ricevere il dato su un micro con 2 seriali, e 
riproporlo in una seconda seriale.
Probabilmente andrebbe anche bene .. solo che rimango baud rate dipendente.
E' possibile che in qualche modo il micro riesca a capire le caratteristiche 
della linea 485? cioè .. che si autosetti il baud rate e i vari parametri di 
trasmissione? 


Se accetti di perdere un pacchetto potresti misurare la durata dello start 
bit e reinizializzare la tua seriale hardware o software. Magari ti fai un 
ingresso per il quale il micro si mette in modalità misura
Ciao
CG 

 vari parametri di trasmissione?
Si puo' fare con un piccolo trucco: confidando che le linee differenziali
abbiano una resistanza di pull-up e una di pull-down, il livello ALTO di
TX puo' essere ottenuto mandando in driver in tree-state.
Semplicemente basta connettere il segnale di TX invertito al segnale DE di 
un
MAX485, o simili, ad esempio.
Quando TX e' alto, la linea e' automaticamente in RX e puo' ricevere.
Se trasmetto un frame, i livelli alti dei bit mettono il driver in 
tree-state, ma
la linea assume un livello 'alto' grazie ai pull-up/pull-down ed il bit e' 
ricevuto
in modo corretto. Quando TX è basso, la linea e' corretamente pilotata 
bassa.
Il bello e' che non serve cambiare direzione a fine carattere... la cosa e'
praticamente assicurata dal livello di TX, indipendentemente dal baud-rate
usato.
Limiti: deve essere possibile mettere delle restenze di pull-up/pull-down
sulla linea. Provato fino a 100Kbit/s circa, oltre va verificato.
L' RX enable puo' essere lasciato sempre attivo e filtrare a software i 
caratteri
spuri ricevuti, oppure va collegato a TX negato (abilita quando TX è alto)
 
   VCC
                +-------NOT-->| DE                  |            Rup
                |                         |         MAX485 |             |
    TX ----+-------------->| DI                 A|---------+-----------
    RX  <-------------------| DO               B|---------+-----------
                               GND-|  /RE                 |              |
 
  Rdown
 
    GND
bye,
brix


Interessante....ma fino a che distanza l'hai provato?
Ciao
-- 
____________________
      CG Engineering
 Lab. Ricerca & Sviluppo
********************
Skype : cg_ingegnering
MSN : 
cgaudiola...@interfree.it
ICQ UIN# : 104528066 

   
115K fino a 200m, oltre non serviva :-)
Se si usano buffer RS485 tipo profibus (banda >= 12Mbit),
non si hanno problemi fino al Mbit, fino a 50/100m.
Piu' e' alta la velocita', piu' il cavo influisce...usando il tipo
utilizzato per profibus comunque non ho mai avuto problemi.
ciao


Ultima domanda : da quanto metti i pull-up/pull-down sulla linea 
differenziale?
Grazie
Ciao
CG

   
Dipende dalla linea:ad esempio, se ci sono altre utenze con pull-up/down 
in giro,
Dipende danche dalla velocita', se si vuole una rsiposta  piu' veloce 
verso l' altro
quando il driver va in tree-state bisogna mettere resistenze di valore 
piu' basso.
Ho usato valori compresi tra 600Ohm e 10K.......
Un valore tipico puo' essere 1K, ma se hai 5 utenze RS485, devi tenerne 
conto:
o i pull-up/down stanno su una sola scheda o il valore del parallelo non 
deve
essere troppo basso!
ciao