金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上

 找回密碼
 注冊

QQ登錄

只需一步,快速開(kāi)始

查看: 2560|回復: 2
打印 上一主題 下一主題

簡(jiǎn)單的I2C協(xié)議理解!

跳轉到指定樓層
1#
chsm-wgq 發(fā)表于 2009-5-29 11:15:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 來(lái)自 中國湖南長(cháng)沙

馬上注冊,結交更多好友,享用更多功能。

您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊

x
一、技術(shù)性能:
工作速率有100K和400K兩種;                     支持多機通訊;
支持多主控模塊,但同一時(shí)刻只允許有一個(gè)主控;      由數據線(xiàn)SDA和時(shí)鐘SCL構成的串行總線(xiàn);
每個(gè)電路和模塊都有唯一的地址;                    每個(gè)器件可以使用獨立電源但是必須共地
二、基本工作原理:
以啟動(dòng)信號START來(lái)掌管總線(xiàn),以停止信號STOP來(lái)釋放總線(xiàn);
每次通訊以START開(kāi)始,以STOP結束;
啟動(dòng)信號START后緊接著(zhù)發(fā)送一個(gè)地址字節,其中7位為被控器件的地址碼,一位為讀/寫(xiě)控制位R/W,R./W位為0表示由主控向被控器件寫(xiě)數據,R/W為1表示由主控向被控器件讀數據;
當被控器件檢測到收到的地址與自己的地址相同時(shí),在第9個(gè)時(shí)鐘期間反饋應答信號;
每個(gè)數據字節在傳送時(shí)都是高位(MSB)在前;
寫(xiě)通訊過(guò)程:
1、   主控在檢測到總線(xiàn)空閑的狀況下,首先發(fā)送一個(gè)START信號掌管總線(xiàn);
2、   發(fā)送一個(gè)地址字節(包括7位地址碼和一位R/W);
3、   當被控器件檢測到主控發(fā)送的地址與自己的地址相同時(shí)發(fā)送一個(gè)應答信號(ACK);
4、   主控收到ACK后開(kāi)始發(fā)送第一個(gè)數據字節;
5、   被控器收到數據字節后發(fā)送一個(gè)ACK表示繼續傳送數據,發(fā)送NACK表示傳送數據結束;
6、   主控發(fā)送完全部數據后,發(fā)送一個(gè)停止位STOP,結束整個(gè)通訊并且釋放總線(xiàn);
讀通訊過(guò)程:
1、   主控在檢測到總線(xiàn)空閑的狀況下,首先發(fā)送一個(gè)START信號掌管總線(xiàn);
2、   發(fā)送一個(gè)地址字節(包括7位地址碼和一位R/W);
3、   當被控器件檢測到主控發(fā)送的地址與自己的地址相同時(shí)發(fā)送一個(gè)應答信號(ACK);
4、   主控收到ACK后釋放數據總線(xiàn),開(kāi)始接收第一個(gè)數據字節;
5、   主控收到數據后發(fā)送ACK表示繼續傳送數據,發(fā)送NACK表示傳送數據結束;
6、   主控發(fā)送完全部數據后,發(fā)送一個(gè)停止位STOP,結束整個(gè)通訊并且釋放總線(xiàn);
三、 硬件連接及要求
  
上圖為硬件連接結構與參數曲線(xiàn)
四、 總線(xiàn)信號時(shí)序分析
1、 總線(xiàn)空閑狀態(tài)
SDA和SCL兩條信號線(xiàn)都處于高電平,即總線(xiàn)上所有的器件都釋放總線(xiàn),兩條信號線(xiàn)各自的上拉電阻把電平拉高;
2、 啟動(dòng)信號START
     
時(shí)鐘信號SCL保持高電平,數據信號SDA的電平被拉低(即負跳變)。啟動(dòng)信號必須是跳變信號,而且在建立該信號前必修保證總線(xiàn)處于空閑狀態(tài);
3、 停止信號STOP

時(shí)鐘信號SCL保持高電平,數據線(xiàn)被釋放,使得SDA返回高電平(即正跳變),停止信號也必須是跳變信號。
4、 數據傳送

SCL線(xiàn)呈現高電平期間,SDA線(xiàn)上的電平必須保持穩定,低電平表示0(此時(shí)的線(xiàn)電壓為地電壓),高電平表示1(此時(shí)的電壓由元器件的VDD決定)。只有在SCL線(xiàn)為低電平期間,SDA上的電平允許變化。
5、 應答信號ACK

I2C總線(xiàn)的數據都是以字節(8位)的方式傳送的,發(fā)送器件每發(fā)送一個(gè)字節之后,在時(shí)鐘的第9個(gè)脈沖期間釋放數據總線(xiàn),由接收器發(fā)送一個(gè)ACK(把數據總線(xiàn)的電平拉低)來(lái)表示數據成功接收。
6、 無(wú)應答信號NACK

在時(shí)鐘的第9個(gè)脈沖期間發(fā)送器釋放數據總線(xiàn),接收器不拉低數據總線(xiàn)表示一個(gè)NACK,NACK有兩種用途:a、一般表示接收器未成功接收數據字節;b、當接收器是主控器時(shí),它收到最后一個(gè)字節后,應發(fā)送一個(gè)NACK信號,以通知被控發(fā)送器結束數據發(fā)送,并釋放總線(xiàn),以便主控接收器發(fā)送一個(gè)停止信號STOP。
7、其它信號如插入等待、重啟動(dòng)、時(shí)鐘同步、總線(xiàn)仲裁、總線(xiàn)封鎖等不經(jīng)常使用,請參閱資料。
五、 尋址約定
地址的分配方法有兩種:1、含CPU的智能器件,地址由軟件初始化時(shí)定義,但不能與其它的器件有沖突;2、不含CPU的非智能器件,由廠(chǎng)家在器件內部固化,不可改變。
     
                           上圖為地址字節定義
高7位為地址碼,其分為兩部分:1、高4位屬于固定地址不可改變,由廠(chǎng)家固化的統一地址;2、低三位為引腳設定地址,可以由外部引腳來(lái)設定(并非所有器件都可以設定);
2#
chsm-wgq  | 發(fā)表于 2009-5-29 11:18:33 | 只看該作者 來(lái)自 中國湖南長(cháng)沙
先自己頂一下,為奉獻給大家,所以不弄得文件形式,免得扣大家的錢(qián)了,要希望論壇里其它修友能直接粘貼得,就直接粘貼,不要求100字都不到,還弄成一個(gè)文件
3#
chsm-wgq  | 發(fā)表于 2009-5-29 18:03:48 | 只看該作者 來(lái)自 中國湖南長(cháng)沙
咋沒(méi)人頂呢
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

快速回復 返回頂部 返回列表
罗田县| 内乡县| 修武县| 胶南市| 太和县| 体育| 定西市| 泰州市| 永顺县| 安宁市| 米林县| 牟定县| 师宗县| 富顺县| 泸州市| 城口县| 宜春市| 永城市| 慈溪市| 安康市| 桐乡市| 疏勒县| 梅河口市| 拜城县| 兴城市| 武夷山市| 郸城县| 松滋市| 中牟县| 丰县| 嘉义市| 崇阳县| 阿拉善左旗| 新密市| 海原县| 祁门县| 金川县| 焉耆| 夹江县| 营山县| 龙泉市|