ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:383.55KB ,
资源ID:2615882      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2615882.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高速数据采集系统设计.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高速数据采集系统设计.doc

1、 基于FPGA和SoC单片机的 高速数据采集系统设计一 选题背景及意义 随着信息技术的飞速发展,各种数据的实时采集和处理在现代工业控制和科学研究中已成为必不可少的部分。高速数据采集系统在自动测试、生产控制、通信、信号处理等领域占有极其重要的地位。随着SoC单片机的快速发展,现在已经可以将采集多路模拟信号的A/D转换子系统和CPU核集成在一片芯片上,使整个数据采集系统几乎可以单芯片实现,从而使数据采集系统体积小,性价比高。FPGA为实现高速数据采集提供了一种理想的实现途径。利用FPGA高速性能和本身集成的几万个逻辑门和嵌入式存储器块,把数据采集系统中的数据缓存和控制电路全部集成在一片FPGA芯片

2、中,大大减小了系统体积,提高了灵活性。FPGA还具有系统编程功能以及功能强大的EDA软件支持,使得系统具有升级容易、开发周期短等优点。二设计要求 设计一高速数据采集系统,系统框图如图1-1所示。输入模拟信号为频率200KHz、Vpp=0.5V的正弦信号。采样频率设定为25MHz。通过按键启动一次数据采集,每次连续采集128点数据,单片机读取128点数据后在LCD模块上回放显示信号波形。 图1-1 高速数据采集原理框图三 整体方案设计高速数据采集系统采用如图3-1的设计方案。高速数据采集系统由单片机最小系统、FPGA最小系统和模拟量输入通道三部分组成。输入正弦信号经过调理电路后送高速A/D转换器

3、,高速A/D转换器以25MHz的频率采样模拟信号,输出的数字量依次存入FPGA内部的FIFO存储器中,并将128字节数据在LCD模块回放显示。 图3-1 高速数据采集系统设计方案四硬件电路设计1. 模拟量输入通道的设计模拟量输入通道由高速A/D转换器和信号调理电路组成。信号调理电路将模拟信号放大、滤波、直流电平位移,以满足A/D转换器对模拟输入信号的要求。2.高速A/D转换电路设计五FPGA模块设计本设计的数据缓冲电路采用FIFO存储器。FIFO数据缓冲电路原理如图5-1。 图5-1 FIFO数据缓冲电路原理FIFO的写端口的数据线与ADS931的数据线直接相连,FIFO的写时钟和ADS931

4、采用同一时钟信号CLK0。FIFO的读端口与单片机并行总线相连,数据输出端口加了三态缓冲器。地址译码器的片选信号和读信号相或非后作为FIFO的读时钟电路和三态缓冲的使能信号。FIFO数据顶层原理图如图5-2。 图5-2 FIFO数据顶层原理图六 F360单片机模块设计主程序完成C8051F360单片机初始化、检测有无按键输入等功能。在此系统中我们加入了一个频率测试显示功能。主程序流程图如图6-2。 图6-2 主程序流程图主程序源代码如下:void main() uchar xdata *addr1; uint i; float f,ts; uchar fuzhi; int up,down,m,

5、n; up=0;down=0;m=0;n=0;ts=0.04; InitDevice();/F360初始化 InsitiLcd();/LCD模块初始化 DispHan(hanzi10,0x80,0x10); DispHan(hanzi11,0x92,0x08); DispHan(hanzi12,0x8a,0x08); DispHan(hanzi13,0x98,0x08); DispHan(hanzi14,0x9c,0x08); addr1=LEDENCS;*addr1=0x01; START=0; EOC=1; while(1) if (keysign = 1)keysign = 0;if(k

6、eycode=0x00)/k0键 START=1; while(EOC=0); /等待数据采集完 START=0; addr1=CS1; while(EOC=1) /等待读出第一个有效数据 WaveData0=*addr1; for(i=1;i3)if(WaveDatai=WaveDatai-2) up=1;if(WaveDatai64) for(i=m-5;i=1;i-) if(WaveDatai=WaveDatai-2) down=1;if(WaveDatai=WaveDatai-2)&(down=1) down=0;n=i-1; else for(i=m+5;i=WaveDatai+2)

7、 down=1;if(WaveDatai=n) f=1/(4*(m-n)*ts); else f=1/(4*(n-m)*ts); fuzhi=WaveDatam-WaveDatan; InsitiLcd(); ShowWave(); if(keycode=0x01)/k1键InsitiLcd();DispHan(hanzi15,0x90,0x06);xiaoshu(f,0x93);DispHan(hanzi17,0x96,0x03); /DispHan(hanzi16,0x8a,0x06); 七 系统调试与结果将各个模块连接后,进行调试。首先在LCD上显示如图7-1的界面。 图7-1 LCD初始界面在信号调理电路的模拟输入端输入频率200KHz、Vpp=0.5V的正弦信号,按K0键,LCD显示正弦波如图7-2。 7-2 按K0后的波形显示按K1,LCD显示频率如图7-3。 7-3 LCD频率显示与输入频率相比有误差,不过在可以接受的范围内。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1