|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言
+ H& T, D& p! O. I8 n9 G% h3 G* v随着计算机技术的发展,尤其是无线技术广泛深入到人们生活的各个方面,使人们的生 活发生了深刻的变化。就工业数据采集、测量领域来讲,由于测量种类多、数据量大,且存 在许多条件恶劣、人们不易到达或不能时刻停留的地方偶尔采集一些现场数据,因而不但需 要花费大量的人力、物力和财力进行设备的维护,同时给采集带来很多不必要的麻烦。* |; G! k: ~# u5 L$ S/ o
7 r3 k% |; ?1 p5 l8 W" b9 Y3 m为了解决上述问题,本文提出了一种基于ARM 的蓝牙实时数据采集系统。采用嵌入式 操作系统Windows CE,对通过蓝牙无线传输方式集中的传感器采集数据,进行控制、显示、 处理,实现工业实时数据的采集。ARM 技术为内核的微控制器指令周期短,处理能力强, 接口丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台。同时,它 体积小,功耗低,运行性能优越,能很好的应对于工控应用方面。而蓝牙技术是一种短距离、 低功耗的无线通信技术,采用跳频机制进行数据传送,故能极大地提高数据传送的抗干扰性 能。对于数据采集系统的应用而言,两者的结合大大简化了分布采集设备繁琐的配置和系统 复杂度,且大大降低了功耗和体积。由其带来的系统灵活性,使得系统的应用更加广泛。该 系统充分体现了嵌入式系统和蓝牙技术的优势,具有一定的实用价值。: ~" B# r5 T( h' p# F0 z& t4 W7 v
) a6 R4 s( o/ g/ L2 系统总体设计
" k8 z. U2 o. y% a6 v' ]4 [0 e基于 ARM 的蓝牙实时数据采集系统由基于ARM 的数据中心、单片机智能节点和蓝牙 无线通信链路三大部分组成。数据中心,采用基于ARM9 微处理器S3C2410 的硬件平台, 运行 Windows CE 嵌入式操作系统,可为操作人员管理现场数据、控制目标设备提供友好、 方便的用户接口;单片机节点,负责采集现场数据,通过蓝牙无线通信链路接收数据中心命 令并将数据上传给数据中心;蓝牙无线通信链路,通过在数据中心和单片机节点安装的蓝牙 模块实现。考虑到系统的可扩展性,系统还可以通过RS-232 接口实现ARM 数据中心与PC机的数据通信。系统总体构成如图1 所示。
5 q$ z0 m [3 ^+ g$ t1 Y; A- G3 |6 e
5 ^( K! u( t" V3 \6 |
) Y* V: _2 Q9 d. E4 G+ Y A9 X3 系统硬件设计4 {5 h1 o+ M* j0 k, Z" P
基于 ARM 的蓝牙实时数据采集系统的硬件设计包含蓝牙模块天线和外围电路、基于 ARM 的数据中心、单片机节点三个部分。现在分别对各个主要模块做简单介绍。
* _# X7 E( @9 p% g/ t1 G b/ j I; B
3.1 蓝牙模块天线和外围电路4 B; L2 `% q# H8 v g2 }0 A9 }
蓝牙模块是蓝牙通信的基础,在此采用嵌入式蓝牙模块 DFBM-Cs120。它集成了蓝牙 标准通信协议,对用户提供全双工UART 接口和射频信号输出,使用户能通过UART 控制 模块操作,并通过天线将承载数据的射频信号发射出去。
* i. O" B9 t" c( I; j
+ g% p0 d5 O7 u3 R: j6 @1 U! K9 U蓝牙模块外围电路设计主要包括天线设计、电源设计和UART 接口设计,如图2 所示。. O Y" R% L# b1 B2 L9 ^* k _
) _, ]# R+ ]" c1 {9 o& `# Z其中,天线的性能好坏直接关系到整个蓝牙通信系统能否正常传输数据,必须采用射频 电路的设计方法进行具有针对性的设计。在此由于DFBM-CS120 有一个天线管脚Antenna, 输出2.402~2.480GHz 射频信号,天线管脚的输出阻抗为50Ω。根据最大功率传输定理,在 天线管脚上外接阻抗50Ω的AT3216 多层陶瓷天线。考虑到由于制造参数与设计参数之间的 误差可能造成的信号衰减,在模块的天线管脚和蓝牙天线之间增加了一个由一个电感和两个 电容组成的π型网络,用来放大射频信号。天线电路框图如图3 所示。
5 p, K1 ^# [( c9 k
6 ~8 Q: k! W: s6 o! r+ E6 B O5 t7 Z+ I$ G; W# J
3.2 基于ARM 的数据中心
- j4 C. U4 l5 c! ?基于 ARM 的数据中心的基本要求是体积小巧、功耗低、界面美观、操作方便、通信功 能强大、系统扩展性好。具体到硬件上,对ARM 系统的基本要求是支持Windows CE 操作 系统、支持彩色LCD、支持触摸屏、支持USB、支持以太网、支持蓝牙模块通信接口。根 据要求,结合嵌入式系统业内流行的开发平台,在此选择基于ARM9 处理器S3C2410 的硬 件平台作为数据中心。将蓝牙模块作为S3C2410 硬件平台的一个UART 外设安装,数据中 心便具有了蓝牙通信功能。8 ]% m) z5 t2 B' r( O* p
, z e! I6 S; q! T
S3C2410 硬件平台的设计分为核心系统设计和外围设计两大部分。平台核心系统包括 CPU、SDRAM 和Flash,其中SDRAM 是平台的内存,Flash 相当于平台的硬盘;平台外设 包括LCD 和触摸屏接口电路、以太网控制器、USB 和UART。1 J: \% z7 |$ i# g T
硬件平台的整体设计图如图 4 所示。
) I9 H/ O1 T1 s: s* |' |
4 Q+ S6 X, Y, W. s5 z7 u. H- z( u0 K9 i2 ^) Q! P* d% [, m# l1 T, F
3.3 单片机节点
0 s# W( u9 `( k3 q5 H I4 o- P单片机节点是本系统的底层设备,正常工作时作为总控制器,协调控制其他监测器件或 模块工作,完成数据采集、测量、加工及与数据中心的通信、接受命令和数据传送等任务。 本系统中,单片机节点模块的MPU 采用Winbond W77E58,其串口与蓝牙通信模块的UART 进行通信。
/ v: o+ b3 g% j$ q0 i7 F- e
, p- F, R+ H9 H- R兼容 8051 内核、片载Flash 很大、具有双串口是W77E58 的三个突出特点。前两点意 味着单片机节点软件可以用C51 语言设计,不必因为担心代码太大而采用汇编语言;双串 口意味着可以用一个独立的串口与PC 机联机以调试编写的蓝牙通信软件,调试完成后再将 其移植到与蓝牙模块通信的串口上,无需为软件调试改动任何硬件,大大降低了硬件的复杂 性,提高了软件开发速度。
$ h5 M8 X7 I8 i3 T, s- ^4 `# ^5 |1 S9 B# W8 h* c8 P6 D
4 系统软件设计
4 Z; `5 W& p u基于 ARM 的蓝牙实时数据采集系统的软件设计包含三部分。第一部分是Windows CE 嵌入式操作系统平台的搭建;第二部分是基于Windows CE 操作系统,运行于数据中心蓝牙 数据采集应用程序的设计;第三部分是单片机节点的蓝牙通信软件的实现。
2 F9 A, p- s* ^1 G& X
. ~% n; Y; N: t9 s& U2 m4.1 Windows CE 嵌入式操作系统的搭建9 p9 F# O* J' {& s5 }
Windows CE(简称WinCE)是当今市场上主流嵌入式操作系统中应用最广泛的。它是一 个支持多种硬件平台、核心代码开放、组件可裁剪的32 位实时嵌入式窗口操作系统,具有 可靠性高、实时性好、模块化和小内存占用、支持多种无线与有线连接、支持多种硬件平台、 支持多种无线与有线连接等特点,广泛应用于各种嵌入式智能设备开发。( q& b" I1 w5 x
8 m: b' X# Z& p) G" P. [% ~由于嵌入式智能平台不论是CPU 架构还是外围硬件都是多种多样的,移植WinCE 需要 开发者根据具体平台要求对系统进行修改和定制。移植WinCE 操作系统主要有两部分内容: 一是定制BSP 代码,包括Bootloader、OAL 以及驱动程序;二是运行调试WinCE 操作系统, 主要是运用开发工具编译、下载、运行和调试操作系统映像。
3 C5 z/ {) c- p$ ?, p/ v/ D
) {5 K+ v0 u6 D& t t4.2 基于Windows CE 的蓝牙数据采集程序的设计1 h3 J t1 @+ m; r
由于 DFBM-CS120 蓝牙模块通过串口进行通信,而WinCE 的驱动程序己经以“文件” 的形式封装了串口,开发者无需编写操作串口硬件的代码,所以蓝牙数据采集程序没有必要 设计驱动程序,只考虑设计应用程序即可。 本系统中,基于 WinCE 的蓝牙数据采集程序采用Embedded Visual C++集成开发环境, 基于MFC 库,采用面向对象的设计方法设计。蓝牙数据采集程序的主要任务就是通过串口 发送和接收数据,因此串口编程是设计蓝牙数据采集程序必须实现的部分。WinCE 的驱动 程序己经将串口以“文件”形式进行了封装,因此基于WinCE 的串口编程无需编写直接操 作UART 硬件的代码,只要利用WinCE 提供的文件API 函数就可打开和读写串口。这些 API 函数分别是:CreateFile、ReadFile 和WriteFile。
7 E. H5 O& {2 d5 R6 G Z3 a% j! b0 X
4.3 单片机节点程序设计/ c! l W5 G% X1 Z
单片机节点负责采集数据并把数据通过蓝牙模块发送给数据中心,程序设计的重点是实 现蓝牙数据通信。单片机程序在Keil μVision2 开发环境下,采用C51 语言编写。单片机节 点程序设计包括如下几个部分: d T' l% G0 S, z* a; N0 J6 g" H
1.配置串口;9 D7 u: C1 j8 O v4 y& a% V5 J
2.根据串口中断程序设计单片机-蓝牙模块通讯 程序; n; L: X! @; z& U
3.通信帧格式设计。
3 |: e3 B0 b/ P
5 k7 X- J( B3 J$ V- o( g单片机节点与数据中心建立连接后,串口中断程序接收并识别数据中心的命令,由于数 据和命令是透明传输,单片机节点和数据中心之间必须设计通信协议,规定命令帧和数据帧 的帧头、帧尾、帧长、帧类型、校验等信息,二者才能正常互传数据。通信帧格式设计如下:
9 v2 ?* G2 H9 A3 n9 h4 r4 m4 n {5 I9 B8 B
5 结束语
, H% M) L' ]* X( B0 s- m本文将蓝牙通信技术和 ARM 嵌入式系统应用于工业数据采集中,开发了一套新颖的无 线数据采集系统。系统包括数据中心、蓝牙通信和单片机节点三部分。数据中心的硬件、软 件功能强大,基于以ARM9 处理器S3C2410 为核心的硬件平台设计,运行 Windows CE 操 作系统,开发了基于 Windows CE 的蓝牙数据采集应用程序。通过数据中心和单片机节点 的蓝牙模块,数据中心能够在距离单片机节点半径约10 米以内的任何位置方便地与智能节 点交换命令和数据,不受传输角度和节点安装位置的限制。& k4 v! j7 D! P$ X3 [) ?* `4 Y
: P) X) b y% i) x2 M1 e8 r! I/ t
本文作者创新点:在以 ARM9 芯片为核心的嵌入式数据采集系统中,采用蓝牙无线通 信DFBM-CS120 芯片,实现高速实时数据信号采集和无线数据传输。与有线数据传输相比,更加方便灵活,具有较高的可靠性。在软件设计上采用Windows CE 实时多任务系统,实现 了系统初始化、数据采集、无线通信等任务进行调度和管理。试验结果表明,该系统硬件电 路简单、可靠性强,软件设计合理,满足了实时信号采集和无线数据传输的要求。
! _4 `) c4 S( P$ T3 ?- i) N% w' X& r* j1 h6 x8 k
|
|