Realizzazione di sincronizzazione del driver 0V7725 SCCB della macchina fotografica
September 3, 2021
Realizzazione di sincronizzazione del driver 0V7725 SCCB della macchina fotografica
Sincronizzazione dell'interfaccia di SCCB
L'inizio ed i segnali di arresto del bus doppio è indicato nella la figura qui sotto. Fra loro, SCCB_E è permettere all'insieme del segnale per i dispositivi multipli dello schiavo. Qui, soltanto un sensore è utilizzato per la configurazione di dati. Così questo segnale non può essere usato.
Quanto sopra è circa l'inizio ed il diagramma di sincronizzazione del segnale di arresto.
La figura di cui sopra mostra le regolazioni pertinenti per la scrittura al registro. Fissi l'indirizzo di identificazione in primo luogo, quindi scriva l'indirizzo del registro ed infine scriva il valore del registro.
La prima fase: Per OV, l'indirizzo di dispositivo è 0X42, la scrittura è 0X42 e la lettura è 0X43;
La seconda tappa: scriva l'indirizzo del registro, questo indirizzo è il valore di indirizzo di OV che dovete mettere;
La terza fase: il valore scritto nel registro, che corrisponde al valore di indirizzo dell'insieme di registro nella seconda tappa;
Per la lettura del registro, il manuale ha una tal descrizione di paragrafo.
Di conseguenza, per la fase colta nella la figura di cui sopra, intendiamo usare quattro fasi per raggiungere, uno è di usare le stesse prime due fasi come scrive il registro, compreso l'indirizzo di identificazione e l'indirizzo del registro da mettere e poi aggiunge due fasi, una è di leggere ancora nell'indirizzo di identificazione e poi ha letto fuori il valore di dati. Come indicato qui sotto:
Per il registro dell'OV, alcuni valori del registro sono adatti a lettura ed alcuni valori del registro sono adatti a scrittura. Di conseguenza, attenzione speciale di paga alla configurazione di formato di vari dati quando mettono il registro dell'OV. Ciò che segue è l'implementazione dell'interfaccia di I2C e della configurazione del registro del OV7725.
La figura di cui sopra è lo schema a blocchi globale dell'interfaccia di SCCB, che non disegna l'orologio globale ed il segnale risistemato globale ed il controllo risistemato globale globale e dell'orologio è richiesto quando riprogetta.
Il codice di implementazione è come segue:
Modulo di configurazione I2C_OV7725
La figura di cui sopra è una breve lista delle regolazioni di parametro. La nota che le linee dei registri 12 e 37 sono per la risistemazione e la linea 64 è per la regolazione della forma di uscita.
È stipulato nel manuale che dopo tutto i registri sono risistemati, un ritardo di non non più di 1ms è richiesto per assicurare la stabilità nella massima misura possibile.
La figura qui sopra è la dichiarazione del porto ed il ritardo acceso 1ms da completare.
Quanto sopra è di completare la generazione di SCL e mettere permetta al segnale in mezzo all'orologio. Il diagramma di simulazione è indicato nella la figura qui sotto:
I vari stati della macchina di stato.
La figura qui sopra è la prima parte della macchina di stato. Come citato nel manuale, se un registro non è cambiato, un ritardo massimo di 300ms è richiesto. I valori minimi e tipici non sono specificati, finchè è inferiore o uguale a 300ms. Usi i2c_transfer_end e i2c_ack per raggiungere questo ritardo. Fra loro, i2c_ack è la risposta totale di ogni fase. Sarà citato sotto.
La figura qui sopra è la prima parte della macchina di stato. Come citato nel manuale, se un registro non è cambiato, un ritardo massimo di 300ms è richiesto. I valori minimi e tipici non sono specificati, finchè è inferiore o uguale a 300ms. Usi i2c_transfer_end e i2c_ack per raggiungere questo ritardo. Fra loro, i2c_ack è la risposta totale di ogni fase. Sarà citato sotto.
Dovrebbe essere notato nella linea 188 che i primi due registri sono utilizzati per generare l'identificazione del venditore e sono passivi, in modo dal giudizio è richiesto.
Nella la figura di cui sopra, i2c_stream_cnt è usato per contare i pezzi di dati, di modo che quando inviando, è inviato dall'alto in basso.
Nella la figura di cui sopra, i2c_sdat_out è usato come i dati di uscita per registrare per ricevere i dati inviati dal modulo del registro di configurazione.
L'immagine di cui sopra è la risposta al segnale di I2C ack, la risposta dalle linee 420 - 422 è alto stato dell'impedenza e ciò che segue è il diagramma di simulazione del modelsim dell'interfaccia implementata dall'intero SCCB.