天天看點

BMS--SH367309執行個體IIC協定應用

目錄

什麼是IIC

IIC的特性

實體(電氣)特性

IIC總線通信協定

開始和結束條件

 一位信号資料傳遞模式

IIC資料含義解析

Write(寫)操作(8位資料+1位ACK)

Read(讀)操作(8位資料+1位ACK)

 寫寄存器标準流程:

讀寄存器标準流程: 

TWI 協定

協定執行個體:SH367309

     SH367309電器特性

 SH367309 标注

 SH367309讀協定

SH367309寫協定

什麼是IIC

IIC (Inter-Integrated Circuit), 通常發音為: I-squared-C,是多主、多從、分組交換、單工的串行總線,通常用于處理器或微控制器與低速外圍器件的短距離通信連接配接。這個通信協定是由(NXP半導體的前生)飛利浦公司發明,并在2006年開始,I2C協定的實施不要許可費,但仍要收取I2C從機配置設定位址的費用。

IIC的特性

  1. 僅用兩線連接配接;
  2. 不像RS232那樣有着嚴格的波特率要求,而是由主裝置(mater)産生時鐘信号;
  3. 裝置之間的主/從關系簡單,每個裝置都有軟體給予的唯一位址;
  4. IIC是一個真正的多主總線,提供仲裁和沖突檢測的功能。

實體(電氣)特性

  1. 隻要求兩條總線線路,一條是串行資料線SDA,一條是串行時鐘線SCL,(IIC是半雙工,而不是全雙工)。
  2. 每個連接配接到總線的器件都可以通過唯一的位址和其它器件通信,主機/從機角色和位址可配置,主機可以作為主機發送器和主機接收器。
  3. IIC是真正的多主機總線,(而這個SPI在每次通信前都需要把主機定死,而IIC可以在通訊過程中,改變主機),如果兩個或更多的主機同時請求總線,可以通過沖突檢測和仲裁防止總線資料被破壞。
  4. 傳輸速率在标準模式下可以達到100kb/s,快速模式下可以達到400kb/s。
  5. 連接配接到總線的IC數量隻是受到總線的最大負載電容400pf限制。
  6. I2C通信裝置之間隻通過普通導線進行連接配接,比特流信号采用TTL/CMOS标準下的高/低電平來表示1/0信号,這一方式使得傳輸距離很短(本來設計目的就是用于短距離通信),直接連接配接的傳輸距離短達40cm。
BMS--SH367309執行個體IIC協定應用

IIC總線通信協定

       如下圖所示,為IIC的通訊總線的協定資料格式。

BMS--SH367309執行個體IIC協定應用

開始和結束條件

I2C總線在待機狀态時,SDA和SCL都處于高電平(兩根線一般情況均接上拉電阻)。

當開始工作時,開始信号由主裝置(master)發起,SDA先由高電平轉為低電平,此時的SCL是高電平。此後,SDA和SCL便配合傳輸開始工作。

當停止工作時,在SCL處于高電平下,SDA由低電平轉為高電平。

BMS--SH367309執行個體IIC協定應用

 一位信号資料傳遞模式

IIC協定通過資料線SDA在SCL的配合下實作資訊的有效傳送。每條線均可産生5V/0V或3.3V/0V的高低電平(也可以是其它方式,常用TTL和CMOS的電平模式),如圖所示,每當時鐘線SCL産生高電平時,SDA所産生的電平信号為目前時鐘周期下傳輸的有效信号;而當SCL為低電平時,SDA可改變,以産生下一周期的傳輸信号。

BMS--SH367309執行個體IIC協定應用

IIC資料含義解析

     IIC協定裡面資料主要包括兩部分:addr資料+data資料。

     資料模式:

                   [ 開始 +(7位位址+1位讀寫+1位ACK)+(8位資料+1位ACK/NACK)*n+停止 ]

注意:

     1、在傳輸過程中,每傳輸8位後,要通過一個ACK位進行互相确認。在讀和寫資料的過程中,ACK的來源是不一樣的。

     2、寫資料的時候是從裝置會傳回一個ACK值(低電平)以響應已獲得資料。

     3、讀資料的時候是主裝置會傳回一個ACK值(低電平)以響應已獲得資料。

     4、如果寫資料的時候,有些情況下從裝置要校驗資料,發現資料錯誤,會傳回NACK(高電平)來響應結束本次傳輸;讀資料的情況下,有的情況需要NACK,然後在STOP結束本次傳輸。

Write(寫)操作(8位資料+1位ACK)

         因為位址資料是7bit,寫位址的時候要在後面增加1bit寫(低電平),達到1byte長度。

BMS--SH367309執行個體IIC協定應用

Read(讀)操作(8位資料+1位ACK)

         因為位址資料是7bit,讀位址的時候要在後面增加1bit讀(高電平),達到1byte長度。

BMS--SH367309執行個體IIC協定應用

 寫寄存器标準流程:

BMS--SH367309執行個體IIC協定應用

讀寄存器标準流程: 

BMS--SH367309執行個體IIC協定應用

TWI 協定

在AVR系列單片機中内嵌有一個TWI(Two-wire Serial Interface)接口,它實際上就是IIC總線接口,個人的了解是TWI協定是利用IIC協定的理論基礎,對IIC的資料量進行修改,為每個晶片制定特定的資料量格式。

協定執行個體:SH367309

     SH367309電器特性

SH367309 作為從機模式,MCU作為主機模式,SH367309位址固定為0X1A。

BMS--SH367309執行個體IIC協定應用

 SH367309 标注

BMS--SH367309執行個體IIC協定應用

 SH367309讀協定

        Start+(位址+寫)+ACK*+RegAddress+ACK*+ReadDataLength+ACK*

               ReStart+(位址+讀)+ACK*+DATA+ACK+····+DATA+ACK+CRC+NACK+Stop

              注:帶*表示從裝置向主裝置發送。

BMS--SH367309執行個體IIC協定應用

SH367309寫協定

            Start+(位址+寫)+ACK*+RegAddress+ACK*+CRC+ACK*+Stop

            注:帶*表示從裝置向主裝置發送。

BMS--SH367309執行個體IIC協定應用

繼續閱讀