Comunicazione seriale tra PIC : HELP

12 Anni 11 Mesi fa #1 da gcupini
Comunicazione seriale tra PIC : HELP è stato creato da gcupini
Transceivers 485: Funzionamento anomalo

Chiedo aiuto!
Ho collegato serialmente tre PIC utilizzando i transceiver 485 della Maxim che funzionano in half duplex. La topologia della rete la potete vedere nelle figure allegate al file PDF. Le linee di collegamento non superano i 40 cm e sono realizzate con due fili intrecciati. Utilizzo alternativamente anche una resistenza di terminazione da 560 ohm da una indicazione trovata in rete!?
Nel file sono contenute le figure e illustrati i casi di malfunzionamento. Se qualche anima buona ha esperienze di questo tipo con la trasmissione seriale lo ringrazio per gli eventuali consigli che mi invierà.

File allegato:

Nome del file: RS485HELP_2.pdf
Dimensione del file:85 KB


Saluti Giovanni
Allegati:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • gcupini
  • Visitatori
  • Visitatori
12 Anni 11 Mesi fa #2 da Spazzoli
Risposta da Spazzoli al topic Re: Comunicazione seriale tra PIC : HELP
Non ho esperienza in proposito, ma la prima prova che farei io (visti gli errori che hai incontrato) è abbassare il baud rate al minimo...ma immagino che questa prova l'avrai già fatta...

anto.spax
youtube robot gallery:
www.youtube.com/user/antospax?feature=mhum

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Spazzoli
  • Avatar di Spazzoli
  • Senior Member
  • Senior Member
Di più
12 Anni 11 Mesi fa #3 da gcupini
Risposta da gcupini al topic Re: Comunicazione seriale tra PIC : HELP
ciao,
grazie per il suggerimento.

saluti Giovanni

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • gcupini
  • Visitatori
  • Visitatori
12 Anni 11 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Comunicazione seriale tra PIC : HELP
Ciao Giovanni,

il MAX485 e' piuttosto veloce e puo' trasmettere fino a 2.5Mb/s per cui le frequenze che stai usando non gli causano alcun problema.

Controlla i seguenti punti:

La linea TX-RX e' gestita correttamente?
Accertati che il modulo USART non generi errori interni (es. buffer overflow).
Che frequenza di clock usi?

La resistenza di terminazione per 40cm e frequenze di pochi KHz non e' in generale un problema.
Senza o con dovresti avere gli stessi risultati.
nel tuo caso non mi sembra di vedere qualcosa di casuale ma qualcosa di sistematico.

Cambia la posizione degli MAX485 per accertarti che funzionino correttamente.

Se avrai modo di fare misure con l'oscilloscopio riuscirai a trovare facilmente il problema o quantomeno ad identificare le anomalie.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 11 Mesi fa #5 da gcupini
Risposta da gcupini al topic Re: Comunicazione seriale tra PIC : HELP
Ciao Mauro,

Grazie per i suggerimenti, in effetti ho trovato un errore di configurazione e ora ricevo i dati correttamente.

Devo in ogni caso attendere da 1 ms a 10 ms (a seconda del BAUD RATE usato). Se non metto il ritardo il secondo byte non viene ricevuto correttamente.

Penso dipenda dal ciclo di polling ma non capisco perchè.

while (!TXIF) continue;
TXREG=byte;

In sostanza (sembra che ?) se non attendo che tutta l'operazione di trasferimento sia avvenuta ottengo errori.
Presto ti saprò dare risposte più precise dopo aver fatto le misure con oscilloscopio.

Grazie ancora

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • gcupini
  • Visitatori
  • Visitatori
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login