rob10kg Inserito: 7 dicembre 2007 Segnala Share Inserito: 7 dicembre 2007 Nel laboratorio dove sto lavorando si usa per il trasferimento dati la SSI che da specifiche viene definita una interfaccia seriale sincrona.Questa seriale è asincrona secondo me poi se il software gestisce qualche bit per la sincronizzazione va bene ma se non c'è il filo del clock vale il principio di funzionamento :un ricevitore e un trasmettitore rimangono sincronizzati grazie ad una breve sequenza di bit che abbiano lo stesso clock di riferimento. Link al commento Condividi su altri siti More sharing options...
rob10kg Inserita: 18 dicembre 2007 Autore Segnala Share Inserita: 18 dicembre 2007 Mi rispondo da solo.Le interfacce asincrone utilizzano il bit di start e di stop per ricreare il clock nell'UART tenendo presente i limiti di questa tecnologia ossia :- è necessario il bit di stuffing per non perdere la rigenerazione del clock all'interno del ricevitore- il TX e l'Rx rimangono "sincronizzati" solo per un breve periodo di tempoL'SSI è una interfaccia sincrona che utilizza un PLL interno al ricevitore che si aggancia ad uno o più bytes utilizzati nel pacchetto proprio per questo scopo.I bit nel bytes possono essere addirittura temporizzati con clock diversi.Si dovrà utilizzare un PLL con un counter che esegua una divisione nota per i bit che sono stati generati nel tx con frequenza superiore. Link al commento Condividi su altri siti More sharing options...
Pow Inserita: 20 dicembre 2007 Segnala Share Inserita: 20 dicembre 2007 L'interfaccia SSI è una interfaccia sincrona con trasmissione e ricezione di tipo differenziale.- n° 2 linee di clock pilotate dal sistema master (CLOCK+, CLOCK-)- n° 2 linee di dato su cui lo slave mette le risposte (DATA+, DATA-)L'interfaccia SSI non richiede l'uso di PLL o altri sistemi di sicronizzazione/estrazione del clock.Per illustrare nel dettaglio il funzionamento possiamo fare riferimento solo alla linea CLOCK+ e DATA+ senza ledere in generalità, le altre due linee infatti CLOCK- e DATA- sono semplicemente i complementati delle precedenti.Nello stato inattivo sia la linea di clock (CLOCK+) che di dato (DATA+) assumono il livello logico alto che corrisponde ad una tensione di +5V.Nel momento in cui il master vuole richiedere l'informazione allo slave (ad esempio un encoder assoluto), il master pilota al livello logico basso la linea CLOCK+, questo fronte di discesa segnala allo slave che deve congelare il valore dell'informazione al suo interno dato che negli istanti successivi sarà richiesta dal master.A questo punto il master riporta al livello logico alto la linea CLOCK+ e lo slave m ette sulla linea DATA+ un bit (tipicamente l'MSB) del pacchetto dati da trasferire al master, il master poi porta nuovamente al livello logico basso la linea di clock, in corrispondenza di questo evento il master può campionare la linea di dato con la sicurezza che il bit è oramai stabile dato che era stato aggiornato in corripondenza del fronte si salita del CLOCK (la frequenza del clock tipicamente è compresa fra 125 kHz e 2MHz).A questo punto il ciclo ricomincia ed il master riporta a zero la linea di clock (CLOCK+), lo slave mette sulla linea di dato il bit successivo e cosi via fino alla trasmissione di tutti i bit.Arrivati all'ultimo fronte di salita la linea di clock rimane al livello logico alto mentre lo slave forza la linea di dato a zero per un tempo definito Tempo di Monoflop il quale tipicamente è compreso fra 12 us e 19 us, trascorso questo intervallo di tempo la linea di dato ritorna al livello logico alto.Da questa breve spiegazione è chiaro come l'interfaccia sia sincrona dato che lo slave emette i bit del pacchetto dati in corrispondenza dei fronti di discesa del segnale della linea di clock la quale è pilotata dal master.Implementare un interfaccia SSI su un microcontrollore (ad esempio un PIC oppure un LPC della NXP o qualsiasi altro microcontrollore) richiede come risorse di I/O due linee da configurare una in uscita ed una in ingresso, queste andranno poi collegate ad un transceiver differenziale come ad esempio il DS8921AMX prodotto dalla National Semiconductor (http://www.national.com/ds.cgi/DS/DS8921.pdf).Fatto questo, a livello software, con un semplice ciclo for si implementa tutta la logica di funzionamento dell'interfaccia.Spero di essere stato chiaro, se ti servono maggiori informazioni o delucidazioni in merito sono qua CiaoPow 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