地震智能数据采集系统
智能数据采集系统充分融合了先进的计算机网络数据库技术、低功耗的工业单片机技术、高灵敏度的电磁传感技术,进行地震信息数据采集、信息分析对比,利用互联网把分布在各地台站的'信息进行汇总,用于对各种地震前兆仪器的物理量数据采集、数据管理、曲线分析.
作 者:丁跃军 刊 名:中国科技成果 英文刊名:CHINA SCIENCE AND TECHNOLOGY ACHIEVEMENTS 年,卷(期): 10(17) 分类号:P5 关键词:智能数据采集 地震监测 监测仪器摘要:提出一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代编程繁复、定时分辨率低、工作不可靠的Windows95下的定时。解决了Windows 95环境下短时间定时不准确的难题,又简化了用户的应用程序。整个系统结构简单、高效可靠,实现了对信号的高性能采集。
关键词:定时器 时钟 并口 数据采集
引言
数据采集系统在各行各业都有广泛的应用。目前,已有各种各样高速、高精度、多通道的数据采集卡问世。计算机通过卡上的模数转换器采入数据,然后进行数据存储、数据处理和图形显示等工作。随着微电子技术和计算机技术的发展,(本网网收集整理)Windows 95/98平台下的应用程序已经成为数据采集与处理软件开发的主流。
用于数据采集的常规Windows定时顺又存在着严重的不足。首先,常规Windows定时器的定时分辨率低。定时器每隔55ms中断1次,相当于最高采样频率仅为18.2Hz。对由于Windows 95/98下的应用程序无法直接与硬件打交道,不能通过对定时中断重新安装的方法改变定时时间长度。如此低的采样频率对于绝大多数的信号采集与处理都是不适合的,必须寻找能以更高频率采集的方法。
其次,Windows系统是一个多任务操作系统,它是基于消息来驱动事件的。定时器消息WMTIMER在串行消息队列中的优先级别很低,往往得不到及时响应,甚至消息队列中的几个未及时处理的定时器消息会被合并为一个;而应用程序无法确定由于这种处理而丢失的消息数,使实际的采样间隔不均匀。
针对以上问题,人们想出了很多方法予以解决。
(1)在Windows应用程序中,使用普通C语言中常用的函数delay[2,3]。
delay()是C语言中常用的延延、定时函娄。使用delay(),最高采样率可达1kHz,但delay()与多任务的'Windows操作系统不兼容。在Windows应用程序中直接使用delay()会发生编译警告和连接错误。可以通过程序中显示说明函数delay原型并在Windows库中包含DELAY模块的方法去除这一错误,从而可以在Windows应用程序中,像普通C程序一样使用delay()。然而,这种用软件等待的方法,对于主机的资源来讲是一个极大的浪费。
(2)使用Windows多媒体定时器的回调函数[4,5]
Windows多媒体定时器可以通过函数timeBeginPeriod来设置定时器分辨率,其分辨率最小为1ms,最大为16ms。这一分辨率代表了60~1000Hz的采样率,可以满足一般信号对采样率的要求。而且多媒体定时器采用中断完成定时服务,在中断时刻调用1个回调函数,而不是向消息队列发送WM_TIMER信息。在应用程序中,使用Windows多媒体定时器并不容易,必须遵循严格的步骤。在使用回调函数的赶集,在中断服务程序和用户主程序之间,要进行数据的共享,给编程和调试带来不便。程序的稳健性也会受到影响。在定时时间较短时,主机负荷过重。
(3)实时钟定时[6]
实时钟芯片在基准频率作用下驱动内部时钟电路工作,同时可通过对内部寄存器A(D3~D0)编程,选择22分频输出信号频率。实时钟周期性地输出方波和周期中断请求信号(该中断请求连到IRQ8),从而为程序中实现时间控制提供了另一条途径。同时,在Windows机制中,使用优先级高于一般的任务级,而等于系统级的VxD编制驱动程序,可以保证驱动程序在运行时享有最高优先权,在进行硬件设备的管理、控制时不会被其他任务所中断,充分保证了驱动程序返还给用户的数据是完全真实的值。而且可以直接对硬件进行访问,因而通过编写VxD直接管理实时钟中断,定时分辨率更高。但VxD对调试者的编程水平要求较高,稍有不慎,很容易出现异常错误或死机。
不难看出,直接在PC机上编程解决定时问题要求调试者有较高的编程水平,程序调试困难,可靠性差。
为此,我们设计了一套智能数据采集系统。用单片机89C51作为中央处理单元,控制模/数据转换、外部数据存储器等外围设备,进行数据的定时采集和预处理。通过绝大多数电脑都具备的并行口作为数据采集系统与计算机的接口,与PC机进行数据传输。由单片机管理定时采样和进行部分信号预
处理工作,解决了Windows 95下定时采样的问题,减径了PC机方面编程的工作量,使应用程序可以精力进行数据采集后的处理工作。
智能数据采集系统的框图如图1所示。信源信号经放大滤波后进入A/D转换器。单片机以一定的采集率在定时中断内读取A/D转换器的输出,送入RAM中暂存,在定时断外则将RAM中存储的数据不断经并口送入PC机。PC机中的应用程序由并口接收单片机发送的数据,并对其进行数据处理和显示。
1.单片机与主机间的并口通信
随着计算机技术的发展,微机的并行口发生了很大的变化,由原来的只能打印,即只能向外设传输数据,发展成为可以在微机与外设之间进行双向、快速交换数据的双向并行接口。利用双向并行口使得PC机能与数据采集系统的单片机之间以异步的、全互锁的双向并行方式通信。它能减少用户交互地操作外部设备的次数,以更高的传输速率完成数据传送。
并口通信硬件部分原理如图2所示,软件部分流程图如图3所示。
并口通信利用了D触发器74HC74的预置和清零功能提供传输数据所需的握手信号。用八D锁存器74HC573完成单片机传出数据的锁存。在单片机向PC机送数时,单片机先将数据锁存在74HC573中。74HC573的输出端接到微机并行口的数据寄存器的输入端。数据锁存后,单片机将74HC74的清零端CD清零,使输出端Q输出低电平,Q端同时送至并行口的状态寄存器,通知PC机可以取数。PC机检测到这一信号后,经控制口选通数据锁存器,将锁存的数据取出,并将触发器置位端SD置1,使Q端输出高电平,通知单片机数已取出,可以送下一个数据了。单片机检测到触发器Q端输出变为高电平后,又将1个新数据锁存至74HC573中,同时使触发器输出电平翻转,通知PC机取数。如此往复,直到PC机不再需要读数为止。值得注意的是:为了避免由于时序的不匹配造成的清零和置位端同时有效,在单片机(PC机)进行清零(置位)前,应对PC机(单片机)的置位(清零)端进行检测;而为了避免数据的传输错误,每发16个数据即进行1次累加器和与异或和校验。PC机如发现检验结果错误,即通知单片机重发刚才的16个数。
采用这种电路进行并口通道,电路设计简单,只需1片74HC573和1片74HC74即可实现。74HC573和74HC74的使用都很简单,使得程序编制也很容易,大大提高了传输速度。
2.单片机与RAM间的数据交换
在并口通信中引入RAM,是为了解决Windows下应用程序在数据采集时无法及时响应消息的问题。RAM在系统中起到了“蓄水池”的作用:数据采集卡上单片机89C51以200Hz的采样率在定时中断内读取模/数转换器MAX126各通道转换结果,送入外部RAM中暂存;而在主程序内,则将RAM中存储的数据取出,通过并口通信传给笔记本电脑。数据在RAM中以循环队列方式存储。这样,在Windows响应其他消息,笔记本电脑速度较慢时,采入的数据在RAM中暂存;而在笔记本电脑速度快时,单片机将RAM中存储的数据取出传出。因为总体来讲笔记本电脑的速度是足以在中断时间内传完RAM中存储的数据的。所以只要RAM的存储量足够大(几倍于Windows响应其他消息可能花费的最大时间),就可以保证数据的连续传输。单片机与RAM数据交换流程如图4所示。
3.最高采样率的限制
对最高采样率的讨论可以分为两种情况:实时传输和非实时传输。
在实时传输时,像前面提到的那样,单片机采集到数据,在定时中断内经RAM暂存,在定时断外则不断经并口向PC机发送。因而采集系统的最高采样率由于受到单片机与RAM间数据交换以及与PC机并口通信指令执行时间的限制,并假设在使用89C51,12MHz晶振时,采样数据精度是单字节的,则单通道采样率不应高于32kHz。
如果对数据处理的实时性要求不高,允许对信号进行事后处理,则可以选择非实时传输方式。即在单片机采集到数据后,放入大容量RAM中存储,而不向PC机送数。在全部数据采集完成后,才进行单片机与PC机的并口通信,将RAM中存储的数据一次送入PC机。非实时传输方式的最高采样率不受单片机与RAM间地址比较以及并口的数据通过率的限制,使采样的定时分辨率可以小于(1/32)ms。
采用以上原理实现的一套生理电数据采集系统,单片机使用12MHz晶振,可以以500Hz的采样率,进行16通道生理电信号的实时采集和处理。如果采用更高的晶振频率,或采用较少的通道数,这一采样率还可以进一步提高。
小结
本文提出了一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代了编程繁复、定时分辨率低、工作不可靠的Windows95下的定时。由单片机板上RAM的“蓄水池"的作用解决了Windows 95在定时采样时响应消息的问题。不但解决了Windows 95环境下短消息的问题。不但解决了Windows 95环境下短时间定时不准确的难题,又简化了用户的应用程序。单片机还可以对采入的数据进行预处理,节省主机处理数据的时间。使PC机的应用程序可以不考虑定时问题,集中精力进行数据采入后的处理工作。
在数据采集系统与主机间采用间采用并行口通信,不但解决了Windows 95下的时采样问题,提高了系统的数据通过率,还使整个系统结构简单、高效、可靠。同时带来了一系列的好处:
不须像目前常用的内插式数据采集卡那样占用PC机内的一个扩展槽,而且可以和笔记本电脑相连接,携带方便,使用安全,对采集的信号造成的干扰小,从而实现了对信号的高性能采集。
Windows 95下智能数据采集系统
摘要:提出一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代编程繁复、定时分辨率低、工作不可靠的Windows95下的定时。解决了Windows 95环境下短时间定时不准确的难题,又简化了用户的应用程序。整个系统结构简单、高效可靠,实现了对信号的高性能采集。关键词:定时器 时钟 并口 数据采集
引言
数据采集系统在各行各业都有广泛的应用。目前,已有各种各样高速、高精度、多通道的数据采集卡问世。计算机通过卡上的.模数转换器采入数据,然后进行数据存储、数据处理和图形显示等工作。随着微电子技术和计算机技术的发展,Windows 95/98平台下的应用程序已经成为数据采集与处理软件开发的主流。
用于数据采集的常规Windows定时顺又存在着严重的不足。首先,常规Windows定时器的定时分辨率低。定时器每隔55ms中断1次,相当于最高采样频率仅为18.2Hz。对由于Windows 95/98下的应用程序无法直接与硬件打交道,不能通过对定时中断重新安装的方法改变定时时间长度。如此低的采样频率对于绝大多数的信号采集与处理都是不适合的,必须寻找能以更高频率采集的方法。
其次,Windows系统是一个多任务操作系统,它是基于消息来驱动事件的。定时器消息WMTIMER在串行消息队列中的优先级别很低,往往得不到及时响应,甚至消息队列中的几个未及时处理的定时器消息会被合并为一个;而应用程序无法确定由于这种处理而丢失的消息数,使实际的采样间隔不均匀。
针对以上问题,人们想出了很多方法予以解决。
(1)在Windows应用程序中,使用普通C语言中常用的函数delay[2,3]。
delay()是C语言中常用的延延、定时函娄。使用delay(),最高采样率可达1kHz,但delay()与多任务的Windows操作系统不兼容。在Windows应用程序中直接使用delay()会发生编译警告和连接错误。可以通过程序中显示说明函数delay原型并在Windows库中包含DELAY模块的方法去除这一错误,从而可以在Windows应用程序中,像普通C程序一样使用delay()。然而,这种用软件等待的方法,对于主机的资源来讲是一个极大的浪费。
(2)使用Windows多媒体定时器的回调函数[4,5]
Windows多媒体定时器可以通过函数timeBeginPeriod来设置定时器分辨率,其分辨率最小为1ms,最大为16ms。这一分辨率代表了60~1000Hz的采样率,可以满足一般信号对采样率的要求。而且多媒体定时器采用中断完成定时服务,在中断时刻调用1个回调函数,而不是向消息队列发送WM_TIMER信息。在应用程序中,使用Windows多媒体定时器并不容易,必须遵循严格的步骤。在使用回调函数的赶集,在中断服务程序和用户主程序之间,要进行数据的共享,给编程和调试带来不便。程序的稳健
[1] [2] [3] [4]
智能温度数据采集单片机系统研发论文
0 引言
随着数字信息时代的不断发展,基于单片机的数据采集系统凭借结构紧凑、工作性能稳定、可扩展性好、功能丰富等优点,得到了充分的重视和广泛的应用。人是恒温动物,人体的肝、脾、胆以及血压、血液成分等会随着气温的变化受到不同程度的影响,舒适的气温有利于健康。
本文针对室温对基于单片机的智能温度数据采集系统进行进一步分析和研究。该系统分为两部分:室温的数据采集器和监控室内温度的上位PC机。采集器基于STC15F2K61S2单片机,实现对室温的实时监测,显示及对相关设备进行控制,以达到控制室温的效果。
1 系统的总体设计
系统整个过程包括信号的采集、单片机对信号处理、采集数据的实时显示、温控设备的智能控制,最后将采集数据上传至PC机存储分析,系统原理如图1所示。系统包括前端的温度传感器、单片机、按键、数码管显示、空调等温控设备、PC机。其中,单片机是核心设备,主要完成采集信号的处理和转换,将转化后的数据信息显示在数码管上。同时,根据温度变化自动控制空调、风扇、暖气,并将数据存储到上位PC 机的数据库内,可显示当天室温变化的情况和历史变化趋势曲线,空调、暖气设备的使用状况。
1.1单片机I/Ο口分配
对于单片机控制下的智能温度采集系统而言,单片机是系统设计的.核心部分,合理使用单片机的I/Ο口资源是系统设计成功与否的关键。本系统将单片机的P0,P2口分别用于控制数码管的字位码和字形码,P1.0口用于将传感器检测的模拟信号输入至单片机内部的A/D转换器,P3.0和P3.1与上位PC机实现串口通信,P3.2~P3.4接按键,P3.5~P3.7接温控设备。
1.2 A/D转换模块
将温度传感器采样的信号进行数据采集,由单片机同时触发启动转换过程,转换完毕后读入单片机,并进行进一步的信号处理。本系统使用的ADC转换器模块为STC15系列单片机内部集成的8路10位高速ADC转换器模块,模拟信号输入端口设置在P1端口的8个引脚上,本系统仅使用P1.0作为模拟信号输入口。ADC转换器模块涉及的主要寄存器有:
(1)ADC控制寄存器ADC_CONTR(见表1)。
(2)A/D 转换中断有关的寄存器 IE(见表 2)。
EA:总中断允许控制位,置 1 开总中断。
EADC:ADC使能控制端,置1开ADC中断。
当EA =1,EADC =1时 ,ADC控 制 寄 存 器ADC_CONTR中的ADC_FLAG是A/D装换结束标志位,也是A/D转换结束的中断请求标志位。
该模块中主要包括两部分程序:ADC初始化程序和ADC中断服务程序。其中,初始化程序主要用于将P1口设置为ADC的输入通道,启动ADC转换器,并开启CPU中断,等待A/D转换结束的中断请求。程序设计流程如图2所示。
当A/D转换结束后,ADC转换器工作停止,同时相应的中断标志位ADC_FLAG被置为1,程序跳转至ADC中断服务程序入口,在ADC中断服务程序中,主要完成的工作为清除中断标志位,并计算出A/D转换的数字量,然后重新启动ADC转换器。ADC中断服务程序工作流程如图3所示。
1.3数据存储、分析模块
单片机采集到室温后,经过数据处理,需将结果上传给PC机做数据的存储和分析。由于上传的数据量较小,本系统采用串行口通信进行数据传送。上位机接收到实时数据后,需要将实时室温存储至数据库中,为历史数据的管理和分析提供可靠数据支撑。
本系统使用的数据库为SQL Server,通过JDBC提供的接口编写JAVA语言连接数据库并对数据库进行操作。数据存储流程如图4所示。
2 结语
单片机的智能温度采集与分析系统能够实时记录室内温度的变化情况,并能够在温度不适宜人体健康时智能控制温控设备,调节室内温度。
参考文献
[1]董巍巍,李钊,李建军。基于单片机的数据采集系统设计[J].计算机与网络,(12):34-36.
[2]邢献芳,刘建华,郝绒华,等。基于单片机的数字式温湿度数据采集器的研制[J].冶金自动化,(Z1):1013-1015.
[3]刘明龙,刘浩,王腾。基于单片机的智能数据采集系统[J].科技博比,(32):167.
[4]谭晶星,阴晓峰。一种低成本的单片机数据采集系统[J].电脑知识与技术,2009(4):2726-2728.
钻探参数数据智能采集系统的研制
详细介绍了最新研制成功的`智能钻探测控数据采集系统的设计原则、技术特点、结构、参数设置方法以及测试应用情况.
作 者:丁景祥 丁健 DING Jing-xiang DING Jian Jing-xiang(煤炭科学研究总院西安研究院,陕西,西安,710054)丁健,DING Jian(明大网络测控公司,陕西,西安,710048)
刊 名:探矿工程-岩土钻掘工程 ISTIC英文刊名:EXPLORATION ENGINEERING(ROCK & SOIL DRILLING AND TUNNELING) 年,卷(期): 35(1) 分类号:P634.3 关键词:钻探参数 数据采集 测试控制 智能无线扩频技术在地震勘探数据采集系统中的应用
地震数据采集要求在有限时间内收集所有地震道数据.接收道数的增加使瞬间传输的数据量巨大,超出了常规通信方式的能力范围.同时在野外生产时要求通讯部分具备较少的电缆,较低的功耗,较高的'可靠性能等特点.常规数据传输方法不易解决数据传输的通道数和距离不易确定问题.采用有线与无线结合数据采集与传输机制的实验系统,解决了采集站定位问题,保证了每个数字检波器的采集信号同步,提供了一种无线地震数据传输的新方法.实验系统中无线扩频技术的应用使无线通讯方法在地震勘探中更趋于实用.
作 者:马国庆 王辉明 李守才 宗遐龄 肖翌 Ma Guoqing Wang Huiming Li Shoucai Zong Xialing Xiao Yi 刊 名:勘探地球物理进展 英文刊名:PROGRESS IN EXPLORATION GEOPHYSICS 年,卷(期): 32(3) 分类号:P631.43 关键词:地震数据采集 无线扩频技术 GPS授时同步高精度三维地震(I):数据采集
作 者:熊翥 Xiong Zhu 刊 名:勘探地球物理进展 英文刊名:PROGRESS IN EXPLORATION GEOPHYSICS 年,卷(期):2009 32(1) 分类号:P631.4 关键词:高精度三维地震 数据采集 高密度空间采集 观测系统优化 三维观测系统参数 照明分析技术