新聞中心

        SCCB總線與IIC區(qū)別

        作者: 時(shí)間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
        SCCB是簡(jiǎn)化的I2C協(xié)議,SIO-l是串行時(shí)鐘輸入線,SIO-O是串行雙向數(shù)據(jù)線,分別相當(dāng)于I2C協(xié)議的SCL和SDA。SCCB的總線時(shí)序與I2C基本相同,它的響應(yīng)信號(hào)ACK被稱為一個(gè)傳輸單元的第9位,分為Don’t care和NA。Don’t care位由從機(jī)產(chǎn)生;NA位由主機(jī)產(chǎn)生,由于SCCB不支持多字節(jié)的讀寫,NA位必須為高電平。另外,SCCB沒有重復(fù)起始的概念,因此在SCCB的讀周期中,當(dāng)主機(jī)發(fā)送完片內(nèi)寄存器地址后,必須發(fā)送總線停止條件。不然在發(fā)送讀命令時(shí),從機(jī)將不能產(chǎn)生Don’t care響應(yīng)信號(hào)。

        由于I2C和SCCB的一些細(xì)微差別,所以采用GPIO模擬SCCB總線的方式。SCL所連接的引腳始終設(shè)為輸出方式,而SDA所連接的引腳在數(shù)據(jù)傳輸過程中,通過設(shè)置IODIR的值,動(dòng)態(tài)改變引腳的輸入/輸出方式。SCCB的寫周期直接使用I2C總線協(xié)議的寫周期時(shí)序;而SC-CB的讀周期,則增加一個(gè)總線停止條件。

        本文引用地址:http://www.104case.com/article/201612/330240.htm

        SCCB是和I2C相同的一個(gè)協(xié)議。 SIO_C和SIO_D分別為SCCB總線的時(shí)鐘線和數(shù)據(jù)線。目前,SCCB總線通信協(xié)議只支持100Kb/s或400Kb/s的傳輸速度,并且支持兩種地址形式:①從設(shè)備地址(ID Address,8bit),分為讀地址和寫地址,高7位用于選中芯片, 第0位是讀/寫控制位(R/W),決定是對(duì)該芯片進(jìn)行讀或?qū)懖僮鳎虎趦?nèi)部寄存器單元地址(Sub_ Address,8bit),用于決定對(duì)內(nèi)部的哪個(gè)寄存器單元進(jìn)行操作,通常還支持地址單元連續(xù)的多字節(jié)順序讀寫操作。SCCB控制總線功能的實(shí)現(xiàn)完全是依靠SIO_C、SIO_D兩條總線上電平的狀態(tài)以及兩者之間的相互配合實(shí)現(xiàn)的。SCCB總線傳輸?shù)膯?dòng)和停止條件如圖

        過程:采用簡(jiǎn)單的三相(Phase)寫數(shù)據(jù)的方式,即在寫寄存器的過程中先發(fā)送OV7649的ID地址(ID Address),然后發(fā)送寫數(shù)據(jù)的目地寄存器地址(Sub_address),最后發(fā)送要寫入的數(shù)據(jù)(Write Data),見圖3。如果給連續(xù)的寄存器寫數(shù)據(jù),寫完一個(gè)寄存器后,OV7649會(huì)自動(dòng)把寄存器地址加1,程序可繼續(xù)向下寫,而不需要再次輸入ID地址,從而三相寫數(shù)據(jù)變?yōu)榱藘上鄬憯?shù)據(jù),由于本系統(tǒng)只需對(duì)有限個(gè)不連續(xù)寄存器進(jìn)行配置,如果采用對(duì)全部寄存器都加以配置這一方法的話,會(huì)浪費(fèi)很多時(shí)間和資源,所以我們只對(duì)需要更改數(shù)據(jù)的寄存器進(jìn)行寫數(shù)據(jù)。對(duì)于每一個(gè)需更改的寄存器,都采用三相寫數(shù)據(jù)的方法。



        關(guān)鍵詞: SCCB總線II

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 渭源县| 东乡县| 安阳市| 平泉县| 衡水市| 嘉峪关市| 海晏县| 文昌市| 甘谷县| 武平县| 梁河县| 霞浦县| 雷山县| 天气| 山西省| 建湖县| 永泰县| 青田县| 禹州市| 凤冈县| 曲松县| 普安县| 田东县| 崇义县| 霍州市| 秦安县| 湛江市| 阿城市| 平顺县| 岚皋县| 龙南县| 台中市| 宾阳县| 三江| 松滋市| 绥江县| 黔东| 瓦房店市| 遂平县| 大冶市| 安陆市|