單片機(jī)及藍(lán)牙模塊無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計_第1頁
單片機(jī)及藍(lán)牙模塊無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計_第2頁
單片機(jī)及藍(lán)牙模塊無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

./

1.引言

藍(lán)牙技術(shù)是近年來發(fā)展迅速的短距離無線通信技術(shù),可以用來替代數(shù)字設(shè)備間短距離的有線電纜連接。利用藍(lán)牙技術(shù)構(gòu)建數(shù)據(jù)采集無線傳輸模塊,與傳統(tǒng)的電線或紅外方式傳輸測控數(shù)據(jù)相比,在測控領(lǐng)域應(yīng)用籃牙技術(shù)的優(yōu)點(diǎn)主要有[1][2][3]:

1.采集測控現(xiàn)場數(shù)據(jù)遇到大量的電磁干擾,而藍(lán)牙系統(tǒng)因采用了跳頻擴(kuò)頻技術(shù),故可以有效地提高數(shù)據(jù)傳輸?shù)陌踩院涂垢蓴_能力。

2.無須鋪設(shè)線纜,降低了環(huán)境改造成本,方便了數(shù)據(jù)采集人員的工作。

3.可以從各個角度進(jìn)行測控數(shù)據(jù)的傳輸,可以實(shí)現(xiàn)多個測控儀器設(shè)備間的連網(wǎng),便于進(jìn)行集中監(jiān)測與控制。2.系統(tǒng)結(jié)構(gòu)原理

本課題以單片機(jī)和藍(lán)牙模塊ROK101008為主,設(shè)計了基于藍(lán)牙無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng),整個裝置由前端數(shù)據(jù)采集、傳送部分以及末端的數(shù)據(jù)接受部分組成〔如PC機(jī)。前端數(shù)據(jù)采集部分由位于現(xiàn)場的傳感器、信號放大電路、A/D轉(zhuǎn)換器、單片機(jī)、存儲器、串口通信等構(gòu)成,傳送部分主要利用自帶微帶天線的藍(lán)牙模塊進(jìn)行數(shù)據(jù)的無線傳輸;末端通過藍(lán)牙模塊、串口通信傳輸將數(shù)據(jù)送到上位PC機(jī)進(jìn)一步處理。整個系統(tǒng)結(jié)構(gòu)框架圖如圖1所示。

AT89C51單片機(jī)作為下位機(jī)主機(jī),傳感器獲得的信號經(jīng)過放大后送入12位A/D轉(zhuǎn)換器AD574A進(jìn)行A/D轉(zhuǎn)換,然后將轉(zhuǎn)換后的數(shù)據(jù)存儲到RAM芯片6264中。下位機(jī)可以主動地或者在接收上位機(jī)通過藍(lán)牙模塊發(fā)送的傳送數(shù)據(jù)指令后,將6264中存儲的數(shù)據(jù)按照HCI-RS232傳輸協(xié)議進(jìn)行數(shù)據(jù)定義,通過MAX3232進(jìn)行電平轉(zhuǎn)換后送至藍(lán)牙模塊,由籃牙模塊將數(shù)據(jù)傳送到空間,同時上位機(jī)的藍(lán)牙模塊對此數(shù)據(jù)進(jìn)行接收,再通過MAX3232電平轉(zhuǎn)換后傳送至PC機(jī),從而完成藍(lán)牙無線數(shù)據(jù)的交換。

圖1.基于藍(lán)牙無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框架圖3.?dāng)?shù)據(jù)采集系統(tǒng)的下位機(jī)電路設(shè)計[4]

信號放大電路主要采用高共模抑制比放大電路,它由三個集成運(yùn)算放大器組成,本課題選用的集成運(yùn)算放大器TL082具有高精度、低漂移的特性。

AT89C51與A/D轉(zhuǎn)換器AD574A及外擴(kuò)數(shù)據(jù)存儲器6264的接口示意圖如圖2所示。AT89C51通過地址譯碼器74LS138、地址鎖存器74LS373,對A/D轉(zhuǎn)換器、數(shù)據(jù)存儲器進(jìn)行地址選擇。

圖2.AT89C51與AD574及外擴(kuò)數(shù)據(jù)存儲器6264的接口示意圖

藍(lán)牙模塊與AT89C51串口之間采用藍(lán)牙模塊提供的RS232傳輸層接口實(shí)現(xiàn)通信,需要外接電路實(shí)現(xiàn)電平轉(zhuǎn)換,由于藍(lán)牙模塊需3.3V供電,因此這里選用MAX3232芯片作電平轉(zhuǎn)換芯片。另外,為了將5V輸入電壓轉(zhuǎn)換為3.3V電壓,選用電源穩(wěn)壓芯片7301為藍(lán)牙模塊供電。AT89C51通過MAX3232與藍(lán)牙模塊的接口示意圖如圖3所示。圖3.AT89C51通過MAX3232與藍(lán)牙模塊的接口示意圖

4.數(shù)據(jù)采集和藍(lán)牙通信的軟件實(shí)現(xiàn)

本課題的軟件主要包括兩部分:數(shù)據(jù)采集和藍(lán)牙通信,采用匯編語言和C51混合編程。為了保證數(shù)據(jù)采集的實(shí)時性,數(shù)據(jù)采集部分采用匯編語言編程,單片機(jī)采用定時采樣,具體選擇定時方式2,定時為100微秒,定時結(jié)束后,進(jìn)行A/D轉(zhuǎn)換,單片機(jī)采用查詢的方式讀取AD574A的轉(zhuǎn)換結(jié)果,然后將轉(zhuǎn)換后的數(shù)據(jù)存至外擴(kuò)存儲器6264中。另外,串行口工作在方式1,波特率為9600bps。藍(lán)牙通信部分采用C51編程,主要實(shí)現(xiàn)利用主機(jī)控制器接口HCI層建立點(diǎn)對點(diǎn)的藍(lán)牙異步無鏈接數(shù)據(jù)傳輸通道,當(dāng)兩個藍(lán)牙模塊鏈路建立成功后,就可以按照藍(lán)牙規(guī)范規(guī)定的HCI數(shù)據(jù)分組格式收發(fā)數(shù)據(jù)。

兩個藍(lán)牙設(shè)備間進(jìn)行數(shù)據(jù)通信是通過HCI分組實(shí)現(xiàn)的,HCI作為藍(lán)牙軟件協(xié)議堆棧中軟硬件之間的接口,為上層提供了訪問和控制藍(lán)牙硬件的統(tǒng)一接口。HCI是通過分組<Packet>的方式來進(jìn)行信息交換的。HCI分組有三種類型:指令分組<CommandPacket>、事件分組<EventPacket>和數(shù)據(jù)分組<DataPacket>。

主機(jī)與藍(lán)牙模塊用指令--應(yīng)答方式進(jìn)行通信,主機(jī)向主機(jī)控制器發(fā)送指令分組;主機(jī)控制器執(zhí)行某一指令后,大多數(shù)情況下會返回給主機(jī)一個指令完成事件分組<CommandCompleteEventPacket>,該分組攜帶有指令完成的信息。有些分組不會返回指令完成事件,而返回指令狀態(tài)事件分組<CommandStatusEventPacket>用以說明主機(jī)發(fā)出的指令己經(jīng)被主機(jī)控制器接收并開始處理。如果指令分組的參數(shù)有誤,返回的指令狀態(tài)事件分組就會給出相應(yīng)的錯誤代碼;數(shù)據(jù)分組分為異步無連接<AsynchronousConnectionless,ACL>數(shù)據(jù)分組和同步面向連接<SynchronizationConnectionOriented,SCO>數(shù)據(jù)分組兩種。在本課題中,僅涉及到數(shù)據(jù)通信,而沒有涉及到語音通信,因此建立的是ACL鏈路。

單片機(jī)與藍(lán)牙模塊的軟件接口,就是指單片機(jī)如何通過軟件實(shí)現(xiàn)向藍(lán)牙模塊發(fā)送HCI指令,藍(lán)牙模塊又如何通過軟件向單片機(jī)返回HCI事件以及兩者之間如何實(shí)現(xiàn)數(shù)據(jù)傳輸。單片機(jī)和藍(lán)牙模塊間通信的過程是通過鍵入HCI指令,觀察收到的HCI事件。當(dāng)兩個藍(lán)牙模塊建立鏈路成功后,就可以按照藍(lán)牙規(guī)范規(guī)定的HCI數(shù)據(jù)包格式收發(fā)數(shù)據(jù)。

在通過藍(lán)牙模塊進(jìn)行數(shù)據(jù)通信時,首先要進(jìn)行藍(lán)牙模塊的初始化和HCI層流控設(shè)置。典型的藍(lán)牙模塊間的ACL數(shù)據(jù)通信流程有6個步驟:藍(lán)牙模塊自身初始化InitBluetooth<>、HCI流量控制設(shè)置FlowSet<>、查詢Inquiry<>、建立連接GreatConnection<>、進(jìn)行數(shù)據(jù)通信Data_Transmit<DataLength,HCI_Number>和斷開連接Disconnect<>[5]。

初始化程序主要是單片機(jī)對藍(lán)牙發(fā)送一系列命令分組。單片機(jī)每向藍(lán)牙發(fā)送一個HCI命令分組就要接收藍(lán)牙返回的事件分組,判斷命令執(zhí)行的情況。若返回事件分組不正確就要重新初始化藍(lán)牙,直到完全正確。藍(lán)牙設(shè)備在初始化完成之后,通過Set_Host_Controller_To_Host_Flow_Control指令打開主機(jī)控制器到主機(jī)的流量控制,并通過HostBufferSize指令來對流量控制進(jìn)行配置,包括數(shù)據(jù)分組的長度等。此后,主設(shè)備查詢周圍的藍(lán)牙設(shè)備,找到之后即可向其發(fā)出建立連接指令,建立ACL連接。成功建立連接之后就可以進(jìn)行數(shù)據(jù)通信。通信完成后,主設(shè)備和從設(shè)備都可以發(fā)出斷開連接的命令Disconnect。在上述過程中,查詢過程不一定存在,所以這只是一般的流程模型。如果在任何一條指令分組發(fā)出后,返回錯誤的事件分組,則指令需重發(fā)直到正確為止[5]。本課題中,下、上位機(jī)的藍(lán)牙模塊間進(jìn)行數(shù)據(jù)傳輸?shù)某绦蛄鞒虉D分別如圖4、5所示。圖4.點(diǎn)對點(diǎn)藍(lán)牙系統(tǒng)主方程序流程圖

圖5.點(diǎn)對點(diǎn)藍(lán)牙系統(tǒng)從方程序流程圖5.結(jié)論

隨著數(shù)據(jù)采集技術(shù)的不斷發(fā)展,將藍(lán)牙技術(shù)與數(shù)據(jù)采集技術(shù)相結(jié)合構(gòu)建出的數(shù)據(jù)采集藍(lán)牙無線傳輸系統(tǒng)具有性能高、體積小、功耗低、抗干擾能力強(qiáng)、數(shù)據(jù)傳輸速度快、安裝維護(hù)方便適用于移動設(shè)備和便攜設(shè)備等優(yōu)點(diǎn)。本課題所設(shè)計的數(shù)據(jù)采集藍(lán)牙無線傳輸模塊,有效的實(shí)現(xiàn)了對現(xiàn)場數(shù)據(jù)的采集和短距離內(nèi)數(shù)據(jù)的無線傳輸,對于類似的數(shù)據(jù)采集系統(tǒng)的設(shè)計具有很好的借鑒意義。

本文作者創(chuàng)新點(diǎn):

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論