久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2271|回復: 0
打印 上一主題 下一主題
收起左側

關于IIC協議的一些總結

[復制鏈接]
跳轉到指定樓層
樓主
ID:492205 發表于 2019-5-17 16:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一. 技術性能:
工作速率有100K和400K兩種;
支持多機通訊;
支持多主控模塊,但同一時刻只允許有一個主控;      
由數據線SDA和時鐘SCL構成的串行總線;
每個電路和模塊都有唯一的地址;                    
每個器件可以使用獨立電源
二. 基本工作原理:
以啟動信號START來掌管總線,以停止信號STOP來釋放總線;
每次通訊以START開始,以STOP結束;
啟動信號START后緊接著發送一個地址字節,其中7位為被控器件的地址碼,一位為讀/寫控制位R/W,R/W位為0表示由主控向被控器件寫數據,R/W為1表示由主控向被控器件讀數據;
當被控器件檢測到收到的地址與自己的地址相同時,在第9個時鐘期間反饋應答信號;
每個數據字節在傳送時都是高位(MSB)在前;
三.通信過程:
寫通訊過程:
1. 主控在檢測到總線空閑的狀況下,首先發送一個START信號掌管總線;
2. 發送一個地址字節(包括7位地址碼和一位R/W);
3. 當被控器件檢測到主控發送的地址與自己的地址相同時發送一個應答信號(ACK);
4. 主控收到ACK后開始發送第一個數據字節;
5. 被控器收到數據字節后發送一個ACK表示繼續傳送數據,發送NACK表示傳送數據結束;
6. 主控發送完全部數據后,發送一個停止位STOP,結束整個通訊并且釋放總線;
讀通訊過程:
1. 主控在檢測到總線空閑的狀況下,首先發送一個START信號掌管總線;
2. 發送一個地址字節(包括7位地址碼和一位R/W);
3. 當被控器件檢測到主控發送的地址與自己的地址相同時發送一個應答信號(ACK);
4. 主控收到ACK后釋放數據總線,開始接收第一個數據字節;
5. 主控收到數據后發送ACK表示繼續傳送數據,發送NACK表示傳送數據結束;
6. 主控發送完全部數據后,發送一個停止位STOP,結束整個通訊并且釋放總線;
四. 總線信號時序分析
1. 總線空閑狀態
SDA和SCL兩條信號線都處于高電平,即總線上所有的器件都釋放總線,兩條信號線各自的上拉電阻把電平拉高;
2. 啟動信號START
時鐘信號SCL保持高電平,數據信號SDA的電平被拉低(即負跳變)。啟動信號必須是跳變信號,而且在建立該信號前必修保證總線處于空閑狀態;
3. 停止信號STOP
時鐘信號SCL保持高電平,數據線被釋放,使得SDA返回高電平(即正跳變),停止信號也必須是跳變信號。
4. 數據傳送
SCL線呈現高電平期間,SDA線上的電平必須保持穩定,低電平表示0(此時的線電壓為低電壓),高電平表示1(此時的電壓由元器件的VDD決定)。只有在SCL線為低電平期間,SDA上的電平允許變化。
5. 應答信號ACK
I2C總線的數據都是以字節(8位)的方式傳送的,發送器件每發送一個字節之后,在時鐘的第9個脈沖期間釋放數據總線,由接收器發送一個ACK(把數據總線的電平拉低)來表示數據成功接收。
6. 無應答信號NACK
在時鐘的第9個脈沖期間發送器釋放數據總線,接收器不拉低數據總線表示一個NACK,NACK有兩種用途:
a. 一般表示接收器未成功接收數據字節;
b. 當接收器是主控器時,它收到最后一個字節后,應發送一個NACK信號,以通知被控發送器結束數據發送,并釋放總線,以便主控接收器發送一個停止信號STOP。
五. 尋址約定
地址的分配方法有兩種:
1. 含CPU的智能器件,地址由軟件初始化時定義,但不能與其它的器件有沖突;
2. 不含CPU的非智能器件,由廠家在器件內部固化,不可改變。
高7位為地址碼,其分為兩部分:
1. 高4位屬于固定地址不可改變,由廠家固化的統一地址;
2. 低三位為引腳設定地址,可以由外部引腳來設定(并非所有器件都可以設定);
另,按照一哥們的告訴我的理解:
通信過程如下:
(1)通信過程的開始,首先時鐘線SCL在一個時鐘周期的高電平期間內,如果此時數據線SDA有從高電平跳到低電平的負條邊沿,則標志著通信過程的開始。
(2)地址數據的發送,通信過程開始后,即在這個開始的時鐘周期后,隨后的8個時鐘周期內,開始正常采樣數據線SDA上的數據。即時鐘周期高電平時,數據線上的高低電平均有效,并被正確譯為八位二進制數。通信開始的時鐘周期后的這八個時鐘周期采樣的數據,各個從設備都會收到,然后與自己的地址比較。這就相當于一個握手信號。
(3)真正數據的發送,在上述某個從設備發現自己的地址匹配時,便在下個時鐘的高電平來之前將數據線SDA的電平拉低置成低電平,即保證在下個時鐘的高電平階段,SDA的電平始終為低。這樣,以后的數據再發送,其他設備都不會接受了,只有該從設備會采樣接受。
(4)通信過程的結束。與通信的開始一樣,在SCL為高電平的情況下,是數據線SDA由低電平跳至高電平,即有一個正條邊沿。此時,標志通信結束。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美日韩精品一区二区三区 | 视频一区在线观看 | 亚洲va欧美va天堂v国产综合 | 亚洲精品一区二区三区在线 | 日韩中文字幕 | 久热精品在线观看视频 | 91久久国产综合久久 | 天天干天天操天天看 | 成人黄色在线 | 999精品视频 | 911网站大全在线观看 | 日韩精品视频在线 | 中文字幕在线看第二 | 夜夜夜夜夜夜曰天天天 | 亚洲国产精品激情在线观看 | 欧美日日日日bbbbb视频 | 一区二区av | 久久久久一区二区 | 日韩在线视频精品 | 男人的天堂久久 | 先锋资源亚洲 | 久久久久国产精品一区 | 亚洲视频在线观看 | 国产yw851.c免费观看网站 | 人人干超碰 | 成人午夜电影在线观看 | 7777精品伊人久久精品影视 | 一区二区电影 | 中文字幕人成乱码在线观看 | 亚洲天天干 | 日本精品一区二区三区在线观看视频 | av电影一区| 国产欧美一区二区三区在线看蜜臀 | 日韩一二三区 | 精品国产乱码一区二区三区 | 国产视频一区二区三区四区五区 | www.久久艹 | www在线| 久久久蜜桃一区二区人 | 国产福利久久 | 久久噜噜噜精品国产亚洲综合 |