第二篇以德州儀器(TI)的高速ADC芯片——ads52j90為例,介紹完了4線SPI配置時序。本篇將以該芯片SPI結構為例,具體介紹如何利用verilog實現4線SPI配置時序。
無論實現讀還是寫功能,都先要提供SCLK。假如FPGA系統工作時鐘40MHz,我們可以利用計數器產生一個n分頻的時鐘作為SCLK,本例中n取8,SCLK頻率5MHz。SCLK產生的代碼如下:
SCLK時鐘有了,接下來我們建立一個狀態機實現讀和寫功能:
初始化狀態的下一個狀態就是寫寄存器操作了,每次SCLK的上升沿寫入數據:
寫完一個寄存器參數,CSB先拉高。接下來在進入下一個狀態,本篇例子下一個狀態的操作是讀取對應寄存器地址的數據。我們首先需在SCLK的上升沿寫入8bit的寄存器地址,接下來在SCLK的下降沿讀取16bit的數據。
到此,讀寫操作都完成了。代碼上的注釋可以便于大家理解,大家還可以仿真看一下波形加深理解。
-
Verilog
+關注
關注
29文章
1366瀏覽量
112102 -
SPI
+關注
關注
17文章
1793瀏覽量
95377 -
ADC芯片
+關注
關注
3文章
82瀏覽量
20671
原文標題:FPGA通過SPI對ADC配置簡介(四)---Verilog實現4線SPI配置
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
ADS1118 spi通信時序的問題誰來解答一下
Verilog 測試平臺設計方法 Verilog FPGA開發指南
KeyStone架構串行外設接口(SPI)手冊
能否在純fpga上通過verilog實現SPI控制器去配置adc12dj3200?
ADS127L11配置ADC使用外部時鐘以及FILTER[4:0]都不成功,為什么?
ADS127L11使用4線spi不管怎么配置寄存器,示波器看到ADC的drdy脈沖周期始終是400K,怎么回事?
瀚海微SD NAND之SD 協議(42)SPI總線時序

如何利用Verilog-A開發器件模型

評論