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

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

上篇介紹瞭如何利用verilog 實現4線SPI配置時序,本篇將以AD9249介紹其3線SPI配置的verilog實現。
這裡寫圖片描述
3線SPI的時鐘產生方式和上一篇的4線SPI相同,這裡不在敘述。兩者的不同點在於:三線SPI模式需要FPGA管腳三態控制SDIO的輸入/輸出狀態。下圖所示的程式碼即為三態控制邏輯。SDI、SDO成為了內部邏輯訊號,和上篇的4線SPI配置相同操作即可,而SDIO為三態管腳,需定義為inout型別。
這裡寫圖片描述
Tri_en訊號即為三態控制訊號,在寫操作中,該訊號必須置高;然而在讀操作中,該訊號在寫地址的前半段需置高,當完成寫地址操作後,ADC的SDIO介面由輸入變輸出,此時FPGA控制Tri_en訊號拉低,將FPGA端的SDIO管腳由輸出變為輸入,從而正常接收ADC的SDIO口輸出的暫存器數值。

Tri_en到底應該在哪個具體時刻拉低,以便完成FPGA的SDIO三態轉換呢?答案其實在第三篇已經說的很清楚了~~~~
另外,3線SPI讀/寫操作有專門的讀寫標誌位,大家務必要記住!

3線SPI的FPGA實現就介紹到這裡了,其實和4線基本一樣,只不過多了個三態轉換而已,大家把上篇的4線SPI的實現過程想清楚了,再加上一個三態轉換控制,3線SPI也就拿下了!

前面4篇部落格,我們都是介紹FPGA通過SPI如何配置ADC,接下來我們將以Microchip公司的32Mbit SPI Serial Flash SST25VF032B晶片為例,具體通過實驗介紹FPGA如何通過SPI讀寫該晶片,敬請期待!

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