久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > SCCB總線與IIC區別

SCCB總線與IIC區別

作者: 時間:2016-12-15 來源:網絡 收藏
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的讀周期,則增加一個總線停止條件。

本文引用地址:http://cqxgywz.com/article/201612/330240.htm

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總線II

評論


技術專區

關閉