为了解决上述问题,本文提出了一种基于ARM 的蓝牙实时数据采集系统。采用嵌入式 操作系统Windows CE,对通过蓝牙无线传输方式集中的采集数据,进行控制、显示、 处理,实现工业实时数据的采集。ARM 技术为内核的微控制器指令短,处理能力强, 接口丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台。同时,它 体积小,功耗低,运行性能优越,能很好的应对于工控应用方面。而蓝牙技术是一种短距离、 低功耗的无线通信技术,采用跳频机制进行数据传送,故能极大地提高数据传送的抗干扰性 能。对于数据采集系统的应用而言,两者的结合大大简化了分布采集设备繁琐的配置和系统 复杂度,且大大降低了功耗和体积。由其带来的系统灵活性,使得系统的应用更加广泛。该 系统充分体现了嵌入式系统和蓝牙技术的优势,具有一定的实用价值。
2 系统总体设计
基于 ARM 的蓝牙实时数据采集系统由基于ARM 的数据中心、智能节点和蓝牙 无线通信链路三大部分组成。数据中心,采用基于ARM9 S3C2410 的硬件平台, 运行 Windows CE 嵌入式操作系统,可为操作人员管理现场数据、控制目标设备提供友好、 方便的用户接口;单片机节点,负责采集现场数据,通过蓝牙无线通信链路接收数据中心命 令并将数据上传给数据中心;蓝牙无线通信链路,通过在数据中心和单片机节点安装的蓝牙 模块实现。考虑到系统的可扩展性,系统还可以通过RS-232 接口实现ARM 数据中心与PC机的数据通信。系统总体构成如图1 所示。
3 系统硬件设计
基于 ARM 的蓝牙实时数据采集系统的硬件设计包含蓝牙模块天线和外围、基于 ARM 的数据中心、单片机节点三个部分。现在分别对各个主要模块做简单介绍。
3.1 蓝牙模块天线和外围电路
蓝牙模块是蓝牙通信的基础,在此采用嵌入式蓝牙模块 DFBM-CS120。它集成了蓝牙 标准通信协议,对用户提供全双工UART 接口和射频信号输出,使用户能通过UART 控制 模块操作,并通过天线将承载数据的射频信号发射出去。
蓝牙模块外围电路设计主要包括天线设计、设计和UART 接口设计,如图2 所示。
其中,天线的性能好坏直接关系到整个蓝牙通信系统能否正常传输数据,必须采用射频 电路的设计方法进行具有针对性的设计。在此由于DFBM-CS120 有一个天线管脚Antenna, 输出2.402~2.480G 射频信号,天线管脚的输出为50Ω。根据{zd0}功率传输定理,在 天线管脚上外接阻抗50Ω的AT3216 多层陶瓷天线。考虑到由于制造参数与设计参数之间的 误差可能造成的信号衰减,在模块的天线管脚和蓝牙天线之间增加了一个由一个和两个 组成的π型网络,用来放大射频信号。天线电路框图如图3 所示。
3.2 基于ARM 的数据中心
基于 ARM 的数据中心的基本要求是体积小巧、功耗低、界面美观、操作方便、通信功 能强大、系统扩展性好。具体到硬件上,对ARM 系统的基本要求是支持Windows CE 操作 系统、支持彩色LCD、支持触摸屏、支持USB、支持以太网、支持蓝牙模块通信接口。根 据要求,结合嵌入式系统业内流行的开发平台,在此选择基于ARM9 处理器S3C2410 的硬 件平台作为数据中心。将蓝牙模块作为S3C2410 硬件平台的一个UART 外设安装,数据中 心便具有了蓝牙通信功能。
S3C2410 硬件平台的设计分为核心系统设计和外围设计两大部分。平台核心系统包括 CPU、SDRAM 和Flash,其中SDRAM 是平台的内存,Flash 相当于平台的硬盘;平台外设 包括LCD 和触摸屏接口电路、以太网控制器、USB 和UART。
硬件平台的整体设计图如图 4 所示。
3.3 单片机节点
单片机节点是本系统的底层设备,正常工作时作为总控制器,协调控制其他监测器件或 模块工作,完成数据采集、测量、加工及与数据中心的通信、接受命令和数据传送等任务。 本系统中,单片机节点模块的MPU 采用Winbond W77E58,其串口与蓝牙通信模块的UART 进行通信。
兼容 8051 内核、片载Flash 很大、具有双串口是W77E58 的三个突出特点。前两点意 味着单片机节点软件可以用C51 语言设计,不必因为担心代码太大而采用汇编语言;双串 口意味着可以用一个独立的串口与PC 机联机以调试编写的蓝牙通信软件,调试完成后再将 其移植到与蓝牙模块通信的串口上,无需为软件调试改动任何硬件,大大降低了硬件的复杂 性,提高了软件开发速度。
4 系统软件设计
基于 ARM 的蓝牙实时数据采集系统的软件设计包含三部分。{dy}部分是Windows CE 嵌入式操作系统平台的搭建;第二部分是基于Windows CE 操作系统,运行于数据中心蓝牙 数据采集应用程序的设计;第三部分是单片机节点的蓝牙通信软件的实现。
4.1 Windows CE 嵌入式操作系统的搭建
Windows CE(简称WinCE)是当今市场上主流嵌入式操作系统中应用最广泛的。它是一 个支持多种硬件平台、核心代码开放、组件可裁剪的32 位实时嵌入式窗口操作系统,具有 可靠性高、实时性好、模块化和小内存占用、支持多种无线与有线连接、支持多种硬件平台、 支持多种无线与有线连接等特点,广泛应用于各种嵌入式智能设备开发。
由于嵌入式智能平台不论是CPU 架构还是外围硬件都是多种多样的,移植WinCE 需要 开发者根据具体平台要求对系统进行修改和定制。移植WinCE 操作系统主要有两部分内容: 一是定制BSP 代码,包括Bootloader、OAL 以及驱动程序;二是运行调试WinCE 操作系统, 主要是运用开发工具编译、下载、运行和调试操作系统映像。
4.2 基于Windows CE 的蓝牙数据采集程序的设计
由于 DFBM-CS120 蓝牙模块通过串口进行通信,而WinCE 的驱动程序己经以“文件” 的形式封装了串口,开发者无需编写操作串口硬件的代码,所以蓝牙数据采集程序没有必要 设计驱动程序,只考虑设计应用程序即可。 本系统中,基于 WinCE 的蓝牙数据采集程序采用Embedded Visual C++集成开发环境, 基于MFC 库,采用面向对象的设计方法设计。蓝牙数据采集程序的主要任务就是通过串口 发送和接收数据,因此串口编程是设计蓝牙数据采集程序必须实现的部分。WinCE 的驱动 程序己经将串口以“文件”形式进行了封装,因此基于WinCE 的串口编程无需编写直接操 作UART 硬件的代码,只要利用WinCE 提供的文件API 函数就可打开和读写串口。这些 API 函数分别是:CreateFile、ReadFile 和WriteFile。
4.3 单片机节点程序设计
单片机节点负责采集数据并把数据通过蓝牙模块发送给数据中心,程序设计的重点是实 现蓝牙数据通信。单片机程序在Keil μVision2 开发环境下,采用C51 语言编写。单片机节 点程序设计包括如下几个部分:1.配置串口;2.根据串口中断程序设计单片机-蓝牙模块通讯 程序;3.通信帧格式设计。
单片机节点与数据中心建立连接后,串口中断程序接收并识别数据中心的命令,由于数 据和命令是透明传输,单片机节点和数据中心之间必须设计通信协议,规定命令帧和数据帧 的帧头、帧尾、帧长、帧类型、校验等信息,二者才能正常互传数据。通信帧格式设计如下:
5 结束语
本文将蓝牙通信技术和 ARM 嵌入式系统应用于工业数据采集中,开发了一套新颖的无 线数据采集系统。系统包括数据中心、蓝牙通信和单片机节点三部分。数据中心的硬件、软 件功能强大,基于以ARM9 处理器S3C2410 为核心的硬件平台设计,运行 Windows CE 操 作系统,开发了基于 Windows CE 的蓝牙数据采集应用程序。通过数据中心和单片机节点 的蓝牙模块,数据中心能够在距离单片机节点半径约10 米以内的任何位置方便地与智能节 点交换命令和数据,不受传输角度和节点安装位置的限制。