①IIC總線簡(jiǎn)介
②IIC總線協(xié)議與讀寫操作
③STM32 IIC控制器介紹
①IIC總線簡(jiǎn)介
IIC是inter integrated circuit的簡(jiǎn)稱,IIC是由PHILIPS公司開發(fā)的兩線式串行總線;該總線具有接口線少、易于控制、通訊速率高等有點(diǎn),在微電子控制領(lǐng)域被廣泛使用。
IIC總線具備以下特征:
1、同步通信,半雙工,以字節(jié)為傳輸單位;
2、兩條線路、SDA和SCL;
3、掛載在IIC總線上的設(shè)備均可為主設(shè)備、亦可為從設(shè)備;
4、具有3種傳輸速率,最高可達(dá)3.4Mbit/s;可通過總線時(shí)鐘的頻率和總線上拉電阻來配置傳輸速率;
5、多主機(jī)功能、7位和10位地址模式、可以軟件復(fù)位、1字節(jié)緩沖帶DMA功能;
IIC總線的物理連接如下圖:
SDA和SCL總線上會(huì)有上拉電阻,總線上可以掛在一定數(shù)量的設(shè)備通過總線進(jìn)行通訊、當(dāng)總線空閑時(shí)總線上處于高電平。
②IIC總線協(xié)議與讀寫操作
IIC總線協(xié)議包括:起始信號(hào)、終止信號(hào)、數(shù)據(jù)、應(yīng)答部分;
起始信號(hào):當(dāng)總線處于空閑狀態(tài)時(shí)SDA SCL兩根線上是高電平,若此時(shí)SDA由高變低、則定義為起始信號(hào);
終止信號(hào):當(dāng)SCL處于高電平時(shí),若此時(shí)SDA由低變高、則定義為終止信號(hào);
起始信號(hào)、終止信號(hào)顧名思義是通信的開始和終止,這兩個(gè)信號(hào)都有主設(shè)備發(fā)起;
數(shù)據(jù):可分為地址數(shù)據(jù)、和真實(shí)意義上的地址內(nèi)存儲(chǔ)的數(shù)據(jù);
應(yīng)答:應(yīng)答可以有應(yīng)答信號(hào)和非應(yīng)答信號(hào),該信號(hào)是跟在數(shù)據(jù)后面;
若主設(shè)備向從設(shè)備寫1個(gè)數(shù)據(jù)會(huì)有以下過程:
起始信號(hào)>從機(jī)地址+寫位ACK>寫入地址ACK>寫入數(shù)據(jù)ACK>終止信號(hào)
若主設(shè)備向從設(shè)備讀1個(gè)數(shù)據(jù)會(huì)有以下過程:
起始信號(hào)>從機(jī)地址+寫位ACK>要讀的地址ACK>起始信號(hào)>從機(jī)地址+讀位ACK>地址內(nèi)的數(shù)據(jù)NACK>終止信號(hào)
若讀多個(gè)數(shù)據(jù)就是“從機(jī)地址+讀位ACK>地址內(nèi)的數(shù)據(jù)NACK”重復(fù)幾次
③STM32 IIC控制器介紹
STM32這種芯片是具有IIC控制器的,這樣可以通過硬件產(chǎn)生IIC時(shí)序;但有些簡(jiǎn)單的單片機(jī)就可能沒有IIC控制器,那我們?nèi)绾?/span>與IIC設(shè)備通訊呢?答案就是軟件模擬IIC時(shí)序,軟件模擬IIC時(shí)序相比更加操作繁瑣、效率低。
STM32的IIC片上外設(shè)是用來專門實(shí)現(xiàn)IIC通訊協(xié)議的,我們只要配置好該外設(shè),就可以產(chǎn)生通訊信號(hào)、收發(fā)數(shù)據(jù)并緩存起來,CPU檢測(cè)外設(shè)的狀態(tài)和訪問數(shù)據(jù)寄存器就能完成數(shù)據(jù)的收發(fā),這樣減輕了CPU的工作負(fù)擔(dān)、使得軟件設(shè)計(jì)的效率提高。
以下是STM32 IIC控制器的框圖:
引腳對(duì)應(yīng)表:
-
控制器
+關(guān)注
關(guān)注
112文章
16103瀏覽量
177078 -
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354299 -
IIC總線
+關(guān)注
關(guān)注
1文章
66瀏覽量
20273 -
通信原理
+關(guān)注
關(guān)注
10文章
124瀏覽量
31727 -
總線協(xié)議
+關(guān)注
關(guān)注
0文章
115瀏覽量
14834
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論