Pages: [1]   Go Down
Author Topic: anomalia converttitore usb-rs485  (Read 791 times)
0 Members and 1 Guest are viewing this topic.
MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buona sera a tutti.
Sono in possesso di 2 convertitori USB-rs485 , entrambi basati su chip ft232r.
Sono pressoché identici, cambia soltanto il contenitore.
Ho scaricato un tool della ftdi fatto apposta per programmarne la eprom interna e configurare varie opzioni.
Con questo tool ho appurato che le due interfacce sono anche configurate in maniera identica, e apoteosi massima , entrambi usano lo stesso driver.
Ora però nasce un problema. Una delle due interfacce mette uno zero byte in testa ed in coda ad ogni messaggio ricevuto,l'altra no!
Non è un problema,perché tanto il sw di gestione lo sviluppo io stesso,pertanto posso aggirare il problema,ma mi sarebbe piaciuto capire il perché.
Grazie a tutti in anticipo.

P.s. ovviamente entrambe le interfacce sono state provate singolarmente sullo stesso bus interrogando sempre lo stesso slave con lo stesso sw.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10447
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mi sembra più un errore di settaggio, sicuro di averli impostati entrambi come 8n1 ? (8bit dati, no bit parità, 1 bit di stop)

Altrimenti è strano, mi aspetto che la conversione dati sia 1<->1
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

È si, oltretutto perché li inizialzzo da sw, ed il software è lo stesso per entrambi,ed anche i driver!
L'unica cosa che mi viene pensato possa essere è del rumore, uno entra direttamente col cavo twistato, l'altro ha il cavo suo per 1,8 metri prima di arrivare al circuito, ma mi pare strano non sia twistato.
È sempre un adattatore originale ftdi, non è roba cinese.

Es. Convertitore A riceve (in hex)
02060000000000003b7a
 
Convertitore B riceve (in hex)
0002060000000000003b7a00
Sembra quasi che quando passa da tx a rx metta uno zero byte
« Last Edit: January 07, 2013, 04:43:28 pm by niki77 » Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10447
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no, nella seriale ogni byte è un messaggio a se.
forse aggiunge 00 quando apri e e chiudi la seriale?
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no, nella seriale ogni byte è un messaggio a se.

???

P.S. non ho mai specificato che la comunicazione avviene per BYTE RAW , non a caratteri, quindi quanto parlo di ZERO BYTE intendo un byte che ha valore zero(0x00) , non due 00 formato char ( 0x30 0x30)


No non c'entra con l'apertura e chiusura connessione seriale, viene aperta all'inizio e chiusa alla fine, ma non del messaggio, della sessione.
Lo fà indistintamente con linux e windows .... misteeeeeerooooooo
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10447
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la seriale invia tutto come raw, cambia solo come interpreti i dati lato tx/rx.

02060000000000003b7a equivale a
02 06 00 00 00 00 00 00 3b 7a

ovvero 10 byte. se quei 00 fossero aggiunti ad ogni "messaggio" (concetto che in rs232 non esiste, dato che un messaggio è composto da un byte) avresti tutti i byte tra 0x00

se usi un serial monitor tipo hyperterminal vedi comunque gli 0x00? puoi postare il tuo codice?
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lo sò come funziona una seriale ...  smiley-eek

Sul  serial monitor  non vedrò mai quei valori, ma caratteri strani corrispondenti al byte inviato, e non si vedono nemmeno tutti,ma questo è nromalissimo.
Ho un serial monitor specifico che mi visualizza i byte ricevuti in formato esadecimale.

Quote

ovvero 10 byte. se quei 00 fossero aggiunti ad ogni "messaggio" (concetto che in rs232 non esiste, dato che un messaggio è composto da un byte) avresti tutti i byte tra 0x00


adesso ho capito cosa intendevi , no, non può essere , infatti io ti avevo detto che sembrava più che lo aggiungesse alla comutazione tra tx e rx , ovvero quando al transceiver 485 si porta alto DE e RE (stato trasmissione) e viceversa . [in questo transceiver RE è su una porta invertente]
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10447
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah ok, ora capisco cosa intendevi con commutazione txrx

Quote
Ho un serial monitor specifico che mi visualizza i byte ricevuti in formato esadecimale.

e immagino che ti visaulizzi quei 0x00, giusto? se sì è un bel problema, mi viene da dire che sia un bug/feature del chip
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Certo che questa cosa è proprio strana, non mi risulta che gli FTDI possono aggiungere in nessun modo dei byte ai pacchetti.
Sei sicuro che tutti e due gli adattatori montano lo stesso chip FTDI, non è che per caso uno dei due usa un Vinculum ?
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho scaricato il tool della ftdi per leggere la eeprom interna al chip (si usa anche per configurare  l'echo locale se serve).
Non solo è lo stesso identico chip, ma è configurato anche alla stessa maniera.
Ora provo a rivedere.

Ma è solo per curiosità perchè come ho detto, essendo il sw di mia fattura, non ho problemi a trimmare gli zero byte in testa e coda al buffer.

Un adattatore in oggeto è questo :

LINK

l'altro è questo

LINK
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Scommetto che quello che ti da il problema è il secondo (PVI-USB-RS232_485).
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

l'esatto contrario  smiley-mr-green
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora mettilo dentro una morsa e stringi più che puoi  smiley-mr-green
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché, porello, funziona tanto bene  smiley-mr-green

È possibile astro che la commutazione da DE a RE non troppo pulita possa generare sti zero byte in ricezione o è fantascienza?
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Pages: [1]   Go Up
Jump to: