DesignWare I2C模塊的驗證


I2C通信協議主要同一塊板上芯片間的通信,因此速度不是很高。SCL為時鍾線,SDA為數據線。時鍾由主設備發送給從設備,數據可以在兩設備間互傳。

在測試DW_I2C模塊時,如果外面都包了一層,在tb中只有兩個inout類型的信號,那么驗證方法如下:

例化兩個完全相同的IIC模塊,一個設置為主設備另一個為從設備,那么將兩個設備的SCL線相接,SDA線相接即可。但接線的類型必須為tri1,即上拉電阻三態型,否則無法正常工作。具體為

tri1scl_iopad       ;  

tri1     sda_iopad       ;

iic0做主設備,iic1做從設備,從而驗證iic的基本收發功能是否正確。

.iic0_scl_iopad            (scl_iopad     ),

.iic0_sda_iopad            (sda_iopad         ),  

.iic1_scl_iopad            (scl_iopad         ),  

.iic1_sda_iopad            (sda_iopad         ), 

驗證過程中需注意以下幾點:

  • DW_I2C模塊有三個重要的寄存器,偏移0x00的配置寄存器,偏移0x10的DATA_CMD寄存器,偏移0x6C的使能寄存器。
  • 此外還有中斷相關的狀態寄存器和CLEAR寄存器。
  • DW_I2C清中斷的方式是讀CLEAR寄存器。
  • 在寫配置寄存器之前必須先把DW_I2C使能關掉,否則無法寫入。
  • DW_I2C可以設置為8位或10位模式尋址

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM