1 引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展,尤其是無(wú)線技術(shù)廣泛深入到人們生活的各個(gè)方面,,使人們的生活發(fā)生了深刻的變化,。就工業(yè)數(shù)據(jù)采集、測(cè)量領(lǐng)域來(lái)講,,由于測(cè)量種類多,、數(shù)據(jù)量大,且存在許多條件惡劣,、人們不易到達(dá)或不能時(shí)刻停留的地方偶爾采集一些現(xiàn)場(chǎng)數(shù)據(jù),,因而不但需要花費(fèi)大量的人力、物力和財(cái)力進(jìn)行設(shè)備的維護(hù),,同時(shí)給采集帶來(lái)很多不必要的麻煩,。
為了解決上述問(wèn)題,本文提出了一種基于ARM 的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng),。采用嵌入式 操作系統(tǒng)Windows CE,,對(duì)通過(guò)藍(lán)牙無(wú)線傳輸方式集中的傳感器采集數(shù)據(jù),進(jìn)行控制,、顯示,、 處理,實(shí)現(xiàn)工業(yè)實(shí)時(shí)數(shù)據(jù)的采集,。ARM 技術(shù)為內(nèi)核的微控制器指令周期短,,處理能力強(qiáng),接口豐富,,能成功運(yùn)行操作系統(tǒng),,為控制系統(tǒng)的應(yīng)用程序開發(fā)提供了良好的平臺(tái)。同時(shí),,它體積小,,功耗低,運(yùn)行性能優(yōu)越,,能很好的應(yīng)對(duì)于工控應(yīng)用方面,。而藍(lán)牙技術(shù)是一種短距離、低功耗的無(wú)線通信技術(shù),,采用跳頻機(jī)制進(jìn)行數(shù)據(jù)傳送,,故能極大地提高數(shù)據(jù)傳送的抗干擾性能,。對(duì)于數(shù)據(jù)采集系統(tǒng)的應(yīng)用而言,兩者的結(jié)合大大簡(jiǎn)化了分布采集設(shè)備繁瑣的配置和系統(tǒng)復(fù)雜度,,且大大降低了功耗和體積,。由其帶來(lái)的系統(tǒng)靈活性,使得系統(tǒng)的應(yīng)用更加廣泛,。該系統(tǒng)充分體現(xiàn)了嵌入式系統(tǒng)和藍(lán)牙技術(shù)的優(yōu)勢(shì),,具有一定的實(shí)用價(jià)值。
2 系統(tǒng)總體設(shè)計(jì)
基于 ARM 的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)由基于ARM 的數(shù)據(jù)中心,、單片機(jī)智能節(jié)點(diǎn)和藍(lán)牙無(wú)線通信鏈路三大部分組成,。數(shù)據(jù)中心,采用基于ARM9 微處理器S3C2410 的硬件平臺(tái),, 運(yùn)行 Windows CE 嵌入式操作系統(tǒng),,可為操作人員管理現(xiàn)場(chǎng)數(shù)據(jù)、控制目標(biāo)設(shè)備提供友好,、方便的用戶接口,;單片機(jī)節(jié)點(diǎn),負(fù)責(zé)采集現(xiàn)場(chǎng)數(shù)據(jù),,通過(guò)藍(lán)牙無(wú)線通信鏈路接收數(shù)據(jù)中心命令并將數(shù)據(jù)上傳給數(shù)據(jù)中心,;藍(lán)牙無(wú)線通信鏈路,通過(guò)在數(shù)據(jù)中心和單片機(jī)節(jié)點(diǎn)安裝的藍(lán)牙模塊實(shí)現(xiàn),??紤]到系統(tǒng)的可擴(kuò)展性,系統(tǒng)還可以通過(guò)RS-232 接口實(shí)現(xiàn)ARM 數(shù)據(jù)中心與PC機(jī)的數(shù)據(jù)通信,。系統(tǒng)總體構(gòu)成如圖1 所示,。
3 系統(tǒng)硬件設(shè)計(jì)
基于ARM 的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)包含藍(lán)牙模塊天線和外圍電路、基于 ARM 的數(shù)據(jù)中心,、單片機(jī)節(jié)點(diǎn)三個(gè)部分?,F(xiàn)在分別對(duì)各個(gè)主要模塊做簡(jiǎn)單介紹。
3.1 藍(lán)牙模塊天線和外圍電路
藍(lán)牙模塊是藍(lán)牙通信的基礎(chǔ),,在此采用嵌入式藍(lán)牙模塊 DFBM-CS120,。它集成了藍(lán)牙標(biāo)準(zhǔn)通信協(xié)議,對(duì)用戶提供全雙工UART 接口和射頻信號(hào)輸出,,使用戶能通過(guò)UART 控制模塊操作,,并通過(guò)天線將承載數(shù)據(jù)的射頻信號(hào)發(fā)射出去。
藍(lán)牙模塊外圍電路設(shè)計(jì)主要包括天線設(shè)計(jì),、電源設(shè)計(jì)和UART 接口設(shè)計(jì),,如圖2 所示。
其中,,天線的性能好壞直接關(guān)系到整個(gè)藍(lán)牙通信系統(tǒng)能否正常傳輸數(shù)據(jù),,必須采用射頻電路的設(shè)計(jì)方法進(jìn)行具有針對(duì)性的設(shè)計(jì),。在此由于DFBM-CS120 有一個(gè)天線管腳Antenna,輸出2.402~2.480GHz 射頻信號(hào),,天線管腳的輸出阻抗為50Ω,。根據(jù)最大功率傳輸定理,在天線管腳上外接阻抗50Ω的AT3216 多層陶瓷天線,??紤]到由于制造參數(shù)與設(shè)計(jì)參數(shù)之間的誤差可能造成的信號(hào)衰減,在模塊的天線管腳和藍(lán)牙天線之間增加了一個(gè)由一個(gè)電感和兩個(gè)電容組成的π型網(wǎng)絡(luò),,用來(lái)放大射頻信號(hào),。天線電路框圖如圖3 所示。
3.2 基于ARM 的數(shù)據(jù)中心
基于 ARM 的數(shù)據(jù)中心的基本要求是體積小巧,、功耗低、界面美觀,、操作方便,、通信功能強(qiáng)大、系統(tǒng)擴(kuò)展性好,。具體到硬件上,,對(duì)ARM 系統(tǒng)的基本要求是支持Windows CE 操作系統(tǒng)、支持彩色LCD,、支持觸摸屏,、支持USB、支持以太網(wǎng),、支持藍(lán)牙模塊通信接口,。根據(jù)要求,結(jié)合嵌入式系統(tǒng)業(yè)內(nèi)流行的開發(fā)平臺(tái),,在此選擇基于ARM9 處理器S3C2410 的硬件平臺(tái)作為數(shù)據(jù)中心,。將藍(lán)牙模塊作為S3C2410 硬件平臺(tái)的一個(gè)UART 外設(shè)安裝,數(shù)據(jù)中 心便具有了藍(lán)牙通信功能,。
S3C2410 硬件平臺(tái)的設(shè)計(jì)分為核心系統(tǒng)設(shè)計(jì)和外圍設(shè)計(jì)兩大部分,。平臺(tái)核心系統(tǒng)包括 CPU、SDRAM 和Flash,,其中SDRAM 是平臺(tái)的內(nèi)存,,F(xiàn)lash 相當(dāng)于平臺(tái)的硬盤;平臺(tái)外設(shè) 包括LCD 和觸摸屏接口電路,、以太網(wǎng)控制器,、USB 和UART。硬件平臺(tái)的整體設(shè)計(jì)圖如圖 4 所示,。
3.3 單片機(jī)節(jié)點(diǎn)
單片機(jī)節(jié)點(diǎn)是本系統(tǒng)的底層設(shè)備,,正常工作時(shí)作為總控制器,,協(xié)調(diào)控制其他監(jiān)測(cè)器件或模塊工作,完成數(shù)據(jù)采集,、測(cè)量,、加工及與數(shù)據(jù)中心的通信、接受命令和數(shù)據(jù)傳送等任務(wù),。 本系統(tǒng)中,,單片機(jī)節(jié)點(diǎn)模塊的MPU 采用Winbond W77E58,其串口與藍(lán)牙通信模塊的UART 進(jìn)行通信,。
兼容 8051 內(nèi)核,、片載Flash 很大、具有雙串口是W77E58 的三個(gè)突出特點(diǎn),。前兩點(diǎn)意味著單片機(jī)節(jié)點(diǎn)軟件可以用C51 語(yǔ)言設(shè)計(jì),,不必因?yàn)閾?dān)心代碼太大而采用匯編語(yǔ)言;雙串 口意味著可以用一個(gè)獨(dú)立的串口與PC機(jī)聯(lián)機(jī)以調(diào)試編寫的藍(lán)牙通信軟件,,調(diào)試完成后再將其移植到與藍(lán)牙模塊通信的串口上,,無(wú)需為軟件調(diào)試改動(dòng)任何硬件,大大降低了硬件的復(fù)雜 性,,提高了軟件開發(fā)速度,。
4 系統(tǒng)軟件設(shè)計(jì)
基于 ARM 的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)包含三部分。第一部分是Windows CE 嵌入式操作系統(tǒng)平臺(tái)的搭建,;第二部分是基于Windows CE 操作系統(tǒng),,運(yùn)行于數(shù)據(jù)中心藍(lán)牙數(shù)據(jù)采集應(yīng)用程序的設(shè)計(jì);第三部分是單片機(jī)節(jié)點(diǎn)的藍(lán)牙通信軟件的實(shí)現(xiàn),。
4.1 Windows CE 嵌入式操作系統(tǒng)的搭建
Windows CE(簡(jiǎn)稱WinCE)是當(dāng)今市場(chǎng)上主流嵌入式操作系統(tǒng)中應(yīng)用最廣泛的,。它是一個(gè)支持多種硬件平臺(tái)、核心代碼開放,、組件可裁剪的32 位實(shí)時(shí)嵌入式窗口操作系統(tǒng),,具有可靠性高、實(shí)時(shí)性好,、模塊化和小內(nèi)存占用,、支持多種無(wú)線與有線連接、支持多種硬件平臺(tái),、支持多種無(wú)線與有線連接等特點(diǎn),,廣泛應(yīng)用于各種嵌入式智能設(shè)備開發(fā)。
由于嵌入式智能平臺(tái)不論是CPU 架構(gòu)還是外圍硬件都是多種多樣的,,移植WinCE 需要開發(fā)者根據(jù)具體平臺(tái)要求對(duì)系統(tǒng)進(jìn)行修改和定制,。移植WinCE 操作系統(tǒng)主要有兩部分內(nèi)容: 一是定制BSP 代碼,包括Bootloader,、OAL 以及驅(qū)動(dòng)程序,;二是運(yùn)行調(diào)試WinCE 操作系統(tǒng),,主要是運(yùn)用開發(fā)工具編譯、下載,、運(yùn)行和調(diào)試操作系統(tǒng)映像,。
4.2 基于Windows CE 的藍(lán)牙數(shù)據(jù)采集程序的設(shè)計(jì)
由于 DFBM-CS120 藍(lán)牙模塊通過(guò)串口進(jìn)行通信,而WinCE 的驅(qū)動(dòng)程序己經(jīng)以“文件” 的形式封裝了串口,,開發(fā)者無(wú)需編寫操作串口硬件的代碼,,所以藍(lán)牙數(shù)據(jù)采集程序沒(méi)有必要 設(shè)計(jì)驅(qū)動(dòng)程序,只考慮設(shè)計(jì)應(yīng)用程序即可,。
本系統(tǒng)中,,基于 WinCE 的藍(lán)牙數(shù)據(jù)采集程序采用Embedded Visual C++集成開發(fā)環(huán)境, 基于MFC
庫(kù),,采用面向?qū)ο蟮脑O(shè)計(jì)方法設(shè)計(jì),。藍(lán)牙數(shù)據(jù)采集程序的主要任務(wù)就是通過(guò)串口發(fā)送和接收數(shù)據(jù),因此串口編程是設(shè)計(jì)藍(lán)牙數(shù)據(jù)采集程序必須實(shí)現(xiàn)的部分,。WinCE 的驅(qū)動(dòng)程序己經(jīng)將串口以“文件”形式進(jìn)行了封裝,,因此基于WinCE 的串口編程無(wú)需編寫直接操 作UART 硬件的代碼,只要利用WinCE 提供的文件API 函數(shù)就可打開和讀寫串口,。這些 API 函數(shù)分別是:CreateFile,、ReadFile 和WriteFile,。
4.3 單片機(jī)節(jié)點(diǎn)程序設(shè)計(jì)
單片機(jī)節(jié)點(diǎn)負(fù)責(zé)采集數(shù)據(jù)并把數(shù)據(jù)通過(guò)藍(lán)牙模塊發(fā)送給數(shù)據(jù)中心,,程序設(shè)計(jì)的重點(diǎn)是實(shí) 現(xiàn)藍(lán)牙數(shù)據(jù)通信。單片機(jī)程序在Keil μVision2 開發(fā)環(huán)境下,,采用C51 語(yǔ)言編寫,。單片機(jī)節(jié)點(diǎn)程序設(shè)計(jì)包括如下幾個(gè)部分:1.配置串口;2.根據(jù)串口中斷程序設(shè)計(jì)單片機(jī)-藍(lán)牙模塊通訊 程序,;3.通信幀格式設(shè)計(jì),。
單片機(jī)節(jié)點(diǎn)與數(shù)據(jù)中心建立連接后,串口中斷程序接收并識(shí)別數(shù)據(jù)中心的命令,,由于數(shù)據(jù)和命令是透明傳輸,,單片機(jī)節(jié)點(diǎn)和數(shù)據(jù)中心之間必須設(shè)計(jì)通信協(xié)議,規(guī)定命令幀和數(shù)據(jù)幀的幀頭,、幀尾,、幀長(zhǎng)、幀類型,、校驗(yàn)等信息,,二者才能正常互傳數(shù)據(jù),。通信幀格式設(shè)計(jì)如下:
5 結(jié)束語(yǔ)
本文將藍(lán)牙通信技術(shù)和 ARM 嵌入式系統(tǒng)應(yīng)用于工業(yè)數(shù)據(jù)采集中,,開發(fā)了一套新穎的無(wú)線數(shù)據(jù)采集系統(tǒng),。系統(tǒng)包括數(shù)據(jù)中心、藍(lán)牙通信和單片機(jī)節(jié)點(diǎn)三部分,。數(shù)據(jù)中心的硬件,、軟 件功能強(qiáng)大,基于以ARM9
處理器S3C2410 為核心的硬件平臺(tái)設(shè)計(jì),,運(yùn)行 Windows CE 操 作系統(tǒng),,開發(fā)了基于 Windows CE 的藍(lán)牙數(shù)據(jù)采集應(yīng)用程序。通過(guò)數(shù)據(jù)中心和單片機(jī)節(jié)點(diǎn) 的藍(lán)牙模塊,,數(shù)據(jù)中心能夠在距離單片機(jī)節(jié)點(diǎn)半徑約10 米以內(nèi)的任何位置方便地與智能節(jié) 點(diǎn)交換命令和數(shù)據(jù),,不受傳輸角度和節(jié)點(diǎn)安裝位置的限制。
本文作者創(chuàng)新點(diǎn):在以 ARM9 芯片為核心的嵌入式數(shù)據(jù)采集系統(tǒng)中,,采用藍(lán)牙無(wú)線通 信DFBM-CS120芯片,,實(shí)現(xiàn)高速實(shí)時(shí)數(shù)據(jù)信號(hào)采集和無(wú)線數(shù)據(jù)傳輸。與有線數(shù)據(jù)傳輸相比,,更加方便靈活,,具有較高的可靠性。在軟件設(shè)計(jì)上采用Windows CE 實(shí)時(shí)多任務(wù)系統(tǒng),,實(shí)現(xiàn) 了系統(tǒng)初始化,、數(shù)據(jù)采集、無(wú)線通信等任務(wù)進(jìn)行調(diào)度和管理,。試驗(yàn)結(jié)果表明,,該系統(tǒng)硬件電 路簡(jiǎn)單、可靠性強(qiáng),,軟件設(shè)計(jì)合理,,滿足了實(shí)時(shí)信號(hào)采集和無(wú)線數(shù)據(jù)傳輸?shù)囊蟆?br />