摘要:针对以往的数据采集系统实时性差数据传输率低的问题,设计利用操作系统μCOSII高实时性和USB数据传输高效性,构建了基于μCOSII和USB2.0的数据采集系统。系统由信号预处理单元、AD转换单元、数据传输单元、LCD显示单元等组成。通过输入特定的模拟信号,得出了系统的性能参数。经过多次实验,数据表明:该数据采集系统可实现最大工作频率为110KHZ采样频率转换精度为0.08v的现场模拟信号的采集。
引言
电子技术的不断发展,对现代数据采集系统的高速、大容量数据流和实时处理的能力提出了更高要求。其特点在于系统的输入、处理和输出等处理阶段都具有绝对的时间限制,这就对系统实时性和数据传输速度提出了更高的要求。采用μCOSII嵌入式多任务实时操作系统内核,可以避免传统的单片机前后台系统任务响应时间长的不足。采用USB总线作为数据采集系统与PC机的数据输送通道,不但安装方便,不受机箱内环境的干扰,而且在扩展性、传输速度、连接距离等方面完全可以满足要求。
1硬件设计
LPC2142是整个系统的核心元件。整个系统由信号预处理单元、AD转换单元、数据处理单元、数据传输单元、LCD显示单元组成。其中信号处理单元实现对采样数据的预处理,使其符合LPC2142的内置AD转换器的要求。AD转换单元实现信号的模拟量向数字量的转变,同时产生10位精度的数字信号。数字信号经过LPC2142处理后以曲线的形式显示在液晶显示器上,同时数据通过USB数据传输单元传送到计算机上进行进一步的处理。其硬件设计框图如图1所示。1.1信号处理单元由于传感器输出的信号没有进行放大和滤波,模拟信号不符合A/D转换芯片的要求。因此在AD转换之前必须得进行信号的处理。该信号处理模块采用选频网络的方法把信号进行放大滤波,并且把带宽调整到符合AD转换器的频率范围。图2为中心频率为300MHZ的选频带通电路。1.2LPC2142处理芯片本系统的处理器选用LPC2142芯片做控制核心。其128位宽度接口加速器可实现高达60MHz工作频率。芯片内置的USB2.0全速设备控制器具有2kB的终端RAM,支持Softconnect特性,并完全兼容USB2.0全速规范。LPC2142还拥有1个10位AD转换器,提供总共6路模拟输入,每个通道的转换时间低至2.44us,支持一个或多个输入的突发转换模式,可以选择由输入跳变或定时器匹配信号触发转换[1]。数据采集系统的AD转换单元利用了LPC2142芯片内集成的AD转换器。这样不仅降低了这个系统的成本,并且也省去了外接AD转换器时复杂的引线连接,从而避免了连接缺陷造成的数字信号的异常。系统的数据传输单元也利用了LPC2142内置的USB2.0控制器,与其它USB设备控制器相比,LPC2142USB设备控制器内嵌于CPU芯片内部。这种集成的形式不仅使USB设备控制器与CPU之间的数据交换可以稳定地达到很高的速度,而且提高了芯片的性价比。USB接口电路如图3所示。1.3LCD显示单元该数据采集系统的显示器使用240×128的点阵LCD显示器进行数据曲线的显示,这样可以给用户提供友好的人机交互界面,使操作更加方便。通过LPC2142处理器的通用I/O口与显示器接口连接,实现LPC2142处理器对LCD液晶显示器的驱动与控制,并将处理后的数据通传送给LCD显示器进行数据曲线的显示。
2软件程序设计
以往的单片机编程采用前后台系统,这种系统在功能较复杂、程序规模大,特别是系统中并发模块很多的时候,就显得力不从心,很难确保控制、测量的实时性,并且程序编写困难也不便于增加功能。μCOSII是一个嵌入式实时多任务操作系统内核,具有很强的稳定和安全性。μCOSII是一个完整的、可剪裁、容易移植、可固化的占先式实时多任务内核,内核大部分以ANSIC为编程语言,广泛的适合于不同架构的微处理器。μCOSII具有源码公开、移植性好、可剪裁、多任务、稳定和可靠等特点[2]。本程序在μCOSII操作系统基础上进行编程。整个软件程序分为4个任务:AD控制任务、LCD控制任务、数据处理任务、USB数据传输任务。4个任务的关系如图4。图4程序任务图AD转换任务控制着LPC2142内置AD转换器的运行,它初始化AD转换器并控制采样的通道选择和采样的时间间隔。当它完成一次转换后自动向数据转换消息队列发送10位的转换结果。而后程序回到程序开始处执行下一次的AD转换。LCD控制任务控制着240×128点阵液晶屏的显示。在任务中它首先初始化LCD,然后进入死循环等待数据处理消息队列的消息,一旦有消息它就把消息取出来并发送到LCD上进行显示。之后任务重新等待消息队列中的消息。直到消息队列中有了消息程序才会继续进行。数据处理任务从数据转换消息队列中取出消息,消息中的数据首先发送到数据传输消息队列中。然后再对数据进行处理使之能够在LCD上以曲线的形式进行显示,而后将处理后的数据发送到数据处理消息队列中。最后任务重新回到开始,等待数据转换消息队列消息的到来。USB数据传输任务控制着数据的传输。它从数据传输消息队列中取出数据,然后将数据传送给计算机实现进一步的处理。该任务是整个软件设计中最复杂的部分。为了使软件易维护并综合考虑USB协议、LPC2142USB的硬件条件后,采用了分层的方法编写USB程序。USB分层结构图如图5所示。
3实验数据
利用该数据采集系统采集处理特定的模拟信号,分析出了整个系统的误差。从测试的结果上看,该系统达到了±0.4%的动态测量精度。测试分析的数据曲线如图6所示。
4结论
采用高性能的ARM微处理器LPC2142替代了传统的8位或16位单片机,使得系统具有了丰富的功能和高效的实时处理能力。采用实时操作系统μCOSII,简化了复杂系统的设计,增加了模块化程度,同时使得功能扩展更加容易。LCD液晶提供了友好的显示界面,增强了人机交互能力。大量事实表明用上述方式设计的数据采集系统能够测量较宽范围的模拟信号,并具有很高的稳定性和测量精度。该系统可以与昂贵的数据采集系统相媲美,具有很好的应用推广价值。
参考文献
[1]胡晓军.张爱成.USB接口开发技术.西安:西安电子科技大学出版社,2005.
[2]任哲.嵌入式实时操作系统μCOSII原理及应用.北京:北京航空航天大学2005
[3]张晓.嵌入式实时操作系统μCOSII的研究与应用.大连.大连海事大学,2006.
[4]邹久朋.微控制器原理与实例.北京:化学工业出版社,2004.
[5]马明建.数据采集与处理技术.西安:西安交通大学出版社,2005.
[6]郝洪彬.程翔.基于USB的数据采集系统设计.机械工程与自动化2014(06)57-58.
[7]袁坤.嵌入式数据采集系统设计.石家庄:石家庄铁道大学.2015.
[8]邵贝贝.一种源码公开的实时嵌入式操作系统μCOSII.世界电子元器件2机电安装论文001(10):41~42.
[9]胡德斌.基于μCOSII操作作系统的嵌入式网络服务器的设计与实现.微计算机信息2005(13):24~25
作者:晏明军 单位:辽宁铁道职业技术学院