完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 543667538 于 2015-2-1 22:18 编辑 module ADC0804(clk_50M,rst,INTR,DB,CS,WR,RD); input clk_50M,rst,INTR;//clk_50M是外部FPGA时钟信号 rst是复位信号 INTR是ADC转换结束信号 input [7:0] DB; //DB是ADC转换结果数据 output CS,WR,RD; //CS是片选信号 WR是启动转换控制信号 RD是外部读取转换结果控制信号,从ADC端口送出 reg CS,WR,RD; reg [7:0] data; //data用来存取FPGA读进来的DB数据 reg [15:0] cnt; //cnt用来计数给50MHZ分频 reg [2:0] state; //------------------------------------------------------------------ parameter state0 = 3'b000, //用状态机控制ADC的时序转换 state1 = 3'b001, state2 = 3'b010, state3 = 3'b011, state4 = 3'b100, state5 = 3'b101; //------------------------------------------------------------------------ always @(posedge clk_50M) begin if(!rst) //rst有效的话,状态机和计数复位 begin state<=state0; cnt <= 0; end else begin cnt <= cnt +1'b1; if(16'd50 == cnt) //1us采样一次 begin cnt <= 0; case(state) state0: //状态0 控制ADC初始化 begin RD = 1; CS = 1; WR = 1; state <= state1; end state1: //状态1,控制ADC开始转换 begin CS = 0; WR = 0; RD = 1; state <= state2; end state2: //状态2,等待INTR信号变低,[size=14.3999996185303px]采样结束 begin CS = 1; WR = 1; RD = 1; if (0 == INTR) state <= state3; end state3: //状态3 begin CS = 0; WR = 1; RD = 0; state <= state4; end state4: //状态4,从ADC读入模拟电压转换之后的数据 begin data <= DB; state <= state0; end endcase end end end endmodule /////////////////////////////////////////////////////////////////////////////////////////////////// 用quartusII的signaltap II logic analyaer(逻辑分析仪)检测输出信号如图: |
|
相关推荐
2个回答
|
|
你确定会用Sigtap?确定把采样时钟加到Sigtap里面去了么(例如你程序里面的50M时钟)?如果这点能确定,那就看下你的时钟是否有,或者时钟管脚分配没有。
|
|
|
|
贴图中的 fclk是多少M的频率?程序中1us采一次,是不是采不到INTR信号,还有一点state3时,不需要讲cs拉低吧,这样写状态机的编码风格不好,若要简单,可采用二段式的方式
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1559 浏览 1 评论
1335 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1544 浏览 0 评论
927 浏览 0 评论
2341 浏览 0 评论
1466 浏览 35 评论
5680 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 15:16 , Processed in 0.653654 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号