francescot Inserito: 14 marzo 2004 Segnala Share Inserito: 14 marzo 2004 Salve a tutti, devo realizzare in forma teorica un'interfaccia hardware tra il bus I2C e l'RS232, (non so nulla di I2C). Qualcuno saprebbe darmi qualche dritta (è possibili fare pilotare il tutto con una FPGA?).Grazie a tutti. Link al commento Condividi su altri siti More sharing options...
Claudio F Inserita: 14 marzo 2004 Segnala Share Inserita: 14 marzo 2004 Non e' un'operazione banale... sono due standard completamente differenti, sia come livelli elettrici (ma questo sarebbe il meno peggio) che come protocollo... intanto l'I2C e' un bus sincrono, con una linea di clock e una linea bidirezionale per i dati, poi il tipo di dialogo con l'unita' ricevente e' molto piu' stretto e immediato rispetto al semplice scambio di bytes asincroni della RS232. Dopo ogni dato il ricevente invia subito a ritroso un singolo bit di conferma (ACK), cosa che deve fare anche il trasmittente qualora il verso della comunicazione si inverta. In I2C ogni unita' dispone poi di un "indirizzo di rete" che deve essere inviato (per abilitarla) prima di iniziare il trasferimento dati vero e proprio, inoltre sul bus sono previsti tre comandi: start, repeated start e stop che non hanno analoghi in rs232.... questo e' solo per dire che non e' possibile prendere semplicemente un gruppo di bytes da rs232 e "traghettarli" senza modifiche su I2C. Oltre alla trasformazione del segnale da asincrono full duplex a sincrono half duplex, e' necessario come minimo "comandare" l'adattatore con dei codici aggiuntivi per fargli generare le varie segnalazioni previste (start, indirizzo ecc). Diciamo che con un microcontroller dotato di entrambe le periferiche (dovrebbe bastare il pic16f873 se non sbaglio) e un po'di software si dovrebbe poter fare, rimane comunque da mettere in conto l'aggiunta di qualche byte di comando aggiuntivo lato rs232.ciao Claudio F Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora