基于FPGA-ad数据采集存储处理报告(含Verilog源代码)2033.docxVIP

基于FPGA-ad数据采集存储处理报告(含Verilog源代码)2033.docx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA-ad数据采集存储处理报告(含Verilog源代码)2033.docx

基于FPGA AD数据采集存储处理项目报告(XILINX ALTEARA 都可用)组员:华、文、杰实验目的本次实验利用Basys2开发板完成一个开发小项目,即开发AD数据采集存储处理系统,旨在掌握FPGA开发基本方法以及锻炼解决开发过程中出现问题的能力。关键词Basys2、FPGA、AD转换、RAM、串口通信、MATLAB处理方案设计要实现本次项目,首先确定器件,其次根据器件时序写出模块的使用程序,最后综合成一个工程,然后进行仿真,上板实验。本次实验的器件:32M8位模数转换器、Basys2开发板、串口转RS232cp2102模块、基于三极管的电平转换电路。选择好器件后,根据器件的时序完成模块的代码书写。写好AD模块、串口通信模块后,现在就需要处理采样速率与串口通讯速率不匹配的问题了。根据香农采样定理,采样频率得高于信号频率的两倍才能完成信号复现,我们这里使用25M的高速采样频率,而串口dps9600传送一个位104us明显比采样慢许多。所以这里需要解决速率不匹配的问题。我们想到可以利用FPGA的RAM先存储采样来的数据,然后再提取数据经过串口通信送至PC经由MATLAB处理。本次小项目最为关键的是控制好采样与串口通信的时序问题。关于时序的控制,留到模块介绍里面说明。方案小结:本次实验基于片内RAM存储AD采样过来的数据,然后待采样完成后提取数据串口通信至PC,最后经由matlab处理。模块介绍Verilog开发程序介绍如下给出基于QuartusII绘制出的Block Diagram图,涵盖了所有的模块以及模块之间的连线。图4.1 综合模块图如下给出程序目录(txt格式):现在分别介绍各个模块的端口以及功能。AD外设:电路图、实物图、接口这个外设提供最大32M采样速率,包括一个模拟信号输入和一个采样时钟输入以及八个数字信号输出。在每个采样时钟的上升沿输出相应的采样数字信号。Basys2开发板:串口通讯模块外设:这个模块旨在把Basys2输出的LVTTL转换成RS232的负逻辑高电平,实现串口与PC的通信。它有五个引脚:GND、3.3V、5V、TXD、RXD。在使用中,只使用RXD和GND。需要注意的是,倘若GND不与FPGA串口的GND连接,那么串口输出的电平,此模块无法识别,这就是数字地需要共地的重要性。这里的RXD接Basys的串口输出C6(这是分配的tx输出管脚)。接线当然用杜邦线的公母线连接。TOP模块:TOP模块命名为TEST是当时自己写的非最终版程序用来测试正确性,最后测试正确后也没修改过来,但是对仿真没影响。clk是系统时钟输入,用来作为全局时钟并且为调用后面四个子模块提供时钟基础,设置为50M。rst_n是系统复位设置,复位到初始状态,这里大家都熟悉,不用多说。input[7:0]datain是AD外设的8位数字信号输入,这个数字信号随着AD采样时钟(clk_25M)变化,在后面CLK模块里面会说明。output clk_25M为调用CLK模块后输出的AD采样时钟,这个输出用来接AD外设的时钟输入,提供采样时钟。output tx为调用uart模块后,与PC通信的“桥梁”,即携带数据的信号吧。CLK模块:这里模块名字设置为AD_2CLK,旨在表明输出两个CLK,用来AD采样和串口通信。input clk为系统时钟50Mhz。Input reset_n为系统复位,低电平有效。Output reg clk_25M为AD采样时钟,之前做过说明。Output reg dps9600为输出给uart模块的时钟。ENCON模块:这个模块是整个程序的控制核心,下面介绍端口说明。Input wr_clk为写时钟输入,这里我们接的当然就是AD写入的时钟CLK_25M,这里的写速率要和采样速率匹配才可以保证采样再存储的正确性。Input rd_clk为读时钟输入,这里接dps9600,符合串口协议。Input rst_n为系统复位,低电平有效。Output reg wren为写使能输出,当wren为高时,写有效,即表明AD的八位数字信号写进RAM。Output reg [8:0]wraddress为写地址,写地址在写时钟下降沿完成加一,保证每次写完后都是新的地址存储数据保证了ram能够存储512个正确数据。Output reg rden为读使能输出,当rden为高时,读有效,即表明RAM里面对应地址的信号读出。Output reg [8:0]rdaddress为读地址,在每个读信号的下降沿完成加一,保证每次读完一个数据后地址指向新的内容,保证读出的512个数据的正确性。Output reg wrsig 为发送给串口的发送信号,上升沿有效。每一上升沿使串口开始发送送到串口的数据给PC。RAM模块:Input wr_clk为RAM的

文档评论(0)

liuxiaoyu98 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档