EDA365电子论坛网
标题:
ARM蓝牙实时数据采集系统
[打印本页]
作者:
hunterccc
时间:
2021-10-26 15:05
标题:
ARM蓝牙实时数据采集系统
1 引言
/ y9 P6 q, ^6 ^4 t1 e7 c, G
随着
计算机
技术的发展,尤其是
无线
技术广泛深入到人们生活的各个方面,使人们的生 活发生了深刻的变化。就工业
数据采集
、
测量
领域来讲,由于测量种类多、数据量大,且存 在许多条件恶劣、人们不易到达或不能时刻停留的地方偶尔采集一些现场数据,因而不但需 要花费大量的人力、物力和财力进行设备的维护,同时给采集带来很多不必要的麻烦。
3 ?3 T; A8 f r: J* @
4 l: m! j- d% I# z, `) f; l- J
为了解决上述问题,本文提出了一种基于ARM 的
蓝牙
实时数据采集
系统。采用
嵌入式
操作系统
Windows CE,对通过蓝牙无线
传输
方式集中的
传感器
采集数据,进行控制、显示、 处理,实现工业实时数据的采集。ARM 技术为内核的微控制器
指令
周期短,处理能力强,
接口
丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台。同时,它 体积小,功耗低,运行性能优越,能很好的应对于工控应用方面。而蓝牙技术是一种短距离、 低功耗的无线
通信技术
,采用跳频机制进行数据传送,故能极大地提高数据传送的抗干扰性 能。对于数据采集系统的应用而言,两者的结合大大简化了分布采集设备繁琐的配置和系统 复杂度,且大大降低了功耗和体积。由其带来的系统灵活性,使得系统的应用更加广泛。该 系统充分体现了
嵌入
式系统和蓝牙技术的优势,具有一定的实用价值。
8 z& x/ S9 P4 @2 ^" u" w
8 e, R8 U5 [* G0 }& i
2 系统总体设计
: u& S% a% |4 s- M' l5 y0 a8 J
基于 ARM 的蓝牙实时数据采集系统由基于ARM 的数据中心、
单片机
智能节点和蓝牙 无线
通信
链路三大部分组成。数据中心,采用基于ARM9 微处理器S3C2410 的硬件平台, 运行 Windows CE 嵌入式操作系统,可为操作人员管理现场数据、控制目标设备提供友好、 方便的用户接口;
单片
机节点,负责采集现场数据,通过蓝牙无线通信链路接收数据中心命 令并将数据上传给数据中心;蓝牙无线通信链路,通过在数据中心和单片机节点安装的蓝牙 模块实现。考虑到系统的可扩展性,系统还可以通过RS-232 接口实现ARM 数据中心与PC机的数据通信。系统总体构成如图1 所示。
, _1 {# @' a- p. |
+ }( W) V( a3 P; Y& z \- I
6 L9 p% E2 r" D3 U
3 系统硬件设计
/ R9 _. I9 [# }' l
基于 ARM 的蓝牙实时数据采集系统的硬件设计包含蓝牙模块天线和外围
电路
、基于 ARM 的数据中心、单片机节点三个部分。现在分别对各个主要模块做简单介绍。
; ?0 H$ O5 [' S" [1 U! B
1 m! O. }0 }- X8 H
3.1 蓝牙模块天线和外围电路
0 S9 e4 ]4 @8 C R
蓝牙模块是蓝牙通信的基础,在此采用嵌入式蓝牙模块 DFBM-C
s120
。它集成了蓝牙 标准
通信协议
,对用户提供全
双工
UART 接口和
射频
信号输出,使用户能通过UART 控制 模块操作,并通过天线将承载数据的射频信号发射出去。
L s" d0 R* |& j b- z- o
1 ~3 G* w* V$ S! M
蓝牙模块外围电路设计主要包括天线设计、
电源设计
和UART
接口设计
,如图2 所示。
: j# A$ S, E& y: l1 F
' \7 U- P; [# u: U( E$ C
其中,天线的性能好坏直接关系到整个蓝牙通信系统能否正常传输数据,必须采用射频 电路的设计方法进行具有针对性的设计。在此由于DFBM-CS120 有一个天线管脚Antenna, 输出2.402~2.480GHz 射频信号,天线管脚的输出阻抗为50Ω。根据最大功率传输定理,在 天线管脚上外接阻抗50Ω的AT3216 多层陶瓷天线。考虑到由于制造参数与设计参数之间的 误差可能造成的信号衰减,在模块的天线管脚和蓝牙天线之间增加了一个由一个电感和两个 电容组成的π型网络,用来
放大
射频信号。天线电路框图如图3 所示。
( K4 U- i" Q5 Y: p' _
! _9 n2 Z! Z* K5 s/ e# X+ E9 V
- s4 v! `& G( |- w( X
3.2 基于ARM 的数据中心
" ?( c; J. Q7 A3 g
基于 ARM 的数据中心的基本要求是体积小巧、功耗低、界面美观、操作方便、通信功 能强大、系统扩展性好。具体到硬件上,对ARM 系统的基本要求是支持Windows CE 操作 系统、支持彩色LCD、支持触摸屏、支持USB、支持以太网、支持蓝牙模块通信接口。根 据要求,结合嵌入式系统业内流行的开发平台,在此选择基于ARM9 处理器S3C2410 的硬 件平台作为数据中心。将蓝牙模块作为S3C2410 硬件平台的一个UART 外设安装,数据中 心便具有了蓝牙通信功能。
3 B; ?, m; p6 A$ z% W! A# S4 u
$ p1 h1 s' W, F- n- S1 d( Y# r" ^
S3C2410 硬件平台的设计分为核心系统设计和外围设计两大部分。平台核心系统包括 CPU、SDRAM 和Flash,其中SDRAM 是平台的内存,Flash 相当于平台的硬盘;平台外设 包括LCD 和触摸屏接口电路、
以太网控制器
、USB 和UART。
' ?8 A4 {+ w) w3 r# x
硬件平台的整体设计图如图 4 所示。
9 `% y: }( H& b5 Y; @! o
) s7 ^0 t# ~9 }1 B
/ m' ^$ @, W5 [: W. i
3.3 单片机节点
, J' s# ]0 ^1 ]& q0 ]% N* B! {
单片机节点是本系统的底层设备,正常工作时作为总控制器,协调控制其他监测器件或 模块工作,完成数据采集、测量、加工及与数据中心的通信、接受
命令
和数据传送等任务。 本系统中,单片机节点模块的MPU 采用Winbond W77E58,其串口与蓝牙通信模块的UART 进行通信。
& e. G: }& G6 j- w, p/ w7 S+ u
$ f/ A/ b) z& @7 k, H9 I/ y
兼容 8051 内核、片载Flash 很大、具有双串口是W77E58 的三个突出特点。前两点意 味着单片机节点软件可以用C51 语言设计,不必因为担心代码太大而采用汇编语言;双串 口意味着可以用一个独立的串口与PC 机联机以调试编写的蓝牙通信软件,调试完成后再将 其移植到与蓝牙模块通信的串口上,无需为软件调试改动任何硬件,大大降低了硬件的复杂 性,提高了软件开发速度。
- g( Q( ~% Z' @: j0 }2 ]) V
4 z: o( `4 D' @2 F# f9 m5 P
4 系统软件设计
3 A& i9 m0 r( s% M6 V* o
基于 ARM 的蓝牙实时数据采集系统的软件设计包含三部分。第一部分是Windows CE 嵌入式操作系统平台的搭建;
第二部分
是基于Windows CE 操作系统,运行于数据中心蓝牙 数据采集应用程序的设计;第三部分是单片机节点的蓝牙通信软件的实现。
- k: ^9 C2 N& I) e
/ R" @5 U" L9 e* c
4.1 Windows CE 嵌入式操作系统的搭建
3 _# @( }& f5 b
Windows CE(简称WinCE)是当今市场上主流嵌入式操作系统中应用最广泛的。它是一 个支持多种硬件平台、核心代码开放、组件可裁剪的32 位实时嵌入式窗口操作系统,具有 可靠性高、实时性好、
模块化
和小内存占用、支持多种无线与有线连接、支持多种硬件平台、 支持多种无线与有线连接等特点,广泛应用于各种嵌入式智能设备开发。
9 V3 O6 n5 R9 d6 n, f$ O/ z8 ~7 X
- g" r' G z; s2 h0 g5 D
由于嵌入式智能平台不论是CPU 架构还是外围硬件都是多种多样的,移植WinCE 需要 开发者根据具体平台要求对系统进行修改和定制。移植WinCE 操作系统主要有两部分内容: 一是定制BSP 代码,包括Bootloader、OAL 以及驱动程序;二是运行调试WinCE 操作系统, 主要是运用开发工具编译、下载、运行和调试操作系统映像。
, T' T' E+ a) K7 o+ l& u
6 F! C* i1 v: P% b/ {$ a# H
4.2 基于Windows CE 的蓝牙数据采集程序的设计
3 V2 L: t9 W$ R' `
由于 DFBM-CS120 蓝牙模块通过串口进行通信,而WinCE 的驱动程序己经以“文件” 的形式封装了串口,开发者无需编写操作串口硬件的代码,所以蓝牙数据采集程序没有必要 设计驱动程序,只考虑设计应用程序即可。 本系统中,基于 WinCE 的蓝牙数据采集程序采用Embedded Visual C++集成开发环境, 基于MFC 库,采用面向对象的设计方法设计。蓝牙数据采集程序的主要任务就是通过串口 发送和接收数据,因此串口编程是设计蓝牙数据采集程序必须实现的部分。WinCE 的驱动 程序己经将串口以“文件”形式进行了封装,因此基于WinCE 的串口编程无需编写直接操 作UART 硬件的代码,只要利用WinCE 提供的文件API 函数就可打开和读写串口。这些 API 函数分别是:CreateFile、ReadFile 和WriteFile。
( y- s) L+ v' o: |
/ A1 z1 l" w9 V# ]8 ]1 U
4.3 单片机节点程序设计
Q% P6 G8 {# J$ L
单片机节点负责采集数据并把数据通过蓝牙模块发送给数据中心,程序设计的重点是实 现蓝牙数据通信。单片机程序在Keil μVision2 开发环境下,采用C51 语言编写。单片机节 点程序设计包括如下几个部分:
* I6 A) ?# c- O5 c
1.配置串口;
- r$ t$ H6 y, v+ C- @
2.根据串口中断程序设计单片机-蓝牙模块通讯 程序;
4 l) V/ A9 [0 K I- f
3.通信帧格式设计。
) b/ z' s6 l+ i1 P
; s& t& T2 B8 Q8 Z3 s
单片机节点与数据中心建立连接后,串口中断程序接收并识别数据中心的命令,由于数 据和命令是透明传输,单片机节点和数据中心之间必须设计通信协议,规定命令帧和数据帧 的帧头、帧尾、帧长、帧类型、校验等信息,二者才能正常互传数据。通信帧格式设计如下:
6 G: t0 Y$ T/ v: N0 b" A" H/ N
7 q) D. J1 d' u" }4 n7 m+ _: T2 k" I
5 结束语
8 _/ X+ N7 }' h6 V1 U8 b
本文将蓝牙通信技术和 ARM 嵌入式系统应用于工业数据采集中,开发了一套新颖的无 线数据采集系统。系统包括数据中心、蓝牙通信和单片机节点三部分。数据中心的硬件、软 件功能强大,基于以ARM9 处理器S3C2410 为核心的硬件平台设计,运行 Windows CE 操 作系统,开发了基于 Windows CE 的蓝牙数据采集应用程序。通过数据中心和单片机节点 的蓝牙模块,数据中心能够在距离单片机节点半径约10 米以内的任何位置方便地与智能节 点交换命令和数据,不受传输角度和节点安装位置的限制。
, p- I: G( J$ q8 g5 g
" D( \) G H; _) Z
本文作者创新点:在以 ARM9
芯片
为核心的嵌入式数据采集系统中,采用蓝牙无线通 信DFBM-CS120 芯片,实现高速实时数据信号采集和无线数据传输。与有线数据传输相比,更加方便灵活,具有较高的可靠性。在软件设计上采用Windows CE 实时多任务系统,实现 了系统初始化、数据采集、无线通信等任务进行调度和管理。试验结果表明,该系统硬件电 路简单、可靠性强,软件设计合理,满足了实时信号采集和无线数据传输的要求。
) V7 O' o* ~: d5 {: }2 _
# G1 ] E" p7 L6 w' r( Q4 u+ e
作者:
kiygb
时间:
2021-10-26 15:08
ARM 技术为内核的微控制器指令周期短,处理能力强, 接口丰富,能成功运行操作系统,为控制系统的应用程序开发提供了良好的平台
作者:
nuiga
时间:
2021-10-26 17:43
蓝牙模块是蓝牙通信的基础
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2