成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 方案介紹
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

8通道模數(shù)轉(zhuǎn)換AD7091驅(qū)動(dòng)代碼SPI接口12bitADC

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

名稱:8通道模數(shù)轉(zhuǎn)換AD7091驅(qū)動(dòng)代碼(代碼在文末付費(fèi)下載)

軟件:QuartusII

語(yǔ)言:Verilog

代碼功能:

使用verilog代碼設(shè)計(jì)AD7091R-8驅(qū)動(dòng)代碼。

控制接口為SPI接口,實(shí)現(xiàn)8通道模數(shù)轉(zhuǎn)換,輸出8通道數(shù)字信號(hào)。

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

 

ad7091-8.jpg

 

ad7091-8-2.jpg

芯片手冊(cè):

AD7091R-2_7091R-4_7091R-8.pdf

部分代碼展示

//AD7091驅(qū)動(dòng)
module?AD7091(
input?clk_50M,
//input?reset_p,
output?AD_CS,
output?AD_convst,
output?AD_sclk,//輸出sclk
input?AD_sdo,//輸入sdo
output?AD_sdi,//輸出sdi
input?AD_alert,
output?reg?[11:0]?AD_0,
output?reg?[11:0]?AD_1,
output?reg?[11:0]?AD_2,
output?reg?[11:0]?AD_3,
output?reg?[11:0]?AD_4,
output?reg?[11:0]?AD_5,
output?reg?[11:0]?AD_6,
output?reg?[11:0]?AD_7
);
wire?reset_p;
assign?reset_p=0;
reg?[2:0]?state=3'd0;
parameter?s_idle=3'd0;
parameter?s_initial=3'd1;
parameter?s_write=3'd2;
parameter?s_wait=3'd3;
reg?[7:0]?convst_cnt=8'd0;
reg?[7:0]?write_cnt=8'd0;
reg?[7:0]?wait_cnt=8'd0;
//狀態(tài)機(jī)
always@(posedge?clk_50M?or?posedge?reset_p)
if(reset_p)
state<=s_idle;
else
case(state)
s_idle:
state<=s_initial;
s_initial://初始化狀態(tài)
if(convst_cnt>=8'd66)
state<=s_wait;
else
state<=s_initial;
s_wait:
if(wait_cnt>=8'd200)
state<=s_write;
else
state<=s_wait;
s_write://讀寫(xiě)狀態(tài)
state<=s_write;
default:;
endcase
always@(posedge?clk_50M?or?posedge?reset_p)
if(reset_p)
wait_cnt<=8'd0;
else
if(state==s_wait)
wait_cnt<=wait_cnt+8'd1;
else
wait_cnt<=8'd0;
//初始化計(jì)數(shù)400輸出66個(gè)convst周期
reg?[9:0]?clk_convst_cnt=10'd0;
always@(posedge?clk_50M?or?posedge?reset_p)
if(reset_p)
clk_convst_cnt<=10'd0;
else
if(state==s_initial)
if(clk_convst_cnt>=10'd400)
clk_convst_cnt<=10'd0;
else
clk_convst_cnt<=clk_convst_cnt+10'd1;
else
clk_convst_cnt<=10'd0;
reg?convst_initial=1;
always@(posedge?clk_50M?or?posedge?reset_p)
if(reset_p)
convst_initial<=1;
else
if(state==s_initial)
if(clk_convst_cnt>10'd200)//400us低電平,400us高電平
convst_initial<=0;
else
convst_initial<=1;
else
convst_initial<=1;
always@(posedge?clk_50M?or?posedge?reset_p)
if(reset_p)
convst_cnt<=8'd0;
else
if(state==s_initial)
if(clk_convst_cnt>=10'd400)
convst_cnt<=convst_cnt+8'd1;//convst計(jì)數(shù)
else
convst_cnt<=convst_cnt;
else
convst_cnt<=8'd0;

相關(guān)推薦

兰西县| 岢岚县| 越西县| 贵港市| 长宁县| 全南县| 定南县| 开阳县| 衡南县| 成都市| 郓城县| 梧州市| 麦盖提县| 那坡县| 株洲县| 广饶县| 双辽市| 莱西市| 正阳县| 伊宁市| 香港| 平陆县| 织金县| 梓潼县| 冀州市| 峨眉山市| 普宁市| 罗山县| 扎囊县| 宜川县| 安宁市| 上思县| 梁河县| 鄂尔多斯市| 台湾省| 恩施市| 海淀区| 临江市| 太保市| 洞口县| 淮南市|