基于fpgaad数据采集存储处理报告含verilog源代码

基于fpgaad数据采集存储处理报告含verilog源代码

ID:11717468

大小:2.11 MB

页数:35页

时间:2018-07-13

基于fpgaad数据采集存储处理报告含verilog源代码_第1页
基于fpgaad数据采集存储处理报告含verilog源代码_第2页
基于fpgaad数据采集存储处理报告含verilog源代码_第3页
基于fpgaad数据采集存储处理报告含verilog源代码_第4页
基于fpgaad数据采集存储处理报告含verilog源代码_第5页
资源描述:

《基于fpgaad数据采集存储处理报告含verilog源代码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于FPGAAD数据采集存储处理项目报告(XILINXALTEARA都可用)组员:华、文、杰一、实验目的本次实验利用Basys2开发板完成一个开发小项目,即开发AD数据采集存储处理系统,旨在掌握FPGA开发基本方法以及锻炼解决开发过程中出现问题的能力。二、关键词Basys2、FPGA、AD转换、RAM、串口通信、MATLAB处理三、方案设计要实现本次项目,首先确定器件,其次根据器件时序写出模块的使用程序,最后综合成一个工程,然后进行仿真,上板实验。本次实验的器件:32M8位模数转换器、Basys2开发

2、板、串口转RS232cp2102模块、基于三极管的电平转换电路。选择好器件后,根据器件的时序完成模块的代码书写。写好AD模块、串口通信模块后,现在就需要处理采样速率与串口通讯速率不匹配的问题了。根据香农采样定理,采样频率得高于信号频率的两倍才能完成信号复现,我们这里使用25M的高速采样频率,而串口dps9600传送一个位104us明显比采样慢许多。所以这里需要解决速率不匹配的问题。我们想到可以利用FPGA的RAM先存储采样来的数据,然后再提取数据经过串口通信送至PC经由MATLAB处理。本次小项目最为

3、关键的是控制好采样与串口通信的时序问题。关于时序的控制,留到模块介绍里面说明。方案小结:本次实验基于片内RAM存储AD采样过来的数据,然后待采样完成后提取数据串口通信至PC,最后经由matlab处理。四、模块介绍1.Verilog开发程序介绍如下给出基于QuartusII绘制出的BlockDiagram图,涵盖了所有的模块以及模块之间的连线。图4.1综合模块图如下给出程序目录(txt格式):现在分别介绍各个模块的端口以及功能。AD外设:电路图、实物图、接口这个外设提供最大32M采样速率,包括一个模拟信

4、号输入和一个采样时钟输入以及八个数字信号输出。在每个采样时钟的上升沿输出相应的采样数字信号。Basys2开发板:串口通讯模块外设:这个模块旨在把Basys2输出的LVTTL转换成RS232的负逻辑高电平,实现串口与PC的通信。它有五个引脚:GND、3.3V、5V、TXD、RXD。在使用中,只使用RXD和GND。需要注意的是,倘若GND不与FPGA串口的GND连接,那么串口输出的电平,此模块无法识别,这就是数字地需要共地的重要性。这里的RXD接Basys的串口输出C6(这是分配的tx输出管脚)。接线当然

5、用杜邦线的公母线连接。TOP模块:TOP模块命名为TEST是当时自己写的非最终版程序用来测试正确性,最后测试正确后也没修改过来,但是对仿真没影响。clk是系统时钟输入,用来作为全局时钟并且为调用后面四个子模块提供时钟基础,设置为50M。rst_n是系统复位设置,复位到初始状态,这里大家都熟悉,不用多说。input[7:0]datain是AD外设的8位数字信号输入,这个数字信号随着AD采样时钟(clk_25M)变化,在后面CLK模块里面会说明。outputclk_25M为调用CLK模块后输出的AD采样时

6、钟,这个输出用来接AD外设的时钟输入,提供采样时钟。outputtx为调用uart模块后,与PC通信的“桥梁”,即携带数据的信号吧。CLK模块:这里模块名字设置为AD_2CLK,旨在表明输出两个CLK,用来AD采样和串口通信。inputclk为系统时钟50Mhz。Inputreset_n为系统复位,低电平有效。Outputregclk_25M为AD采样时钟,之前做过说明。Outputregdps9600为输出给uart模块的时钟。ENCON模块:这个模块是整个程序的控制核心,下面介绍端口说明。Inpu

7、twr_clk为写时钟输入,这里我们接的当然就是AD写入的时钟CLK_25M,这里的写速率要和采样速率匹配才可以保证采样再存储的正确性。Inputrd_clk为读时钟输入,这里接dps9600,符合串口协议。Inputrst_n为系统复位,低电平有效。Outputregwren为写使能输出,当wren为高时,写有效,即表明AD的八位数字信号写进RAM。Outputreg[8:0]wraddress为写地址,写地址在写时钟下降沿完成加一,保证每次写完后都是新的地址存储数据保证了ram能够存储512个正确

8、数据。Outputregrden为读使能输出,当rden为高时,读有效,即表明RAM里面对应地址的信号读出。Outputreg[8:0]rdaddress为读地址,在每个读信号的下降沿完成加一,保证每次读完一个数据后地址指向新的内容,保证读出的512个数据的正确性。Outputregwrsig为发送给串口的发送信号,上升沿有效。每一上升沿使串口开始发送送到串口的数据给PC。RAM模块:Inputwr_clk为RAM的写时钟,上升沿有效在相应地址写入数据。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。