1.引言
在嵌入式系统特别是数据采集系统中,实时性至关重要,它不仅要求嵌入式微处理器能快速作出响应,还要求嵌入式系统能及时处理数据[1]。在本文设计的数据采集系统中,如采用常规方法传输数据,当采集数据的速度较高时,由于Windows CE系统和采集系统不能同步,可能会造成数据的丢失,使得系统不能及时准确的传输数据。为解决这一问题,可以使用采集板上内置的先入先出(FIFO)缓冲器。目前国内关于在Windows CE系统中实现FIFO的文献还未见报道。对此,本文讨论了如何在Windows CE.net平台上开发基于FIFO的数据采集板的驱动程序,以保证数据采集数据的准确性。通过试验将常规方法与FIFO进行比较,得到较好的结果
2.系统的软件及硬件平台
嵌入式系统以其体积小、针对性强、实时性好等特点,在通讯、控制和消费电子等诸多领域得到了广泛的应用。本设计中的 *** 作系统就是微软公司推出的专门用于嵌入式系统的实时 *** 作系统Windows CE.net,它是一个32位、多线程、多任务的嵌入式 *** 作系统,以其模块化的结构,良好实时性能力,强大的通信能力和对多种CPU的支持,在各种工业控制、消费电子等领域拥有较好的应用前景[2]。
数据采集系统的硬件平台是研华公司的MIC-2000工业控制计算机,MIC-2000具有良好的机械可靠性和总线扩展能力[3],可用于环境恶劣的工业现场。数据采集板是模拟量输入板MIC-2718,它是一个高增益、高性能的多功能数据采集板,它提供的程序可控增益放大器使用户可以不用外加电源就可以采集很小的输入信号,内置的1K字FIFO缓冲区保证了采集数据的快速性和准确性。MIC-2718为12位100KHz的A/D模块,支持16路单端或8路差分输入最大转换时间为8usec,有软件触发、定时器触发和外部触发三种方式,MIC-2718的功能框图如图1所示。
MIC-2718支持跳线选择16路单端输入或8路差动输入,当选择单端输入时每个通道只需要接一根信号线,信号的参考地为板上的公共地[4]。标准连线图如图2所示。当选择双端输入时每个通道有2根信号线,MIC-2718测量2个模拟信号的电压差,如果信号源没有接地,则称为“浮”信号源,测量“浮”信号源用图3所示的接线方法。
3.Windows CE驱动程序
与其他 *** 作系统一样,Windows CE.net也提供了很多外设的驱动程序,驱动程序将 *** 作系统和设备连接起来,使 *** 作系统能够识别设备并为应用程序提供设备服务[5]。 但是,对于非常规硬件设备(或者说对现有的Windows CE应用系统是非常规的),微软并没有提供驱动程序,因此需要设备的硬件厂商提供WndowsCE的驱动,或是使用者自行开发[6]。目前,还没有MIC-2718的基于Windows CE.net 4.2版本的驱动程序,因此需要自行开发。
针对本文中数据采集系统和Windows CE中驱动程序模型的特点,本设计采用流接口驱动程序模型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)