欢迎来到天天文库
浏览记录
ID:15084231
大小:247.50 KB
页数:42页
时间:2018-08-01
《基于arm多通道仪表数据采集实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、物理与电子工程学院《嵌入式系统与应用》设计性实验报告题目基于ARM的多通道仪表数据采集实验系别xx年级xx专业xx班级xx学号xx学生姓名xx指导教师xx40实验时间xx40目录引言2一课题内容及目的3二课题分析3三系统设计4四代码分析8五实验结果10六实验总结10参考文献12附录13设计性实验报告成绩:指导教师签名:2340引言在实际应用中,常常需要对现场的设备进行监测,通过采集设备的运行参数随时了解、跟踪设备运行状态,进而对设备进行分析和诊断。传统的数据采集系统一般采用PC加数据采集卡,主要做法是将一块基于IAS或PCI的板卡插入工业计算机或商用机上,将外部信号通
2、过导线引至计算机,然后接入数据采集卡,通过定制的软件进行采集。但是采用数据采集卡的缺点是安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和位置、中断资源的限制,不可能挂接很多设备。从未来的发展方向上看,数据采集系统的数据采集部分应朝着强实时、多参数、高精度方向发展;数据存储部分朝着大容量、微型化、便携式方向发展;数据传输部分朝着多通讯方式、远距离数据传输方向发展。一般的基于单任务顺序机制的单片机数据采集系统又很难胜任对于稳定性、实时性要求很高的场合。基于此,本设计了一种基于ARM7处理器,采用了串口、USB、以太网3种与PC机的通讯方式,以适应不同场合的需要。
3、采用多任务编程方法,每个任务监视一路AD转换,每一路AD的转换结果在液晶屏上用一个条形图的长短来表示,直观地显示每路模拟输入电压的大小。可以通过文本框给每路AD设置警戒值,某路输入超出警戒线之后条形图中超出的部分会以闪动的方式显示。40一课题内容及目的采用多任务编程方法,每个任务监视一路AD转换,每一路AD的转换结果在液晶屏上用一个条形图的长短来表示,直观地显示每路模拟输入电压的大小。可以通过文本框给每路AD设置警戒值,某路输入超出警戒线之后条形图中超出的部分会以闪动的方式显示。并在数码管上对应的某通道的数值显示当超过警戒线数值时,数字闪烁显示。二课题分析数据采集系统
4、置于被监控的设备处,通过传感器对设备的电压或者电流信号进行采样、保持,并送入A/D转换器变成数字信号,然后将该信号送到FIFO中。当FIFO中存放的数据到了一定数目时,由ARM7从FIFO中读出,然后通过ARM7的以太网接口送给上位机。多路采集通道经过模拟开关后再进入A/D转换器。CPLD是整个系统的控制核心,它控制采集通道的切换、A/D转换器的启/停、转换后的数据在FIFO中的存放地址发生器、产生中断请求以通知ARM7读取存放在FIFO中的数据等。三系统设计1.编写OnKey()40函数,响应键盘消息。流程图如图1所示。1)这里设置了两个文本框,用来输入通道编号和该
5、通道的警戒值,在键盘消息响应函数里针对两个文本框分别作出处理,只处理回车键和取消键,其他键由控件本身处理。程序里用变量EditNumber指示当前要编辑的文本框控件;用变量input指示该文本框控件是否处于输入编辑状态。以此决定回车键应该执行的功能。2)当文本框控件不是编辑状态时,回车将使其进入编辑状态,在程序里用SetWndCtrlFocus()函数将焦点转移到该控件并用SetTextCtrlEdit()函数设置为编辑状态;当文本框正处于编辑状态时,回车将使其退出编辑状态,并将要编辑的文本框切换到另一个文本框控件,取消键的处理和这种情况类似。3)如果当前要编辑的文本
6、框是警戒值输入框,在编辑状态中回车确定后,所输入的通道编号以及警戒值就会保存在数组WarnningData中,代码如下:WarnningData[Unicode2Int(pChannelTextCtrl->text)]=Unicode2Int(pValueTextCtrl->text);40图1402.编写绘图显示任务Display_Task,绘制文本框和条形图等,并实现文本框编辑过程中和超过警戒值后的动画显示,其流程图为图2所示。图2401)程序中用TextOut()函数显示文本框的提示信息,用数组edit记录两个文本框是否处于编辑状态,用变量IsEdit指示提示信
7、息是否显示。实际上,IsEdit这个变量在显示任务循环一次就改变一次状态,当IsEdit==1时将提示信息擦掉,否则保持显示不变。这就是闪烁显示的原理,表示AD转换结果的条形图超出警戒值的部分的闪烁也是这样实现的,随着任务的循环隔次的改变状态。2)和变量IsEdit的作用类似,warnning[x]是条形图闪烁的指示变量。当某路AD转换的结果result_ADx大于对应通道的警戒值WarnningData[x]时,根据warnning[x]的值决定条形图的长度是和result_ADx对应还是和WarnningData[x]对应,这样看起来条形图的长度
此文档下载收益归作者所有