基于ARM7内核和μC/OS-Ⅱ的数据采集装置设计
2.2.1 数据采集单元设计
数据采集电路部分选用不同的传感器和信号调理电路,可实现对多种电量与非电量的采集与处理,运行稳定可靠,采样精度高,能满足系统的设计要求。
作为通用数据采集装置输入信号范围是很大的,而LPC2144-单片机内嵌ADC转换器的供电电压是+3V,ADC电路的被测信号输入端的输入电压必须小于电源电压,否则测量值将不准确。必须将输入的被测信号的电压范围调理到ADC转换的测量范围内,才能得到正确的ADC转换值。
工作原理:调理电路根据各种传感器输出电压或电流的不同,由DIP开关控制MSP430输出端的继电器,通过不同开关的闭合来改变放大电路的放大倍数,同时MSP430芯片还控制一个DAC来为不同的放大电路提供不同的偏置电压,从而实现量程的转换。最终将0~3 V范围的电压信号输入ADC中。
2.2.2 USB接口电路
USB(Universal Serial Bus)即通用串行总线。一个USB系统通常包括三个部分:USB互连、USB设备和USB主机。USB特有的优点:即插即用、低功耗、完整的总线拓扑结构、硬件结构标准化等。本文引用地址:https://www.eepw.com.cn/article/194494.htm
LPC2144单片机内部有集成的USB控制器,完全兼容USB 2.0全速规范;支持32个物理(16个逻辑)端点;支持控制、批量、中断和同步端点;运行时可通过软件来选择端点最大包长度(取决于USB最大规格);RAM大小取决于使用的端点和最大包的长度;支持SoftConnectTM特性和GoodLinkTM LED指示器;支持总线供电功能,具有较低的挂起电流。
可工作于设备方式。
2.2.3 RS-485接口电路
RS-485接口的优点在于它使用一对双绞线就能实现单片机与上位机的通讯。具有高噪声抑制、宽共模范围、长传输距离、冲突保护以及价格低廉等优点,这些优点使其在工业控制、工业设备中得到了广泛的应用。
由于大多数PC机只具有RS-232串行通信口,而不具备RS-485接口,因此,为了实现RS-485接口串行通信,必须在PC机侧配置RS-232/RS-485接口转换电路,具体通过设计一块RS-232/RS-485转接板来实现。
3 数据采集装置的软件设计
软件设计上,采用基于μC/OS-Ⅱ多任务编程思想。
μC/OS-Ⅱ是由Jean J.Labrosse编写的、很流行的一种免费公开源代码的实时操作系统。μC/OS-Ⅱ不仅具有结构小巧、可固化、可裁剪、多任务和可剥夺型的实时内核等特点,而且其实时性、稳定性、可靠性也得到了广泛的认可。
μC/OS-Ⅱ使用前,必须先移植到微处理器上。LPC2144具有强大的处理能力,RISC结构,128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行,同时具有丰富的片内外设,如硬件乘法器、ADC、定时器、PWM通道、高速GPIO线、看门狗等。内部还具有16 kB的RAM和128 kB的FLASH。足以满足移植所需要的条件。
3.1 LPC2144单片机的启动代码编写
FLASH中的程序执行前,需要对系统硬件和软件运行环境进行初始化。这些工作是用汇编语言和C语言编写的启动(BootloadetO)代码完成的。
在启动代码的编写中,将启动代码划分为5个文件:Startup.s、IRQ.s、stack.s、heap.s和target.c。Startup.s包含向量表和系统初始化代码。IRQ.s包含中断服务程序与C程序的接口代码。stack.s和heap.s保存C语言使用的堆和栈的开始位置。target.c包含目标板特殊的代码,包括异常处理程序和目标板初始化程序。
MOV R0,LR;因芯片模式切换,故将程序返回地址保存至R0,同时在初始化堆栈完成后使用R0返回。
其余的步骤都在TargetResetInit函数中加以实现。
3.2 外设驱动程序
在μC/OS-Ⅱ一类的微内核操作系统中,设备驱动一般都是由应用程序在内核外部实现的。不过由于不分系统空间和用户空间,这些设备驱动程序仍在系统中执行。从实现方式上看,设备驱动程序的实现可以分为两种:一种是轮询(Polling)方式,另一种是中断方式。
设计采用中断式设备驱动的实现方式。
4 结束语
数据采集装置的低成本、低功耗、实时性设计是数据采集领域的一个主要研究方向。
数据采集装置充分利用了LPC2144丰富的片上资源,大大简化了硬件电路的设计;采用RS-485接口和USB接口通信技术,既可以实现系统的远程数据采集,又可以与PC机相连实现实验室数据采集;同时该装置是基于实时嵌入式操作系统的,在实时性方面具有很大的优越性。
通过实验验证了其设计的合理性和可行性。该数据采集装置具有低成本、低功耗、微型化、精度高、运行稳定、实时性好、抗干扰能力强、性价比高等特点,可以采集多种传感器输出的标准信号。但在系统功能的扩展和通信方面还有待于进一步改进与提高。
评论