久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

歡迎(ying)來到高端(duan)IT就業培訓專家——華清遠見教(jiao)育科技集團

400-611-6270

當前位置:IT培訓 > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > i2c協議的特點是什么,老司機帶你深入了解
i2c協議的特點是什么,老司機帶你深入了解
時間:2018-04-20作(zuo)者:華清遠見(jian)

I2C總線(xian)是由Philips公司開(kai)發的(de)一(yi)種簡(jian)單(dan)、雙(shuang)向(xiang)二線(xian)制(zhi)同步串行總線(xian)。它只需(xu)要兩根線(xian)(一(yi)根數據線(xian)SDA,一(yi)根時鐘線(xian)SCL)即可在連(lian)接(jie)于(yu)總線(xian)上的(de)器件之間傳送(song)信息。

在I2C總線中, 各部(bu)分器件如下:

主機初始化發送(song),產生時鐘信號和終止發送(song)的器(qi)件(jian)

從器(qi)件被主(zhu)機尋址的器(qi)件

發(fa)送器發(fa)送數據到總線(xian)的(de)器件

接收器從(cong)總線接收數據(ju)的(de)器件(jian)

多主(zhu)機同時有多于(yu)一個主(zhu)機嘗試(shi)控制總(zong)線(xian)但不破壞報(bao)文

仲(zhong)裁是一(yi)個在有(you)多個主(zhu)機同時嘗試控制總線(xian),但只(zhi)允(yun)許(xu)其中(zhong)一(yi)個控制總線(xian)并使報(bao)文不被破壞的過程

 同(tong)步兩個(ge)或多個(ge)器件同(tong)步時鐘信(xin)號的過程(cheng)

主(zhu)(zhu)機(ji)(ji)用于啟(qi)動總(zong)線傳(chuan)送(song)數據(ju)(ju)(ju),并產(chan)(chan)生(sheng)(sheng)時鐘以開(kai)放傳(chuan)送(song)的(de)器(qi)(qi)(qi)(qi)件(jian)(jian),此(ci)時任何被尋址(zhi)的(de)器(qi)(qi)(qi)(qi)件(jian)(jian)均被認為是從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian).在(zai)(zai)總(zong)線上主(zhu)(zhu)和從(cong)(cong)(cong)、發(fa)和收(shou)的(de)關系不(bu)是恒定(ding)的(de),而取決于此(ci)時數據(ju)(ju)(ju)傳(chuan)送(song)方向。如(ru)果主(zhu)(zhu)機(ji)(ji)要發(fa)送(song)數據(ju)(ju)(ju)給從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian),則主(zhu)(zhu)機(ji)(ji)首先尋址(zhi)從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian),然(ran)后(hou)主(zhu)(zhu)動發(fa)送(song)數據(ju)(ju)(ju)至從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian),最(zui)后(hou)由(you)主(zhu)(zhu)機(ji)(ji)終(zhong)止數據(ju)(ju)(ju)傳(chuan)送(song);如(ru)果主(zhu)(zhu)機(ji)(ji)要接收(shou)從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian)的(de)數據(ju)(ju)(ju),首先由(you)主(zhu)(zhu)機(ji)(ji)尋址(zhi)從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian).然(ran)后(hou)主(zhu)(zhu)機(ji)(ji)接收(shou)從(cong)(cong)(cong)器(qi)(qi)(qi)(qi)件(jian)(jian)發(fa)送(song)的(de)數據(ju)(ju)(ju),最(zui)后(hou)由(you)主(zhu)(zhu)機(ji)(ji)終(zhong)止接收(shou)過程。在(zai)(zai)這種情況下.主(zhu)(zhu)機(ji)(ji)負責產(chan)(chan)生(sheng)(sheng)定(ding)時時鐘和終(zhong)止數據(ju)(ju)(ju)傳(chuan)送(song)。

I2C協議有如下(xia)幾個特(te)點:

1.在硬件(jian)上(shang),I2C總(zong)線(xian)只(zhi)需要一根數據線(xian)和一根時鐘線(xian)兩根線(xian),總(zong)線(xian)接口已經(jing)集成(cheng)(cheng)在芯片(pian)內部(bu),不需要特殊的接口電(dian)路(lu),而且片(pian)上(shang)接口電(dian)路(lu)的濾波器可(ke)以濾去總(zong)線(xian)數據上(shang)的毛刺.因(yin)此I2C總(zong)線(xian)簡(jian)化(hua)(hua)了硬件(jian)電(dian)路(lu)PCB布(bu)線(xian),降低了系統成(cheng)(cheng)本,提(ti)高了系統可(ke)靠性。因(yin)為I2C芯片(pian)除了這兩根線(xian)和少(shao)量中斷(duan)線(xian),與系統再沒(mei)有連(lian)接的線(xian),用戶(hu)常用I2C可(ke)以很容易形成(cheng)(cheng)標(biao)準化(hua)(hua)和模塊(kuai)化(hua)(hua),便(bian)于重復(fu)利用。

2.發(fa)(fa)送到(dao)SDA 線上的(de)(de)每(mei)個(ge)字(zi)節必須為(wei)8 位,每(mei)次傳輸可以發(fa)(fa)送的(de)(de)字(zi)節數(shu)(shu)量不受(shou)限(xian)制。每(mei)個(ge)字(zi)節后必須跟一(yi)個(ge)響應位。首先(xian)傳輸的(de)(de)是(shi)數(shu)(shu)據的(de)(de)最高位(MSB),如果從機(ji)要完成(cheng)一(yi)些其他功(gong)能后(例(li)如一(yi)個(ge)內(nei)部中斷服務(wu)程序)才能接收(shou)或(huo)發(fa)(fa)送下一(yi)個(ge)完整的(de)(de)數(shu)(shu)據字(zi)節,可以使(shi)時(shi)鐘線SCL 保持低電平,迫使(shi)主機(ji)進(jin)入等待狀態,當從機(ji)準備(bei)好接收(shou)下一(yi)個(ge)數(shu)(shu)據字(zi)節并釋放時(shi)鐘線SCL 后數(shu)(shu)據傳輸繼續。

3. I2C總線是一個真(zhen)正的(de)多主機總線,如果兩(liang)個或多個主機同時初始化數據傳輸,可(ke)以通過沖突(tu)檢測和(he)仲裁防止(zhi)數據破壞(huai),每個連(lian)接到總線上的(de)器(qi)件(jian)都有唯一的(de)地址,任(ren)何器(qi)件(jian)既(ji)可(ke)以作為主機也可(ke)以作為從機,但同一時刻只(zhi)允許(xu)有一個主機。數據傳輸和(he)地址設(she)定(ding)由軟件(jian)設(she)定(ding),非常(chang)靈活。總線上的(de)器(qi)件(jian)增加和(he)刪除不影響其他器(qi)件(jian)正常(chang)工(gong)作。

4. I2C總(zong)線上(shang)的(de)(de)每一個設(she)備(bei)(bei)都可(ke)以作(zuo)為主(zhu)(zhu)設(she)備(bei)(bei)或者從設(she)備(bei)(bei),而且(qie)每一個設(she)備(bei)(bei)都會對應一個唯一的(de)(de)地(di)址(可(ke)以從I2C器(qi)件的(de)(de)數據手(shou)冊得(de)知(zhi)),主(zhu)(zhu)從設(she)備(bei)(bei)之間就(jiu)通過這個地(di)址來(lai)確定與哪(na)個器(qi)件進行通信,在(zai)通常的(de)(de)應用(yong)中,我(wo)們把CPU帶I2C總(zong)線接口的(de)(de)模塊(kuai)作(zuo)為主(zhu)(zhu)設(she)備(bei)(bei),把掛接在(zai)總(zong)線上(shang)的(de)(de)其他設(she)備(bei)(bei)都作(zuo)為從設(she)備(bei)(bei)。

I2C協議規定,總線上數據的(de)傳(chuan)輸(shu)必須以一個(ge)起始(shi)信號(hao)作為(wei)開始(shi)條件(jian)(jian),以一個(ge)結束信號(hao)作為(wei)傳(chuan)輸(shu)的(de)停(ting)(ting)止(zhi)條件(jian)(jian)。起始(shi)和結束信號(hao)總是由(you)主(zhu)設備(bei)產(chan)(chan)生(sheng)。總線在(zai)空閑(xian)狀(zhuang)態時,SCL和SDA都保持著(zhu)高(gao)電平(ping),當SCL為(wei)高(gao)電平(ping)而SDA由(you)高(gao)到(dao)低(di)的(de)跳變,表示產(chan)(chan)生(sheng)一個(ge)起始(shi)條件(jian)(jian);當SCL為(wei)高(gao)而SDA由(you)低(di)到(dao)高(gao)的(de)跳變,表示產(chan)(chan)生(sheng)一個(ge)停(ting)(ting)止(zhi)條件(jian)(jian)。在(zai)起始(shi)條件(jian)(jian)產(chan)(chan)生(sheng)后,總線處(chu)于忙狀(zhuang)態,由(you)本次數據傳(chuan)輸(shu)的(de)主(zhu)從設備(bei)獨占,其他I2C器件(jian)(jian)無法訪問總線;而在(zai)停(ting)(ting)止(zhi)條件(jian)(jian)產(chan)(chan)生(sheng)后,本次數據傳(chuan)輸(shu)的(de)主(zhu)從設備(bei)將釋放總線,總線再次處(chu)于空閑(xian)狀(zhuang)態。

I2C的通(tong)訊都由主機(ji)發起,clk為(wei)(wei)高(gao)電平時,sda從(cong)高(gao)到低; 從(cong)器件發現這樣一組(zu)信號,就(jiu)(jiu)認(ren)為(wei)(wei)主機(ji)要(yao)開始操作自己了,做(zuo)好接收(shou)的準備工作。主機(ji)發送了開始位(wei)后,把clk拉低,只有(you)clk拉低,sda才(cai)可(ke)以做(zuo)高(gao)低變化; 當clk被拉高(gao)時,從(cong)器件就(jiu)(jiu)會去讀(du)取(qu)(qu)sda的高(gao)低電平值;clk再次(ci)被拉低時,從(cong)器件認(ren)為(wei)(wei)此位(wei)已讀(du)取(qu)(qu)完畢,認(ren)為(wei)(wei)是有(you)效位(wei),等待clk再次(ci)拉高(gao),讀(du)取(qu)(qu)下(xia)一位(wei)。

主(zhu)機發送完8位(wei)后,第(di)9位(wei)是(shi)校驗位(wei),讀取到低電平為有效;主(zhu)設(she)備(bei)把clk拉(la)低,sdaio換成(cheng)輸入模式(上拉(la)電阻,默認(ren)高電平)讀取第(di)9位(wei),clk再(zai)次拉(la)高,讀取從設(she)備(bei)發來的校驗位(wei)。

如圖所(suo)示時序圖

i2c協議

對I2C總(zong)線的操作實際就是主從設備之間的讀寫(xie)操作。大致(zhi)可(ke)分(fen)為以下(xia)三(san)種操作情況:

第(di)一種,主設備(bei)往從設備(bei)中(zhong)寫數(shu)據。數(shu)據傳輸(shu)格式(shi)如(ru)下:

i2c協議

第二種,主設備從從設備中(zhong)讀數(shu)據。數(shu)據傳輸格式如下:

i2c協議

第三種,主(zhu)設備(bei)(bei)往從(cong)設備(bei)(bei)中寫(xie)數據,然后重啟(qi)(qi)起(qi)(qi)始(shi)條件,緊接著從(cong)從(cong)設備(bei)(bei)中讀(du)取(qu)數據;或者是主(zhu)設備(bei)(bei)從(cong)從(cong)設備(bei)(bei)中讀(du)數據,然后重啟(qi)(qi)起(qi)(qi)始(shi)條件,緊接著主(zhu)設備(bei)(bei)往從(cong)設備(bei)(bei)中寫(xie)數據。數據傳輸格式如(ru)下:

i2c協議

第(di)三種操作在單個主設備系統中,重復的開啟起始(shi)條(tiao)件機制(zhi)要(yao)比用(yong)STOP終(zhong)止(zhi)傳(chuan)輸(shu)后又(you)再次開啟總線更有(you)效率。


發表評論

全國(guo)咨(zi)詢電話:400-611-6270,雙(shuang)休日(ri)及節假日(ri)請(qing)致電值班手(shou)機:15010390966

在線(xian)咨詢: 曹老(lao)師QQ(3337544669), 徐(xu)老(lao)師QQ(1462495461), 劉老(lao)師 QQ(3108687497)

企業培訓洽(qia)談(tan)專(zhuan)線(xian):010-82600901,院校合作洽(qia)談(tan)專(zhuan)線(xian):010-82600350,在線(xian)咨詢:QQ(248856300)

Copyright 2004-2018 華清遠見教(jiao)育(yu)科技集(ji)團 版(ban)權所有 ,京(jing)(jing)ICP備(bei)16055225號(hao),京(jing)(jing)公海網安備(bei)11010802025203號(hao)

有(you)位老(lao)師想和您聊(liao)一聊(liao)