微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 数据采集系统设计

数据采集系统设计

时间:04-23 来源:互联网 点击:

V,最大值为5.5 V,低电平电压范围为-0.5~0.8V,高电平电压范围为2.0~5.0V,经EPM7128输出的数据直接与STM32F103VBT6连接,简化了电路。

3 软件设计
根据设计任务的要求,系统软件主要完成数据的采集、滤波处理、串口与PC机的通信,数据采集软件由信号采集与通信模块软件、上位机监控软件两部分组成。
3.1 信号采集与通信模块软件设计
数据采集系统的固件驱动程序(又称单片机程序)是固化到CPU模块内的软件,采用模块化设计,主要模块包括:信号采集控制模块和数据传输模块两大部分。信号采集控制模块软件固化到CPLD中,数据通信模块软件固化到STM32中。
信号采集控制模块软件利用Altera公司的Quartus开发软件实现,采用Verilog HDL语言设计,主要功能包括输入通道选通、数据采样控制。通过CPLD芯片分别控制ADG508和AD977,进行模拟量输入通道的选择和启动A/D转换。数据的采集算法过程中,根据香农定理,采样频率大于被采集信号的2倍频率。信号采集模块软件流程图如图5所示。

数据传输模块软件在Real View MDK环境下编写,主要功能包括数据接收、数据处理、串口通信。STM32通过握手信号启动CPLD的数据采集程序,在启动A/D转换器转换下一路信号。软件设计上,采用极值滑动平均滤波抑制叠加在模拟输入信号上的噪声;应用软件拦截技术、软件看门狗技术、故障处理自恢复技术等措施使受干扰而“跑飞”的程序回到正常的轨道上;采用I/O自检等程序预先发现故障并定位故障所在,提高系统的可靠性。数据通信模块软件流程图如图6所示。

3.2上位机监控软件设计
用户应用服务程序直接面向用户,是控制数据采集软件的最上层,不仅提供与用户交互的界面,还能通过发送各种控制命令来控制采集模块的丁作。利用微软公司开发的软件开发平台VC++6.0没计上层界面,进行数据的实时显示、存储。采用串口传输协议,将底层采集到的数据传输到上位PC机,并在VC++6.0设计的上层界面中实时显示。
制定通信协议:通信双方的波特率设定为9 600 b/s;帧格式:一个起始位,八个数据位,一个可编程的第九位,一个停止位;工作方式:PC机采用查询方式,STM32采用中断方式;功能标志:发送请求标志#0F1H,接收请求标志#0FFH;校验:通信双方采用求和校验的方式,即发送一串字符,双方计算累加和,与PC机比较,有错即重发。

4 结论
数据采集系统采用CPLD选取输入通道、控制A/D转换,实现数据采样;利用STM32具有的丰富外设接口进行数据处理、数据通信,提高了系统设计的灵活性,使系统易于升级和扩展。本系统开发周期短、运行稳定、性能可靠、使用方便。配合上位机采集界面,方便进行操作使用以及各种采样数据的存储,在多种模拟量输入的数据采集和控制系统的应用中前景十分广阔,将数据采集系统应用到工业现场数据的采集中将是本研究下一步将要进行的工作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top