sccb(serial camera control bus,序列攝像頭控制匯流排)是由ov(omnivision的簡稱)公司定義和發展的三線式序列匯流排,該匯流排控制著攝像頭大部分的功能,包括影象資料格式、解析度以及影象處理引數等。結構框圖如下所示:
ov公司為了減少感測器引腳的封裝,現在sccb匯流排大多採用兩線式介面匯流排。ov7725使用的是兩線式介面匯流排,該介面匯流排包括sio_c序列時鐘輸入線和sio_d序列雙向資料線,分別相當於iic協議的scl訊號線和sda訊號線。
由此可見,sccb就是改編版的iic,完全可以按照iic來理解,下面仔細講解sccb的時序以及和iic的不同之處。
一、sccb起始和結束(與iic完全一致)
起始:sio_c為高時,sio_d由高拉低。
停止:sio_c為高時,sio_d由低拉高。
二、sccb寫(與iic完全一致)
id address(w)裡面就已經包括進了iic中的「讀寫控制位」,所以沒有額外寫出。
即:start + phase_1 + phase_2 + phase_3 + stop
「x」的意思是「don't care」,該位是由從機發出應答訊號來響應主機表示當前id address、sub-address和write data是否傳輸完成,但是從機有可能不發出應答訊號,因此主機(此處指fpga)可不用判斷此處是否有應答,直接預設當前傳輸完成即可。「x」即iic中的ack應答位。
三、sccb讀
資料手冊中的sccb讀只寫了上圖的phase3和phase4,實際上它是和phase1和phase2聯絡在一起的。sccb不支援連續讀,phase4的主機應答位必須為na(no ack),所以sccb讀其實就專指單次讀,和iic單次讀幾乎一樣。
即:start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_3 + phase_4 + stop_2
四、sccb和iic的區別
1.sccb的應答位稱為x,表示「don't care」,而iic應答位稱為ack。
2.sccb只能單次讀,而iic除了單次讀還支援連續讀。
3.sccb讀操作中間有stop,而iic讀操作中間可以有stop也可以不需要stop,具體表現如下
sccb讀:start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_3 + phase_4 +stop_2iic讀:start_1+ phase_1 + phase_2 + + start_2 + phase_3 + phase_4 + stop_2除去上面三點,sccb和iic再無區別,因此如果只需要配置暫存器(只用到寫),可以直接拿iic的時序來當做sccb用,如果需要讀,讀操作中間必須有乙個stop。
SCCB匯流排與IIC區別
sccb是簡化的i2c協議,sio l是序列時鐘輸入線,sio o是序列雙向資料線,分別相當於i2c協議的scl和sda。sccb的匯流排時序與i2c基本相同,它的響應訊號ack被稱為乙個傳輸單元的第9位,分為don t care和na。don t care位由從機產生 na位由主機產生,由於scc...
IIC協議的配置心得
眾所周知,iic是一種廣泛用於主機與從機通訊的協議。其大致分為 寫 操作和 讀 操作,都是通過一根資料線 位寬1bit 和一根時鐘線傳輸,所有的資料都是乙個位元乙個位元傳輸,在資料線上,寫 和 讀 是共用的。但為了程式設計方便,規定以位元組 8bit 的形式來描述通訊過程。讀 操作的前四步跟 寫 操...
介面協議學習(三) SCCB(與I2C比較)
sccb serial camera control bus,序列攝像頭控制匯流排 是由ov omnivision的簡稱 公司定義和發展的三線式序列匯流排,該匯流排控制著攝像頭大部分的功能,包括影象資料格式 解析度以及影象處理引數等。ov公司為了減少感測器引腳的封裝,現在sccb匯流排大多採用兩線式...