1. 程式人生 > >FPGA通過SPI對ADC配置簡介(四)-------Verilog實現4線SPI配置

FPGA通過SPI對ADC配置簡介(四)-------Verilog實現4線SPI配置

第二篇以德州儀器(TI)的高速ADC晶片——ads52j90為例,介紹完了 4線SPI配置時序。本篇將以該晶片SPI結構為例,具體介紹如何利用verilog 實現4線SPI配置時序。
SPI
無論實現讀還是寫功能,都先要提供SCLK。假如FPGA系統工作時鐘40MHz,我們可以利用計數器產生一個n分頻的時鐘作為SCLK,本例中n取8,SCLK頻率5MHz。SCLK產生的程式碼如下:
SCLK時鐘產生程式碼

SCLK時鐘有了,接下來我們建立一個狀態機實現讀和寫功能:
狀態機初始化

初始化狀態的下一個狀態就是寫暫存器操作了,每次SCLK的上升沿寫入資料:
寫暫存器操作

寫完一個暫存器引數,CSB先拉高。接下來在進入下一個狀態,本篇例子下一個狀態的操作是讀取對應暫存器地址的資料。我們首先需在SCLK的上升沿寫入8bit的暫存器地址,接下來在SCLK的下降沿讀取16bit的資料。

讀暫存器操作
到此,讀寫操作都完成了。程式碼上的註釋可以便於大家理解,大家還可以模擬看一下波形加深理解。下一篇我們再介紹如何進行3線SPI配置!

記得掃碼關注 或者 微信搜尋“小青菜哥哥的那些事”哦~
底片微信掃碼圖