工做三個月總結3

簡單的I2C協議理解:性能

  1、技術性能原理

  工做速率有100K和400K兩種;軟件

  支持多機通信;方法

  支持多主控模塊,但同一時刻只充許有一個主控;技術

  由數據線SDA和時鐘SCL構成的串行總線;數據

  每一個電路和模塊都有惟一的地址;協議

  每一個器件可使用獨立電源;工作

  2、基本工做原理

  以啓動信號START來掌管總線;以中止信號STOP來釋放總線;每次通信以START開始,以STOP結束,啓動信號START後緊接着發送一個地址字節,基中7位爲被控器件的地址碼。一位爲讀寫控制位R/W,R/W位爲0表示由主控向被控器件寫數據,R/W爲1表示由主控從被控器件讀數據。當被控器件檢測到收到的地址與自已的地址相同時,在第9個時鐘期間反饋應答信號;每一個數據字節在傳送時都是高位(MSB)在前。

  3、通信過程

  寫通信過程:

  一、主控在檢測到總線空閒的情況下,首先發送一個START信號掌管總線。

  二、發送一個地址字節(包括7位地址碼和1位R/W)。

  三、當被控器件檢測到主控發送的地址與自已的地址相同時發送一個應答信號(ACK)。

  四、主控收到ACK後開始發送第一個數據字節。

  五、被控器件收到數據字節後發送一個ACK表示傳送數據結束。

  六、主控發送徹底部數據後,發送一箇中止位STOP,結束整個通信而且釋放總線。

  讀通信過程:

  一、主控在檢測到總線空閒的情況下,首先發送一個START信號掌管總線。

  二、發送一個地址字節(包括7位地址和1位R/W)。

  三、當被控器件檢測到主控發送的地址與自已的地址相同時發送一個應答信號(ACK)。

  四、主控收到ACK後釋放數據總線,開始接收第一個數據字節。

  五、主控收到數據後發送ACK表示繼續傳送數據,發送NACK表示傳送數據結束。

  六、主控收到數據後,發送一箇中止位STOP,結束整個通信而且釋放總線。

  4、總線信號時序分析

  一、總線空閒狀態

  SDA和SCL兩條信號線都處於高電平,即總線上全部器件都釋放總線,兩條信號線各自的上拉電阻把電平拉高。

  二、啓動信號START

  時鐘信號SCL保持高電平,數據信號SDA的電平被拉低(即負跳變)。啓動信號必須是跳變信號,並且在創建該信號前必需保證總線處於空閒狀態。

  三、中止信號STOP

  時鐘信號SCL保持高電平,數據線被釋放,使得SDA返回高電平(即正跳變)中止信號也必須是跳變信號。

  四、數據傳送

  SCL線呈現高電平期間,SDA線上的電平必須保持穩定,低電平表示0(此時的線電壓爲地電壓),高電平表示1(此時的電壓由元器件的VDD決定),只有在SCL線爲低電平期間,SDA上的電平容許變化。

  五、應答信號ACK

  I2C總線的數據都是以字節(8位)的方式傳送的,發送器件上每發送一個字節以後,在時鐘的第9個脈衝期間釋放數據線,由接收器發送一個ACK(把數據總線的電平接低)來表示數據成功接收。

  六、無應答信號NACK

  在時鐘的第9個脈衝期間發送器釋放數據總線,接收器不拉低數據總線表示一個NAKC,NACK有兩種用途:

  a:通常表示接收器未成功接收數據字節;

  b:當接收器是主控時,它收到最後一個字節後,應發送一個NACK信號,以通知被控發送器結束數據發送,並釋放總線,以便主控接收器發送一箇中止信號STOP。

  5、尋址約定

  地址的分配方法有兩種:

  一、含CPU的智能器件,地址由軟件初始化時定義,但不能與其餘的器件有衝突。

  二、不含CPU的非智能器件,同廠家在器件的內部固化,不可改變。

  高7位爲地址碼,其分爲兩部分:

  一、高4位屬於固定地址不可改變,由廠家固化的統一地址。

  二、低三位爲引腳設定地址,能夠由外部引腳設定地址,能夠由外部引腳來設定(並不是全部器件均可以設定)。

相關文章
相關標籤/搜索