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

ADI模數(shù)轉換AD7091的SPI驅動接口verilog代碼

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

1-23102Q2223N56.doc

共1個文件

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

軟件:QuartusII

語言:Verilog

代碼功能:

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

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

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

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

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

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

演示視頻:

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

部分代碼展示

module?AD7091(
input?clk,//50MHz
input?reset,//高電平復位
//AD接口
output?reg?convst,//AD轉換信號
output?reg?CS,//使能信號
output?reg?SCLK,//AD時鐘
input?SDO,//AD數(shù)據(jù)輸入
output?reg?[11:0]?AD_data//AD轉換結果
);
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://轉換信號低電平狀態(tài)
state<=s_convst_high;
s_convst_high://轉換信號高電平狀態(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

設計文檔:

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
    下載

相關推薦