sccb是簡化的i2c協議,sio-l是序列時鐘輸入線,sio-o是序列雙向資料線,分別相當於i2c協議的scl和sda。sccb的匯流排時序與i2c基本相同,它的響應訊號ack被稱為乙個傳輸單元的第9位,分為don』t care和na。don』t care位由從機產生;na位由主機產生,由於sccb不支援多位元組的讀寫,na位必須為高電平。另外,sccb沒有重複起始的概念,因此在sccb的讀週期中,當主機傳送完片內暫存器位址後,必須傳送匯流排停止條件。不然在傳送讀命令時,從機將不能產生don』t care響應訊號。
由於i2c和sccb的一些細微差別,所以採用gpio模擬sccb匯流排的方式。scl所連線的引腳始終設為輸出方式,而sda所連線的引腳在資料傳輸過程中,通過設定iodir的值,動態改變引腳的輸入/輸出方式。sccb的寫週期直接使用i2c匯流排協議的寫週期時序;而sc-cb的讀週期,則增加乙個匯流排停止條件。
sccb是和i2c相同的乙個協議。 sio_c和sio_d分別為sccb匯流排的時鐘線和資料線。目前,sccb匯流排通訊協議只支援100kb/s或400kb/s的傳輸速度,並且支援兩種位址形式:①從裝置位址(id address,8bit),分為讀位址和寫位址,高7位用於選中晶元, 第0位是讀/寫控制位(r/w),決定是對該晶元進行讀或寫操作;②內部暫存器單元位址(sub_ address,8bit),用於決定對內部的哪個暫存器單元進行操作,通常還支援位址單元連續的多位元組順序讀寫操作。sccb控制匯流排功能的實現完全是依靠sio_c、sio_d兩條匯流排上電平的狀態以及兩者之間的相互配合實現的。sccb匯流排傳輸的啟動和停止條件如圖
過程:採用簡單的三相(phase)寫資料的方式,即在寫暫存器的過程中先傳送ov7649的id位址(id address),然後傳送寫資料的目地暫存器位址(sub_address),最後傳送要寫入的資料(write data),見圖3。如果給連續的暫存器寫資料,寫完乙個暫存器後,ov7649會自動把暫存器位址加1,程式可繼續向下寫,而不需要再次輸入id位址,從而三相寫資料變為了兩相寫資料,由於本系統只需對有限個不連續暫存器進行配置,如果採用對全部暫存器都加以配置這一方法的話,會浪費很多時間和資源,所以我們只對需要更改資料的暫存器進行寫資料。對於每乙個需更改的暫存器,都採用三相寫資料的方法。
協議 SCCB與IIC的區別
sccb serial camera control bus,序列攝像頭控制匯流排 是由ov omnivision的簡稱 公司定義和發展的三線式序列匯流排,該匯流排控制著攝像頭大部分的功能,包括影象資料格式 解析度以及影象處理引數等。結構框圖如下所示 ov公司為了減少感測器引腳的封裝,現在sccb匯...
SPI匯流排與IIC匯流排
spi的4種標準時序圖 下面主要總結一下2種匯流排的異同點 1 iic匯流排不是全雙工,2根線scl sda。spi匯流排實現全雙工,4根線sck cs mosi miso 2 iic匯流排是多主機匯流排,通過sda上的位址資訊來鎖定從裝置。spi匯流排只有乙個主裝置,主裝置通過cs片選來確定從裝置...
SCCB 匯流排和I2C匯流排區別
sccb seriai camera controlbus 是簡化的i2c協議,sio l是序列時鐘輸入線,sio o是序列雙向資料線,分別相當於i2c協議的scl和sda。sccb的匯流排時序與i2c基本相同,它的響應訊號ack被稱為乙個傳輸單元的第9位,分為don t care和na。don t...