|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言4 s/ |/ Y) h7 F' O- o: E
随着计算机技术的发展,尤其是无线技术广泛深入到人们生活的各个方面,使人们的生 活发生了深刻的变化。就工业数据采集、测量领域来讲,由于测量种类多、数据量大,且存 在许多条件恶劣、人们不易到达或不能时刻停留的地方偶尔采集一些现场数据,因而不但需 要花费大量的人力、物力和财力进行设备的维护,同时给采集带来很多不必要的麻烦。; a. T) V" p @7 s! N" T
) R! `( h! G F+ w4 e# c
为了解决上述问题,本文提出了一种基于ARM 的蓝牙实时数据采集系统。采用嵌入式 操作系统Windows CE,对通过蓝牙无线传输方式集中的传感器采集数据,进行控制、显示、 处理,实现工业实时数据的采集。ARM 技术为内核的微控制器指令周期短,处理能力强, 接口丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台。同时,它 体积小,功耗低,运行性能优越,能很好的应对于工控应用方面。而蓝牙技术是一种短距离、 低功耗的无线通信技术,采用跳频机制进行数据传送,故能极大地提高数据传送的抗干扰性 能。对于数据采集系统的应用而言,两者的结合大大简化了分布采集设备繁琐的配置和系统 复杂度,且大大降低了功耗和体积。由其带来的系统灵活性,使得系统的应用更加广泛。该 系统充分体现了嵌入式系统和蓝牙技术的优势,具有一定的实用价值。1 h0 z$ o( d& o: Z( @) W
. q' k: @ j) t! r* l2 系统总体设计
/ `6 ~& [4 e4 ?; w p基于 ARM 的蓝牙实时数据采集系统由基于ARM 的数据中心、单片机智能节点和蓝牙 无线通信链路三大部分组成。数据中心,采用基于ARM9 微处理器S3C2410 的硬件平台, 运行 Windows CE 嵌入式操作系统,可为操作人员管理现场数据、控制目标设备提供友好、 方便的用户接口;单片机节点,负责采集现场数据,通过蓝牙无线通信链路接收数据中心命 令并将数据上传给数据中心;蓝牙无线通信链路,通过在数据中心和单片机节点安装的蓝牙 模块实现。考虑到系统的可扩展性,系统还可以通过RS-232 接口实现ARM 数据中心与PC机的数据通信。系统总体构成如图1 所示。
( ?* k7 V- U, q$ n: x& C- }: Q2 n l* N: A
4 S# H z, Y+ S0 t
3 系统硬件设计
- H( U& X+ p) J' S基于 ARM 的蓝牙实时数据采集系统的硬件设计包含蓝牙模块天线和外围电路、基于 ARM 的数据中心、单片机节点三个部分。现在分别对各个主要模块做简单介绍。
b/ N& U! j/ A P) M: m( J0 I9 f: \( J# l
3.1 蓝牙模块天线和外围电路) O8 u' [! c ^# F) `
蓝牙模块是蓝牙通信的基础,在此采用嵌入式蓝牙模块 DFBM-Cs120。它集成了蓝牙 标准通信协议,对用户提供全双工UART 接口和射频信号输出,使用户能通过UART 控制 模块操作,并通过天线将承载数据的射频信号发射出去。3 b" e. e9 s: q$ Z" N$ [3 E9 l& P8 w
% F& @# _$ w) Y0 k蓝牙模块外围电路设计主要包括天线设计、电源设计和UART 接口设计,如图2 所示。
; A* [. d9 s( w! W9 N: q" g8 y( L7 P4 m: W2 ~$ |+ D# F) K
其中,天线的性能好坏直接关系到整个蓝牙通信系统能否正常传输数据,必须采用射频 电路的设计方法进行具有针对性的设计。在此由于DFBM-CS120 有一个天线管脚Antenna, 输出2.402~2.480GHz 射频信号,天线管脚的输出阻抗为50Ω。根据最大功率传输定理,在 天线管脚上外接阻抗50Ω的AT3216 多层陶瓷天线。考虑到由于制造参数与设计参数之间的 误差可能造成的信号衰减,在模块的天线管脚和蓝牙天线之间增加了一个由一个电感和两个 电容组成的π型网络,用来放大射频信号。天线电路框图如图3 所示。$ [- u; W j1 r/ c/ H
1 ~7 ^+ g3 {2 n$ f" N' y
# B! j$ y$ c y& n4 l3.2 基于ARM 的数据中心6 j: x! s \6 L& j3 H! P4 _
基于 ARM 的数据中心的基本要求是体积小巧、功耗低、界面美观、操作方便、通信功 能强大、系统扩展性好。具体到硬件上,对ARM 系统的基本要求是支持Windows CE 操作 系统、支持彩色LCD、支持触摸屏、支持USB、支持以太网、支持蓝牙模块通信接口。根 据要求,结合嵌入式系统业内流行的开发平台,在此选择基于ARM9 处理器S3C2410 的硬 件平台作为数据中心。将蓝牙模块作为S3C2410 硬件平台的一个UART 外设安装,数据中 心便具有了蓝牙通信功能。
+ f1 U/ h4 b; j6 X0 K6 T$ p" K
/ O. m7 o5 V+ B4 e! k- Q oS3C2410 硬件平台的设计分为核心系统设计和外围设计两大部分。平台核心系统包括 CPU、SDRAM 和Flash,其中SDRAM 是平台的内存,Flash 相当于平台的硬盘;平台外设 包括LCD 和触摸屏接口电路、以太网控制器、USB 和UART。* a" a8 z* A- d1 A" L
硬件平台的整体设计图如图 4 所示。
1 h. B4 q, _8 e5 J! ]; d1 y
- L% D0 q- N! ~3 O5 k8 r+ ~
- i7 y( f: A5 K& N3.3 单片机节点% K R- v0 ?* w- n7 J' ?+ |; H; p, O
单片机节点是本系统的底层设备,正常工作时作为总控制器,协调控制其他监测器件或 模块工作,完成数据采集、测量、加工及与数据中心的通信、接受命令和数据传送等任务。 本系统中,单片机节点模块的MPU 采用Winbond W77E58,其串口与蓝牙通信模块的UART 进行通信。
; \7 [! L# v$ c1 {3 j# E
6 k4 w$ V* D$ u; F& O) B兼容 8051 内核、片载Flash 很大、具有双串口是W77E58 的三个突出特点。前两点意 味着单片机节点软件可以用C51 语言设计,不必因为担心代码太大而采用汇编语言;双串 口意味着可以用一个独立的串口与PC 机联机以调试编写的蓝牙通信软件,调试完成后再将 其移植到与蓝牙模块通信的串口上,无需为软件调试改动任何硬件,大大降低了硬件的复杂 性,提高了软件开发速度。
( j. a2 I+ _0 X: {2 W) [' z7 @9 J/ W0 `, a$ k/ k" z
4 系统软件设计
4 G& I( B1 C6 e; D, D6 B基于 ARM 的蓝牙实时数据采集系统的软件设计包含三部分。第一部分是Windows CE 嵌入式操作系统平台的搭建;第二部分是基于Windows CE 操作系统,运行于数据中心蓝牙 数据采集应用程序的设计;第三部分是单片机节点的蓝牙通信软件的实现。6 n& F i/ {7 X# Y8 O# `2 w
3 m3 e# D" c, d& N- @# e# {' t4.1 Windows CE 嵌入式操作系统的搭建9 A3 | |# H @. r) x
Windows CE(简称WinCE)是当今市场上主流嵌入式操作系统中应用最广泛的。它是一 个支持多种硬件平台、核心代码开放、组件可裁剪的32 位实时嵌入式窗口操作系统,具有 可靠性高、实时性好、模块化和小内存占用、支持多种无线与有线连接、支持多种硬件平台、 支持多种无线与有线连接等特点,广泛应用于各种嵌入式智能设备开发。
1 M, Y; G! ^7 c& f5 F. u, k4 L0 S- ?$ S! q8 g/ u, Y) F
由于嵌入式智能平台不论是CPU 架构还是外围硬件都是多种多样的,移植WinCE 需要 开发者根据具体平台要求对系统进行修改和定制。移植WinCE 操作系统主要有两部分内容: 一是定制BSP 代码,包括Bootloader、OAL 以及驱动程序;二是运行调试WinCE 操作系统, 主要是运用开发工具编译、下载、运行和调试操作系统映像。
! o; p0 R2 L6 n5 v C4 c x1 u1 t( t7 M
4.2 基于Windows CE 的蓝牙数据采集程序的设计
" c, R$ j8 [( S: n8 C由于 DFBM-CS120 蓝牙模块通过串口进行通信,而WinCE 的驱动程序己经以“文件” 的形式封装了串口,开发者无需编写操作串口硬件的代码,所以蓝牙数据采集程序没有必要 设计驱动程序,只考虑设计应用程序即可。 本系统中,基于 WinCE 的蓝牙数据采集程序采用Embedded Visual C++集成开发环境, 基于MFC 库,采用面向对象的设计方法设计。蓝牙数据采集程序的主要任务就是通过串口 发送和接收数据,因此串口编程是设计蓝牙数据采集程序必须实现的部分。WinCE 的驱动 程序己经将串口以“文件”形式进行了封装,因此基于WinCE 的串口编程无需编写直接操 作UART 硬件的代码,只要利用WinCE 提供的文件API 函数就可打开和读写串口。这些 API 函数分别是:CreateFile、ReadFile 和WriteFile。
5 [* \( Q4 o+ ~4 y4 n! l, |1 e, w: P) p! k/ W
4.3 单片机节点程序设计. c9 {7 J- L+ B# @+ [
单片机节点负责采集数据并把数据通过蓝牙模块发送给数据中心,程序设计的重点是实 现蓝牙数据通信。单片机程序在Keil μVision2 开发环境下,采用C51 语言编写。单片机节 点程序设计包括如下几个部分:
* J& P' r9 e$ l1 `0 ]- U5 U! C% F1.配置串口;
. R8 K2 j- g' b" W) L. u. p8 u: J2.根据串口中断程序设计单片机-蓝牙模块通讯 程序;
" _0 w/ q" C ~0 X U7 @: u* w3.通信帧格式设计。
8 x& X" \4 m7 o: J, f K% W3 T! P. ]. G" R! \) F# [
单片机节点与数据中心建立连接后,串口中断程序接收并识别数据中心的命令,由于数 据和命令是透明传输,单片机节点和数据中心之间必须设计通信协议,规定命令帧和数据帧 的帧头、帧尾、帧长、帧类型、校验等信息,二者才能正常互传数据。通信帧格式设计如下:
9 R8 V# I2 D% Q
" W7 w7 [% @3 Q/ i0 e2 v, I5 结束语
4 q3 Q" k2 V' l. n0 }本文将蓝牙通信技术和 ARM 嵌入式系统应用于工业数据采集中,开发了一套新颖的无 线数据采集系统。系统包括数据中心、蓝牙通信和单片机节点三部分。数据中心的硬件、软 件功能强大,基于以ARM9 处理器S3C2410 为核心的硬件平台设计,运行 Windows CE 操 作系统,开发了基于 Windows CE 的蓝牙数据采集应用程序。通过数据中心和单片机节点 的蓝牙模块,数据中心能够在距离单片机节点半径约10 米以内的任何位置方便地与智能节 点交换命令和数据,不受传输角度和节点安装位置的限制。/ V! Z+ }2 l1 s3 b+ r. R8 l6 j
0 S# }7 M. [0 S7 A
本文作者创新点:在以 ARM9 芯片为核心的嵌入式数据采集系统中,采用蓝牙无线通 信DFBM-CS120 芯片,实现高速实时数据信号采集和无线数据传输。与有线数据传输相比,更加方便灵活,具有较高的可靠性。在软件设计上采用Windows CE 实时多任务系统,实现 了系统初始化、数据采集、无线通信等任务进行调度和管理。试验结果表明,该系统硬件电 路简单、可靠性强,软件设计合理,满足了实时信号采集和无线数据传输的要求。
1 K( x5 i" u: }9 |0 ?" o1 P
$ v# z9 [ j y3 g |
|