新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(shè)計(jì)應(yīng)用 > 基于ARM的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

基于ARM的藍(lán)牙實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

作者: 時(shí)間:2010-02-01 來(lái)源:網(wǎng)絡(luò) 收藏

3.3 單片機(jī)節(jié)點(diǎn)

單片機(jī)節(jié)點(diǎn)是本的底層設(shè)備,正常工作時(shí)作為總控制器,協(xié)調(diào)控制其他監(jiān)測(cè)器件或 模塊工作,完成、測(cè)量、加工及與數(shù)據(jù)中心的通信、接受命令和數(shù)據(jù)傳送等任務(wù)。 本中,單片機(jī)節(jié)點(diǎn)模塊的MPU 采用Winbond W77E58,其串口與通信模塊的UART 進(jìn)行通信。

兼容 8051 內(nèi)核、片載Flash 很大、具有雙串口是W77E58 的三個(gè)突出特點(diǎn)。前兩點(diǎn)意 味著單片機(jī)節(jié)點(diǎn)軟件可以用C51 語(yǔ)言,不必因?yàn)閾?dān)心代碼太大而采用匯編語(yǔ)言;雙串 口意味著可以用一個(gè)獨(dú)立的串口與PC 機(jī)聯(lián)機(jī)以調(diào)試編寫(xiě)的通信軟件,調(diào)試完成后再將 其移植到與模塊通信的串口上,無(wú)需為軟件調(diào)試改動(dòng)任何硬件,大大降低了硬件的復(fù)雜 性,提高了軟件開(kāi)發(fā)速度。

4 軟件

的藍(lán)牙系統(tǒng)的軟件包含三部分。第一部分是Windows CE 嵌入式操作系統(tǒng)平臺(tái)的搭建;第二部分是Windows CE 操作系統(tǒng),運(yùn)行于數(shù)據(jù)中心藍(lán)牙 應(yīng)用程序的設(shè)計(jì);第三部分是單片機(jī)節(jié)點(diǎn)的藍(lán)牙通信軟件的實(shí)現(xiàn)。

4.1 Windows CE 嵌入式操作系統(tǒng)的搭建

Windows CE(簡(jiǎn)稱(chēng)WinCE)是當(dāng)今市場(chǎng)上主流嵌入式操作系統(tǒng)中應(yīng)用最廣泛的。它是一 個(gè)支持多種硬件平臺(tái)、核心代碼開(kāi)放、組件可裁剪的32 位嵌入式窗口操作系統(tǒng),具有 可靠性高、性好、模塊化和小內(nèi)存占用、支持多種無(wú)線(xiàn)與有線(xiàn)連接、支持多種硬件平臺(tái)、 支持多種無(wú)線(xiàn)與有線(xiàn)連接等特點(diǎn),廣泛應(yīng)用于各種嵌入式智能設(shè)備開(kāi)發(fā)。

由于嵌入式智能平臺(tái)不論是CPU 架構(gòu)還是外圍硬件都是多種多樣的,移植WinCE 需要 開(kāi)發(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)用開(kāi)發(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)以“文件” 的形式封裝了串口,開(kāi)發(fā)者無(wú)需編寫(xiě)操作串口硬件的代碼,所以藍(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++集成開(kāi)發(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ú)需編寫(xiě)直接操 作UART 硬件的代碼,只要利用WinCE 提供的文件API 函數(shù)就可打開(kāi)和讀寫(xiě)串口。這些 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 開(kāi)發(fā)環(huán)境下,采用C51 語(yǔ)言編寫(xiě)。單片機(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)、幀類(lèi)型、校驗(yàn)等信息,二者才能正常互傳數(shù)據(jù)。通信幀格式設(shè)計(jì)如下:

5 結(jié)束語(yǔ)

本文將藍(lán)牙通信技術(shù)和 嵌入式系統(tǒng)應(yīng)用于工業(yè)數(shù)據(jù)采集中,開(kāi)發(fā)了一套新穎的無(wú) 線(xiàn)數(shù)據(jù)采集系統(tǒng)。系統(tǒng)包括數(shù)據(jù)中心、藍(lán)牙通信和單片機(jī)節(jié)點(diǎn)三部分。數(shù)據(jù)中心的硬件、軟 件功能強(qiáng)大,基于以9 處理器S3C2410 為核心的硬件平臺(tái)設(shè)計(jì),運(yùn)行 Windows CE 操 作系統(tǒng),開(kāi)發(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 米以?xún)?nèi)的任何位置方便地與智能節(jié) 點(diǎn)交換命令和數(shù)據(jù),不受傳輸角度和節(jié)點(diǎn)安裝位置的限制。

本文作者創(chuàng)新點(diǎn):在以 ARM9 芯片為核心的嵌入式數(shù)據(jù)采集系統(tǒng)中,采用藍(lán)牙無(wú)線(xiàn)通 信DFBM-CS120 芯片,實(shí)現(xiàn)高速實(shí)時(shí)數(shù)據(jù)信號(hào)采集和無(wú)線(xiàn)數(shù)據(jù)傳輸。與有線(xiàn)數(shù)據(jù)傳輸相比,更加方便靈活,具有較高的可靠性。在軟件設(shè)計(jì)上采用Windows CE 實(shí)時(shí)多任務(wù)系統(tǒng),實(shí)現(xiàn) 了系統(tǒng)初始化、數(shù)據(jù)采集、無(wú)線(xiàn)通信等任務(wù)進(jìn)行調(diào)度和管理。試驗(yàn)結(jié)果表明,該系統(tǒng)硬件電 路簡(jiǎn)單、可靠性強(qiáng),軟件設(shè)計(jì)合理,滿(mǎn)足了實(shí)時(shí)信號(hào)采集和無(wú)線(xiàn)數(shù)據(jù)傳輸?shù)囊蟆?p />


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉