一文詳解IIC總線_第1頁
一文詳解IIC總線_第2頁
一文詳解IIC總線_第3頁
一文詳解IIC總線_第4頁
一文詳解IIC總線_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第第頁一文詳解IIC總線IIC總線概述

IIC總線介紹

IIC(In(te)r-IntegratedCircuit)(集成電路)總線,它是一種兩線式串行(通信)總線,又叫(I2C),使用多主從架構(gòu),由飛利浦公司在1980年推出的。多用于主控制器和從器件間的主從通信,在小數(shù)據(jù)量場合使用,傳輸距離短,一般可達(dá)400kbps以上。IIC兩線制包括串行數(shù)據(jù)線和(時鐘)線,總線必須有主機(jī)控制,主機(jī)產(chǎn)生串行時鐘,控制總線的傳輸方向,并產(chǎn)生起始和停止條件。IIC總線上有主機(jī)和從機(jī)之分,可以有多個主機(jī)和從機(jī),從機(jī)永遠(yuǎn)不會主動給主機(jī)發(fā)消息。器件發(fā)送數(shù)據(jù)到總線上定義為發(fā)送器,期間接受總線上的數(shù)據(jù)定義為接收器,主器件和從器件都可以工作與發(fā)送和接收的狀態(tài)。

IIC通信方式:串行同步半雙工

主機(jī)從機(jī)都可以作為接收器和發(fā)送器使用,不同時間處于不同身份,換句話說就是同一時間只有接收或發(fā)送一種狀態(tài)。

IIC總線物理拓?fù)浣Y(jié)構(gòu)

理論上可以掛無數(shù)個設(shè)備,實(shí)際上掛載設(shè)備受兩線之間的干擾,有限制。

上拉電阻阻值范圍:4.7K~100K

設(shè)備之間要求共地線。

IIC總線主從設(shè)備通信

IIC通信中主機(jī)如何確定和那個從機(jī)通信?

IIC通信中尋找從設(shè)備根據(jù)設(shè)備地址查找,設(shè)備地址每個設(shè)備都有,可以分為10位和7位兩種,設(shè)備地址包含兩個部分:一部分是可(編程)地址,一部分是固定地址,具體每一部分占多少位有設(shè)計廠商決定,一般看手冊都能找到。

IIC總線和串口比較

名稱IIC總線(UART)通信方式串行同步半雙工串行異步全雙工通信速度標(biāo)準(zhǔn)100kbit/s,快速400k,高速3.4M由波特率決定主從設(shè)備有主從之分,主機(jī)產(chǎn)生時鐘無主從之分IIC總線數(shù)據(jù)幀

IIC數(shù)據(jù)幀格式

IIC標(biāo)準(zhǔn)數(shù)據(jù)幀格式:起始條件+數(shù)據(jù)位(8位:發(fā)送器發(fā)送到數(shù)據(jù)總線)+應(yīng)答位(接收器發(fā)送)+停止條件(MSB:高位LSB:低位)

起始條件:SCL高電平期間,SDA由高電平變?yōu)榈碗娖?/p>

數(shù)據(jù)位:時鐘上升沿采集數(shù)據(jù),下降沿準(zhǔn)備數(shù)據(jù),或者說只有在時鐘低電平時間允許數(shù)據(jù)位發(fā)生變化

應(yīng)答位:低電平表示應(yīng)答,高電平表示非應(yīng)答

停止條件:SCL在高電平期間,SDA由低電平變?yōu)楦唠娖?/p>

傳輸過程和串口不同:串口是以一幀數(shù)據(jù)為單位來傳輸?shù)?,每幀?shù)據(jù)都包含完整的起始位到停止位。IIC一次傳輸包含起始條件和停止條件,中間可以包含很多個8位數(shù)據(jù)。多個數(shù)據(jù)之間都會有應(yīng)答(信號),在傳輸最后一位數(shù)據(jù)時沒有應(yīng)答信號,也就表明數(shù)據(jù)傳輸結(jié)束了。

IIC總線時序

具體時序如下:該時序圖的時間是在100kbit/s的速度下使用的,如果提高速度,對應(yīng)的時間也應(yīng)該縮短。

IIC總線尋址方式

IIC尋址數(shù)據(jù)格式圖:

上圖是7位地址位尋址方式

方向位:確定是讀數(shù)據(jù)還是寫數(shù)據(jù)

IIC總線通信最先發(fā)送的數(shù)據(jù)是:設(shè)備地址+方向位

如果是10位地址尋址方式:

先將10位中的高三位地址取出來,高位補(bǔ)0,先發(fā)送出去,然后再將剩下的7位,加上方向位再進(jìn)行發(fā)送。也就是分兩個8位數(shù)據(jù)發(fā)送。10位地址時,設(shè)備會自動將前兩個8位數(shù)據(jù)判斷為地址數(shù)據(jù)。

IIC總線通信方式

IIC通訊的三種方式,這里需要注意的是數(shù)據(jù)線上的應(yīng)答和數(shù)據(jù)是由主機(jī)還是從機(jī)發(fā)出的,具體已在圖片中標(biāo)注出來。

只讀數(shù)據(jù):

只寫數(shù)據(jù):

讀寫切換:

(模擬)IIC總線

由于專利原因,ST公司在設(shè)計IIC接口時做得比較復(fù)雜,所以在實(shí)際使用中大部分情況都采用的是模擬IIC接口,在模擬時只需要兩個普通IO口就可實(shí)現(xiàn)IIC通訊。

IIC模擬IO口模式選擇:

SCL時鐘線:由主機(jī)驅(qū)動需要較強(qiáng)的高低電平驅(qū)動能力,一般配置為通用推挽輸出模式

SDA數(shù)據(jù)線:這里需要注意了,數(shù)據(jù)線上我們既要向外發(fā)送數(shù)據(jù),還要接收從機(jī)的應(yīng)答信號。所以這里有兩種方式可選。

1,通訊時切換IO口的工作模式

配置為開漏輸出

這里給大家解釋一下為什么可以使用開漏輸出,首先IIC通訊時(硬件)上已經(jīng)提供了上拉電阻,不需要考慮推挽輸出無法輸出高電平的問題了。其次大家可以查詢一下參考手冊的GPIO一章中對開漏模式的描述,官方說明在配置為開漏模式時,輸出數(shù)據(jù)(寄存器)依然工作,我們?nèi)匀豢梢酝ㄟ^讀取輸入數(shù)據(jù)寄存器來判斷數(shù)據(jù)線的電平狀態(tài)。那為什么不使用推挽呢?由于推挽輸出驅(qū)動能力較強(qiáng),為了避免從機(jī)出現(xiàn)無

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論