摘要:通用串行总线因 (USB)具有传输速度快、即插即用、易于扩展、占用系统资源少等优点;嵌入式实时操作系统 (RTOS)中的 ?C/OS-Ⅱ则具有代码效率高、占用空间小、良好的实时性和可靠性等特点。本文通过构建嵌入式软件开发环境、移植 ?C/OS-Ⅱ、编写固化到 ATmega16单片机的引导程序 (即固件程序),实现系统的数据采集、数码显示以及与 PC机通信等设备端任务。
1引言
随着科学技术的不断发展,人们对数据采集的性能指标要求越来越高,传统的数据采集方式已经不能满足需要。通用串行总线因 (USB)具有传输速度快、即插即用、易于扩展、占用系统资源少等优点;嵌入式实时操作系统 (RTOS)中的 ?C/OS-Ⅱ则具有代码效率高、占用空间小、良好的实时性和可靠性等特点。本文将二者与传统的数据采集技术相结合,设计实现了一种基于 USB通信和 ?C/OS-Ⅱ的集数据采集、分析、显示为一体的数据采集系统。
2 系统体系结构
基于 USB通信的数据采集系统的体系结构如图 1所示。系统的工作过程就是一个数据采集的过程,其中的每一步都需要不同组的支持。首先,温度和压力参数经传感器转换成模拟信号,模拟信号经过 A/D转换变单片机可识别的数字信号。单片机将数字信号进行处理之后,就可以送往 LED显示或者发送给 USB接口芯片。USB接口芯片在主机需要的时候,把接收到的数据经 USB总发送给主机进行处理和显示。主机和 USB接口的通信则需要设备固件程序、USB设驱动程序和 USB主机应用程序的支持。
3 USB数据采集系统的硬件电路设计
USB数据采集系统的硬件电路结构主要包括以下几个部分:USB通信电路部分、数据采集电路部分、数码显示电路部分和固件程序下载电路部分。这些模块的功能都是在以 ATmega16为核心的硬件平台上实现的。
3.1 USB通信电路的设计
USB通信电路的功能是实现数据采集系统设备端和主机端之间的通信,这一功能主要是由核心微控制器 ATmega16和 USB控制器件 PDIUSBD12实现的。其中, PDIUSBD12是符合 USB1.1协议的芯片,在 USB通信电路中起着联系设备和主机的桥梁的作用。微控制器 ATmegal6和 USB控制器 PDIUSBD12之间通过 8位并行总线进行通信, 8位并行总线在 ATmegal6端需要连接 8个 I/O口。PDIUSBD12片内集成了时钟乘法 PLL,晶振电路使用 6MHZ的晶振和两个 2pF到 68pF的电容。 PDIUSBD12的信号输出端 D+/D一上要各串接一个 18欧的匹配电阻。通信电路如图 2所示。
3.2 数据采集电路的设计数据采集电路的功能就是将现场的温度、压力以及应力等数据转换成合适的模拟信号,再把模拟信号传送给 A/D转换电路。此模块包括温度采集模块和压力采集模块两部分。
由于 ATmegal6片内集成了可调增益的差分放大电路和 A/D转换通道,所以温度采集电路仅由一个用于测温的电桥组成。具体做法是根据热电阻阻值随温度变化的特性,将铜热电 阻作为电桥的一臂,当温度改变时,电桥输出电压也随之发生变化。将电桥输出电压送至 ATmegal6内部的采样保持电路,然后进行放大、 A/D转换,再经过固件程序的换算就可以得到测量温度了。
来源:维库开发网