基于A(yíng)RM的藍牙實(shí)時(shí)數據采集系統的硬件與軟件設計
3.3 單片機節點(diǎn)
單片機節點(diǎn)是本系統的底層設備,正常工作時(shí)作為總控制器,協(xié)調控制其他監測器件或 模塊工作,完成數據采集、測量、加工及與數據中心的通信、接受命令和數據傳送等任務(wù)。 本系統中,單片機節點(diǎn)模塊的MPU 采用Winbond W77E58,其串口與藍牙通信模塊的UART 進(jìn)行通信。
兼容 8051 內核、片載Flash 很大、具有雙串口是W77E58 的三個(gè)突出特點(diǎn)。前兩點(diǎn)意 味著(zhù)單片機節點(diǎn)軟件可以用C51 語(yǔ)言設計,不必因為擔心代碼太大而采用匯編語(yǔ)言;雙串 口意味著(zhù)可以用一個(gè)獨立的串口與PC 機聯(lián)機以調試編寫(xiě)的藍牙通信軟件,調試完成后再將 其移植到與藍牙模塊通信的串口上,無(wú)需為軟件調試改動(dòng)任何硬件,大大降低了硬件的復雜 性,提高了軟件開(kāi)發(fā)速度。
基于 ARM 的藍牙實(shí)時(shí)數據采集系統的軟件設計包含三部分。第一部分是Windows CE 嵌入式操作系統平臺的搭建;第二部分是基于Windows CE 操作系統,運行于數據中心藍牙 數據采集應用程序的設計;第三部分是單片機節點(diǎn)的藍牙通信軟件的實(shí)現。
4.1 Windows CE 嵌入式操作系統的搭建
Windows CE(簡(jiǎn)稱(chēng)WinCE)是當今市場(chǎng)上主流嵌入式操作系統中應用最廣泛的。它是一 個(gè)支持多種硬件平臺、核心代碼開(kāi)放、組件可裁剪的32 位實(shí)時(shí)嵌入式窗口操作系統,具有 可靠性高、實(shí)時(shí)性好、模塊化和小內存占用、支持多種無(wú)線(xiàn)與有線(xiàn)連接、支持多種硬件平臺、 支持多種無(wú)線(xiàn)與有線(xiàn)連接等特點(diǎn),廣泛應用于各種嵌入式智能設備開(kāi)發(fā)。
由于嵌入式智能平臺不論是CPU 架構還是外圍硬件都是多種多樣的,移植WinCE 需要 開(kāi)發(fā)者根據具體平臺要求對系統進(jìn)行修改和定制。移植WinCE 操作系統主要有兩部分內容: 一是定制BSP 代碼,包括Bootloader、OAL 以及驅動(dòng)程序;二是運行調試WinCE 操作系統, 主要是運用開(kāi)發(fā)工具編譯、下載、運行和調試操作系統映像。
4.2 基于Windows CE 的藍牙數據采集程序的設計
由于 DFBM-CS120 藍牙模塊通過(guò)串口進(jìn)行通信,而WinCE 的驅動(dòng)程序己經(jīng)以“文件” 的形式封裝了串口,開(kāi)發(fā)者無(wú)需編寫(xiě)操作串口硬件的代碼,所以藍牙數據采集程序沒(méi)有必要 設計驅動(dòng)程序,只考慮設計應用程序即可。 本系統中,基于 WinCE 的藍牙數據采集程序采用Embedded Visual C++集成開(kāi)發(fā)環(huán)境, 基于MFC 庫,采用面向對象的設計方法設計。藍牙數據采集程序的主要任務(wù)就是通過(guò)串口 發(fā)送和接收數據,因此串口編程是設計藍牙數據采集程序必須實(shí)現的部分。WinCE 的驅動(dòng) 程序己經(jīng)將串口以“文件”形式進(jìn)行了封裝,因此基于WinCE 的串口編程無(wú)需編寫(xiě)直接操 作UART 硬件的代碼,只要利用WinCE 提供的文件API 函數就可打開(kāi)和讀寫(xiě)串口。這些 API 函數分別是:CreateFile、ReadFile 和WriteFile。
4.3 單片機節點(diǎn)程序設計
單片機節點(diǎn)負責采集數據并把數據通過(guò)藍牙模塊發(fā)送給數據中心,程序設計的重點(diǎn)是實(shí) 現藍牙數據通信。單片機程序在Keil μVision2 開(kāi)發(fā)環(huán)境下,采用C51 語(yǔ)言編寫(xiě)。單片機節 點(diǎn)程序設計包括如下幾個(gè)部分:1.配置串口;2.根據串口中斷程序設計單片機-藍牙模塊通訊 程序;3.通信幀格式設計。
單片機節點(diǎn)與數據中心建立連接后,串口中斷程序接收并識別數據中心的命令,由于數 據和命令是透明傳輸,單片機節點(diǎn)和數據中心之間必須設計通信協(xié)議,規定命令幀和數據幀 的幀頭、幀尾、幀長(cháng)、幀類(lèi)型、校驗等信息,二者才能正?;鲾祿?。通信幀格式設計如下:
5 結束語(yǔ)
本文將藍牙通信技術(shù)和 ARM 嵌入式系統應用于工業(yè)數據采集中,開(kāi)發(fā)了一套新穎的無(wú) 線(xiàn)數據采集系統。系統包括數據中心、藍牙通信和單片機節點(diǎn)三部分。數據中心的硬件、軟 件功能強大,基于以ARM9 處理器S3C2410 為核心的硬件平臺設計,運行 Windows CE 操 作系統,開(kāi)發(fā)了基于 Windows CE 的藍牙數據采集應用程序。通過(guò)數據中心和單片機節點(diǎn) 的藍牙模塊,數據中心能夠在距離單片機節點(diǎn)半徑約10 米以?xún)鹊娜魏挝恢梅奖愕嘏c智能節 點(diǎn)交換命令和數據,不受傳輸角度和節點(diǎn)安裝位置的限制。
本文作者創(chuàng )新點(diǎn):在以 ARM9 芯片為核心的嵌入式數據采集系統中,采用藍牙無(wú)線(xiàn)通 信DFBM-CS120 芯片,實(shí)現高速實(shí)時(shí)數據信號采集和無(wú)線(xiàn)數據傳輸。與有線(xiàn)數據傳輸相比,更加方便靈活,具有較高的可靠性。在軟件設計上采用Windows CE 實(shí)時(shí)多任務(wù)系統,實(shí)現 了系統初始化、數據采集、無(wú)線(xiàn)通信等任務(wù)進(jìn)行調度和管理。試驗結果表明,該系統硬件電 路簡(jiǎn)單、可靠性強,軟件設計合理,滿(mǎn)足了實(shí)時(shí)信號采集和無(wú)線(xiàn)數據傳輸的要求。
評論