2724 工程機械藍牙無線遠程故障診斷系統(tǒng)研究
2724 工程機械藍牙無線遠程故障診斷系統(tǒng)研究,工程機械,藍牙,無線,遠程,故障診斷,系統(tǒng),研究,鉆研
1工程機械藍牙無線遠程故障診斷系統(tǒng)研究第 1 章 緒 論1.1 概述該項目主要研究藍牙技術(shù)在工程機械監(jiān)控及故障診斷中無線數(shù)據(jù)傳感技術(shù),機群散射網(wǎng)中藍牙無線分布式通信、遠程無線上網(wǎng)等的應(yīng)用。對工程機械工況參數(shù)進行分析、處理,可實時控制施工進度,提高施工質(zhì)量,加強作業(yè)管理。對工程機械進行有效的監(jiān)測和故障診斷,不但可使工程機械正常高效地運行,且使得設(shè)備在現(xiàn)場出現(xiàn)故障時,能夠快速、準確、可靠地確定故障原因和排除故障。工程機械結(jié)構(gòu)形式多種多樣,而且結(jié)構(gòu)復(fù)雜,再加上工程機械所處的工作環(huán)境復(fù)雜、條件惡劣,施工載荷不確定,所以導(dǎo)致其故障率較高。工程機械發(fā)生故障后會影響施工進程,造成巨大損失。由于施工現(xiàn)場的操作人員常缺少故障診斷的專業(yè)知識和診斷設(shè)備,讓制造商或維修廠家快速有效地進行故障診斷與排除是個很好的解決辦法。而工程機械大多數(shù)在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設(shè)備和上網(wǎng)條件?;谒{牙技術(shù)的遠程故障診斷系統(tǒng)由客戶端(遠程監(jiān)測現(xiàn)場的數(shù)據(jù)采集處理和單機處理系統(tǒng)) 、網(wǎng)絡(luò)通信協(xié)議和遠程故障診斷服務(wù)中心三個部分組成。工程機械設(shè)備的各種運行狀態(tài)信息由不同傳感器采集, 本地用戶將反映現(xiàn)場設(shè)備狀態(tài)的數(shù)據(jù)通過現(xiàn)場監(jiān)控中心計算機經(jīng)由藍牙適配器和藍牙手機與 Internet 網(wǎng)絡(luò)連接,發(fā)送給遠程故障診斷中心,并提請故障診斷及遠程信息咨詢等服務(wù)。安裝在工程機械上的藍牙適配器和移動設(shè)備(藍牙手機)通過微微網(wǎng)連接,最大特征是可為用戶提供 10~100 米遠的無線連接距離,接口方面兼容USB1.1/USB2.0。可采用藍牙接入點或藍牙手機上網(wǎng),進行無線網(wǎng)絡(luò)通訊。藍牙采用了擴頻技術(shù),使整個藍牙頻段內(nèi)噪聲影響變得最低。很大程度上抑止了無線電電磁干擾?;谒{牙技術(shù)的狀態(tài)監(jiān)測與遠程故障診斷系統(tǒng)其特色是:1)實現(xiàn)無線數(shù)據(jù)采集和網(wǎng)絡(luò)通訊,免去有線電纜的連接,使得監(jiān)測網(wǎng)絡(luò)的調(diào)整和重組變得非常方便??梢詫崿F(xiàn)多臺工程機械之間的聯(lián)網(wǎng),便于進行集中測控。2)實現(xiàn)無線移動監(jiān)測。沒有方向上的限制,可以從各個角度進行測控數(shù)據(jù)2的傳輸。固定設(shè)備(工程機械)和移動設(shè)備(筆記本、藍牙手機)通過微微網(wǎng)連接,可達到 10~100 米遠的無線連接距離,藍牙技術(shù)支持點對點和點對多點連接;3)實現(xiàn)無線遠程通信和故障診斷。采用藍牙手機或藍牙適配器聯(lián)網(wǎng),藍牙3.0 技術(shù)標準傳輸速率可達 24Mb/s 以上;便于攜帶,功耗低,可靈活實現(xiàn)1.2 文獻綜述1998 年 5 月,愛立信、諾基亞、東芝、IBM 和英特爾公司等五家廠商,在聯(lián)合開展短程無線通信技術(shù)的標準化活動時提出了藍牙技術(shù),其宗旨是提供一種短距離、低成本的無線傳輸應(yīng)用技術(shù)。目前國內(nèi)藍牙技術(shù)正在飛速發(fā)展,北京清華大學(xué)汽車工程系康榮學(xué)等人,提出了一種施工機械狀態(tài)無線監(jiān)測系統(tǒng),實現(xiàn)對施工機械狀態(tài)的實時監(jiān)控。利用藍牙技術(shù)可將傳感器在線監(jiān)測數(shù)據(jù)傳送到計算機進行處理,而經(jīng)過計算機處理后的信息可再經(jīng)藍牙技術(shù)傳至各臺設(shè)備。人工智能四川省(高校)重點實驗室任小洪等人設(shè)計研究了一種能適用于工業(yè)現(xiàn)場的無線傳感器系統(tǒng)。該系統(tǒng)以藍牙模塊 BC006-C3 為核心,通過對藍牙 HCI(H ost Controller Interface)底層協(xié)議進行二次開發(fā),實現(xiàn)了一個具有主從網(wǎng)絡(luò)結(jié)構(gòu)的藍牙無線數(shù)據(jù)采集系統(tǒng)。文獻介紹了利用 MSP430 單片機進行數(shù)據(jù)采集,并通過藍牙模塊將采集的數(shù)據(jù)以無線電波的方式發(fā)送到終端設(shè)備。文獻提出了一種基于藍牙技術(shù)的無線局域網(wǎng)解決方案。重慶郵電學(xué)院提出了適應(yīng)工業(yè)控制的現(xiàn)場級“藍牙”通信協(xié)議體系,介紹了適應(yīng)工業(yè)現(xiàn)場的“藍牙”適配器和連接有線控制網(wǎng)絡(luò)的“藍牙”接入設(shè)備的實現(xiàn)方法。文獻提出了基于一體化思想的工程機械監(jiān)測與故障診斷系統(tǒng)設(shè)計思想。東南大學(xué)研究了工程機械設(shè)備智能故障診斷專家系統(tǒng),通過無線網(wǎng)絡(luò)將單機的采集數(shù)據(jù)傳送到數(shù)據(jù)庫服務(wù)器端。研究了基于網(wǎng)絡(luò)平臺的機群狀態(tài)遠程設(shè)備監(jiān)控與故障診斷系統(tǒng)實現(xiàn)了遠程數(shù)據(jù)傳輸和對工程機械施工機群進行遠程狀態(tài)監(jiān)控。由于施工過程中各設(shè)備彼此分散,所以通過無線網(wǎng)絡(luò)構(gòu)建機群監(jiān)控中心與各分散設(shè)備的聯(lián)系,完成各設(shè)備之間的協(xié)同工作。機群監(jiān)控中心和各單機之間,在整體布局和功能上將系統(tǒng)構(gòu)造成分布分層式結(jié)構(gòu)。整個機群設(shè)置監(jiān)控中心,通過無線網(wǎng)絡(luò)將單機與監(jiān)控中心聯(lián)網(wǎng),實時監(jiān)控單機狀態(tài)。各臺單機共享同一專家診斷系統(tǒng),使機群設(shè)備的管理者和操作者能實時監(jiān)控設(shè)備狀態(tài),并獲取維護處理措施。國外一些著名的工程機械公司在故障診斷、遠程監(jiān)控系統(tǒng)及整機智能控制方面取得了較大進展??ㄌ乇死展?1998 年推出的 Cat 950G 計算機監(jiān)控系統(tǒng)3還配備有 Cat 指導(dǎo)診斷系統(tǒng)和以維修工具為基礎(chǔ)的 Cat 軟件包,使維修人員坐在汽車里用筆記本電腦就能迅速而容易地診斷和排除故障。Cat 992G 在監(jiān)控裝載機各功能狀況并作出診斷的同時還能把這些信息數(shù)據(jù)作為履歷記錄下來,無線傳送到辦公室用計算機進行分析,從而防患于未然。沃爾沃(Volvo)公司的 L系列裝載機上也安裝有 Matris 軟件包,用以監(jiān)控和分析裝載機的工作狀態(tài);其小型裝載機上配有電子伺服控制及信息系統(tǒng)(ESIS) ,由液晶顯示屏和鍵盤組成,用來顯示和記錄各種信息,其自動診斷功能記錄機器故障并儲存所有相關(guān)信息,通過編碼可以防盜。凱斯(Case)公司 21B、C 系列裝載機也采用計算機監(jiān)控系統(tǒng),其微處理器安裝在司機座椅的右側(cè),也具有故障診斷和工作狀態(tài)液晶顯示功能。藍牙特別興趣小組(SIG)宣布,采用低能量藍牙無線技術(shù),這是藍牙核心規(guī)格 4.0 版本的標志功能。藍牙技術(shù)是一種跳頻系統(tǒng),標準的跳頻信號 1600跳/秒。藍牙自組織網(wǎng)絡(luò)可以把互連的幾個微微網(wǎng)形成一個散射網(wǎng),文獻介紹了基于藍牙無線網(wǎng)絡(luò)活塞的溫度遙測系統(tǒng)。文獻介紹了采用藍牙協(xié)議,GSM/GPRS 的遠程醫(yī)療系統(tǒng)。1.3 基本內(nèi)容和擬解決的問題1.3.1 基本內(nèi)容(1)藍牙遠程無線故障診斷,嵌入式藍牙網(wǎng)關(guān)設(shè)計,實現(xiàn)無線遠程通信和故障診斷。利用藍牙技術(shù)解決工程機械在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設(shè)備和有線上網(wǎng)條件的情況下實現(xiàn)遠程無線通信和故障診斷的問題(2)測試系統(tǒng)的拓撲結(jié)構(gòu),遠程故障診斷系統(tǒng)的結(jié)構(gòu)及運行模式。(3)現(xiàn)場檢測數(shù)據(jù)和數(shù)據(jù)采集系統(tǒng)、設(shè)計水溫藍牙無線傳感器、故障診斷專家系統(tǒng)等模塊。1.3.2 擬解決的問題⑴網(wǎng)路通信結(jié)構(gòu)與實現(xiàn),測試系統(tǒng)的拓撲結(jié)構(gòu),遠程故障診斷系統(tǒng)的結(jié)構(gòu)及運行模式。⑵現(xiàn)場檢測和數(shù)據(jù)采集系統(tǒng)、設(shè)計水溫藍牙無線傳感器、故障診斷專家系統(tǒng)模塊的建立。⑶嵌入式藍牙網(wǎng)關(guān)的研究。4第 2 章 嵌入式藍牙網(wǎng)關(guān)的研究2.1 開發(fā)環(huán)境的搭建嵌入式藍牙硬件的部分以 ARM9 微處理器為核心,外圍有存儲器模塊、以太網(wǎng)借口模塊、調(diào)試接口模塊、基于 USB 接口的藍牙模塊組成。硬件總體框圖如圖所示:圖 2-1 嵌入式藍牙網(wǎng)關(guān)硬件平臺框圖2.1.1 微處理器模塊硬件平臺采用韓國三星的 ARM 處理器 S3C2410 作為微處理器,這是一款基于 ARM920T 內(nèi)核,采用 0.18 微米工藝的 32 位微處理器,低價格,高性能,高集成度使得用戶可以節(jié)省系統(tǒng)成本和提高系統(tǒng)性能。ARM920T 支持兩種指令集:ARM 指令集和 Thumb 指令集,其中,ARM 指令集為 32 位的長度,Thumb 指令 16 位長度。Thumb 指令集為 ARM 指令集的功能子集,但與等價的Internet以太網(wǎng)接口模塊MCU調(diào)制接口模塊 存儲模塊藍牙模塊5ARM 代碼相比較,可以節(jié)省 30%-40%以上的存儲空間,同時具備 32 位代碼的所有優(yōu)點。同時,S3C2410 芯片集成了大量的功能單元,包括:16KB 指令和 16KB 數(shù)據(jù)的緩存(cache), MMU、內(nèi)置外部存儲器控制器、LCD 控制器、4 個帶外部請求線的 DMA、3 個通用異步串行端口、1 通道的 SPI、一個多主 llC 總線、一個 IIS總線控制器、兩個 USB 的主機(host)單元,一個 USB 的設(shè)備(device) 接口、1 17個通用 I/O、觸摸屏接口和 8 個通道的 10-bitADC 以及實時時鐘單元 RTC 等等。S3C2410 是嵌入式藍牙網(wǎng)關(guān)的主處理器部分,同時也是整個硬件電路的核心模塊,負責控制其他外圍設(shè)備,管理著系統(tǒng)的平穩(wěn)運行。2.1.2 存儲器模塊存儲器模塊包括一片 16Mbytes 的 NOR FLASH 和兩片 16Mbytes SDRAM。FLASH 用于固化 Bootloader 程序和 LINUX 內(nèi)核映像文件和文件系統(tǒng)以及藍牙協(xié)議棧和所有應(yīng)用程序,SDRAM 是程序運行的區(qū)域。GX-ARM9-2410A 型開發(fā)板的 RAM 是由兩片 16M×16 位數(shù)據(jù)寬度的SDRAM 構(gòu)成,兩片拼成 32 位模式,共 64M,公用 nGCS6。地址范圍為0x30000000~0x34000000,起始物理實地址:0x30000000,經(jīng) MMU 映射后地址為 0xC0000000。nGCS0 接的是一片 8M×16 位數(shù)據(jù)寬度的 INTEL E28F128 FLASH,地址范圍為 0x1000000~0x02000000,按照 S3C2410 處理器手冊,Nor FLASH 安裝在 Bank0,地址應(yīng)該為 0,但由于 S3C2410 地址是循環(huán)映射,0x10000000 就是 0 地址,其中引導(dǎo)代碼 Bootloader,就燒寫在地址 0 處,內(nèi)核zImage 燒寫在 0x1040000 開始處,根文件系統(tǒng)燒寫在 0x01140000 地址處。2.1.3 以太網(wǎng)接口模塊S3C2410 處理器是一款高性能、低功耗、高集成度的片上系統(tǒng),它本身集成了兩個以太網(wǎng)接口,分別為通過 C8900 擴展的 10M 以太網(wǎng)接口和通過 DM9000擴展的 10M/100M 以太網(wǎng)接口,因此很容易實現(xiàn)網(wǎng)絡(luò)接入功能,這兩個接口使得嵌入式藍牙網(wǎng)關(guān)以有線方式與局域網(wǎng)相連。2.1.4 調(diào)試接口模塊通常硬件調(diào)試接口有 JTAG 和 BDM 兩種,ARM 系列芯片所需要的測試工6具接口是 JTAG,可以用該接口進行在線仿真、調(diào)試、下載和燒寫 ROM 等操作。另外,嵌入式開發(fā)時往往還需要一個監(jiān)視口,我們用串口 0 來承擔,網(wǎng)口既是與局域網(wǎng)的通信接口,也是開發(fā)過程中從主機下載 Image 文件到目標機的高速通道??傮w而一言,在設(shè)計硬件電路的時候,要保證所提供的接口能夠同時滿足基本通信過程和調(diào)試過程。2.1.5 USB 藍牙接口模塊硬件平臺采用外擴 USB 藍牙適配器來實現(xiàn)嵌入式藍牙網(wǎng)關(guān)的無線通信,本設(shè)計采用的是力特公司的一款基于藍牙規(guī)范 2.0 設(shè)計生產(chǎn)的藍牙適配器。藍牙適配器的特性如下:(1)具有橋接功能,能夠完整覆蓋商用和家用應(yīng)用環(huán)境。無線網(wǎng)絡(luò)(WirelessLAN)通過無線電傳輸及接收數(shù)據(jù),使得電腦間及電腦與其它網(wǎng)絡(luò)設(shè)備之間可以不經(jīng)由電線或是網(wǎng)絡(luò)線建立無線連接。(2)藍牙 2.0 規(guī)范支持全新的 EDR Profile(提高數(shù)據(jù)傳輸速率) ,最高帶寬將高達 36Mbps。而在對藍牙語音的支持上面,2.0 藍牙設(shè)備也有更大的優(yōu)勢,可提供更優(yōu)良的音質(zhì)。(3)新增的 oneButtonConnect 按鍵,其人性化的設(shè)計提供用戶直接與藍牙鍵盤、鼠標立即連接的功能,而不需要再安裝藍牙管理軟件,非常方便。(4)采用 Broadcom 藍牙芯片,支持微微網(wǎng),支持 7 個藍牙子設(shè)備同時工作,并可以和更多的從設(shè)備(最多可達 256 個) 保持同步但不進行通信。(5)高達 2MB 的內(nèi)存。提供藍牙通信緩沖及藍牙固件存儲,確保通信可靠度。 2.2 嵌入式藍牙網(wǎng)關(guān)的協(xié)議體系結(jié)構(gòu)結(jié)合嵌入式藍牙網(wǎng)關(guān)的功能,可以得出嵌入式藍牙網(wǎng)關(guān)的協(xié)議體系結(jié)構(gòu)圖,如圖所示:網(wǎng)絡(luò)應(yīng)用(HTTP、FTP)TCP/IP 等網(wǎng)絡(luò)協(xié)議PPP虛擬串口RFCOMML2CAPSDPHCLBBRF課題實現(xiàn)7圖 2-2 嵌入式藍牙網(wǎng)關(guān)協(xié)議體系結(jié)構(gòu)從結(jié)構(gòu)圖可知在嵌入式藍牙網(wǎng)關(guān)使用藍牙協(xié)議棧承載 PPP 協(xié)議來支持上層TCP/IP 網(wǎng)絡(luò)的協(xié)議,虛擬串口向上模擬真實串口的行為,向下與藍牙協(xié)議棧的RFCOMM 進行通信。L2CAP、RFCOMM、SDP 層協(xié)議以及虛擬串口是軟件的核心部分,負責藍牙連接的建立、管理和數(shù)據(jù)收發(fā)。藍牙協(xié)議中HCL、LMP、 BB 協(xié)議已經(jīng)固化到硬件中,無需開發(fā)。2.2.1 L2CAP 協(xié)議的實現(xiàn)L2CAP 協(xié)議在藍牙協(xié)議中屬于中間協(xié)議層部分,下層連接主機控制接口,上層連接 RFCOMM,是整個協(xié)議棧中非常重要的一個,也是最復(fù)雜的一個,它的主要作用是向上層提供一個可靠的 L2CAP 鏈接。為了實現(xiàn)這一點它必須與上層協(xié)議、下層協(xié)議和對等 L2CAP 協(xié)議進行各種交互。L2CAP 為高層提供數(shù)據(jù)服務(wù),需要注意的是它不保證信道的可靠性以及數(shù)據(jù)的完整性,L2CAP 是通過基帶提供的機制來提供一條可靠的信道。它只支持基帶異步無連接傳輸服務(wù)(ACL),不支持同步面向連接的服務(wù)(SCO)。L2CAP 數(shù)據(jù)包是利用基帶的 ACL 數(shù)據(jù)包來傳輸。L2CAP 協(xié)議的主要功能有:(1)協(xié)議復(fù)用L2CAP 必須支持協(xié)議復(fù)用,因為藍牙的基帶協(xié)議并不支持通過類型字段區(qū)分復(fù)用的高層協(xié)議功能,因此 L2CAP 必須能夠?qū)⑦@些高層協(xié)議區(qū)分開。(2)分段與重組藍牙基帶協(xié)議中定義的數(shù)據(jù)分組長度是有限的,而藍牙的高層協(xié)議則需要更大的分組來發(fā)送。基帶分組有效載荷最大為 341 字節(jié),如果用這種最大傳輸單位(MTU)來傳輸高層協(xié)議,將會限制帶寬的利用率。因此 L2CAP 分組必須能夠在LMP8無線傳輸前分成許多小的基帶分組;在接收端,經(jīng)過簡單的完整檢查后,這些小的分組能夠重新組合成一個較大的 L2CAP 分組。(3)在 L2CAP 連接建立的過程中允許兩臺藍牙設(shè)備之間交換各自所期望的 服務(wù)質(zhì)量消息。執(zhí)行 L2CAP 的設(shè)備必須對協(xié)議所使用的資源進行監(jiān)視,以保證能都達到所期望的服務(wù)質(zhì)量。(4)組許多協(xié)議中都包含有地址組的概念。藍牙基帶協(xié)議支持微微網(wǎng)的概念,在一個微微網(wǎng)中最多可以有八個藍牙設(shè)備,這些設(shè)備組成一個組在同一個時鐘下同步的工作。L2CAP 衛(wèi)中組的概念可以把協(xié)議中的組有效的映射到微微網(wǎng)中。如果沒有這項功能,高層協(xié)議將直接面對基帶協(xié)議和鏈路管理器,刁能達到對地址組的有效管理。2.2.2 L2CAP 的互操作客戶端藍牙設(shè)備 服務(wù)器端藍牙設(shè)備L2CAP 請求 L2CAP 確認 L2CAP 響應(yīng) L2CAP 指示L2CAP 請求底層請求 底層確認 L2CAP 響應(yīng) 底層響應(yīng) 底層指示物理鏈路圖 2-3 L2CAP 層的互操作圖 2-3 顯示了 L2CAP 層的互操作過程, L2CAP 實體必須能夠在高層和底層之間傳輸數(shù)據(jù)。同時支持一組對等的 L2CAP 實體信令命令。L2CAP 實體必須能夠接收底層來的事件,然后產(chǎn)生響應(yīng)的事件給上層。2.2.3 L2CAP 的數(shù)據(jù)處理方式 L2CAP 通過分段重組的形式來處理數(shù)據(jù)的收發(fā),分段和重組用來支持MTU 比基帶數(shù)據(jù)包更大的協(xié)議層,從而提高通信的效率。從 L2CAP 往基帶發(fā)送數(shù)據(jù)時,執(zhí)行分段處理,產(chǎn)生更小的數(shù)據(jù)包,適合基帶傳輸,從基帶 L2CAP發(fā)送數(shù)據(jù)時,執(zhí)行重組處理,組合成適合 L2CAP 的數(shù)據(jù)格式,L2CAP 層本身上層協(xié)議 上層協(xié)議L2CAP底層L2CAP底層9并不執(zhí)行任何分段和重組,但是數(shù)據(jù)包格式支持對更小物理幀的適配,分段和重組在實現(xiàn)時使用很小的基帶包開銷。2.2.4 L2CAP 的數(shù)據(jù)包L2CAP 是基于分組傳輸?shù)?,遵循信道傳輸模型,跳信道代表一對本地和遠程設(shè)備 L2CAP 實體間的數(shù)據(jù)流。 L2CAP 支持的信道有兩種:面向的連接信道和面向無連接的信道。面向連接信道:L2CAP 包頭 LSB 16bits 16bits MSB圖 2-4 L2CAP 層的數(shù)據(jù)封裝格式面向無連接信道:LSB 16bits 16bits ≥16bits MSB圖 2-5 L2CAP 層的數(shù)據(jù)封裝格式無連接的數(shù)據(jù)信道支持組傳輸,數(shù)據(jù)通過組信道被發(fā)往所有的組成員,完成上層協(xié)議組地址與藍牙微微網(wǎng)的映射,但是在組信道中不提供服務(wù)質(zhì)量,因此組信道通常是不可靠的,L2CAP 不保證數(shù)據(jù)能成功發(fā)往所有組成員,如果需要可靠的傳輸,需要上層協(xié)議的支持。2.2.5 L2CAP 的狀態(tài)流程L2CAP 面向連接的信道假定不同協(xié)議層進行通信有不同的狀態(tài)。協(xié)議的這一部分描述了 L2CAP 衛(wèi)面向連接信道的狀態(tài)機,并定義了一些狀態(tài),引起狀態(tài)轉(zhuǎn)換的事件,以及響應(yīng)事件的動作。藍牙協(xié)議規(guī)定, “狀態(tài)機”只適用于雙向信道,并不適用于信令信道和單向信道。1.事件和動作事件是指在一定時限內(nèi)到達 L2CAP 層的消息。事件分為五類:低層來的指示和證實、高層來的請求和響應(yīng)、來自對等協(xié)議層的數(shù)據(jù)、對等協(xié)議層來的信號請求和應(yīng)答消息、定時器超時引起的事件。動作也分為五類:對高協(xié)議層的證實與指示、對低協(xié)議層的請求與響應(yīng)、對對等協(xié)議層的請求和應(yīng)答、對等協(xié)議層的數(shù)據(jù)傳輸、設(shè)置定時器。長度 信道 ID 有效載荷長度 信道 ID PSM 有效載荷10的命令規(guī)則如下:(1)兩個協(xié)議層之間的接口(垂直方向接口)使用為高層提供服務(wù)的底層協(xié)議的前綴,如 L2CAP。位于相同協(xié)議層的實體之間的接口(水平方向接口)使用協(xié)議的前綴,如 L2CAP 。(2)從上層來的事件稱為“請求” (Req),相應(yīng)的回答稱為 “證實(Cfm) ;從低層來的事件稱為“指示”(Ind),相應(yīng)的應(yīng)答稱為“響應(yīng)”(Rsp) ;需要有進一步的處理過程的響應(yīng)稱為“中間響應(yīng)”(Pnd);如果是表示否定的應(yīng)答,在相應(yīng)的記號后加上“Neg ”后綴。(3)高層的請求信號必須有相應(yīng)的證實回答( 表示動作的執(zhí)行成功或者不成功),而低層對高層的指示信號并不一定需要相應(yīng)的應(yīng)答,例如當指示信號用于向高層通知本地觸發(fā)事件的信息時。2.2.6 L2CAP 層的實現(xiàn)過程流程圖1,請求方 L2CAP 層建立邏輯信道過程模塊流程圖yes noNO yes請求建立 L2CAP 邏輯信道請求方 L2CAP 層邏輯信道建立模塊啟動創(chuàng)建 connect-request 分組進行 HCL 層打包發(fā)送到下層 HCL 子模塊分組Connect-request?向用戶報錯:硬件平臺獲藍牙基帶有誤,檢查后再試程序結(jié)束記錄返回參數(shù) Destination-CID創(chuàng)建 Configuration-Request 分組進行 HCL 層打包發(fā)送到下層 HCL 子模塊分組Configuration-Respon?se反方向設(shè)置及模塊請求方 L2CAP 曾邏輯信道建立模塊結(jié)束11圖 2-6 L2CAP 層的實現(xiàn)過程流程圖RFCOMM 在藍牙協(xié)議中模擬串口,實現(xiàn) L2CAP 層和基于 RFCOMM 層的PPP,TCS 等協(xié)議層的數(shù)據(jù)交互。 RFCOMM 的目的是對兩個不同設(shè)備上的應(yīng)用保證一條完整的通信路徑,病保持一個通信段。2.3 RFCOMM 在藍牙設(shè)備中的實現(xiàn)形式RFCOMM 通過 L2CAP 連接來實現(xiàn)設(shè)備間的邏輯串行鏈路,特別是建立一條面向連接 L2CAP 信道,以連接兩個設(shè)備 RFCOMM 實體,兩個設(shè)備之間只允許同時存在一個 RFCOMM 連接,但是該鏈接是可多路復(fù)用,故兩個設(shè)備時間可以再一條 RFCOMM 連接之上存在多大 60 條邏輯鏈路,但是沒有規(guī)定RFCOMM 多路復(fù)用實現(xiàn)的層次。RFCOMM 繪畫過程中,客戶和服務(wù)器應(yīng)用可以分布在通信的兩端,每一端都可以獨立發(fā)起連接。在客戶和服務(wù)器之間的每一條多路復(fù)用鏈路都用數(shù)據(jù)鏈路標志符來唯一標識,DLCI 標識控制信道,DLCII 不可用,DLCI62 和 DLCI63 是系統(tǒng)保留值,在兩個設(shè)備之間的 RFCOMM 會話期間,DLCI 是唯一的。如果藍牙設(shè)備支持多個設(shè)備之間的串口仿真,那么 RFCOMM 實體必須能夠運行多個 TS07.10 多路復(fù)用器會話,每一個多路復(fù)用器都使用期 L2CAP 信道ID。 RFCOMM 對 TS07.10 多路復(fù)用器多個會話的支持是可選的。一般大多數(shù)便攜式藍牙設(shè)備在藍牙環(huán)境下很少會需要同時使用如此多的串行連接。局域網(wǎng)訪問規(guī)范規(guī)定在 RFCOMM 上使用 PPP,因此一個局域網(wǎng)接入點設(shè)備實際上可能同時需要很多與多個設(shè)備之間的串行連接,可利用 LZCAP 的多路復(fù)用能力來實現(xiàn) RFCOMM 的多路復(fù)用。2.3.1 RFCOMM 的幀分析與流控制RFCOMM 協(xié)議層命令的執(zhí)行和數(shù)據(jù)的發(fā)送都是通過各種幀來完成的。RFCOMM 將各種數(shù)據(jù)和控制信號封裝在各種不同的幀中進行傳輸,所使用的幀12來自于 GSM TS07.10 多路控制協(xié)議。主要包括:設(shè)置異步平衡模式幀(SABM),無序號響應(yīng)幀(UA)、斷開模式幀(DM),斷開連接幀(DISC)和帶頭校驗的無序號信息幀(UIH) 。其中 SABM、DISC 為命令幀,UA、DM 為響應(yīng)幀,UIH 既可以是命令幀,也可以是響應(yīng)幀。在建立 DLCI 鏈接時,首先需要發(fā)送的是 SABM 幀,其中所攜帶的 DLCI信息就是要建立的 DLCI 連接。UA 幀是在接收到需要響應(yīng)的幀時(如SABM、DISC 幀),發(fā)送的響應(yīng)幀。DM 幀用來向?qū)Ψ酱_認本地當前的狀態(tài)。DISC 幀用來斷開某個 DLC 幀用來裝載有效用戶數(shù)據(jù),以及多路控制命令(MCC)。當為普通用戶數(shù)據(jù)的時候,通過非控制信道(DLCI 殉來傳輸;當是MCC 命令時,通過控制信道(DLCIO)傳輸。MCC 命令包括TEST、FCON 、FCOFF 、 PN、RPN、MSC、RLS 和 NSC,被放在 UIH 的信息域字段里面?zhèn)鬏?。RFCOMM 和較低層 L2CAP 之間的流控制依賴于設(shè)備所支持的服務(wù)接口,除了使用于基帶的鏈路管理(LM)層提供的流控制機制外,RFCOMM 也有自己的三種流控機制。(1)RFCOMM 協(xié)議定義了能對兩個 RFCOMM 實體之間全部數(shù)據(jù)流操作的流控制指令 FCON 和 FCOFF,它對所有的 DLCI 都起作用。如果本地會話不能接收更多的數(shù)據(jù),則發(fā)送 FCOFF 通知遠端會話實體停止發(fā)送數(shù)據(jù),在收到確認后本地會話實體將不再接收數(shù)據(jù),如果本地可以接收更多的數(shù)據(jù)則發(fā)送 FCON命令通知遠端流控打開,以使通信可以進行下去。(2)調(diào)制解調(diào)器狀態(tài)命令 MSC,它是對單個 DLCI 的流控制機制。(3)基于信用的流控制,在這種流控方式中,通信雙方在初始連接時使用PN 命令協(xié)商好初始信譽量,每發(fā)送一條數(shù)據(jù)幀,遠端信譽量減 1,減至 0 時停止發(fā)送,直到接收到遠端信譽量通知才可以發(fā)送數(shù)據(jù)。2.3.2 RFCOMM 的通信流程RFCOMM 信道是建立在 L2CAP 信道基礎(chǔ)上的,建立 RFCOMM 鏈接時,首先要建立 L2CAP 信道,并且進行相應(yīng)的配置。通過查詢 SDP 數(shù)據(jù)得到使用該服務(wù)所需要的通道信號。2.3.3 RFCOMM 的狀態(tài)過程通過狀態(tài)機可以清楚的分析 RFCOMM 的通信流程,狀態(tài)機共六種狀態(tài),包括 DISCONNECTED(斷開狀態(tài))、CONNECTED (連接狀態(tài))、DISCONNECTING(正斷開連接過程中狀態(tài))、CONNECTING(連接過程中狀態(tài))、CONFIG(配置狀態(tài) )、13FLOW STOP(流控停止狀態(tài)) 。系統(tǒng)開機后,所有的狀態(tài)都是鏈路斷開狀態(tài),主機發(fā)送完建立連接請求到配置結(jié)束的過程中,系統(tǒng)一直處在鏈路建立連接過程中。當收到對方確認連接響應(yīng)后,系統(tǒng)的狀態(tài)變?yōu)閰?shù)配置狀態(tài),需要協(xié)商配置的參數(shù)有 L2CAP 衛(wèi)信道的參數(shù)配置和 RFCOMM 的 DLCI 建立以及參數(shù)的配置。當雙方參數(shù)協(xié)商配置完后,系統(tǒng)轉(zhuǎn)為鏈路建立狀態(tài),此時用戶可以進行數(shù)據(jù)的傳輸,當主機發(fā)送斷開連接請求后,系統(tǒng)轉(zhuǎn)為鏈路斷開連接過程中,收到對方斷開確認響應(yīng)后,系統(tǒng)轉(zhuǎn)為鏈路斷開狀態(tài)。需要注意的是,在連接狀態(tài)中,如果收到 FCOFF 命令,則進入 FLOW STOP 狀態(tài),在 FLOW STOP 狀態(tài)中,收到 FCON 命令,則進入連接狀態(tài)。在任何狀態(tài)中,收到 L2CAP 鏈路丟失通知,RFCOMM 實體將從新初始化,釋放所有數(shù)據(jù)連接,回到最初的鏈路斷開狀態(tài)。2.3.4 RFCOMM 的數(shù)據(jù)處理流程1.鏈路連接串口設(shè)備是一種字符設(shè)備,可以方便地和 PPP 建立連接,這個特性對于本設(shè)計來說是必要的,因此必須為應(yīng)用程序提供虛擬串口,虛擬串日可以在不占用真實串口的情況下創(chuàng)建任意數(shù)量并互為連接的純虛擬串口對,其在功能和使用上與真實串口無異。這些虛擬串口并不跟具體的物理硬件打交道,而是將應(yīng)用程序的請求轉(zhuǎn)發(fā)到對藍牙系統(tǒng)的請求,還有將從藍牙系統(tǒng)來的數(shù)據(jù)和事件轉(zhuǎn)發(fā)給應(yīng)用程序,它起到了一個中繼者的作用。no開始存在 rfcommSession?14yesyesno圖 2-7 RFCOMM 的數(shù)據(jù)處理流程本設(shè)計中采用虛擬串口技術(shù)可以縮短開發(fā)周期,減少開發(fā)成本,通過建立虛擬串口連接可以使用 Linux 上很多現(xiàn)有的應(yīng)用程序來快速構(gòu)建嵌入式藍牙網(wǎng)關(guān)的各種應(yīng)用,即使沒有現(xiàn)成的應(yīng)用程序也可以很方便地對串口進行編程以構(gòu)建新的藍牙應(yīng)用。2.4 虛擬串口設(shè)備的管理在虛擬串口設(shè)備與藍牙模塊交互中,可能存在多個虛擬串口設(shè)備,因此需要建立一個串口管理設(shè)備,負責對串口設(shè)備和藍牙模塊的交互進行管理,其中管理任務(wù)包括以下四部分內(nèi)容(1)虛擬串口設(shè)備發(fā)送消息當一個虛擬串口設(shè)備被打開、關(guān)閉、寫數(shù)據(jù)等的時候,它要向藍牙協(xié)議模塊發(fā)送消息。設(shè)備不是和藍牙協(xié)議模塊直接通信的,它是通過串口管理設(shè)備和藍牙協(xié)議模塊通信的。在串口管理設(shè)備的數(shù)據(jù)結(jié)構(gòu)中,維護了一個消息鏈表,所有的串口設(shè)備要向協(xié)議模塊發(fā)送的消息都要先插入到這個消息鏈表中。發(fā)送 SABM 數(shù)據(jù),啟動定時器等待直到響應(yīng)到達發(fā)送 PN 數(shù)據(jù)幀阻塞,等待直到響應(yīng)到達。連接是否超時結(jié)束發(fā)送 L2CAP 連接請求阻塞直到連接響應(yīng)到達發(fā)送 L2CAP 配置請求阻塞直到請求確認到達錯誤處理15(2)藍牙協(xié)議模塊發(fā)送消息藍牙協(xié)議模塊向虛擬串口設(shè)備發(fā)消息,使用 IOCTI 統(tǒng)調(diào)用發(fā)送消息。(3)藍牙協(xié)議模塊接收消息在藍牙協(xié)議模塊中,專門有一個線程來接收來自驅(qū)動程序的消息,這些消息不是直接來自虛擬串口設(shè)備而是來自串口管理設(shè)備。如果當前消息隊列里有消息,或一旦有消息被添加到消息隊列,藍牙模塊將消息從管理串口設(shè)備中讀出,然后根據(jù)消息類型進行相應(yīng)的處理。例如,收到了打開串口消息,藍牙模塊就要和遠端的設(shè)備去建立藍牙的 RFCOMM 連接。(4)串日設(shè)備接收消息如果藍牙協(xié)議模塊向串口管理設(shè)備發(fā)送了消息,串口管理設(shè)備要將這些消息轉(zhuǎn)發(fā)給虛擬串口設(shè)備。由于串口管理設(shè)備和虛擬串口設(shè)備的驅(qū)動程序都是編譯成內(nèi)核模塊,運行在內(nèi)核空間。它們可以共享全局變量。這樣串日管理設(shè)備直接修改虛擬串口設(shè)備的全局變量就可以完成它們之間的通信。2.5 局域網(wǎng)接入模型的實現(xiàn)嵌入式藍牙網(wǎng)關(guān)的實現(xiàn)基于藍牙局域網(wǎng)接入模型(LAP) ,該模型通過建立在藍牙無線鏈路之上的網(wǎng)絡(luò)協(xié)議使計算機連接到網(wǎng)絡(luò)上。局域網(wǎng)接入模型中定義了使用藍牙無線技術(shù)的設(shè)備如何接入到一個局域網(wǎng)的服務(wù),此局域網(wǎng)使用在 RFCOMM 上的點對點協(xié)議(PPP )。其次,顯示了如何使用同一個 PPP 機制來構(gòu)成由兩個藍牙設(shè)備組成的網(wǎng)絡(luò)。在這個應(yīng)用模型中,數(shù)據(jù)終端使用局域網(wǎng)接入點作為一個局域網(wǎng)無線連接。一旦連接上,數(shù)據(jù)終端運行如同它們與 LAN 撥號網(wǎng)絡(luò)連接,并且可以訪問 LAN 提供的所有訪問。PPP 是一種允許接入到網(wǎng)絡(luò)的普遍配置方式。PPP 提供鑒權(quán)、加密、數(shù)據(jù)壓縮和多協(xié)議便利。在 RFCOMM 之上的 PPP 己經(jīng)被選為給藍牙設(shè)備提供 LAN接入的方式,因為具有給設(shè)備配置 PPP 軟件的大型安裝基礎(chǔ)。在 PPP 可以支持多種網(wǎng)絡(luò)協(xié)議,由于在現(xiàn)有網(wǎng)絡(luò)中 lP 協(xié)議被公認為最重要的協(xié)議,因此在 PPP上支持 lP 協(xié)議。2.5.1 局域網(wǎng)接入模型中的協(xié)議從圖中可以看看出,在局域網(wǎng)接入模型中,藍牙設(shè)備有兩種角色:局域網(wǎng)接入點和數(shù)據(jù)終端。局域網(wǎng)接入點是提供 PPP 服務(wù)并連在 LAN 上的設(shè)備而。16PPP 連接在 RFCOMM 上傳送,RFCOMM 可以用來傳輸 PPP 數(shù)據(jù)包并且可以作為 PPP 數(shù)據(jù)流的流控,數(shù)據(jù)終端是使用 LAP 服務(wù)的設(shè)備,典型的 DT 設(shè)備有藍牙筆記本電腦,藍牙 PC,藍牙 PDA 等。ME 為管理實體,在初始化,配置和連接過程中起著協(xié)調(diào)作用。局域網(wǎng)接入的協(xié)議棧如圖所示:Data Terminal LAN Access Point圖 2-8 局域網(wǎng)接入?yún)f(xié)議棧局域網(wǎng)接入模型中主要的協(xié)議有:(1)PPP 協(xié)議:PPP 是 IETF 的點到點協(xié)議,它屬于數(shù)據(jù)鏈路層協(xié)議的一部分。PPP 協(xié)議主要負責粗無檢測,實現(xiàn)網(wǎng)絡(luò)層協(xié)議復(fù)用,協(xié)商連接時的 IP 地址,進行身份驗證等。(2)SDP 協(xié)議:負責移動數(shù)據(jù)終端接入時的服務(wù)發(fā)現(xiàn),包含服務(wù)的登記,搜索,抽取服務(wù)信息等。(3)RFCOMM 協(xié)議:負責仿真 RS-232 的傳輸信道和控制方式,為 PPP 層提供一個類似串口的通道。(4)L2CAP 協(xié)議:負責支持高層的協(xié)議復(fù)用。數(shù)據(jù)包打包,拆包,傳遞 QoS信息等。(5)LMP 和基帶協(xié)議:這部分屬于藍牙底層協(xié)議,與硬件緊密結(jié)合。負責物理鏈路的管理,基帶 PDU 的形成,檢糾錯,加密和鑒權(quán)。LAP 中,PPP 的使用是關(guān)鍵,它用于再說數(shù)據(jù)終端和接入點之間建立連接,PPP 建立在 RFCOMM 之上, 一旦 PPP 連接建立后,傳統(tǒng)的 IP 解決方案就可以建立在其之上,從而完成一些諸如獲得 IP 資質(zhì)等網(wǎng)絡(luò)功能。2.5.2 局域網(wǎng)接入模型的通信過程在局域網(wǎng)接入模型中,終端設(shè)備和網(wǎng)關(guān)之間的通信大體包括查詢,建立連ApplicationsTCPδUDP IPPPPSDP RFCOMML2CAP LMPBasebandMEApplicationsTCPδUDPIPPPP NetworkingPPPRFCOMM SDPLMP L2CAPBasebandMELANLAN17接,鑒權(quán),通信幾個過程。詳細過程如下:(1)數(shù)據(jù)終端查詢是否有一個在無線網(wǎng)絡(luò)內(nèi)的 LAP,當數(shù)據(jù)終端要求接入局域網(wǎng)時,首先啟動服務(wù)發(fā)現(xiàn)協(xié)議,向作出回應(yīng)的 LAP 發(fā)出查詢請求。LAP 此時作為 SDP Server 具備發(fā)現(xiàn)服務(wù)數(shù)據(jù)庫,里面記錄著接入點可以提供的服務(wù)及屬性,SDP 機制可以提取建立 RFCOMM 連接需要的所有服務(wù)信息。數(shù)據(jù)終端查詢到可用的服務(wù)信息后,就可以建立連接。(2)建立物理連接。數(shù)據(jù)終端找到并選定合適的 LAP 后,若二者間無物理連接,則 DT 向 LAP 請求建立基帶物理連接。若已存在物理連接,則進行藍牙配對,鑒權(quán)過程,并在所建鏈路上進行加密傳輸。(3)依次建立 PPP/RFCOMM/L2CAP 鏈路。(4)作為可選安全措施,LAP 可以適當?shù)牟扇?PPP 的鑒權(quán)機制。(5)建立連接后數(shù)據(jù)終端和 LAP 即可通過 IP 數(shù)據(jù)流進行網(wǎng)絡(luò)通信。(6)任何時候,DT 和 LAP 都可以終止已經(jīng)建立的連接。拆除各層連接的操作順序與建立時正好相反。LAP 在上電之后所做的第一件事情就是進行初始化工作,實質(zhì)上就是軟硬件自啟動過程,系統(tǒng)起來之后,LAP 需要發(fā)起若干任務(wù),主要有:查詢掃描任務(wù),負責監(jiān)視有無 DT 需要與其通信;向前任務(wù),負責將串口數(shù)據(jù)轉(zhuǎn)至網(wǎng)口并完成必要的格式轉(zhuǎn)換;向后通信功能,負責監(jiān)視網(wǎng)口并完成向前通信任務(wù)的逆過程,任務(wù)是并發(fā)的,因此 LAP 能夠同時支持與多個 DT 保持通信。2.6 PPP 協(xié)議使用 PPP 協(xié)議是 LAP 應(yīng)用模型中非常重要的一點,也是 LAP 的關(guān)鍵所在,因為 PPP 協(xié)議很好的解決了點對點通信的問題,PPP 協(xié)議屬于數(shù)據(jù)鏈路層協(xié)議,主要用來完成在串行連接上封裝數(shù)據(jù)報,監(jiān)視鏈路連接質(zhì)量,建立和配置及測試數(shù)據(jù)連接,在不同的網(wǎng)絡(luò)層協(xié)議上建立連接和配置 IP 選項等功能。2.6.1 PPP 協(xié)議的狀態(tài)轉(zhuǎn)移數(shù)據(jù)通信設(shè)備的兩端如果希望通過 PPP 協(xié)議建立點對點的通信,無論哪一端的設(shè)備都需發(fā)送 LCP 數(shù)據(jù)報文來配置鏈路(測試鏈路)。一旦 LCP 的配置參數(shù)選項協(xié)商完后,通信的雙方就會根據(jù) LCP 配置請求報文中所協(xié)商的認證配置參數(shù)選項來決定鏈路兩端設(shè)備所采用的認證方式。協(xié)議缺省情況下雙方是不進行認證的,而直接進入到 NCP 配置參數(shù)選項的協(xié)商,直至所經(jīng)歷的.幾個配置過18程全部完成后,點對點的雙方就可以開始通過己建立好的鏈路進行網(wǎng)絡(luò)層數(shù)據(jù)報文的傳送了,整個鏈路就處于可用狀態(tài)。只有當任何一端收 LCP 或 NCP 的鏈路關(guān)閉報文時(一般而一言協(xié)議是不要求 NCP 有關(guān)閉鏈路的能力的,因此通過情況下關(guān)閉鏈路的數(shù)據(jù)報文是在 LCP 協(xié)商階段或應(yīng)用程序會話階段發(fā)出的);物理層無法檢測到載波或管理人員對該鏈路進行關(guān)閉操作,都會將該條鏈路斷開,從而終止 PPP 會話。2.6.2 PPP 協(xié)議的實現(xiàn)如果使用公開的 PPP 代碼實現(xiàn) PPP 協(xié)議,那么針對操作系統(tǒng)而進行的移植工作不僅需要熟練的技術(shù),而且需要較長的時間。鑒于此,決定選用成熟的PPP 產(chǎn)品。由于嵌入式操作系統(tǒng)選用的是 Linux 所以可以使用 Linux 中己經(jīng)實現(xiàn)的PPP服務(wù)功能,在 Linux 下對 PPP 的支持需要在內(nèi)核編譯時配置內(nèi)核選項Networking support 加入對 PPP(Point 一 to 一 point)support 等選項。同時,由于在設(shè)計中加入了虛擬串口的支持,可采用 Linux 上很多現(xiàn)有的應(yīng)用程序,在嵌入式藍牙網(wǎng)關(guān)(LAF 端)可以使用 Linux 操作系統(tǒng)上的 mgetty+AutoPPP 來接收進入的連接請求,使用 pppd+kppp 來構(gòu)建客戶端,從而實現(xiàn)網(wǎng)關(guān)與數(shù)據(jù)終端PPP 連接。2.7 數(shù)據(jù)終端對局域網(wǎng)的訪問當 LAP 與 DT 間建立 PPP 鏈路后,在鏈路的兩端將產(chǎn)生一對 IP 地址,這是由 PPP 協(xié)議中的網(wǎng)絡(luò)控制協(xié)議 (NCP)分配協(xié)商得到的。但這里的 IP 地址與一般意義上的 Iternet 上的 IP 地址是不同的。這里每個撥號網(wǎng)絡(luò)終端的 IP 地址是由 LAP(PPP Server)臨時動態(tài)分配的。每個終端在連接過程中擁有 IP 地址,在連接結(jié)束時釋放,從而可以再被分配給其他的終端。但是,這樣通過 LAP 上網(wǎng)的 DT 來說,其 IP 地址對網(wǎng)絡(luò)是不可見的,可以說是虛擬的 IP 地址,只有 LAP 才能從外部獲得一個真正有效的 IP 地址。因此,為了與局域網(wǎng)進行通信,必須在 LAP 端設(shè)置地址轉(zhuǎn)換功能。對于 DT端向外發(fā)送的 IP 包,將源地址轉(zhuǎn)成 LAP 端的有效 IP 地址,而由局域網(wǎng)發(fā)回的 IP 包,則將其目的地址轉(zhuǎn)換為響應(yīng)的內(nèi)部 IP 地址。在多對一的情況下,為了能區(qū)分發(fā)送到不同 DT 的數(shù)據(jù)包,可以在 LAP 端設(shè)置一個地址轉(zhuǎn)換表,將不同的 DT 發(fā)到外部的 IP 包對應(yīng)于 LAP 上不同的虛擬串口端口送出,而從局域網(wǎng)發(fā)回的 IP 包而可以按照此表,對應(yīng)到相應(yīng)的 DT,從而實現(xiàn)多個 DT 通過19LAP 訪問局域網(wǎng)。2.8 本章小結(jié)本章是嵌入式藍牙網(wǎng)關(guān)的所有內(nèi)容,深入研究了藍牙協(xié)議棧中 L2CAP 協(xié)議、RFCOMM 協(xié)議、SDP 協(xié)議,對各層協(xié)議的數(shù)據(jù)處理方式、實現(xiàn)流程、狀態(tài)轉(zhuǎn)移做出詳盡的分析。同時,在 RFCOMM 層上建立虛擬串口作為數(shù)據(jù)中繼,實現(xiàn)與上層應(yīng)用程序的連接,最后,研究了藍牙規(guī)范中局域網(wǎng)接入模型的實現(xiàn)。第 3 章 水溫藍牙無線傳感器3.1 單片機簡介單片機全稱為單片微型計算機。單片機發(fā)展始于 70 年代,經(jīng)過 30 多年的發(fā)展,由于其具有高集成度、低功耗、工作電壓范圍寬、價格便宜、使用方便等諸多優(yōu)點而在廣泛使用。到目前為止將單片機發(fā)展階段分為三個階段,分別為初級階段、高性能階段、以及高位單片機的推出。通常單片機內(nèi)部含有中央處理部件(CPU) 、數(shù)據(jù)存儲器(RAM ) 、程序存儲器( ROM、EPROM 、Flash ROM) 、定時器、計數(shù)器和各種輸入輸出接口等。目前 8 位單片機是目前品種最豐富、應(yīng)用最廣泛的單片機。今天我所使用的就其中比較典型的一種 8 位單片機 AT89C52。3.2 基于單片機和溫度傳感器設(shè)計數(shù)字溫度計的發(fā)展現(xiàn)狀隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。檢測是控制的基礎(chǔ)和前提,而檢測的精度必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學(xué)技術(shù)領(lǐng)域無時不在進行檢測??茖W(xué)技術(shù)的發(fā)展和檢測技術(shù)的發(fā)展是密切相關(guān)的?,F(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學(xué)技術(shù)的發(fā)展水平。同時,科學(xué)技術(shù)的發(fā)展達到的水平越高,又為檢測技術(shù)、傳感器技術(shù)提供了新的前提手段。目前溫度計的發(fā)展很快,從原20始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。目前的溫度計中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。3.3 電路介紹該電路是由 18B20 溫度傳感器作為溫度傳感元件,并由 AT89C52 單片機進行數(shù)據(jù)處理輸出,有藍牙模塊與計算機進行數(shù)據(jù)傳輸,此電路可由外接 3V---12V 的直流電電源提供。 溫度顯示和控制的范圍為: 55℃----125 ℃之間,精確度到達 1℃,即數(shù)碼管顯示溫度為整數(shù)。如果設(shè)定的報警溫度為 30℃,則當溫度到達 30℃的時候,報警發(fā)光二極管發(fā)光同時蜂鳴器發(fā)出響聲,此時繼電器發(fā)生動作。如果不需要對溫度控制報警,可以將報警溫度設(shè)置提高。如果是為了控制局部溫度,可以把 18B20 用引線引出,但是距離不宜過大,注意引腳要絕緣。3.4 制作所需電子元件及其功能表 3-1 制作所需原件及其功能電子元件名稱 規(guī)格 編號 主要功能作用電容 30p C1、C2 單片機的時鐘振蕩電容 10uf C3 單片機復(fù)位溫度傳感器 DS18B20 IC2 感應(yīng)溫度變化數(shù)據(jù)采集單片機 AT89c52 IC1 數(shù)據(jù)處理傳輸?shù)入娮?10K R1 單片機復(fù)位電源 5VUSB 開關(guān)電源 開關(guān)電源晶體 12M CRYSTAL 單片機的時鐘震蕩3.5 溫度傳感器總體設(shè)計此次所討論的數(shù)字水溫藍牙無線傳感器主要應(yīng)用單片機技術(shù)、溫度傳感器技術(shù)、藍牙無線傳輸技術(shù)等,把所有硬件集成在一起以便于在工程施工現(xiàn)場應(yīng)用。先由溫度傳感器將工程機械的實時溫度采集處理傳送給單片機,單片機經(jīng)過儲存經(jīng)由藍牙模塊與計算機連接,最后現(xiàn)場工作人員根據(jù)計算機顯示的數(shù)據(jù)21判斷工程機械的工作狀態(tài)是否正常以便采取及時的措施。3.5.1 硬件說明傳感器的選擇設(shè)計單片機數(shù)字溫度計需要考慮以下 3 個方面 ①溫度傳感器的選擇②溫度傳感器的選擇③單片機和溫度傳感器的接口電路; 控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖纹瑱C的接口信號是數(shù)字信號。要想用單片機獲取溫度這類非電信號的信息,必須使用溫度傳感器, 將溫度信息轉(zhuǎn)換為電流或電壓輸出。如果轉(zhuǎn)換后的電流或電壓輸出是模擬信號, 還必須進行 A/D 轉(zhuǎn)換,以滿足單片機接口的需要。傳統(tǒng)的溫度檢測大多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度準確率低 ,而且還必須經(jīng)專門的接口電路轉(zhuǎn)換成數(shù)字信號后才能由單片機進行處理。20 世紀90 年代中期出現(xiàn)了智能溫度傳感器(亦稱數(shù)字溫度傳感器)。智能溫度傳感器的內(nèi)部都包含溫度傳感器、A/D 轉(zhuǎn)換器、信號處理器、存儲器 (或寄存器)和接口電路, 其特點是能直接輸出數(shù)字化的溫度數(shù)據(jù)及相關(guān)的溫度控制量, 適配各種微控制器(MCU )。其中 DS18B20 就是一種應(yīng)用相當廣泛的單總線數(shù)字溫度傳感器,它結(jié)構(gòu)簡單、不需外接元件,采用一根 I/O 數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)、并可設(shè)置溫度報警界限等特點,廣泛用于工業(yè)、民用等領(lǐng)域的溫度測量中。3.5.2 水溫藍牙無線傳感器總體結(jié)構(gòu)框圖圖 3-1 水溫藍牙無線傳感器總體結(jié)構(gòu)圖3.5.3 DS18B20 的介紹DS18B20 是單總線數(shù)字化智能集成溫度傳感器。單總線它采用單根信號線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,具有節(jié)省 I/O 口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。與其它溫度傳感器相比,DS18B20 具有以下特性:① 獨特的單線接口方式,在與微處理器連接時僅需要一條接口線即可實現(xiàn)微處理器與 DS18B20 的雙向通信。②DS18B20 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的信號線上 ,實現(xiàn)多點測溫。③DS18B20在使用中不需要任何外圍元件。④測溫范圍-55℃~+125℃,固有測溫分辨率溫度傳感器單片機藍牙模塊計算機220·625℃ 。⑤測量結(jié)果以 9~12 位數(shù)字量方式串行傳送。 DS18B20 內(nèi)部結(jié)構(gòu) DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL,高速暫存器。64 位光刻 ROM 是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列號。 DS18B20 的管腳排列如圖所示。 圖 3-2 DS18B20 引腳分布圖引腳功能如下NC:空引腳,懸空不使用; VDD:可選電源腳,電源電壓范圍 3~5.5V。工作于寄生電源時,此引腳應(yīng)接地; DQ:數(shù)據(jù)輸入/輸出腳, 漏極開路,常態(tài)下高電平。 DSl8820 的核心功能部件是它的數(shù)字溫度傳感器,其分辨率可配置為 9、10、11和 12 位,出廠默認設(shè)置為 12 位分辨率,對應(yīng)的溫度值分辨率分別為0.5、0.25、0.125 和 0.0625。溫度信息的低位、高位節(jié)內(nèi)容中,還包括了符號位S(是正溫度還是負溫度)和二進制小數(shù)部分。3.6 單片機的選擇AT89C52 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8 位單片機.片內(nèi)含8K byTES 的可反復(fù)擦寫的只讀程序存儲器( PEROM)和 256 byTES 。的隨機存取數(shù)據(jù)存儲器(RAM),器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標準 MCS-51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器(CPU )和 FLASH 由存儲單元,功能強大 AT89C52 單片適用于許多較為復(fù)雜控制應(yīng)用場合。89C52 單片機中文資料主要性能參數(shù):與 Mcs-51 產(chǎn)品指令和引腳完全兼容。8 字節(jié)可重擦寫 FLASH 閃速存儲器1000 次擦寫周期23全靜態(tài)操作:0HZ-24MHZ三級加密程序存儲器256X8 字節(jié)內(nèi)部 RAM32 個可編程 I/0 口線3 個 16 位定時/計數(shù)器8 個中斷源功能特性:AT89C52 提供以下標準功能:8 字節(jié) FLASH 閃速存儲器,256 字竹內(nèi)部 RAM , 32 個 I/O 口線,3 個 16 位定時/計數(shù)器,一個 6 向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89c52 可降至 OHz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時/計數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。3.7 數(shù)據(jù)的讀取大致流程圖如圖:開始鍵盤掃描鍵盤掃描相關(guān)參數(shù)設(shè)置溫度檢測溫度顯示報警結(jié)束并顯示溫度超過極限?24圖 3-2 數(shù)據(jù)讀取流程圖3.8 DS18B20單片機實現(xiàn)溫度轉(zhuǎn)換讀取溫度數(shù)值程序的流程圖如圖:否是否 是延時開始初始化 DS18B20應(yīng)答脈沖發(fā)起讀取的命令發(fā)起轉(zhuǎn)換命令延時 1s 等待溫度轉(zhuǎn)換完成初始化 DS18B20應(yīng)答脈沖發(fā)起讀取命令25圖 3-3 單片機實現(xiàn)溫度轉(zhuǎn)換讀取溫度數(shù)值程序的流程圖3.9 藍牙模塊的選擇BF10-A 藍牙通信 模塊為深圳藍色飛舞科技有限公司自主開發(fā)的智能型無線數(shù)據(jù)傳輸產(chǎn)品,是一款非常方便用戶使用 AT 命令進行修改藍牙參數(shù)的模塊。 BF10-A 模塊支持: 1200bps~2764800bps 等多種接口波特率。 修改波特率、藍牙名稱、設(shè)備類型碼及配對碼 支持主從模式,靈活用在不同領(lǐng)域 SPP 藍牙串行服務(wù),非常方便和手機、PC 等連接 更詳細參數(shù)參考藍牙模塊 BF10 手冊 技術(shù)特征 :工作頻段:2.40 GHz ?2.48GHz 藍牙規(guī)范:v2.0 Compliant+EDR EDRV2.0,最高可支持 3M 調(diào)制模式 支持 7 個從設(shè)備 USB 2.0 和 UART 接口 低電壓電源,2.7V to 3.6V 正常供給電壓:3.3±0.1V 內(nèi)置 8Mbit Flash 工業(yè)級設(shè)計尺寸:27 x 14 x 2.5mm 可以替代串口線操作 可以與手機藍牙進行串行通信3.10 本章小結(jié)水溫藍牙無線傳感器的設(shè)計主要在于單片機和傳感器的選擇,因為施工現(xiàn)場條件有限,所以藍牙無線傳輸起了很大作用,對及時的故障診斷與解決起決讀取第一二字節(jié)即為溫度數(shù)據(jù)26定性作用。第 4 章 藍牙網(wǎng)絡(luò)及拓撲結(jié)構(gòu)4.1 藍牙微微網(wǎng)藍牙系統(tǒng)包括點對點連接方式和點到多點連接方式。在點到多點的連接方式中,多個藍牙單元共享通信信道。共享通信信道的藍牙單元構(gòu)成微微網(wǎng),微微網(wǎng)中的成員設(shè)備之間采用藍牙無線通信技術(shù)進行通信。在藍牙射頻操作中的跳頻同步序列系統(tǒng)(FHSS),通信信道是由已定義的偽隨機跳頻序列組成,跳頻速率為 1600 跳/秒?;鶐Р僮鞫x了微微網(wǎng)的跳頻序列是如何產(chǎn)生,設(shè)備如何獲知并遵循跳頻序列并隨即加入微微網(wǎng),在微微網(wǎng)中的設(shè)備如何以同等通信方式發(fā)送和接收數(shù)據(jù)分組。藍牙微微網(wǎng)以一種特殊的方式形成,不依賴于蜂窩網(wǎng)絡(luò)中的基站或 WLAN 網(wǎng)絡(luò)等設(shè)備的專門支持,設(shè)備之間可以通過查詢方式相互通信?;鶐f(xié)議建立了規(guī)則,按照這些規(guī)則建立了一些特殊連接,設(shè)備以同等方式相互通信。藍牙最基本的網(wǎng)絡(luò)組成是微微網(wǎng)(Pico net),同一微微網(wǎng)上的單元之間共享一條信道,一個微微網(wǎng)必須有而且只有一個主單元(master unit),其余為從單元(slave unit),主單元控制微微網(wǎng)從建立到數(shù)據(jù)傳送以及到最后結(jié)束通信的整個過程,如圖 3-1 所示。主單元從單元從單元從單元 從單元從單元從單元27圖 4-1 藍牙微微網(wǎng)結(jié)構(gòu)為了簡化網(wǎng)絡(luò)的控制,藍牙限定了微微網(wǎng)的單元數(shù)量,同一時間一個微微網(wǎng)最多只可以有 7 個從單元處于活動狀態(tài),其余從單元處于休眠狀態(tài)。4.2 藍牙散射網(wǎng)為了消除限制數(shù)量對通信的影響,也為了提高頻譜的利用效率,藍牙允許同一區(qū)域同時存在多個微微網(wǎng),這樣的多個微微網(wǎng)就構(gòu)成一個分布式散射網(wǎng)(Scatter net),如圖 3-2 所示。各微微網(wǎng)擁有自己的信道,微微網(wǎng)之間不做任何協(xié)調(diào)。這樣藍牙利用簡單的網(wǎng)絡(luò)控制就達到多對多的通信。但也增加了藍牙器件之間相互干擾的可能性。微微網(wǎng)中的通信信道的跳頻序列是用微微網(wǎng)的偽隨機序列來定義,每個微微網(wǎng)信道的跳頻序列互不相同。由于微微網(wǎng)中數(shù)據(jù)傳輸?shù)奶l特性,同一區(qū)域可以同時存在多個在時間和空間上部分或完全重疊的微微網(wǎng),這幾個微微網(wǎng)就構(gòu)成散射網(wǎng)。每個微微網(wǎng)有自己的主單元,跳頻序列相互獨立。各個微微網(wǎng)的跳頻序列和狀態(tài)由各自的主單元決定。○Master ●Slave圖 4-2 散射網(wǎng)結(jié)構(gòu)當設(shè)備成為散射網(wǎng)的成員后,便可以在多個微微網(wǎng)中進行內(nèi)部通信。一個微微網(wǎng)的主單元通過呼叫,可以使其他微微網(wǎng)的
收藏
編號:160536
類型:共享資源
大小:724.78KB
格式:RAR
上傳時間:2017-10-27
45
積分
- 關(guān) 鍵 詞:
-
工程機械
藍牙
無線
遠程
故障診斷
系統(tǒng)
研究
鉆研
- 資源描述:
-
2724 工程機械藍牙無線遠程故障診斷系統(tǒng)研究,工程機械,藍牙,無線,遠程,故障診斷,系統(tǒng),研究,鉆研
展開閱讀全文
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。