91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 接口電路

I2C總線信號時序分析

發布時間:2008/11/24 0:00:00 訪問次數:1015

  在i2c總線通信的過程中,參與通信的雙方互相之間所傳輸的信息種類歸納如下。

  主控器向被控器發送的信息種類有:啟動信號、停止信號、7位地址碼、讀/寫控制位、10位地址碼、數據字節、重啟動信號、應答信號、時鐘脈沖。

  被控器向主控器發送的信息種類有:應答信號、數據字節、時鐘低電平。

  下面對i2c總線通信過程中出現的幾種信號狀態和時序進行分析。

  ①總線空閑狀態。

  i2c總線總線的sda和scl兩條信號線同時處于高電平時,規定為總線的空閑狀態。此時各個器件的輸出級場效應管均處在截止狀態,即釋放總線,由兩條信號線各自的上拉電阻把電平拉高。

  ②啟動信號。

  在時鐘線scl保持高電平期間,數據線sda上的電平被拉低(即負跳變),定義為i2c總線總線的啟動信號,它標志著一次數據傳輸的開始。

  啟動信號是一種電平跳變時序信號,而不是一個電平信號。啟動信號是由主控器主動建立的,在建立該信號之前i2c總線必須處于空閑狀態,如圖1所示。

  圖1 i2c總線上的啟動信號和停止信號

  ③停止信號。

  在時鐘線scl保持高電平期間,數據線sda被釋放,使得sda返回高電平(即正跳變),稱為i2c總線的停止信號,它標志著一次數據傳輸的終止。

  停止信號也是一種電平跳變時序信號,而不是一個電平信號,停止信號也是由主控器主動建立的,建立該信號之后,i2c總線將返回空閑狀態。

  ④數據位傳送。

  在i2c總線上傳送的每一位數據都有一個時鐘脈沖相對應(或同步控制),即在scl串行時鐘的配合下,在sda上逐位地串行傳送每一位數據。

  進行數據傳送時,在scl呈現高電平期間,sda上的電平必須保持穩定,低電平為數據0,高電平為數據1。

  只有在scl為低電平期間,才允許sda上的電平改變狀態。邏輯0的電平為低電壓,而邏輯1的電平取決于器件本身的正電源電壓vdd(當使用獨立電源時),如圖2所示。

  圖2 i2c總線上的數據位傳送

  ⑤應答信號。

  i2c總線上的所有數據都是以8位字節傳送的,發送器每發送一個字節,就在時鐘脈沖9期間釋放數據線,由接收器反饋一個應答信號。

  應答信號為低電平時,規定為有效應答位(ack簡稱應答位),表示接收器已經成功地接收了該字節;應答信號為高電平時,規定為非應答位(nack),一般表示接收器接收該字節沒有成功。

  對于反饋有效應答位ack的要求是,接收器在第9個時鐘脈沖之前的低電平期間將sda線拉低,并且確保在該時鐘的高電平期間為穩定的低電平。

  如果接收器是主控器,則在它收到最后一個字節后,發送一個nack信號,以通知被控發送器結束數據發送,并釋放sda線,以便主控接收器發送一個停止信號p,如圖3所示。

  圖3 i2c總線上的應答時序

  ⑥插入等待時間。

  如果被控器需要延遲下一個數據字節開始傳送的時間,則可以通過把時鐘線scl電平拉低并且保持,使主控器進入等待狀態。

  一旦被控器釋放時鐘線,數據傳輸就得以繼續下去,這樣就使得被控器得到足夠時間轉移已經收到的數據字節,或者準備好即將發送的數據字節。

  帶有cpu的被控器在對收到的地址字節做出應答之后,需要一定的時間去執行中斷服務子程序,來分析或比較地址碼,其間就把scl線鉗位在低電平上,直到處理妥當后才釋放scl線,進而使主控器繼續后續數據字節的發送,如圖4所示。

  圖4 i2c總線上的插入等待時間

  ⑦重啟動信號。

  在主控器控制總線期間完成了一次數據通信(發送或接收)之后,如果想繼續占用總線再進行一次數據通信(發送或接收),而又不釋放總線,就需要利用重啟動sr信號時序。

  重啟動信號sr既作為前一次數據傳輸的結束,又作為后一次數據傳輸的開始。利用重啟動信號的優點是,在前后兩次通信之間主控器不需要釋放總線,這樣就不會丟失總線的控制權,即不讓其他主器件節點搶占總線。

  ⑧時鐘同步。

  如果在某一i2c總線系統中存在兩個主器件節點,分別記為主器件1和主器件2,其時鐘輸出端分別為clk1和cl【0,它們都有控制總線的能力。

  假設在某一

  在i2c總線通信的過程中,參與通信的雙方互相之間所傳輸的信息種類歸納如下。

  主控器向被控器發送的信息種類有:啟動信號、停止信號、7位地址碼、讀/寫控制位、10位地址碼、數據字節、重啟動信號、應答信號、時鐘脈沖。

  被控器向主控器發送的信息種類有:應答信號、數據字節、時鐘低電平。

  下面對i2c總線通信過程中出現的幾種信號狀態和時序進行分析。

  ①總線空閑狀態。

  i2c總線總線的sda和scl兩條信號線同時處于高電平時,規定為總線的空閑狀態。此時各個器件的輸出級場效應管均處在截止狀態,即釋放總線,由兩條信號線各自的上拉電阻把電平拉高。

  ②啟動信號。

  在時鐘線scl保持高電平期間,數據線sda上的電平被拉低(即負跳變),定義為i2c總線總線的啟動信號,它標志著一次數據傳輸的開始。

  啟動信號是一種電平跳變時序信號,而不是一個電平信號。啟動信號是由主控器主動建立的,在建立該信號之前i2c總線必須處于空閑狀態,如圖1所示。

  圖1 i2c總線上的啟動信號和停止信號

  ③停止信號。

  在時鐘線scl保持高電平期間,數據線sda被釋放,使得sda返回高電平(即正跳變),稱為i2c總線的停止信號,它標志著一次數據傳輸的終止。

  停止信號也是一種電平跳變時序信號,而不是一個電平信號,停止信號也是由主控器主動建立的,建立該信號之后,i2c總線將返回空閑狀態。

  ④數據位傳送。

  在i2c總線上傳送的每一位數據都有一個時鐘脈沖相對應(或同步控制),即在scl串行時鐘的配合下,在sda上逐位地串行傳送每一位數據。

  進行數據傳送時,在scl呈現高電平期間,sda上的電平必須保持穩定,低電平為數據0,高電平為數據1。

  只有在scl為低電平期間,才允許sda上的電平改變狀態。邏輯0的電平為低電壓,而邏輯1的電平取決于器件本身的正電源電壓vdd(當使用獨立電源時),如圖2所示。

  圖2 i2c總線上的數據位傳送

  ⑤應答信號。

  i2c總線上的所有數據都是以8位字節傳送的,發送器每發送一個字節,就在時鐘脈沖9期間釋放數據線,由接收器反饋一個應答信號。

  應答信號為低電平時,規定為有效應答位(ack簡稱應答位),表示接收器已經成功地接收了該字節;應答信號為高電平時,規定為非應答位(nack),一般表示接收器接收該字節沒有成功。

  對于反饋有效應答位ack的要求是,接收器在第9個時鐘脈沖之前的低電平期間將sda線拉低,并且確保在該時鐘的高電平期間為穩定的低電平。

  如果接收器是主控器,則在它收到最后一個字節后,發送一個nack信號,以通知被控發送器結束數據發送,并釋放sda線,以便主控接收器發送一個停止信號p,如圖3所示。

  圖3 i2c總線上的應答時序

  ⑥插入等待時間。

  如果被控器需要延遲下一個數據字節開始傳送的時間,則可以通過把時鐘線scl電平拉低并且保持,使主控器進入等待狀態。

  一旦被控器釋放時鐘線,數據傳輸就得以繼續下去,這樣就使得被控器得到足夠時間轉移已經收到的數據字節,或者準備好即將發送的數據字節。

  帶有cpu的被控器在對收到的地址字節做出應答之后,需要一定的時間去執行中斷服務子程序,來分析或比較地址碼,其間就把scl線鉗位在低電平上,直到處理妥當后才釋放scl線,進而使主控器繼續后續數據字節的發送,如圖4所示。

  圖4 i2c總線上的插入等待時間

  ⑦重啟動信號。

  在主控器控制總線期間完成了一次數據通信(發送或接收)之后,如果想繼續占用總線再進行一次數據通信(發送或接收),而又不釋放總線,就需要利用重啟動sr信號時序。

  重啟動信號sr既作為前一次數據傳輸的結束,又作為后一次數據傳輸的開始。利用重啟動信號的優點是,在前后兩次通信之間主控器不需要釋放總線,這樣就不會丟失總線的控制權,即不讓其他主器件節點搶占總線。

  ⑧時鐘同步。

  如果在某一i2c總線系統中存在兩個主器件節點,分別記為主器件1和主器件2,其時鐘輸出端分別為clk1和cl【0,它們都有控制總線的能力。

  假設在某一

相關IC型號

熱門點擊

 

推薦技術資料

耳機放大器
    為了在聽音樂時不影響家人,我萌生了做一臺耳機放大器的想... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
勐海县| 宁蒗| 金塔县| 华容县| 兴和县| 白玉县| 固安县| 扎赉特旗| 林西县| 张北县| 牙克石市| 北京市| 蒙山县| 炉霍县| 扬州市| 佛坪县| 龙南县| 梁河县| 阿合奇县| 崇左市| 手游| 托克逊县| 龙泉市| 宜兰县| 阿坝| 曲松县| 新兴县| 巫溪县| 潢川县| 临颍县| 溧阳市| 三都| 合川市| 阜南县| 平谷区| 叙永县| 新昌县| 轮台县| 辰溪县| 闸北区| 临高县|