Windows95下智能数据采集系统
采用这种电路进行并口通道,电路设计简单,只需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。javascript:window.open(this.src);" style="cursor:pointer;"/>
如果对数据处理的实时性要求不高,允许对信号进行事后处理,则可以选择非实时传输方式。即在单片机采集到数据后,放入大容量RAM中存储,而不向PC机送数。在全部数据采集完成后,才进行单片机与PC机的并口通信,将RAM中存储的数据一次送入PC机。非实时传输方式的最高采样率不受单片机与RAM间地址比较以及并口的数据通过率的限制,使采样的定时分辨率可以小于(1/32)ms。
采用以上原理实现的一套生理电数据采集系统,单片机使用12MHz晶振,可以以500Hz的采样率,进行16通道生理电信号的实时采集和处理。如果采用更高的晶振频率,或采用较少的通道数,这一采样率还可以进一步提高。
小结
本文提出了一种智能数据采集系统。用编程简单、定时分辨率高、工作可靠的单片机定时取代了编程繁复、定时分辨率低、工作不可靠的Windows95下的定时。由单片机板上RAM的“蓄水池"的作用解决了Windows 95在定时采样时响应消息的问题。不但解决了Windows 95环境下短消息的问题。不但解决了Windows 95环境下短时间定时不准确的难题,又简化了用户的应用程序。单片机还可以对采入的数据进行预处理,节省主机处理数据的时间。使PC机的应用程序可以不考虑定时问题,集中精力进行数据采入后的处理工作。
在数据采集系统与主机间采用间采用并行口通信,不但解决了Windows 95下的时采样问题,提高了系统的数据通过率,还使整个系统结构简单、高效、可靠。同时带来了一系列的好处:不须像目前常用的内插式数据采集卡那样占用PC机内的一个扩展槽,而且可以和笔记本电脑相连接,携带方便,使用安全,对采集的信号造成的干扰小,从而实现了对信号的高性能采集。