SCCB 匯流排和I2C匯流排區別(轉載 )

來源:互聯網
上載者:User

轉載地址:user1/2524/archives/2008/49949.html

SCCB匯流排

      
 
  

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地址,從而三相寫資料變為了兩相寫資料,由於本系統只需對有限個不連續寄存器進行配置,如果採用對全部寄存器都加以配置這一方法的話,會浪費很多時間和資源,所以我們只對需要更改資料的寄存器進行寫資料。對於每一個需更改的寄存器,都採用三相寫資料的方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.