C8051 SMBus 原理

   1、SMBus總線                                                                                                                           併發

      SMBus串行I/O接口徹底符合系統管理總線規範 1.1 版。它是一個雙線的雙向串行總線,與I2C串行總線兼容。系統控制器對總線的讀寫操做都是以字節爲單位的,由SMBus接口自動控制數據的串行傳輸。其接口工做電壓3.0V~5.0V之間,總線上不一樣器件的丁做電壓能夠不一樣。時鐘線SCL和數據線SDA都是雙向的,按照SMBus的標準,兩條線上都須要上拉電阻將他們接到電源電壓。在沒有數據傳輸時,兩條線都處於高電平.使得器件可以檢測到總線的空閒狀態。spa

    2、工做過程                                                                                                                                 blog

      一次典型的 SMBus 數據交換包括一個起始條件(START)、一個地址字節、一個或多個字節數據和一箇中止(STOP)條件。每一個地址字節和每一個數據字節後面都跟隨一個來自接收器的確認(ACKNOWLEDGE)位。地址字節包含一個 7 位的地址和一個方向位(R/W)。方向位佔據地址字節的最低位。方向位被設置爲邏輯‘1’時表示這是一個「讀」(READ)操做,方向位爲邏輯‘0’表示這是一個「寫」(WRITE)操做。全部從器件都能識別一個通用呼叫地址(0x00 + R/W),這就容許一個主器件同時訪問多個從器件。接口

      全部的數據交換都由主器件啓動,能夠尋址一個或多個目標從器件。主器件產生一個起始條件,而後發送地址和方向位。若是本次數據交換是一個從主器件到從器件的寫操做,則主器件每發送一個數據字節後等待來自從器件的確認。若是是一個讀操做,則由從器件發送數據並等待主器件的確認。在數據傳輸結束時,主器件產生一箇中止條件,結束數據交換並釋放總線get

      寫操做:首先發送該器件的7位地址碼和寫方向位(0)。被選中的存儲器器件在確認是本身的地址後,在SDA線上產生一個應答信號做爲響應,單片機收到應答後就能夠傳送數據了。傳送數據時,單片機首先發送被寫入器件的存儲區的首地址。收到存儲器器件的應答後,單片機就逐個發送各數據字節,每發送一個字節後都要等待應答。當要寫入的數據傳送完後,單片機應發出終止信號以結束寫入操做。具體過程以下圖所示:it

BFZSYB}HGK@PQ1[NU58~28Q

      讀操做:首先發送該器件的7位地址碼和寫方向位(0:僞寫)。被選中的存儲器器件在確認是本身的地址後,在SDA線上產生一個應答信號做爲響應。而後,單片機再發送要讀出器件的存儲區的首地址。收到存儲器器件的應答後,單片機要重複一次起始信號併發出器件地址和讀方向位(1)收到器件應答後就能夠讀出數據字節。每讀出一個字節,單片機都要回復應答信號。當最後一個字節數據讀完後,單片機應返回以「非應答」(高電平),併發出終止信號以結束讀出操做。im

RUAK0L7HS$N1G@JJN9Z]@CU

相關文章
相關標籤/搜索