• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

ADI模數(shù)轉(zhuǎn)換AD7091的SPI驅(qū)動接口verilog代碼

04/29 10:58
761
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-23102Q2223N56.doc

共1個文件

名稱:ADI模數(shù)轉(zhuǎn)換AD7091的SPI驅(qū)動(代碼在文末付費下載)

軟件:QuartusII

語言:Verilog

代碼功能:

完成ADI單通道模數(shù)轉(zhuǎn)換器AD7091R的邏輯接口設(shè)計。1 MSPS、超低功耗、12-Bit ADC。

(1)實現(xiàn)全部邏輯接口功能,完成對外設(shè)AD7091R訪問;

(2)自行設(shè)計應用場景,構(gòu)造相應數(shù)據(jù);

(3)實現(xiàn)數(shù)據(jù)手冊中的最高數(shù)據(jù)率;

(4)硬件平臺以拿到手的開發(fā)板為準,自行完成設(shè)計與驗證;

(5)完成全部流程:設(shè)計規(guī)范文檔、模塊設(shè)計、代碼輸入、功能仿真、約束與綜合、時序仿真、下載驗證等。

演示視頻:

FPGA代碼Verilog/VHDL代碼資源下載網(wǎng):www.hdlcode.com

部分代碼展示

module?AD7091(
input?clk,//50MHz
input?reset,//高電平復位
//AD接口
output?reg?convst,//AD轉(zhuǎn)換信號
output?reg?CS,//使能信號
output?reg?SCLK,//AD時鐘
input?SDO,//AD數(shù)據(jù)輸入
output?reg?[11:0]?AD_data//AD轉(zhuǎn)換結(jié)果
);
reg?[2:0]?state=3'd0;
parameter?s_idle=3'd0;//空閑狀態(tài)
parameter?s_convst_low=3'd1;
parameter?s_convst_high=3'd2;
parameter?s_CS_low=3'd3;
parameter?s_SCLK=3'd4;
parameter?s_CS_high=3'd5;
reg?[7:0]?convst_cnt=8'd0;//convst高電平時間計數(shù)
reg?[3:0]?bit_cnt=4'd0;//bit計數(shù)
reg?[3:0]?CS_high_cnt=4'd0;//CS高電平計數(shù)
always@(posedge?clk?or?posedge?reset)
if(reset)
state<=3'd0;
else
case(state)
s_idle:
state<=s_convst_low;
s_convst_low://轉(zhuǎn)換信號低電平狀態(tài)
state<=s_convst_high;
s_convst_high://轉(zhuǎn)換信號高電平狀態(tài)(等待t8最大650ns)
if(convst_cnt>=8'd40)//等待800ns>650ns
state<=s_CS_low;
else
state<=s_convst_high;
s_CS_low:?//CS低電平狀態(tài)
state<=s_SCLK;
s_SCLK:?//SCLK讀數(shù)狀態(tài)
if(bit_cnt>=4'd13)//計數(shù)13bit
state<=s_CS_high;
else
state<=s_SCLK;
s_CS_high:
if(CS_high_cnt>=4'd4)//延遲4*20ns,tquiet至少50ns
state<=s_idle;
else
state<=s_CS_high;

時序要求:

時序.JPG

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

附:AD7091R時序圖和時序表

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=217

  • 1-23102Q2223N56.doc
    下載

相關(guān)推薦