大學(xué)生網(wǎng)站建設(shè)方案世界球隊(duì)最新排名
文章目錄
- 前言
- 一、信號(hào)線
- 二、SCCB數(shù)據(jù)傳輸格式
- 三、SCCB寫(xiě)(與IIC完全一致)
- 四、SCCB讀
- 五、SCCB和IIC的區(qū)別
前言
IIC接口有比較廣泛的應(yīng)用,而SCCB(Serial Camera Control Bus,串行攝像頭控制總線)是由OV(OmniVision的簡(jiǎn)稱)公司定義和發(fā)展的三線式串行總線,該總線控制著攝像頭大部分的功能,包括圖像數(shù)據(jù)格式、分辨率以及圖像處理參數(shù)等。主要用于攝像頭控制,可以說(shuō)SCCB是低配版的IIC。因?yàn)镮IC可以實(shí)現(xiàn)多主多從,IIC規(guī)范文檔中有提到多主機(jī)的時(shí)鐘同步、總線仲裁功能。而SCCB的文檔中則沒(méi)有這部分內(nèi)容,因?yàn)橐话銇?lái)說(shuō)都是單個(gè)主機(jī)控制多個(gè)攝像頭,只有一主多從的功能。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、信號(hào)線
IIC只有兩根信號(hào)線,SCCB的SIO_C、SIO_D和IIC的SCL、SDA分別對(duì)應(yīng),SCCB額外還有SCCB_E和PWDN兩根控制線,這個(gè)影響不大。
SDA和SCL都是需要靠電阻上拉的,硬件設(shè)計(jì)上需要注意這一點(diǎn)。IIC的Ultra-Fast模式下,能夠達(dá)到5MHz的傳輸速率,這時(shí)在硬件上,IIC采用的是推挽輸出,為了進(jìn)行區(qū)分,相應(yīng)的信號(hào)稱為USDA和USCL,僅在這時(shí)是不需要上拉電阻的。
SCCB如果要實(shí)現(xiàn)一主多從的話,需要用三根線,除了SIO_C和SIO_D,還有一根SCCB_E。而如果僅控制一個(gè)攝像頭,那么可以只用兩根線SIO_C和SIO_D。
二、SCCB數(shù)據(jù)傳輸格式
所謂數(shù)據(jù)傳輸?shù)母袷骄褪窃谝粋€(gè)啟動(dòng)信號(hào)和停止信號(hào)之間的內(nèi)容,每一次傳輸作為一個(gè)傳輸周期。SCCB接口主要實(shí)現(xiàn)目的寄存器的讀寫(xiě)功能。有三種基本操作,分別是“3-Phase Write”、“2-Phase Write”和“2-Phase Read”
Phase Write
這里的IP address類似IIC的從機(jī)地址;sub-address是從機(jī)內(nèi)的寄存器地址,也就是攝像頭的一些控制寄存器的地址;最后就是要寫(xiě)入該寄存器的數(shù)據(jù)。
Phase Write
與3-Phase Write相比,2-Phase Write只是確定了要訪問(wèn)的寄存器,但是沒(méi)有往里面寫(xiě)數(shù)據(jù)。2-Phase Write后一定會(huì)有一個(gè)2-Phase Read,兩者一起構(gòu)成一個(gè)完整的讀操作。
Phase Read
2-Phase Read即讀取目標(biāo)寄存器的數(shù)據(jù),它的前面一定要有一個(gè)3-Phase Write或者2-Phase Write用來(lái)明確目的寄存器的地址。
三、SCCB寫(xiě)(與IIC完全一致)
即:start + phase_1 + phase_2 + phase_3 + stop
“X”的意思是“don’t care”,該位是由從機(jī)發(fā)出應(yīng)答信號(hào)來(lái)響應(yīng)主機(jī)表示當(dāng)前ID Address、Sub-address和Write Data是否傳輸完成,但是從機(jī)有可能不發(fā)出應(yīng)答信號(hào),因此主機(jī)(此處指FPGA)可不用判斷此處是否有應(yīng)答,直接默認(rèn)當(dāng)前傳輸完成即可?!癤”即IIC中的ACK應(yīng)答位。
四、SCCB讀
在IIC讀傳輸協(xié)議中,寫(xiě)完寄存器地址后會(huì)有restart即重復(fù)開(kāi)始的操作;而SCCB讀傳輸協(xié)議中沒(méi)有重復(fù)開(kāi)始的概念,在寫(xiě)完寄存器地址后,需發(fā)起總線停止信號(hào)。
即:start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_3 + phase_4 + stop_2
五、SCCB和IIC的區(qū)別
1.SCCB的應(yīng)答位稱為X,表示“don’t care”,而IIC應(yīng)答位稱為ACK。
2.SCCB只能單次讀,而IIC除了單次讀還支持連續(xù)讀。
3.SCCB讀操作中間有stop,而IIC讀操作中間可以有stop也可以不需要stop,具體表現(xiàn)如下
SCCB讀:start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_3 + phase_4 + stop_2
IIC讀:start_1 + phase_1 + phase_2 + + start_2 + phase_3 + phase_4 + stop_2
除去上面三點(diǎn),SCCB和IIC再無(wú)區(qū)別,因此如果只需要配置寄存器(只用到寫(xiě)),可以直接拿IIC的時(shí)序來(lái)當(dāng)做SCCB用,如果需要讀,讀操作中間必須有一個(gè)stop。