Windows 95下智能数据采集系统_第1页
Windows 95下智能数据采集系统_第2页
Windows 95下智能数据采集系统_第3页
Windows 95下智能数据采集系统_第4页
Windows 95下智能数据采集系统_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Windows95下智能数据采集系统摘要提出一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代编程繁复、定时分辨率低、工作不可靠的95下的定时。解决了95环境下短时间定时不准确的难题,乂简化了用户的应用程序。整个系统结构简单、高效可靠,实现了对信号的高性能采集。关键词定时器时钟并口数据采集引言数据采集系统在各行各业都有广泛的应用。目前,已有各种各样高速、高精度、多通道的数据采集卡问世。计算机通过卡上的模数转换器采入数据,然后进行数据存储、数据处理和图形显示等工作。随着微电子技术和计算机技术的发展,范文先生网收集整理9598平台下的应用程序已经成为数据采集与处理软件开发的主流。用于数据采集的常规定时顺乂存在着严重的不足。首先,常规定时器的定时分辨率低。定时器每隔55中断1次,相当于最高采样频率仅为182。对由于9598下的应用程序无法直接与硬件打交道,不能通过对定时中断重新安装的方法改变定时时间长度。如此低的采样频率对于绝大多数的信号采集与处理都是不适合的,必须寻找能以更高频率采集的方法。其次,系统是一个多任务操作系统,它是基于消息来驱动事件的。定时器消息在串行消息队列中的优先级别很低,往往得不到及时响应,甚至消息队列中的几个未及时处理的定时器消息会被合并为一个;而应用程序无法确定由于这种处理而丢失的消息数,使实际的采样间隔不均匀。针对以上问题,人们想出了很多方法予以解决。目前常用的方法都是在机上编程,一般来讲有以下3种方法1在应用程序中,使用普通语言中常用的函数[2,3]。是语言中常用的延延、定时函娄。使用,最高采样率可达1,但与多任务的操作系统不兼容。在应用程序中直接使用会发生编译警告和连接错误。可以通过程序中显示说明函数原型并在库中包含模块的方法去除这一错误,从而可以在应用程序中,像普通程序一样使用。然而,这种用软件等待的方法,对于主机的资源来讲是一个极大的浪费。2使用多媒体定时器的回调函数[4,5]多媒体定时器可以通过函数来设置定时器分辨率,其分辨率最小为1,最大为16。这一分辨率代表了60〜1000的采样率,可以满足一般信号对采样率的要求。而且多媒体定时器采用中断完成定时服务,在中断时刻调用1个回调函数,而不是向消息队列发送_信息。在应用程序中,使用多媒体定时器并不容易,必须遵循严格的步骤。在使用回调函数的赶集,在中断服务程序和用户主程序之间,要进行数据的共享,给编程和调试带来不便。程序的稳健性也会受到影响。在定时时间较短时,主机负荷过重。3实时钟定时[6]实时钟芯片在基准频率作用下驱动内部时钟电路工作,同时可通过对内部寄存器3〜0编程,选择22分频输出信号频率。实时钟周期性地输出方波和周期中断请求信号该中断请求连到8,从而为程序中实现时间控制提供了另一条途径。同时,在机制中,使用优先级高于一般的任务级,而等于系统级的编制驱动程序,可以保证驱动程序在运行时享有最高优先权,在进行硬件设备的管理、控制时不会被其他任务所中断,充分保证了驱动程序返还给用户的数据是完全真实的值。而且可以直接对硬件进行访问,因而通过编写直接管理实时钟中断,定时分辨率更高。但对调试者的编程水平要求较高,稍有不慎,很容易出现异常错误或死机。不难看出,直接在机上编程解决定时问题要求调试者有较高的编程水平,程序调试困难,可靠性差。为此,我们设计了一套智能数据采集系统。用单片机8951作为中央处理单元,控制模数据转换、外部数据存储器等外围设备,进行数据的定时采集和预处理。通过绝大多数电脑都具备的并行口作为数据采集系统与计算机的接口,与机进行数据传输。由单片机管理定时采样和进行部分信号预处理工作,解决了95下定时采样的问题,减径了机方面编程的工作量,使应用程序可以精力进行数据采集后的处理工作。智能数据采集系统智能数据采集系统的框图如图1所示。信源信号经放大滤波后进入转换器。单片机以一定的采集率在定时中断内读取转换器的输出,送入中暂存,在定时断外则将中存储的数据不断经并口送入机。机中的应用程序由并口接收单片机发送的数据,并对其进行数据处理和显示。1单片机与主机间的并口通信随着计算机技术的发展,微机的并行口发生了很大的变化,由原来的只能打印,即只能向外设传输数据,发展成为可以在微机与外设之间进行双向、快速交换数据的双向并行接口。利用双向并行口使得机能与数据采集系统的单片机之间以异步的、全互锁的双向并行方式通信。它能减少用户交互地操作外部设备的次数,以更高的传输速率完成数据传送。并口通信硬件部分原理如图2所示,软件部分流程图如图3所示。并口通信利用了触发器7474的预置和清零功能提供传输数据所需的握手信号。用八锁存器74573完成单片机传出数据的锁存。在单片机向机送数时,单片机先将数据锁存在74573中。74573的输出端接到微机并行口的数据寄存器的输入端。数据锁存后,单片机将7474的清零端清零,使输出端输出低电平,端同时送至并行口的状态寄存器,通知机可以取数。机检测到这一信号后,经控制口选通数据锁存器,将锁存的数据取出,并将触发器置位端置1,使端输出高电平,通知单片机数已取出,可以送下一个数据了。单片机检测到触发器端输出变为高电平后,乂将1个新数据锁存至74573中,同时使触发器输出电平翻转,通知机取数。如此往复,直到机不再需要读数为止。值得注意的是为了避免由于时序的不匹配造成的清零和置位端同时有效,在单片机机进行清零置位前,应对机单片机的置位清零端进行检测;而为了避免数据的传输错误,每发16个数据即进行1次累加器和与异或和校验。机如发现检验结果错误,即通知单片机重发刚才的16个数。采用这种电路进行并口通道,电路设计简单,只需1片74573和1片7474即可实现。74573和7474的使用都很简单,使得程序编制也很容易,大大提高了传输速度。2单片机与间的数据交换在并口通信中引入,是为了解决下应用程序在数据采集时无法及时响应消息的问题。在系统中起到了蓄水池的作用数据采集卡上单片机8951以200的采样率在定时中断内读取模数转换器126各通道转换结果,送入外部中暂存;而在主程序内,则将中存储的数据取出,通过并口通信传给笔记本电脑。数据在中以循环队列方式存储。这样,在响应其他消息,笔记本电脑速度较慢时,采入的数据在中暂存;而在笔记本电脑速度快时,单片机将中存储的数据取出传出。因为总体来讲笔记本电脑的速度是足以在中断时间内传完中存储的数据的。所以只要的存储量足够大几倍于响应其他消息可能花费的最大时间,就可以保证数据的连续传输。单片机与数据交换流程如图4所示。3最高采样率的限制对最高采样率的讨论可以分为两种情况实时传输和非实时传输。在实时传输时,像前面提到的那样,单片机采集到数据,在定时中断内经暂存,在定时断外则不断经并口向机发送。因而采集系统的最高采样率由于受到单片机与间数据交换以及与机并口通信指令执行时间的限制,并假设在使用8951,12晶振时,采样数据精度是单字节的,则单通道采样率不应高于32。如果对数据处理的实时性要求不高,允许对信号进行事后处理,则可以选择非实时传输方式。即在单片机采集到数据后,放入大容量中存储,而不向机送数。在全部数据采集完成后,才进行单片机与机的并口通信,将中存储的数据一次送入机。非实时传输方式的最高采样率不受单片机与间地址比较以及并口的数据通过率的限制,使采样的定时分辨率可以小于132。采用以上原理实现的一套生理电数据采集系统,单片机使用12晶振,可以以500的采样率,进行16通道生理电信号的实时采集和处理。如果采用更高的晶振频率,或采用较少的通道数,这一采样率还可以进一步提高。小结本文提出了一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代了编程繁复、定时分辨率低、工作不可靠的95下的定时。由单片机板上的蓄水池"的作用解决了95在定时采样时响应消息的问题。不但解决了95环境下短消息的问题。不但解决了95环境下短时间定时不准确的难题,乂简化了用户的应用程序。单片机还可以对采入的数据进行预处理,节省主机处理数据的时间。使机的应用程序可以不考虑定时问题,集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论