|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 引言. F: [6 Z5 |" i+ h9 {
随着计算机技术的发展,尤其是无线技术广泛深入到人们生活的各个方面,使人们的生 活发生了深刻的变化。就工业数据采集、测量领域来讲,由于测量种类多、数据量大,且存 在许多条件恶劣、人们不易到达或不能时刻停留的地方偶尔采集一些现场数据,因而不但需 要花费大量的人力、物力和财力进行设备的维护,同时给采集带来很多不必要的麻烦。
( I4 I, I% g: N2 c, N; L H) D/ D* `
为了解决上述问题,本文提出了一种基于ARM 的蓝牙实时数据采集系统。采用嵌入式 操作系统Windows CE,对通过蓝牙无线传输方式集中的传感器采集数据,进行控制、显示、 处理,实现工业实时数据的采集。ARM 技术为内核的微控制器指令周期短,处理能力强, 接口丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台。同时,它 体积小,功耗低,运行性能优越,能很好的应对于工控应用方面。而蓝牙技术是一种短距离、 低功耗的无线通信技术,采用跳频机制进行数据传送,故能极大地提高数据传送的抗干扰性 能。对于数据采集系统的应用而言,两者的结合大大简化了分布采集设备繁琐的配置和系统 复杂度,且大大降低了功耗和体积。由其带来的系统灵活性,使得系统的应用更加广泛。该 系统充分体现了嵌入式系统和蓝牙技术的优势,具有一定的实用价值。
! b1 A% R3 _' A* {0 k# V6 [( |* u1 T9 c* G7 @( q
2 系统总体设计8 c6 i! z1 D! u. l6 U
基于 ARM 的蓝牙实时数据采集系统由基于ARM 的数据中心、单片机智能节点和蓝牙 无线通信链路三大部分组成。数据中心,采用基于ARM9 微处理器S3C2410 的硬件平台, 运行 Windows CE 嵌入式操作系统,可为操作人员管理现场数据、控制目标设备提供友好、 方便的用户接口;单片机节点,负责采集现场数据,通过蓝牙无线通信链路接收数据中心命 令并将数据上传给数据中心;蓝牙无线通信链路,通过在数据中心和单片机节点安装的蓝牙 模块实现。考虑到系统的可扩展性,系统还可以通过RS-232 接口实现ARM 数据中心与PC机的数据通信。系统总体构成如图1 所示。- _2 F9 E! L; @5 p1 j) S8 |
0 ?+ _3 \& o9 m. }
9 x2 \, C# y$ L) Y4 L& x3 系统硬件设计/ x6 [7 B& b; i
基于 ARM 的蓝牙实时数据采集系统的硬件设计包含蓝牙模块天线和外围电路、基于 ARM 的数据中心、单片机节点三个部分。现在分别对各个主要模块做简单介绍。
1 Y9 k) F3 Z4 E5 E3 [" Y6 `
3 X, n1 F }3 ?' y8 x3 M9 y4 E. P' z3.1 蓝牙模块天线和外围电路
+ P: m0 Z9 \" P: R d7 {蓝牙模块是蓝牙通信的基础,在此采用嵌入式蓝牙模块 DFBM-Cs120。它集成了蓝牙 标准通信协议,对用户提供全双工UART 接口和射频信号输出,使用户能通过UART 控制 模块操作,并通过天线将承载数据的射频信号发射出去。
# Z. J r: ]# u3 W! u
& I" n' V; v8 d- z4 ^$ C9 {蓝牙模块外围电路设计主要包括天线设计、电源设计和UART 接口设计,如图2 所示。3 K3 C5 _! L" @/ D4 T* c
7 Y: P3 L. g, E8 \; N& v$ f: z% _7 f其中,天线的性能好坏直接关系到整个蓝牙通信系统能否正常传输数据,必须采用射频 电路的设计方法进行具有针对性的设计。在此由于DFBM-CS120 有一个天线管脚Antenna, 输出2.402~2.480GHz 射频信号,天线管脚的输出阻抗为50Ω。根据最大功率传输定理,在 天线管脚上外接阻抗50Ω的AT3216 多层陶瓷天线。考虑到由于制造参数与设计参数之间的 误差可能造成的信号衰减,在模块的天线管脚和蓝牙天线之间增加了一个由一个电感和两个 电容组成的π型网络,用来放大射频信号。天线电路框图如图3 所示。
- p' T- d- K1 `' ?$ ^3 S
0 g: B$ A' U7 l9 Z* o2 `: y7 N% G8 h' P; W$ t- J% v1 S
3.2 基于ARM 的数据中心
, x Q! l) R: h% N4 z! O基于 ARM 的数据中心的基本要求是体积小巧、功耗低、界面美观、操作方便、通信功 能强大、系统扩展性好。具体到硬件上,对ARM 系统的基本要求是支持Windows CE 操作 系统、支持彩色LCD、支持触摸屏、支持USB、支持以太网、支持蓝牙模块通信接口。根 据要求,结合嵌入式系统业内流行的开发平台,在此选择基于ARM9 处理器S3C2410 的硬 件平台作为数据中心。将蓝牙模块作为S3C2410 硬件平台的一个UART 外设安装,数据中 心便具有了蓝牙通信功能。. o) ]! e! T2 \) m: ^1 ~- f3 y2 c
2 W& U% l9 h6 F: Z4 ^
S3C2410 硬件平台的设计分为核心系统设计和外围设计两大部分。平台核心系统包括 CPU、SDRAM 和Flash,其中SDRAM 是平台的内存,Flash 相当于平台的硬盘;平台外设 包括LCD 和触摸屏接口电路、以太网控制器、USB 和UART。. l, q1 v( y, C: R! G
硬件平台的整体设计图如图 4 所示。
7 h- r1 T9 ]1 p$ `/ p( A
) ~% K1 }* L# [3 R% U, ~1 N3 ~# }& q! `% H( b
3.3 单片机节点
o- I4 P/ @5 c* r3 K" \单片机节点是本系统的底层设备,正常工作时作为总控制器,协调控制其他监测器件或 模块工作,完成数据采集、测量、加工及与数据中心的通信、接受命令和数据传送等任务。 本系统中,单片机节点模块的MPU 采用Winbond W77E58,其串口与蓝牙通信模块的UART 进行通信。8 U; C& {! `" L
. |- I- E' Y- b+ i" S$ S) b2 X兼容 8051 内核、片载Flash 很大、具有双串口是W77E58 的三个突出特点。前两点意 味着单片机节点软件可以用C51 语言设计,不必因为担心代码太大而采用汇编语言;双串 口意味着可以用一个独立的串口与PC 机联机以调试编写的蓝牙通信软件,调试完成后再将 其移植到与蓝牙模块通信的串口上,无需为软件调试改动任何硬件,大大降低了硬件的复杂 性,提高了软件开发速度。 \8 N2 }% b7 T T
3 a- I+ S. U; N& J5 F8 }& n4 系统软件设计
5 W- a6 u7 Q3 |) ^3 Q基于 ARM 的蓝牙实时数据采集系统的软件设计包含三部分。第一部分是Windows CE 嵌入式操作系统平台的搭建;第二部分是基于Windows CE 操作系统,运行于数据中心蓝牙 数据采集应用程序的设计;第三部分是单片机节点的蓝牙通信软件的实现。
) H7 A2 W+ \( z* y! Y6 }: R$ Q1 M; o0 d3 \1 z
4.1 Windows CE 嵌入式操作系统的搭建
- g8 o- w" P& _Windows CE(简称WinCE)是当今市场上主流嵌入式操作系统中应用最广泛的。它是一 个支持多种硬件平台、核心代码开放、组件可裁剪的32 位实时嵌入式窗口操作系统,具有 可靠性高、实时性好、模块化和小内存占用、支持多种无线与有线连接、支持多种硬件平台、 支持多种无线与有线连接等特点,广泛应用于各种嵌入式智能设备开发。6 H+ J; H$ \5 F5 k* q2 _# E
% L4 B' k) i$ y' k+ ]+ P( d由于嵌入式智能平台不论是CPU 架构还是外围硬件都是多种多样的,移植WinCE 需要 开发者根据具体平台要求对系统进行修改和定制。移植WinCE 操作系统主要有两部分内容: 一是定制BSP 代码,包括Bootloader、OAL 以及驱动程序;二是运行调试WinCE 操作系统, 主要是运用开发工具编译、下载、运行和调试操作系统映像。
$ R* M% h/ U! z7 ^
, b- O( ~% q1 V3 Y4.2 基于Windows CE 的蓝牙数据采集程序的设计
5 h6 r" s. f- R. }1 E由于 DFBM-CS120 蓝牙模块通过串口进行通信,而WinCE 的驱动程序己经以“文件” 的形式封装了串口,开发者无需编写操作串口硬件的代码,所以蓝牙数据采集程序没有必要 设计驱动程序,只考虑设计应用程序即可。 本系统中,基于 WinCE 的蓝牙数据采集程序采用Embedded Visual C++集成开发环境, 基于MFC 库,采用面向对象的设计方法设计。蓝牙数据采集程序的主要任务就是通过串口 发送和接收数据,因此串口编程是设计蓝牙数据采集程序必须实现的部分。WinCE 的驱动 程序己经将串口以“文件”形式进行了封装,因此基于WinCE 的串口编程无需编写直接操 作UART 硬件的代码,只要利用WinCE 提供的文件API 函数就可打开和读写串口。这些 API 函数分别是:CreateFile、ReadFile 和WriteFile。5 Y8 @0 m4 f5 P6 e+ Z ?! Z3 ~, v
9 X9 h- I$ L y
4.3 单片机节点程序设计1 m8 x" N. s0 R3 @& z& ]
单片机节点负责采集数据并把数据通过蓝牙模块发送给数据中心,程序设计的重点是实 现蓝牙数据通信。单片机程序在Keil μVision2 开发环境下,采用C51 语言编写。单片机节 点程序设计包括如下几个部分:
8 j5 N- L5 P- U% E: J$ D( Y0 V1.配置串口;
; t- F/ C3 J r, M$ w* {2.根据串口中断程序设计单片机-蓝牙模块通讯 程序;
# Z" ]8 ]2 q d5 o0 G' M- O) M3.通信帧格式设计。
+ h7 t' o e" K, Y4 c! F& @, H6 z1 c6 Z$ C2 @& \ m
单片机节点与数据中心建立连接后,串口中断程序接收并识别数据中心的命令,由于数 据和命令是透明传输,单片机节点和数据中心之间必须设计通信协议,规定命令帧和数据帧 的帧头、帧尾、帧长、帧类型、校验等信息,二者才能正常互传数据。通信帧格式设计如下:
, b0 L. n# Z; y9 ] T8 Y& M# Y0 M% Q, J: h2 G6 o6 Z. k
5 结束语
6 n4 H/ F2 t( Y0 N- {' p/ A- l# M本文将蓝牙通信技术和 ARM 嵌入式系统应用于工业数据采集中,开发了一套新颖的无 线数据采集系统。系统包括数据中心、蓝牙通信和单片机节点三部分。数据中心的硬件、软 件功能强大,基于以ARM9 处理器S3C2410 为核心的硬件平台设计,运行 Windows CE 操 作系统,开发了基于 Windows CE 的蓝牙数据采集应用程序。通过数据中心和单片机节点 的蓝牙模块,数据中心能够在距离单片机节点半径约10 米以内的任何位置方便地与智能节 点交换命令和数据,不受传输角度和节点安装位置的限制。3 Q6 W y+ D* i) w; y2 J
) J3 P# T1 H, L2 X
本文作者创新点:在以 ARM9 芯片为核心的嵌入式数据采集系统中,采用蓝牙无线通 信DFBM-CS120 芯片,实现高速实时数据信号采集和无线数据传输。与有线数据传输相比,更加方便灵活,具有较高的可靠性。在软件设计上采用Windows CE 实时多任务系统,实现 了系统初始化、数据采集、无线通信等任务进行调度和管理。试验结果表明,该系统硬件电 路简单、可靠性强,软件设计合理,满足了实时信号采集和无线数据传输的要求。9 A, ?; A" A5 v6 j
$ ?& _ q, }0 A1 P |
|