IIC 工作原理

轉(zhuǎn)載一遍寫的比較清晰的博客

http://blog.sina.com.cn/s/blog_71c0df0d0101qci6.html
圖11-1給出一個(gè)由MCU作為主機(jī)和敬,通過(guò)IIC總線帶3個(gè)從機(jī)的單主機(jī)IIC總線系統(tǒng)。這是最常用戏阅、最典型的IIC總線連接方式。

image

物理結(jié)構(gòu)上啤它,IIC系統(tǒng)由一條串行數(shù)據(jù)線SDA和一條串行時(shí)鐘線SCL組成奕筐。主機(jī)按一定的通信協(xié)議向從機(jī)尋址和進(jìn)行信息 傳輸。在數(shù)據(jù)傳輸時(shí)变骡,由主機(jī)初始化一次數(shù)據(jù)傳輸离赫,主機(jī)使數(shù)據(jù)在SDA線上傳輸?shù)耐瑫r(shí)還通過(guò)SCL線傳輸時(shí)鐘。信息傳輸?shù)膶?duì)象和方向以及信息傳輸?shù)拈_始和終 止均由主機(jī)決定塌碌。
每個(gè)器件都有一個(gè)唯一的地址渊胸,而且可以是單接收的器件(例如:LCD驅(qū)動(dòng)器)或者可以接收也可以發(fā)送的器件(例如:存儲(chǔ)器)。發(fā)送器或接收器可以在主模式或從模式下操作台妆,這取決于芯片是否必須啟動(dòng)數(shù)據(jù)的傳輸還是僅僅被尋址翎猛。
1.總線上數(shù)據(jù)的有效性

image

<wbr>
IIC總線是以串行方式傳輸數(shù)據(jù),從數(shù)據(jù)字節(jié)的最高位開始傳送接剩,每一個(gè)數(shù)據(jù)位在SCL上都有一個(gè)時(shí)鐘脈沖相對(duì)應(yīng)切厘。在時(shí)鐘線高電平期間數(shù)據(jù)線上必須保持穩(wěn)定 的邏輯電平狀態(tài),高電平為數(shù)據(jù)1懊缺,低電平為數(shù)據(jù)0疫稿。只有在時(shí)鐘線為低電平時(shí),才允許數(shù)據(jù)線上的電平狀態(tài)變化,如圖11-2所示遗座。

2.總線上的信號(hào)
IIC總線在傳送數(shù)據(jù)過(guò)程中共有四種類型信號(hào)舀凛,它們分別是:開始信號(hào)、停止信號(hào)途蒋、重新開始信號(hào)和應(yīng)答信號(hào)猛遍。
開始信號(hào)(START):如圖11-3所示,當(dāng)SCL為高電平時(shí)碎绎,SDA由高電平向低電平跳變螃壤,產(chǎn)生開始信號(hào)。當(dāng)總線空閑的時(shí)候筋帖,例如奸晴,沒(méi)有主動(dòng)設(shè)備在使用總線(SDA和SCL都處于高電平),主機(jī)通過(guò)發(fā)送開始(START)信號(hào)建立通信日麸。

image

停止信號(hào)(STOP):如圖11-3所示寄啼,當(dāng)SCL為高電平時(shí),SDA由低電平向高電平跳變代箭,產(chǎn)生停止信號(hào)墩划。主機(jī)通過(guò)發(fā)送停止信號(hào),結(jié)束數(shù)據(jù)通信嗡综。
重新開始信號(hào)(Repeated START):在IIC總線上乙帮,由主機(jī)發(fā)送一個(gè)開始信號(hào)啟動(dòng)一次通信后,在首次發(fā)送停止信號(hào)之前极景,主機(jī)通過(guò)發(fā)送重新開始信號(hào)察净,可以轉(zhuǎn)換與當(dāng)前從機(jī)的通信模 式,或是切換到與另一個(gè)從機(jī)通信盼樟。如圖11-3所示氢卡,當(dāng)SCL為高電平時(shí),SDA由高電平向低電平跳變晨缴,產(chǎn)生重新開始信號(hào)译秦,它的本質(zhì)就是一個(gè)開始信號(hào)。

image

應(yīng)答信號(hào)(A):接收數(shù)據(jù)的IC在接收到8位數(shù)據(jù)后击碗,向發(fā)送數(shù)據(jù)的IC發(fā)出的特定的低電平脈沖筑悴。每一個(gè)數(shù)據(jù)字節(jié)后面都要 跟一位應(yīng)答信號(hào),表示已收到數(shù)據(jù)稍途。應(yīng)答信號(hào)在第9個(gè)時(shí)鐘周期出現(xiàn)雷猪,這時(shí)發(fā)送器必須在這一時(shí)鐘位上釋放數(shù)據(jù)線,由接收設(shè)備拉低SDA電平來(lái)產(chǎn)生應(yīng)答信號(hào)晰房,由 接收設(shè)備保持SDA的高電平來(lái)產(chǎn)生非應(yīng)答信號(hào)(A(—))求摇,如圖11-4所示射沟。所以,一個(gè)完整的字節(jié)數(shù)據(jù)傳輸需要9個(gè)時(shí)鐘脈沖与境。如果從機(jī)作為接收方向主機(jī) 發(fā)送非應(yīng)答信號(hào)验夯,這樣,主機(jī)方就認(rèn)為此次數(shù)據(jù)傳輸失斔さ蟆挥转;如果是主機(jī)作為接收方,在從機(jī)發(fā)送器發(fā)送完一個(gè)字節(jié)數(shù)據(jù)后共屈,發(fā)送了非應(yīng)答信號(hào)绑谣,從機(jī)就認(rèn)為數(shù)據(jù)傳輸 結(jié)束,并釋放SDA線拗引。不論是以上哪種情況都會(huì)終止數(shù)據(jù)傳輸借宵,這時(shí),主機(jī)或是產(chǎn)生停止信號(hào)釋放總線矾削,或是產(chǎn)生重新開始信號(hào)壤玫,開始一次新的通信。開始信號(hào)哼凯、 重新開始信號(hào)和停止信號(hào)都是由主控制器產(chǎn)生欲间,應(yīng)答信號(hào)由接收器產(chǎn)生,總線上帶有IIC總線接口的器件很容易檢測(cè)到這些信號(hào)断部。

3.總線上數(shù)據(jù)傳輸格式
一般情況下猎贴,一個(gè)標(biāo)準(zhǔn)的IIC通信由四部分組成:開始信號(hào)、從機(jī)地址傳輸蝴光、數(shù)據(jù)傳輸嘱能、停止信號(hào)。
由主機(jī)發(fā)送一個(gè)開始信號(hào)虱疏,啟動(dòng)一次IIC通信;在主機(jī)對(duì)從機(jī)尋址后苏携,再在總線上傳輸數(shù)據(jù)做瞪。IIC總線上傳送的每一個(gè)字節(jié)均為8位,首先發(fā)送的數(shù)據(jù)位為最高 位右冻,每傳送一個(gè)字節(jié)后都必須跟隨一個(gè)應(yīng)答位装蓬,每次通信的數(shù)據(jù)字節(jié)數(shù)是沒(méi)有限制的;在全部數(shù)據(jù)傳送結(jié)束后纱扭,由主機(jī)發(fā)送停止信號(hào)牍帚,結(jié)束通信。

image

圖11-5所示乳蛾,時(shí)鐘線為低電平時(shí)數(shù)據(jù)傳送將停止進(jìn)行暗赶。這種情況可以用于當(dāng)接收器接收到一個(gè)字節(jié)數(shù)據(jù)后要進(jìn)行一些其它工 作而無(wú)法立即接收下一個(gè)數(shù)據(jù)時(shí)鄙币,迫使總線進(jìn)入等待狀態(tài),直到接收器準(zhǔn)備好接收新數(shù)據(jù)時(shí)蹂随,接收器再釋放時(shí)鐘線使數(shù)據(jù)傳送得以繼續(xù)正常進(jìn)行十嘿。例如,當(dāng)接收器接 收完主控制器的一個(gè)字節(jié)數(shù)據(jù)后岳锁,產(chǎn)生中斷信號(hào)并進(jìn)行中斷處理绩衷,中斷處理完畢才能接收下一個(gè)字節(jié)數(shù)據(jù),這時(shí)接收器在中斷處理時(shí)將鉗住SCL為低電平激率,直到中 斷處理完畢才釋放SCL咳燕。

4.IIC總線尋址約定 為了消除IIC總線系統(tǒng)中主控器與被控器的地址選擇線,最大限度地簡(jiǎn)化總線連接線乒躺,IIC總線采用了獨(dú)特的尋址約定招盲,規(guī)定了開始信號(hào)后的第一個(gè)字節(jié)為尋址字節(jié),用來(lái)尋址被控器件聪蘸,并規(guī)定數(shù)據(jù)傳送方向宪肖。

在IIC總線系統(tǒng)中,尋址字節(jié)由被控器的七位地址位(它占據(jù)了D7-D1位)和一位方向位(為D0位)組成健爬。方向位為0時(shí)表示主控器將數(shù)據(jù)寫入被控器控乾,為 1時(shí)表示主控器從被控器讀取數(shù)據(jù)。主控器發(fā)送開始信號(hào)后娜遵,立即發(fā)送尋址字節(jié)蜕衡,這時(shí),總線上的所有器件都將尋址字節(jié)中的7位地址與自己器件地址比較设拟。如果兩 者相同慨仿,則該器件認(rèn)為被主控器尋址,并發(fā)送應(yīng)答信號(hào)纳胧,被控器根據(jù)讀镰吆,寫位確定自身是作為發(fā)送器還是接收器。

主器件作為被控器時(shí)跑慕,其7位從地址在IIC總線地址寄存器中給定万皿,為純軟件地址。而非單片機(jī)類型的外圍器件地址完全由器件類型與引腳電平給定核行。IIC總線系統(tǒng)中牢硅,沒(méi)有兩個(gè)從機(jī)的地址是相同的。主控器不應(yīng)該傳輸一個(gè)和它本身的從地址相同的地址芝雪。

5.主機(jī)向從機(jī)讀寫1個(gè)字節(jié)數(shù)據(jù)的過(guò)程
如圖11-6所示减余,主機(jī)要向從機(jī)寫1個(gè)字節(jié)數(shù)據(jù)時(shí),主機(jī)首先產(chǎn)生START信號(hào)惩系,然后緊跟著發(fā)送一個(gè)從機(jī)地址位岔,這個(gè)地址共有7位如筛,緊接著的第8位是數(shù)據(jù)方 向位(R/W),0表示主機(jī)發(fā)送數(shù)據(jù)(寫)赃承,1表示主機(jī)接收數(shù)據(jù)(讀)妙黍,這時(shí)候主機(jī)等待從機(jī)的應(yīng)答信號(hào)(A),當(dāng)主機(jī)收到應(yīng)答信號(hào)時(shí)瞧剖,發(fā)送要訪問(wèn)的地址拭嫁, 繼續(xù)等待從機(jī)的應(yīng)答信號(hào),當(dāng)主機(jī)收到應(yīng)答信號(hào)時(shí)抓于,發(fā)送1個(gè)字節(jié)的數(shù)據(jù)做粤,繼續(xù)等待從機(jī)的應(yīng)答信號(hào),當(dāng)主機(jī)收到應(yīng)答信號(hào)時(shí)捉撮,產(chǎn)生停止信號(hào)怕品,結(jié)束傳送過(guò)程。

image

如圖11-7所示巾遭,主機(jī)要從從機(jī)讀1個(gè)字節(jié)數(shù)據(jù)時(shí)肉康,主機(jī)首先產(chǎn)生START信號(hào),然后緊跟著發(fā)送一個(gè)從機(jī)地址灼舍,注意此時(shí)該地址的第8位為0吼和,表明是向從機(jī) 寫命令,這時(shí)候主機(jī)等待從機(jī)的應(yīng)答信號(hào)(A)骑素,當(dāng)主機(jī)收到應(yīng)答信號(hào)時(shí)炫乓,發(fā)送要訪問(wèn)的地址,繼續(xù)等待從機(jī)的應(yīng)答信號(hào)献丑,當(dāng)主機(jī)收到應(yīng)答信號(hào)后末捣,主機(jī)要改變通信 模式(主機(jī)將由發(fā)送變?yōu)榻邮眨瑥臋C(jī)將由接收變?yōu)榘l(fā)送)所以主機(jī)發(fā)送重新開始信號(hào)创橄,然后緊跟著發(fā)送一個(gè)從機(jī)地址箩做,注意此時(shí)該地址的第8位為1,表明將主機(jī)設(shè) 置成接收模式開始讀取數(shù)據(jù)妥畏,這時(shí)候主機(jī)等待從機(jī)的應(yīng)答信號(hào)邦邦,當(dāng)主機(jī)收到應(yīng)答信號(hào)時(shí),就可以接收1個(gè)字節(jié)的數(shù)據(jù)咖熟,當(dāng)接收完成后,主機(jī)發(fā)送非應(yīng)答信號(hào)柳畔,表示不 在接收數(shù)據(jù)馍管,主機(jī)進(jìn)而產(chǎn)生停止信號(hào),結(jié)束傳送過(guò)程薪韩。

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末确沸,一起剝皮案震驚了整個(gè)濱河市捌锭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罗捎,老刑警劉巖观谦,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異桨菜,居然都是意外死亡豁状,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門倒得,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泻红,“玉大人,你說(shuō)我怎么就攤上這事霞掺∫曷罚” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵菩彬,是天一觀的道長(zhǎng)缠劝。 經(jīng)常有香客問(wèn)我,道長(zhǎng)骗灶,這世上最難降的妖魔是什么惨恭? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮矿卑,結(jié)果婚禮上喉恋,老公的妹妹穿的比我還像新娘。我一直安慰自己母廷,他們只是感情好轻黑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著琴昆,像睡著了一般氓鄙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上业舍,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天抖拦,我揣著相機(jī)與錄音,去河邊找鬼舷暮。 笑死态罪,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的下面。 我是一名探鬼主播复颈,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼沥割!你這毒婦竟也來(lái)了耗啦?” 一聲冷哼從身側(cè)響起凿菩,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帜讲,沒(méi)想到半個(gè)月后衅谷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡似将,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年获黔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玩郊。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肢执,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出译红,到底是詐尸還是另有隱情预茄,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布侦厚,位于F島的核電站耻陕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏刨沦。R本人自食惡果不足惜诗宣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望想诅。 院中可真熱鬧召庞,春花似錦、人聲如沸来破。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)徘禁。三九已至诅诱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間送朱,已是汗流浹背娘荡。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驶沼,地道東北人炮沐。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像回怜,于是被迫代替她去往敵國(guó)和親大年。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 圖11-1給出了一個(gè)由MCU作為主機(jī),通過(guò)IIC總線帶3個(gè)從機(jī)的單主機(jī)IIC總線系統(tǒng)鲜戒,這是最常用、最典型的IIC總...
    A_ck閱讀 4,790評(píng)論 0 5
  • 1抹凳、嵌入式系統(tǒng)的定義 (1)定義:以應(yīng)用為中心遏餐,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪赢底,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能失都、可靠性、成本...
    榮卓然閱讀 1,820評(píng)論 0 5
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo閱讀 3,707評(píng)論 1 20
  • ???本文主要介紹嵌入式系統(tǒng)的一些基礎(chǔ)知識(shí)幸冻,希望對(duì)各位有幫助粹庞。 嵌入式系統(tǒng)基礎(chǔ) 1、嵌入式系統(tǒng)的定義 (1)定義:...
    OpenJetson閱讀 3,307評(píng)論 0 13
  • 游歷了阿姆斯特丹洽损,印象最深刻的卻是紅燈區(qū)間那一條疏冷的運(yùn)河庞溜,映著正搔首弄姿的暈然燈火,愈顯得清寒碑定,似乎某個(gè)隱士淡淡...
    古池笑月閱讀 492評(píng)論 4 6