3800 遠程遙控裝置設計
3800 遠程遙控裝置設計,遠程,遙控裝置,設計
本科學生畢業(yè)設計遠程遙控裝置設計院系名稱: 機電工程學院 專業(yè)班級:機械設計制造及其自動化 08-1學生姓名: 指導教師: 職 稱: 二○一二年六月I摘 要該項目主要是遠程遙控裝置設計,機群散射網(wǎng)中藍牙無線分布式通信、遠程無線上網(wǎng)等的應用。對工程機械工況參數(shù)進行分析、處理,可實時控制施工進度,提高施工質量,加強作業(yè)管理。對工程機械進行有效的監(jiān)測和故障診斷,不但可使工程機械正常高效地運行,且使得設備在現(xiàn)場出現(xiàn)故障時,能夠快速、準確、可靠地確定故障原因和排除故障。該課題研究采用藍牙技術進行無線通信,利用藍牙芯片可對各傳感器采集的數(shù)據(jù)進行無電纜可靠傳輸,使工程機械檢測系統(tǒng)與外部網(wǎng)絡的連接不受通信線路及地區(qū)限制,使用更方便、更安全。設備無需布線便可安裝于現(xiàn)有環(huán)境,減少系統(tǒng)的維護費用。關鍵詞:工程機械;藍牙;故障診斷;遠程無線上網(wǎng);傳感技術IIABSTRACTThe project research bluetooth technology in engineering machinery monitoring and fault diagnosis of wireless data sensing technology, scattering nets in fleet bluetooth wireless distributed communication, remote wireless Internet application, etc. Mechanical parameters of working in engineering analysis, processing, can real-time control construction schedule and improve the construction quality and strengthen operation management. For engineering machinery for effective monitoring and fault diagnosis, not only can make the normal and high efficiency in the operation of engineering machinery, equipment and make in the malfunction, can rapid, accurate, and reliable to determine the cause of the problem and remove the faults. This subject research using bluetooth technology for wireless communication, the use of the sensors can be bluetooth chip of the data collected no cable reliable transmission, the engineering machinery detection system and external network connection from communication lines and the area limits, use more convenient, safer. Equipment and can be installed in without wiring existing environment, reduce system maintenance. Key words:Engineering machinery;Bluetooth ;Fault diagnosis;Remote wireless;Internet access ;Sensing technology畢業(yè)設計任務書學生姓名 院系 專業(yè)、班級指導教師姓名 職稱 從事專業(yè) 是否外聘 □是□否題目名稱遠程遙控裝置設計一、設計目的、意義遠程遙控裝置設計大多數(shù)在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設備和上網(wǎng)條件。該課題研究采用藍牙技術,藍牙技術是一種用于近距離無線數(shù)據(jù)通訊和聯(lián)網(wǎng)的新技術,采用藍牙技術能使工程機械檢測系統(tǒng)與外部網(wǎng)絡的連接不受通信線路及地區(qū)限制,使用更方便、更安全。安裝在工程機械上的藍牙適配器,和移動設備(藍牙手機)通過微微網(wǎng)連接,最大特征是可為用戶提供 10~100米超遠的無線 連接距離,接口方面兼容 USB1.1/USB2.0,最大傳輸速率 1Mbps。采用藍牙接入點或藍牙手機上網(wǎng),進行無線網(wǎng)絡通訊。設備無需布線便可安裝于現(xiàn)有環(huán)境,減少了系統(tǒng)的維護費用。在技術力量較強的科研單位或企業(yè)建立遠程故障診斷中心。當現(xiàn)場設備出現(xiàn)故障而現(xiàn)場人員或本地故障診斷系統(tǒng)不能對其做出診斷時,本地用戶將反映現(xiàn)場設備狀態(tài)的數(shù)據(jù)通過現(xiàn)場監(jiān)測中心計算機經(jīng)由藍牙適配器和藍牙手機與 Internet 網(wǎng)絡連接,發(fā)送給遠程故障診斷中心,并提請故障診斷及遠程信息咨詢等服務。二、設計內容、技術要求(研究方法)1.藍牙遠程無線故障診斷,嵌入式藍牙網(wǎng)關研究,實現(xiàn)無線遠程通信和故障診斷。利用藍牙技術解決工程機械在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設備和有線上網(wǎng)條件的情況下實現(xiàn)遠程無線通信和故障診斷的問題。2.測試系統(tǒng)的拓撲結構,遠程故障診斷系統(tǒng)的結構及運行模式;3. 現(xiàn)場檢測和數(shù)據(jù)采集系統(tǒng)、設計水溫藍牙無線傳感器、故障診斷專家系統(tǒng)等模塊;4.USB 藍牙適配器:符合藍牙 v1.2 /1.1/2.0 版規(guī)范。傳輸距離為 100 米。操作頻帶在 2.4GHz 至2.483GHz 之間,采用 FHSS (跳頻展頻) 技術,靈敏度 <-85dBM。5. 通道:電流、油壓、流量、油溫、水溫、電壓等 1—4 通道;6.每隔 0.5 小時采樣一次。數(shù)據(jù)通訊鏈路在 10~20s內建立。支持轉換的通信接口:RS232、USB。鏈路通信方式:點到點,點到多點。最高傳輸速率 1Mbps。三、設計完成后應提交的成果圖紙總量不少于 1.5 張 A0,主要為電氣原理圖,完成設計說明書應大于 2 萬字。四、設計進度安排2012.2.27~2012.3.20 明確設計任務,查找文獻資料,完成開題報告;2012.3.21~2012.4.1 總體方案的擬定;2012.4.2~2012.4.10 藍牙遠程無線故障診斷,嵌入式藍牙網(wǎng)關設計;2012.4.11~2012.4.30 網(wǎng)絡通信結構與實現(xiàn),遠程故障診斷系統(tǒng)的結構及運行模式;2012.5.1~2012.5.31 繪制藍牙無線傳輸原理圖;2012.6.1~2012.6.10 編寫設計說明書;2012.6.11~2012.6.15 完成設計準備答辯。五、主要參考資料[1] 郁濱,盧小亮.藍牙訪問控制方案的設計與實現(xiàn)[J].計算機工程與設計 ,2009,30.[2] 任小洪,傅成華,胡科.基于藍牙技術的無線數(shù)據(jù)采集系統(tǒng)設計 [J].測控技術,2009,28(1):16-19.[3] 梁宏倩,車鵬飛.基于藍牙技術的無線數(shù)據(jù)采集系統(tǒng)設計 [J].科技信息,2008,(23):52-53.[4]寧甲琳,丁養(yǎng)燕,王旭,張彥生.藍牙技術及其在汽車上的應用 [J].上海汽車,2006,(6):39-40. [5] 謝紅輝.基于藍牙技術的無線局域網(wǎng)絡系統(tǒng)設計.通信技術 [J]. 2008,41(7):133-134[6]唐志航,唐北平,陳世清.基于 Internet 的遠程故障診斷系統(tǒng)的研究與設計[J].機床與液壓,2009,37(2):196-198.[7]韓清鵬,王黎,郭剛.設備故障遠程診斷網(wǎng)絡體系的構建[J].江南大學學報,2009,8(1):38-40.[8]楊瑞.基于藍牙通信的短信平臺設計與實現(xiàn) [J]. 計算機應用與軟件.2011.2[9]彭述清,王恩永,苗愛敏,施心陵.基于藍牙技術和 GSM 網(wǎng)的遠程數(shù)據(jù)采集[J] .信息技術,2009,(5):7-9.[10]劉翥寰,牛占文,王勇. 智能化工程機械機群遠程故障診斷中心系統(tǒng)[J].起重運輸機械.2006.04:21-23六、備注指導教師簽字:年 月 日系主任簽字: 年 月 日目 錄摘要 ....................................................................ⅠAbstract ................................................................Ⅱ第 1 章 緒論 .........................................................................................................................11.1 概述 ......................................................................................................................11.2 文獻綜述 ............................................................................................................21.3 基本內容和擬解決的問題 ..................................................................................31.3.1 基本內容 .....................................................................................................31.3.2 擬解決的主要問題 .....................................................................................3第 2 章 嵌入式藍牙網(wǎng)關的研究 ....................................................................................42.1 開發(fā)環(huán)境的搭建 ..................................................................................................42.1.1 微處理器模塊 .............................................................................................42.1.2 存儲器模塊 .................................................................................................52.1.3 以太網(wǎng)接口模塊 .........................................................................................52.1.4 調試接口模塊 .............................................................................................52.1.5USB 藍牙接口模塊 .....................................................................................52.2 嵌入式藍牙網(wǎng)關的協(xié)議體系結構 ......................................................................62.2.1L2CAP 協(xié)議的實現(xiàn) .....................................................................................72.2.2L2CAP 的互操作 .........................................................................................82.2.3L2CAP 的數(shù)據(jù)處理方式 .............................................................................82.2.4L2CAP 的數(shù)據(jù)包 .........................................................................................82.2.5L2CAP 的狀態(tài)流程 .....................................................................................92.2.6L2CAP 層實現(xiàn)的過程流程圖 ...................................................................102.3RFCOMM 在藍牙設備中的實現(xiàn)形式 ..............................................................102.3.1RFCOMM 的幀分析與流控制 .................................................................112.3.2RFCOMM 的通信流程 .............................................................................122.3.3RFCOMM 的狀態(tài)過程 .............................................................................12 2.3.4RFCOMM 的數(shù)據(jù)處理流程 .....................................................................122.4 虛擬串口設備的管理 ........................................................................................132.5 局域網(wǎng)接入模型的實現(xiàn) ....................................................................................142.5.1 局域網(wǎng)接入模型中的協(xié)議 .......................................................................142.5.2 局域網(wǎng)接入模型的通信過程 ...................................................................152.6PPP 協(xié)議 .............................................................................................................162.6.1PPP 協(xié)議的狀態(tài)轉移 ................................................................................162.6.2PPP 協(xié)議的實現(xiàn) ........................................................................................172.7 數(shù)據(jù)終端對局域網(wǎng)的訪問 ................................................................................172.8 本章小結 ............................................................................................................17第 3 章 水溫藍牙無線傳感器 .......................................................................................183.1 單片機的簡介 ....................................................................................................183.2 基于單片機的溫度傳感器設計數(shù)字溫度計的發(fā)展現(xiàn)狀 ................................183.3 電路介紹 ............................................................................................................193.4 制作所需原件及其功能 ....................................................................................193.5 溫度傳感器的總體設計 ....................................................................................193.5.1 硬件說明 ...................................................................................................193.5.2 水溫藍牙無線傳感器的總體結構框圖 ...................................................203.5.3DS18B20 的介紹 .......................................................................................203.6 單片機的選擇 ....................................................................................................213.7 數(shù)據(jù)的讀取 ........................................................................................................223.8DS18B20 .............................................................................................................233.9 藍牙模塊的選擇 ................................................................................................243.10 本章小結 ..........................................................................................................24第 4 章 藍牙網(wǎng)絡及其拓撲結構 .......................................................................254.1 藍牙微微網(wǎng) ........................................................................................................254.2 藍牙散射網(wǎng) ........................................................................................................254.3 測試系統(tǒng)的拓撲結構 ........................................................................................294.4 本章小結 ............................................................................................................30第 5 章 故障診斷專家系統(tǒng) ............................................................................................325.1 故障診斷專家系統(tǒng)的結構 ................................................................................315.2 工程機械故障診斷系統(tǒng)構成 ............................................................................315.3 機群現(xiàn)場監(jiān)控中心體系結構 ............................................................................325.4 本章小結 ............................................................................................................33結論 ...............................................................................................................................................34參考文獻 ....................................................................................................................................36致謝 ...............................................................................................................................................381遠程遙控裝置設計第 1 章 緒 論1.1 概述該項目遠程遙控裝置設計,機群散射網(wǎng)中藍牙無線分布式通信、遠程無線上網(wǎng)等的應用。對工程機械工況參數(shù)進行分析、處理,可實時控制施工進度,提高施工質量,加強作業(yè)管理。對工程機械進行有效的監(jiān)測和故障診斷,不但可使工程機械正常高效地運行,且使得設備在現(xiàn)場出現(xiàn)故障時,能夠快速、準確、可靠地確定故障原因和排除故障。工程機械結構形式多種多樣,而且結構復雜,再加上工程機械所處的工作環(huán)境復雜、條件惡劣,施工載荷不確定,所以導致其故障率較高。工程機械發(fā)生故障后會影響施工進程,造成巨大損失。由于施工現(xiàn)場的操作人員常缺少故障診斷的專業(yè)知識和診斷設備,讓制造商或維修廠家快速有效地進行故障診斷與排除是個很好的解決辦法。而工程機械大多數(shù)在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設備和上網(wǎng)條件?;谒{牙技術的遠程故障診斷系統(tǒng)由客戶端(遠程監(jiān)測現(xiàn)場的數(shù)據(jù)采集處理和單機處理系統(tǒng)) 、網(wǎng)絡通信協(xié)議和遠程故障診斷服務中心三個部分組成。工程機械設備的各種運行狀態(tài)信息由不同傳感器采集, 本地用戶將反映現(xiàn)場設備狀態(tài)的數(shù)據(jù)通過現(xiàn)場監(jiān)控中心計算機經(jīng)由藍牙適配器和藍牙手機與 Internet 網(wǎng)絡連接,發(fā)送給遠程故障診斷中心,并提請故障診斷及遠程信息咨詢等服務。安裝在工程機械上的藍牙適配器和移動設備(藍牙手機)通過微微網(wǎng)連接,最大特征是可為用戶提供 10~100 米遠的無線連接距離,接口方面兼容USB1.1/USB2.0??刹捎盟{牙接入點或藍牙手機上網(wǎng),進行無線網(wǎng)絡通訊。藍牙采用了擴頻技術,使整個藍牙頻段內噪聲影響變得最低。很大程度上抑止了無線電電磁干擾。基于藍牙技術的狀態(tài)監(jiān)測與遠程故障診斷系統(tǒng)其特色是:1)實現(xiàn)無線數(shù)據(jù)采集和網(wǎng)絡通訊,免去有線電纜的連接,使得監(jiān)測網(wǎng)絡的調整和重組變得非常方便。可以實現(xiàn)多臺工程機械之間的聯(lián)網(wǎng),便于進行集中測控。2)實現(xiàn)無線移動監(jiān)測。沒有方向上的限制,可以從各個角度進行測控數(shù)據(jù)2的傳輸。固定設備(工程機械)和移動設備(筆記本、藍牙手機)通過微微網(wǎng)連接,可達到 10~100 米遠的無線連接距離,藍牙技術支持點對點和點對多點連接;3)實現(xiàn)無線遠程通信和故障診斷。采用藍牙手機或藍牙適配器聯(lián)網(wǎng),藍牙3.0 技術標準傳輸速率可達 24Mb/s 以上;便于攜帶,功耗低,可靈活實現(xiàn)1.2 文獻綜述1998 年 5 月,愛立信、諾基亞、東芝、IBM 和英特爾公司等五家廠商,在聯(lián)合開展短程無線通信技術的標準化活動時提出了藍牙技術,其宗旨是提供一種短距離、低成本的無線傳輸應用技術。目前國內藍牙技術正在飛速發(fā)展,北京清華大學汽車工程系康榮學等人,提出了一種施工機械狀態(tài)無線監(jiān)測系統(tǒng),實現(xiàn)對施工機械狀態(tài)的實時監(jiān)控。利用藍牙技術可將傳感器在線監(jiān)測數(shù)據(jù)傳送到計算機進行處理,而經(jīng)過計算機處理后的信息可再經(jīng)藍牙技術傳至各臺設備。人工智能四川省(高校)重點實驗室任小洪等人設計研究了一種能適用于工業(yè)現(xiàn)場的無線傳感器系統(tǒng)。該系統(tǒng)以藍牙模塊 BC006-C3 為核心,通過對藍牙 HCI(H ost Controller Interface)底層協(xié)議進行二次開發(fā),實現(xiàn)了一個具有主從網(wǎng)絡結構的藍牙無線數(shù)據(jù)采集系統(tǒng)。文獻介紹了利用 MSP430 單片機進行數(shù)據(jù)采集,并通過藍牙模塊將采集的數(shù)據(jù)以無線電波的方式發(fā)送到終端設備。文獻提出了一種基于藍牙技術的無線局域網(wǎng)解決方案。重慶郵電學院提出了適應工業(yè)控制的現(xiàn)場級“藍牙”通信協(xié)議體系,介紹了適應工業(yè)現(xiàn)場的“藍牙”適配器和連接有線控制網(wǎng)絡的“藍牙”接入設備的實現(xiàn)方法。文獻提出了基于一體化思想的工程機械監(jiān)測與故障診斷系統(tǒng)設計思想。東南大學研究了工程機械設備智能故障診斷專家系統(tǒng),通過無線網(wǎng)絡將單機的采集數(shù)據(jù)傳送到數(shù)據(jù)庫服務器端。研究了基于網(wǎng)絡平臺的機群狀態(tài)遠程設備監(jiān)控與故障診斷系統(tǒng)實現(xiàn)了遠程數(shù)據(jù)傳輸和對工程機械施工機群進行遠程狀態(tài)監(jiān)控。由于施工過程中各設備彼此分散,所以通過無線網(wǎng)絡構建機群監(jiān)控中心與各分散設備的聯(lián)系,完成各設備之間的協(xié)同工作。機群監(jiān)控中心和各單機之間,在整體布局和功能上將系統(tǒng)構造成分布分層式結構。整個機群設置監(jiān)控中心,通過無線網(wǎng)絡將單機與監(jiān)控中心聯(lián)網(wǎng),實時監(jiān)控單機狀態(tài)。各臺單機共享同一專家診斷系統(tǒng),使機群設備的管理者和操作者能實時監(jiān)控設備狀態(tài),并獲取維護處理措施。國外一些著名的工程機械公司在故障診斷、遠程監(jiān)控系統(tǒng)及整機智能控制方面取得了較大進展。卡特彼勒公司 1998 年推出的 Cat 950G 計算機監(jiān)控系統(tǒng)3還配備有 Cat 指導診斷系統(tǒng)和以維修工具為基礎的 Cat 軟件包,使維修人員坐在汽車里用筆記本電腦就能迅速而容易地診斷和排除故障。Cat 992G 在監(jiān)控裝載機各功能狀況并作出診斷的同時還能把這些信息數(shù)據(jù)作為履歷記錄下來,無線傳送到辦公室用計算機進行分析,從而防患于未然。沃爾沃(Volvo)公司的 L系列裝載機上也安裝有 Matris 軟件包,用以監(jiān)控和分析裝載機的工作狀態(tài);其小型裝載機上配有電子伺服控制及信息系統(tǒng)(ESIS) ,由液晶顯示屏和鍵盤組成,用來顯示和記錄各種信息,其自動診斷功能記錄機器故障并儲存所有相關信息,通過編碼可以防盜。凱斯(Case)公司 21B、C 系列裝載機也采用計算機監(jiān)控系統(tǒng),其微處理器安裝在司機座椅的右側,也具有故障診斷和工作狀態(tài)液晶顯示功能。藍牙特別興趣小組(SIG)宣布,采用低能量藍牙無線技術,這是藍牙核心規(guī)格 4.0 版本的標志功能。藍牙技術是一種跳頻系統(tǒng),標準的跳頻信號 1600跳/秒。藍牙自組織網(wǎng)絡可以把互連的幾個微微網(wǎng)形成一個散射網(wǎng),文獻介紹了基于藍牙無線網(wǎng)絡活塞的溫度遙測系統(tǒng)。文獻介紹了采用藍牙協(xié)議,GSM/GPRS 的遠程醫(yī)療系統(tǒng)。1.3 基本內容和擬解決的問題1.3.1 基本內容(1)藍牙遠程無線故障診斷,嵌入式藍牙網(wǎng)關設計,實現(xiàn)無線遠程通信和故障診斷。利用藍牙技術解決工程機械在野外進行作業(yè)或在運動中,即現(xiàn)場沒有診斷設備和有線上網(wǎng)條件的情況下實現(xiàn)遠程無線通信和故障診斷的問題(2)測試系統(tǒng)的拓撲結構,遠程故障診斷系統(tǒng)的結構及運行模式。(3)現(xiàn)場檢測數(shù)據(jù)和數(shù)據(jù)采集系統(tǒng)、設計水溫藍牙無線傳感器、故障診斷專家系統(tǒng)等模塊。1.3.2 擬解決的問題⑴網(wǎng)路通信結構與實現(xiàn),測試系統(tǒng)的拓撲結構,遠程故障診斷系統(tǒng)的結構及運行模式。⑵現(xiàn)場檢測和數(shù)據(jù)采集系統(tǒng)、設計水溫藍牙無線傳感器、故障診斷專家系統(tǒng)模塊的建立。⑶嵌入式藍牙網(wǎng)關的研究。4第 2 章 嵌入式藍牙網(wǎng)關的研究2.1 開發(fā)環(huán)境的搭建嵌入式藍牙硬件的部分以 ARM9 微處理器為核心,外圍有存儲器模塊、以太網(wǎng)借口模塊、調試接口模塊、基于 USB 接口的藍牙模塊組成。硬件總體框圖如圖所示:圖 2-1 嵌入式藍牙網(wǎng)關硬件平臺框圖2.1.1 微處理器模塊硬件平臺采用韓國三星的 ARM 處理器 S3C2410 作為微處理器,這是一款基于 ARM920T 內核,采用 0.18 微米工藝的 32 位微處理器,低價格,高性能,高集成度使得用戶可以節(jié)省系統(tǒng)成本和提高系統(tǒng)性能。ARM920T 支持兩種指令集:ARM 指令集和 Thumb 指令集,其中,ARM 指令集為 32 位的長度,Thumb 指令 16 位長度。Thumb 指令集為 ARM 指令集的功能子集,但與等價的Internet以太網(wǎng)接口模塊MCU調制接口模塊 存儲模塊藍牙模塊5ARM 代碼相比較,可以節(jié)省 30%-40%以上的存儲空間,同時具備 32 位代碼的所有優(yōu)點。同時,S3C2410 芯片集成了大量的功能單元,包括:16KB 指令和 16KB 數(shù)據(jù)的緩存(cache), MMU、內置外部存儲器控制器、LCD 控制器、4 個帶外部請求線的 DMA、3 個通用異步串行端口、1 通道的 SPI、一個多主 llC 總線、一個 IIS總線控制器、兩個 USB 的主機(host)單元,一個 USB 的設備(device) 接口、1 17個通用 I/O、觸摸屏接口和 8 個通道的 10-bitADC 以及實時時鐘單元 RTC 等等。S3C2410 是嵌入式藍牙網(wǎng)關的主處理器部分,同時也是整個硬件電路的核心模塊,負責控制其他外圍設備,管理著系統(tǒng)的平穩(wěn)運行。2.1.2 存儲器模塊存儲器模塊包括一片 16Mbytes 的 NOR FLASH 和兩片 16Mbytes SDRAM。FLASH 用于固化 Bootloader 程序和 LINUX 內核映像文件和文件系統(tǒng)以及藍牙協(xié)議棧和所有應用程序,SDRAM 是程序運行的區(qū)域。GX-ARM9-2410A 型開發(fā)板的 RAM 是由兩片 16M×16 位數(shù)據(jù)寬度的SDRAM 構成,兩片拼成 32 位模式,共 64M,公用 nGCS6。地址范圍為0x30000000~0x34000000,起始物理實地址:0x30000000,經(jīng) MMU 映射后地址為 0xC0000000。nGCS0 接的是一片 8M×16 位數(shù)據(jù)寬度的 INTEL E28F128 FLASH,地址范圍為 0x1000000~0x02000000,按照 S3C2410 處理器手冊,Nor FLASH 安裝在 Bank0,地址應該為 0,但由于 S3C2410 地址是循環(huán)映射,0x10000000 就是 0 地址,其中引導代碼 Bootloader,就燒寫在地址 0 處,內核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)絡接入功能,這兩個接口使得嵌入式藍牙網(wǎng)關以有線方式與局域網(wǎng)相連。2.1.4 調試接口模塊通常硬件調試接口有 JTAG 和 BDM 兩種,ARM 系列芯片所需要的測試工6具接口是 JTAG,可以用該接口進行在線仿真、調試、下載和燒寫 ROM 等操作。另外,嵌入式開發(fā)時往往還需要一個監(jiān)視口,我們用串口 0 來承擔,網(wǎng)口既是與局域網(wǎng)的通信接口,也是開發(fā)過程中從主機下載 Image 文件到目標機的高速通道??傮w而一言,在設計硬件電路的時候,要保證所提供的接口能夠同時滿足基本通信過程和調試過程。2.1.5 USB 藍牙接口模塊硬件平臺采用外擴 USB 藍牙適配器來實現(xiàn)嵌入式藍牙網(wǎng)關的無線通信,本設計采用的是力特公司的一款基于藍牙規(guī)范 2.0 設計生產(chǎn)的藍牙適配器。藍牙適配器的特性如下:(1)具有橋接功能,能夠完整覆蓋商用和家用應用環(huán)境。無線網(wǎng)絡(WirelessLAN)通過無線電傳輸及接收數(shù)據(jù),使得電腦間及電腦與其它網(wǎng)絡設備之間可以不經(jīng)由電線或是網(wǎng)絡線建立無線連接。(2)藍牙 2.0 規(guī)范支持全新的 EDR Profile(提高數(shù)據(jù)傳輸速率) ,最高帶寬將高達 36Mbps。而在對藍牙語音的支持上面,2.0 藍牙設備也有更大的優(yōu)勢,可提供更優(yōu)良的音質。(3)新增的 oneButtonConnect 按鍵,其人性化的設計提供用戶直接與藍牙鍵盤、鼠標立即連接的功能,而不需要再安裝藍牙管理軟件,非常方便。(4)采用 Broadcom 藍牙芯片,支持微微網(wǎng),支持 7 個藍牙子設備同時工作,并可以和更多的從設備(最多可達 256 個) 保持同步但不進行通信。(5)高達 2MB 的內存。提供藍牙通信緩沖及藍牙固件存儲,確保通信可靠度。 2.2 嵌入式藍牙網(wǎng)關的協(xié)議體系結構結合嵌入式藍牙網(wǎng)關的功能,可以得出嵌入式藍牙網(wǎng)關的協(xié)議體系結構圖,如圖所示:網(wǎng)絡應用(HTTP、FTP)TCP/IP 等網(wǎng)絡協(xié)議PPP虛擬串口RFCOMML2CAPSDPHCLBBRF課題實現(xiàn)7圖 2-2 嵌入式藍牙網(wǎng)關協(xié)議體系結構從結構圖可知在嵌入式藍牙網(wǎng)關使用藍牙協(xié)議棧承載 PPP 協(xié)議來支持上層TCP/IP 網(wǎng)絡的協(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é)議棧中非常重要的一個,也是最復雜的一個,它的主要作用是向上層提供一個可靠的 L2CAP 鏈接。為了實現(xiàn)這一點它必須與上層協(xié)議、下層協(xié)議和對等 L2CAP 協(xié)議進行各種交互。L2CAP 為高層提供數(shù)據(jù)服務,需要注意的是它不保證信道的可靠性以及數(shù)據(jù)的完整性,L2CAP 是通過基帶提供的機制來提供一條可靠的信道。它只支持基帶異步無連接傳輸服務(ACL),不支持同步面向連接的服務(SCO)。L2CAP 數(shù)據(jù)包是利用基帶的 ACL 數(shù)據(jù)包來傳輸。L2CAP 協(xié)議的主要功能有:(1)協(xié)議復用L2CAP 必須支持協(xié)議復用,因為藍牙的基帶協(xié)議并不支持通過類型字段區(qū)分復用的高層協(xié)議功能,因此 L2CAP 必須能夠將這些高層協(xié)議區(qū)分開。(2)分段與重組藍牙基帶協(xié)議中定義的數(shù)據(jù)分組長度是有限的,而藍牙的高層協(xié)議則需要更大的分組來發(fā)送?;鶐Х纸M有效載荷最大為 341 字節(jié),如果用這種最大傳輸單位(MTU)來傳輸高層協(xié)議,將會限制帶寬的利用率。因此 L2CAP 分組必須能夠在LMP8無線傳輸前分成許多小的基帶分組;在接收端,經(jīng)過簡單的完整檢查后,這些小的分組能夠重新組合成一個較大的 L2CAP 分組。(3)在 L2CAP 連接建立的過程中允許兩臺藍牙設備之間交換各自所期望的 服務質量消息。執(zhí)行 L2CAP 的設備必須對協(xié)議所使用的資源進行監(jiān)視,以保證能都達到所期望的服務質量。(4)組許多協(xié)議中都包含有地址組的概念。藍牙基帶協(xié)議支持微微網(wǎng)的概念,在一個微微網(wǎng)中最多可以有八個藍牙設備,這些設備組成一個組在同一個時鐘下同步的工作。L2CAP 衛(wèi)中組的概念可以把協(xié)議中的組有效的映射到微微網(wǎng)中。如果沒有這項功能,高層協(xié)議將直接面對基帶協(xié)議和鏈路管理器,刁能達到對地址組的有效管理。2.2.2 L2CAP 的互操作客戶端藍牙設備 服務器端藍牙設備L2CAP 請求 L2CAP 確認 L2CAP 響應 L2CAP 指示L2CAP 請求底層請求 底層確認 L2CAP 響應 底層響應 底層指示物理鏈路圖 2-3 L2CAP 層的互操作圖 2-3 顯示了 L2CAP 層的互操作過程, L2CAP 實體必須能夠在高層和底層之間傳輸數(shù)據(jù)。同時支持一組對等的 L2CAP 實體信令命令。L2CAP 實體必須能夠接收底層來的事件,然后產(chǎn)生響應的事件給上層。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ù)?,遵循信道傳輸模型,跳信道代表一對本地和遠程設備 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)的映射,但是在組信道中不提供服務質量,因此組信道通常是不可靠的,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)轉換的事件,以及響應事件的動作。藍牙協(xié)議規(guī)定, “狀態(tài)機”只適用于雙向信道,并不適用于信令信道和單向信道。1.事件和動作事件是指在一定時限內到達 L2CAP 層的消息。事件分為五類:低層來的指示和證實、高層來的請求和響應、來自對等協(xié)議層的數(shù)據(jù)、對等協(xié)議層來的信號請求和應答消息、定時器超時引起的事件。動作也分為五類:對高協(xié)議層的證實與指示、對低協(xié)議層的請求與響應、對對等協(xié)議層的請求和應答、對等協(xié)議層的數(shù)據(jù)傳輸、設置定時器。長度 信道 ID 有效載荷長度 信道 ID PSM 有效載荷10的命令規(guī)則如下:(1)兩個協(xié)議層之間的接口(垂直方向接口)使用為高層提供服務的底層協(xié)議的前綴,如 L2CAP。位于相同協(xié)議層的實體之間的接口(水平方向接口)使用協(xié)議的前綴,如 L2CAP 。(2)從上層來的事件稱為“請求” (Req),相應的回答稱為 “證實(Cfm) ;從低層來的事件稱為“指示”(Ind),相應的應答稱為“響應”(Rsp) ;需要有進一步的處理過程的響應稱為“中間響應”(Pnd);如果是表示否定的應答,在相應的記號后加上“Neg ”后綴。(3)高層的請求信號必須有相應的證實回答( 表示動作的執(zhí)行成功或者不成功),而低層對高層的指示信號并不一定需要相應的應答,例如當指示信號用于向高層通知本地觸發(fā)事件的信息時。2.2.6 L2CAP 層的實現(xiàn)過程流程圖1,請求方 L2CAP 層建立邏輯信道過程模塊流程圖yes noNO yes請求建立 L2CAP 邏輯信道請求方 L2CAP 層邏輯信道建立模塊啟動創(chuàng)建 connect-request 分組進行 HCL 層打包發(fā)送到下層 HCL 子模塊分組Connect-request?向用戶報錯:硬件平臺獲藍牙基帶有誤,檢查后再試程序結束記錄返回參數(shù) Destination-CID創(chuàng)建 Configuration-Request 分組進行 HCL 層打包發(fā)送到下層 HCL 子模塊分組Configuration-Respon?se反方向設置及模塊請求方 L2CAP 曾邏輯信道建立模塊結束11圖 2-6 L2CAP 層的實現(xiàn)過程流程圖RFCOMM 在藍牙協(xié)議中模擬串口,實現(xiàn) L2CAP 層和基于 RFCOMM 層的PPP,TCS 等協(xié)議層的數(shù)據(jù)交互。 RFCOMM 的目的是對兩個不同設備上的應用保證一條完整的通信路徑,病保持一個通信段。2.3 RFCOMM 在藍牙設備中的實現(xiàn)形式RFCOMM 通過 L2CAP 連接來實現(xiàn)設備間的邏輯串行鏈路,特別是建立一條面向連接 L2CAP 信道,以連接兩個設備 RFCOMM 實體,兩個設備之間只允許同時存在一個 RFCOMM 連接,但是該鏈接是可多路復用,故兩個設備時間可以再一條 RFCOMM 連接之上存在多大 60 條邏輯鏈路,但是沒有規(guī)定RFCOMM 多路復用實現(xiàn)的層次。RFCOMM 繪畫過程中,客戶和服務器應用可以分布在通信的兩端,每一端都可以獨立發(fā)起連接。在客戶和服務器之間的每一條多路復用鏈路都用數(shù)據(jù)鏈路標志符來唯一標識,DLCI 標識控制信道,DLCII 不可用,DLCI62 和 DLCI63 是系統(tǒng)保留值,在兩個設備之間的 RFCOMM 會話期間,DLCI 是唯一的。如果藍牙設備支持多個設備之間的串口仿真,那么 RFCOMM 實體必須能夠運行多個 TS07.10 多路復用器會話,每一個多路復用器都使用期 L2CAP 信道ID。 RFCOMM 對 TS07.10 多路復用器多個會話的支持是可選的。一般大多數(shù)便攜式藍牙設備在藍牙環(huán)境下很少會需要同時使用如此多的串行連接。局域網(wǎng)訪問規(guī)范規(guī)定在 RFCOMM 上使用 PPP,因此一個局域網(wǎng)接入點設備實際上可能同時需要很多與多個設備之間的串行連接,可利用 LZCAP 的多路復用能力來實現(xiàn) RFCOMM 的多路復用。2.3.1 RFCOMM 的幀分析與流控制RFCOMM 協(xié)議層命令的執(zhí)行和數(shù)據(jù)的發(fā)送都是通過各種幀來完成的。RFCOMM 將各種數(shù)據(jù)和控制信號封裝在各種不同的幀中進行傳輸,所使用的幀12來自于 GSM TS07.10 多路控制協(xié)議。主要包括:設置異步平衡模式幀(SABM),無序號響應幀(UA)、斷開模式幀(DM),斷開連接幀(DISC)和帶頭校驗的無序號信息幀(UIH) 。其中 SABM、DISC 為命令幀,UA、DM 為響應幀,UIH 既可以是命令幀,也可以是響應幀。在建立 DLCI 鏈接時,首先需要發(fā)送的是 SABM 幀,其中所攜帶的 DLCI信息就是要建立的 DLCI 連接。UA 幀是在接收到需要響應的幀時(如SABM、DISC 幀),發(fā)送的響應幀。DM 幀用來向對方確認本地當前的狀態(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 之間的流控制依賴于設備所支持的服務接口,除了使用于基帶的鏈路管理(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)調制解調器狀態(tài)命令 MSC,它是對單個 DLCI 的流控制機制。(3)基于信用的流控制,在這種流控方式中,通信雙方在初始連接時使用PN 命令協(xié)商好初始信譽量,每發(fā)送一條數(shù)據(jù)幀,遠端信譽量減 1,減至 0 時停止發(fā)送,直到接收到遠端信譽量通知才可以發(fā)送數(shù)據(jù)。2.3.2 RFCOMM 的通信流程RFCOMM 信道是建立在 L2CAP 信道基礎上的,建立 RFCOMM 鏈接時,首先要建立 L2CAP 信道,并且進行相應的配置。通過查詢 SDP 數(shù)據(jù)得到使用該服務所需要的通道信號。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ā)送完建立連接請求到配置結束的過程中,系統(tǒng)一直處在鏈路建立連接過程中。當收到對方確認連接響應后,系統(tǒng)的狀態(tài)變?yōu)閰?shù)配置狀態(tài),需要協(xié)商配置的參數(shù)有 L2CAP 衛(wèi)信道的參數(shù)配置和 RFCOMM 的 DLCI 建立以及參數(shù)的配置。當雙方參數(shù)協(xié)商配置完后,系統(tǒng)轉為鏈路建立狀態(tài),此時用戶可以進行數(shù)據(jù)的傳輸,當主機發(fā)送斷開連接請求后,系統(tǒng)轉為鏈路斷開連接過程中,收到對方斷開確認響應后,系統(tǒng)轉為鏈路斷開狀態(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.鏈路連接串口設備是一種字符設備,可以方便地和 PPP 建立連接,這個特性對于本設計來說是必要的,因此必須為應用程序提供虛擬串口,虛擬串日可以在不占用真實串口的情況下創(chuàng)建任意數(shù)量并互為連接的純虛擬串口對,其在功能和使用上與真實串口無異。這些虛擬串口并不跟具體的物理硬件打交道,而是將應用程序的請求轉發(fā)到對藍牙系統(tǒng)的請求,還有將從藍牙系統(tǒng)來的數(shù)據(jù)和事件轉發(fā)給應用程序,它起到了一個中繼者的作用。no開始存在 rfcommSession?14yesyesno圖 2-7 RFCOMM 的數(shù)據(jù)處理流程本設計中采用虛擬串口技術可以縮短開發(fā)周期,減少開發(fā)成本,通過建立虛擬串口連接可以使用 Linux 上很多現(xiàn)有的應用程序來快速構建嵌入式藍牙網(wǎng)關的各種應用,即使沒有現(xiàn)成的應用程序也可以很方便地對串口進行編程以構建新的藍牙應用。2.4 虛擬串口設備的管理在虛擬串口設備與藍牙模塊交互中,可能存在多個虛擬串口設備,因此需要建立一個串口管理設備,負責對串口設備和藍牙模塊的交互進行管理,其中管理任務包括以下四部分內容(1)虛擬串口設備發(fā)送消息當一個虛擬串口設備被打開、關閉、寫數(shù)據(jù)等的時候,它要向藍牙協(xié)議模塊發(fā)送消息。設備不是和藍牙協(xié)議模塊直接通信的,它是通過串口管理設備和藍牙協(xié)議模塊通信的。在串口管理設備的數(shù)據(jù)結構中,維護了一個消息鏈表,所有的串口設備要向協(xié)議模塊發(fā)送的消息都要先插入到這個消息鏈表中。發(fā)送 SABM 數(shù)據(jù),啟動定時器等待直到響應到達發(fā)送 PN 數(shù)據(jù)幀阻塞,等待直到響應到達。連接是否超時結束發(fā)送 L2CAP 連接請求阻塞直到連接響應到達發(fā)送 L2CAP 配置請求阻塞直到請求確認到達錯誤處理15(2)藍牙協(xié)議模塊發(fā)送消息藍牙協(xié)議模塊向虛擬串口設備發(fā)消息,使用 IOCTI 統(tǒng)調用發(fā)送消息。(3)藍牙協(xié)議模塊接收消息在藍牙協(xié)議模塊中,專門有一個線程來接收來自驅動程序的消息,這些消息不是直接來自虛擬串口設備而是來自串口管理設備。如果當前消息隊列里有消息,或一旦有消息被添加到消息隊列,藍牙模塊將消息從管理串口設備中讀出,然后根據(jù)消息類型進行相應的處理。例如,收到了打開串口消息,藍牙模塊就要和遠端的設備去建立藍牙的 RFCOMM 連接。(4)串日設備接收消息如果藍牙協(xié)議模塊向串口管理設備發(fā)送了消息,串口管理設備要將這些消息轉發(fā)給虛擬串口設備。由于串口管理設備和虛擬串口設備的驅動程序都是編譯成內核模塊,運行在內核空間。它們可以共享全局變量。這樣串日管理設備直接修改虛擬串口設備的全局變量就可以完成它們之間的通信。2.5 局域網(wǎng)接入模型的實現(xiàn)嵌入式藍牙網(wǎng)關的實現(xiàn)基于藍牙局域網(wǎng)接入模型(LAP) ,該模型通過建立在藍牙無線鏈路之上的網(wǎng)絡協(xié)議使計算機連接到網(wǎng)絡上。局域網(wǎng)接入模型中定義了使用藍牙無線技術的設備如何接入到一個局域網(wǎng)的服務,此局域網(wǎng)使用在 RFCOMM 上的點對點協(xié)議(PPP )。其次,顯示了如何使用同一個 PPP 機制來構成由兩個藍牙設備組成的網(wǎng)絡。在這個應用模型中,數(shù)據(jù)終端使用局域網(wǎng)接入點作為一個局域網(wǎng)無線連接。一旦連接上,數(shù)據(jù)終端運行如同它們與 LAN 撥號網(wǎng)絡連接,并且可以訪問 LAN 提供的所有訪問。PPP 是一種允許接入到網(wǎng)絡的普遍配置方式。PPP 提供鑒權、加密、數(shù)據(jù)壓縮和多協(xié)議便利。在 RFCOMM 之上的 PPP 己經(jīng)被選為給藍牙設備提供 LAN接入的方式,因為具有給設備配置 PPP 軟件的大型安裝基礎。在 PPP 可以支持多種網(wǎng)絡協(xié)議,由于在現(xiàn)有網(wǎng)絡中 lP 協(xié)議被公認為最重要的協(xié)議,因此在 PPP上支持 lP 協(xié)議。2.5.1 局域網(wǎng)接入模型中的協(xié)議從圖中可以看看出,在局域網(wǎng)接入模型中,藍牙設備有兩種角色:局域網(wǎng)接入點和數(shù)據(jù)終端。局域網(wǎng)接入點是提供 PPP 服務并連在 LAN 上的設備而。16PPP 連接在 RFCOMM 上傳送,RFCOMM 可以用來傳輸 PPP 數(shù)據(jù)包并且可以作為 PPP 數(shù)據(jù)流的流控,數(shù)據(jù)終端是使用 LAP 服務的設備,典型的 DT 設備有藍牙筆記本電腦,藍牙 PC,藍牙 PDA 等。ME 為管理實體,在初始化,配置和連接過程中起著協(xié)調作用。局域網(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)絡層協(xié)議復用,協(xié)商連接時的 IP 地址,進行身份驗證等。(2)SDP 協(xié)議:負責移動數(shù)據(jù)終端接入時的服務發(fā)現(xiàn),包含服務的登記,搜索,抽取服務信息等。(3)RFCOMM 協(xié)議:負責仿真 RS-232 的傳輸信道和控制方式,為 PPP 層提供一個類似串口的通道。(4)L2CAP 協(xié)議:負責支持高層的協(xié)議復用。數(shù)據(jù)包打包,拆包,傳遞 QoS信息等。(5)LMP 和基帶協(xié)議:這部分屬于藍牙底層協(xié)議,與硬件緊密結合。負責物理鏈路的管理,基帶 PDU 的形成,檢糾錯,加密和鑒權。LAP 中,PPP 的使用是關鍵,它用于再說數(shù)據(jù)終端和接入點之間建立連接,PPP 建立在 RFCOMM 之上, 一旦 PPP 連接建立后,傳統(tǒng)的 IP 解決方案就可以建立在其之上,從而完成一些諸如獲得 IP 資質等網(wǎng)絡功能。2.5.2 局域網(wǎng)接入模型的通信過程在局域網(wǎng)接入模型中,終端設備和網(wǎng)關之間的通信大體包括查詢,建立連ApplicationsTCPδUDP IPPPPSDP RFCOMML2CAP LMPBasebandMEApplicationsTCPδUDPIPPPP NetworkingPPPRFCOMM SDPLMP L2CAPBasebandMELANLAN17接,鑒權,通信幾個過程。詳細過程如下:(1)數(shù)據(jù)終端查詢是否有一個在無線網(wǎng)絡內的 LAP,當數(shù)據(jù)終端要求接入局域網(wǎng)時,首先啟動服務發(fā)現(xiàn)協(xié)議,向作出回應的 LAP 發(fā)出查詢請求。LAP 此時作為 SDP Server 具備發(fā)現(xiàn)服務數(shù)據(jù)庫,里面記錄著接入點可以提供的服務及屬性,SDP 機制可以提取建立 RFCOMM 連接需要的所有服務信息。數(shù)據(jù)終端查詢到可用的服務信息后,就可以建立連接。(2)建立物理連接。數(shù)據(jù)終端找到并選定合適的 LAP 后,若二者間無物理連接,則 DT 向 LAP 請求建立基帶物理連接。若已存在物理連接,則進行藍牙配對,鑒權過程,并在所建鏈路上進行加密傳輸。(3)依次建立 PPP/RFCOMM/L2CAP 鏈路。(4)作為可選安全措施,LAP 可以適當?shù)牟扇?PPP 的鑒權機制。(5)建立連接后數(shù)據(jù)終端和 LAP 即可通過 IP 數(shù)據(jù)流進行網(wǎng)絡通信。(6)任何時候,DT 和 LAP 都可以終止已經(jīng)建立的連接。拆除各層連接的操作順序與建立時正好相反。LAP 在上電之后所做的第一件事情就是進行初始化工作,實質上就是軟硬件自啟動過程,系統(tǒng)起來之后,LAP 需要發(fā)起若干任務,主要有:查詢掃描任務,負責監(jiān)視有無 DT 需要與其通信;向前任務,負責將串口數(shù)據(jù)轉至網(wǎng)口并完成必要的格式轉換;向后通信功能,負責監(jiān)視網(wǎng)口并完成向前通信任務的逆過程,任務是并發(fā)的,因此 LAP 能夠同時支持與多個 DT 保持通信。2.6 PPP 協(xié)議使用 PPP 協(xié)議是 LAP 應用模型中非常重要的一點,也是 LAP 的關鍵所在,因為 PPP 協(xié)議很好的解決了點對點通信的問題,PPP 協(xié)議屬于數(shù)據(jù)鏈路層協(xié)議,主要用來完成在串行連接上封裝數(shù)據(jù)報,監(jiān)視鏈路連接質量,建立和配置及測試數(shù)據(jù)連接,在不同的網(wǎng)絡層協(xié)議上建立連接和配置 IP 選項等功能。2.6.1 PPP 協(xié)議的狀態(tài)轉移數(shù)據(jù)通信設備的兩端如果希望通過 PPP 協(xié)議建立點對點的通信,無論哪一端的設備都需發(fā)送 LCP 數(shù)據(jù)報文來配置鏈路(測試鏈路)。一旦 LCP 的配置參數(shù)選項協(xié)商完后,通信的雙方就會根據(jù) LCP 配置請求報文中所協(xié)商的認證配置參數(shù)選項來決定鏈路兩端設備所采用的認證方式。協(xié)議缺省情況下雙方是不進行認證的,而直接進入到 NCP 配置參數(shù)選項的協(xié)商,直至所經(jīng)歷的.幾個配置過18程全部完成后,點對點的雙方就可以開始通過己建立好的鏈路進行網(wǎng)絡層數(shù)據(jù)報文的傳送了,整個鏈路就處于可用狀態(tài)。只有當任何一端收 LCP 或 NCP 的鏈路關閉報文時(一般而一言協(xié)議是不要求 NCP 有關閉鏈路的能力的,因此通過情況下關閉鏈路的數(shù)據(jù)報文是在 LCP 協(xié)商階段或應用程序會話階段發(fā)出的);物理層無法檢測到載波或管理人員對該鏈路進行關閉操作,都會將該條鏈路斷開,從而終止 PPP 會話。2.6.2 PPP 協(xié)議的實現(xiàn)如果使用公開的 PPP 代碼實現(xiàn) PPP 協(xié)議,那么針對操作系統(tǒng)而進行的移植工作不僅需要熟練的技術,而且需要較長的時間。鑒于此,決定選用成熟的PPP 產(chǎn)品。由于嵌入式操作系統(tǒng)選用的是 Linux 所以可以使用 Linux 中己經(jīng)實現(xiàn)的PPP服務功能,在 Linux 下對 PPP 的支持需要在內核編譯時配置內核選項Networking support 加入對 PPP(Point 一 to 一 point)support 等選項。同時,由于在設計中加入了虛擬串口的支持,可采用 Linux 上很多現(xiàn)有的應用程序,在嵌入式藍牙網(wǎng)關(LAF 端)可以使用 Linux 操作系統(tǒng)上的 mgetty+AutoPPP 來接收進入的連接請求,使用 pppd+kppp 來構建客戶端,從而實現(xiàn)網(wǎng)關與數(shù)據(jù)終端PPP 連接。2.7 數(shù)據(jù)終端對局域網(wǎng)的訪問當 LAP 與 DT 間建立 PPP 鏈路后,在鏈路的兩端將產(chǎn)生一對 IP 地址,這是由 PPP 協(xié)議中的網(wǎng)絡控制協(xié)議 (NCP)分配協(xié)商得到的。但這里的 IP 地址與一般意義上的 Iternet 上的 IP 地址是不同的。這里每個撥號網(wǎng)絡終端的 IP 地址是由 LAP(PPP Server)臨時動態(tài)分配的。每個終端在連接過程中擁有 IP 地址,在連接結束時釋放,從而可以再被分配給其他的終端。但是,這樣通過 LAP 上網(wǎng)的 DT 來說,其 IP 地址對網(wǎng)絡是不可見的,可以說是虛擬的 IP 地址,只有 LAP 才能從外部獲得一個真正有效的 IP 地址。因此,為了與局域網(wǎng)進行通信,必須在 LAP 端設置地址轉換功能。對于 DT端向外發(fā)送的 IP 包,將源地址轉成 LAP 端的有效 IP 地址,而由局域網(wǎng)發(fā)回的 IP 包,則將其目的地址轉換為響應的內部 IP 地址。在多對一的情況下,為了能區(qū)分發(fā)送到不同 DT 的數(shù)據(jù)包,可以在 LAP 端設置一個地址轉換表,將不同的 DT 發(fā)到外部的 IP 包對應于 LAP 上不同的虛擬串口端口送出,而從局域網(wǎng)發(fā)回的 IP 包而可以按照此表,對應到相應的 DT,從而實現(xiàn)多個 DT 通過19LAP 訪問局域網(wǎng)。2.8 本章小結本章是嵌入式藍牙網(wǎng)關的所有內容,深入研究了藍牙協(xié)議棧中 L2CAP 協(xié)議、RFCOMM 協(xié)議、SDP 協(xié)議,對各層協(xié)議的數(shù)據(jù)處理方式、實現(xiàn)流程、狀態(tài)轉移做出詳盡的分析。同時,在 RFCOMM 層上建立虛擬串口作為數(shù)據(jù)中繼,實現(xiàn)與上層應用程序的連接,最后,研究了藍牙規(guī)范中局域網(wǎng)接入模型的實現(xiàn)。第 3 章 水溫藍牙無線傳感器3.1 單片機簡介單片機全稱為單片微型計算機。單片機發(fā)展始于 70 年代,經(jīng)過 30 多年的發(fā)展,由于其具有高集成度、低功耗、工作電壓范圍寬、價格便宜、使用方便等諸多優(yōu)點而在廣泛使用。到目前為止將單片機發(fā)展階段分為三個階段,分別為初級階段、高性能階段、以及高位單片機的推出。通常單片機內部含有中央處理部件(CPU) 、數(shù)據(jù)存儲器(RAM ) 、程序存儲器( ROM、EPROM 、Flash ROM) 、定時器、計數(shù)器和各種輸入輸出接口等。目前 8 位單片機是目前品種最豐富、應用最廣泛的單片機。今天我所使用的就其中比較典型的一種 8 位單片機 AT89C52。3.2 基于單片機和溫度傳感器設計數(shù)字溫度計的發(fā)展現(xiàn)狀隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。檢測是控制的基礎和前提,而檢測的精度必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學技術領域無時不在進行檢測??茖W技術的發(fā)展和檢測技術的發(fā)展是密切相關的?,F(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學技術的發(fā)展水平。同時,科學技術的發(fā)展達到的水平越高,又為檢測技術、傳感器技術提供了新的前提手段。目前溫度計的發(fā)展很快,從原20始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。目前的溫度計中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。傳感器應用極其廣泛,目前已經(jīng)研制出多種新型傳感器。3.3 電路介紹該電路是由 18B20 溫度傳感器作為溫度傳感元件,并由 AT89C52 單片機進行數(shù)據(jù)處理輸出,有藍牙模塊與計算機進行數(shù)據(jù)傳輸,此電路可由外接 3V---12V 的直流電電源提供。 溫度顯示和控制的范圍為: 55℃----125 ℃之間,精確度到達 1℃,即數(shù)碼管顯示溫度為整數(shù)。如果設定的報警溫度為 30℃,則當溫度到達 30℃的時候,報警發(fā)光二極管發(fā)光同時蜂鳴器發(fā)出響聲,此時繼電器發(fā)生動作。如果不需要對溫度控制報警,可以將報警溫度設置提高。如果是為了控制局部溫度,可以把 18B20 用引線引出,但是距離不宜過大,注意引腳要絕緣。3.4 制作所需電子元件及其功能表 3-1 制作所需原件及其功能電子元件名稱 規(guī)格 編號 主要功能作用電容 30p C1、C2 單片機的時鐘振蕩電容 10uf C3 單片機復位溫度傳感器 DS18B20 IC2 感應溫度變化數(shù)據(jù)采集單片機 AT89c52 IC1 數(shù)據(jù)處理傳輸?shù)入娮?10K R1 單片機復位電源 5VUSB 開關電源 開關電源晶體 12M CRYSTAL 單片機的時鐘震蕩3.5 溫度傳感器總體設計此次所討論的數(shù)字水溫藍牙無線傳感器主要應用單片機技術、溫度傳感器技術、藍牙無線傳輸技術等,把所有硬件集成在一起以便于在工程施工現(xiàn)場應用。先由溫度傳感器將工程機械的實時溫度采集處理傳送給單片機,單片機經(jīng)過儲存經(jīng)由藍牙模塊與計算機連接,最后現(xiàn)場工作人員根據(jù)計算機顯示的數(shù)據(jù)21判斷工程機械的工作狀態(tài)是否正常以便采取及時的措施。3.5.1 硬件說明傳感器的選擇設計單片機數(shù)字溫度計需要考慮以下 3 個方面 ①溫度傳感器的選擇②溫度傳感器的選擇③單片機和溫度傳感器的接口電路; 控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖纹瑱C的接口信號是數(shù)字信號。要想用單片機獲取溫度這類非電信號的信息,必須使用溫度傳感器, 將溫度信息轉換為電流或電壓輸出。如果轉換后的電流或電壓輸出是模擬信號, 還必須進行 A/D 轉換,以滿足單片機接口的需要。傳統(tǒng)的溫度檢測大多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度準確率低 ,而且還必須經(jīng)專門的接口電路轉換成數(shù)字信號后才能由單片機進行處理。20 世紀90 年代中期出現(xiàn)了智能溫度傳感器(亦稱數(shù)字溫度傳感器)。智能溫度傳感器的內部都包含溫度傳感器、A/D 轉換器、信號處理器、存儲器 (或寄存器)和接口電路, 其特點是能直接輸出數(shù)字化的溫度數(shù)據(jù)及相關的溫度控制量, 適配各種微控制器(MCU )。其中 DS18B20 就是一種應用相當廣泛的單總線數(shù)字溫度傳感器,它結構簡單、不需外接元件,采用一根 I/O 數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)、并可設置溫度報警界限等特點,廣泛用于工業(yè)、民用等領域的溫度測量中。3.5.2 水溫藍牙無線傳感器總體結構框圖圖 3-1 水溫藍牙無線傳感器總體結構圖3.5.3 DS18B20 的介紹DS18B20 是單總線數(shù)字化智能集成溫度傳感器。單總線它采用單根信號線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,具有節(jié)省 I/O 口線資源、結構簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。與其它溫度傳感器相比,DS18B20 具有以下特性:① 獨特的單線接口方式,在與微處理器連接時僅需要一條接口線即可實現(xiàn)微處理器與 DS18B20 的雙向通信。②DS18B20 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的信號線上 ,實現(xiàn)多點測溫。③DS18B20在使用中不需要任何外圍元件。④測溫范圍-55℃~+125℃,固有測溫分辨率溫度傳感器單片機藍牙模塊計算機220·625℃ 。⑤測量結果以 9~12 位數(shù)字量方式串行傳送。 DS18B20 內部結構 DS18B20 內部結構主要由四部分組成:64 位光刻 ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL,高速暫存器。64 位光刻 ROM 是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列號。 DS18B20 的管腳排列如圖所示。 圖 3-2 DS18B20 引腳分布圖引腳功能如下NC:空引腳,懸空不使用; VDD:可選電源腳,電源電壓范圍 3~5.5V。工作于寄生電源時,此引腳應接地; DQ:數(shù)據(jù)輸入/輸出腳, 漏極開路,常態(tài)下高電平。 DSl8820 的核心功能部件是它的數(shù)字溫度傳感器,其分辨率可配置為 9、10、11和 12 位,出廠默認設置為 12 位分辨率,對應的溫度值分辨率分別為0.5、0.25、0.125 和 0.0625。溫度信息的低位、高位節(jié)內容中,還包括了符號位S(是正溫度還是負溫度)和二進制小數(shù)部分。3.6 單片機的選擇AT89C52 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8 位單片機.片內含8K byTES 的可反復擦寫的只讀程序存儲器( PEROM)和 256 byTES 。的隨機存取數(shù)據(jù)存儲器(RAM),器件采用 ATMEL 公司的高密度、非易失性存儲技術生產(chǎn),與標準 MCS-51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容,片內置通用 8 位中央處理器(CPU )和 FLASH 由存儲單元,功能強大 AT89C52 單片適用于許多較為復雜控制應用場合。89C52 單片機中文資料主要性能參數(shù):與 Mcs-51 產(chǎn)品指令和引腳完全兼容。8 字節(jié)可重擦寫 FLASH 閃速存儲器1000 次擦寫周期23全靜態(tài)操作:0HZ-24MHZ三級加密程序存儲器256X8 字節(jié)內部 RAM32 個可編程 I/0 口線3 個 16 位定時/計數(shù)器8 個中斷源功能特性:AT89C52 提供以下標準功能:8 字節(jié) FLASH 閃速存儲器,256 字竹內部 RAM , 32 個 I/O 口線,3 個 16 位定時/計數(shù)器,一個 6 向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89c52 可降至 OHz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式。空閑方式停止 CPU 的工作,但允許 RAM,定時/計數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。3.7 數(shù)據(jù)的讀取大致流程圖如圖:開始鍵盤掃描鍵盤掃描相關參數(shù)設置溫度檢測溫度顯示報警結束并顯示溫度超過極限?24圖 3-2 數(shù)據(jù)讀取流程圖3.8 DS18B20單片機實現(xiàn)溫度轉換讀取溫度數(shù)值程序的流程圖如圖:否是否 是延時開始初始化 DS18B20應答脈沖發(fā)起讀取的命令發(fā)起轉換命令延時 1s 等待溫度轉換完成初始化 DS18B20應答脈沖發(fā)起讀取命令25圖 3-3 單片機實現(xiàn)溫度轉換讀取溫度數(shù)值程序的流程圖3.9 藍牙模塊的選擇BF10-A 藍牙通信 模塊為深圳藍色飛舞科技有限公司自主開發(fā)的智能型無線數(shù)據(jù)傳輸產(chǎn)品,是一款非常方便用戶使用 AT 命令進行修改藍牙參數(shù)的模塊。 BF10-A 模塊支持: 1200bps~2764800bps 等多種接口波特率。 修改波特率、藍牙名稱、設備類型碼及配對碼 支持主從模式,靈活用在不同領域 SPP 藍牙串行服務,非常方便和手機、PC 等連接 更詳細參數(shù)參考藍牙模塊 BF10 手冊 技術特征 :工作頻段:2.40 GHz ?2.48GHz 藍牙規(guī)范:v2.0 Compliant+EDR EDRV2.0,最高可支持 3M 調制模式 支持 7 個從設備 USB 2.0 和 UART 接口 低電壓電源,2.7V to 3.6V 正常供給電壓:3.3±0.1V 內置 8Mbit Flash 工業(yè)級設計尺寸:27 x 14 x 2.5mm 可以替代串口線操作 可以與手機藍牙進行串行通信3.10 本章小結水溫藍牙無線傳感器的設計主要在于單片機和傳感器的選擇,因為施工現(xiàn)場條件有限,所以藍牙無線傳輸起了很大作用,對及時的故障診斷與解決起決讀取第一二字節(jié)即為溫度數(shù)據(jù)26定性作用。第 4 章 藍牙網(wǎng)絡及拓撲結構4.1 藍牙微微網(wǎng)藍牙系統(tǒng)包括點對點連接方式和點到多點連接方式。在點到多點的連接方式中,多個藍牙單元共享通信信道。共享通信信道的藍牙單元構成微微網(wǎng),微微網(wǎng)中的成員設備之間采用藍牙無線通信技術進行通信。在藍牙射頻操作中的跳頻同步序列系統(tǒng)(FHSS),通信信道是由已定義的偽隨機跳頻序列組成,跳頻速率為 1600 跳/秒。基帶操作定義了微微網(wǎng)的跳頻序列是如何產(chǎn)生,設備如何獲知并遵循跳頻序列并隨即加入微微網(wǎng),在微微網(wǎng)中的設備如何以同等通信方式發(fā)送和接收數(shù)據(jù)分組。藍牙微微網(wǎng)以一種特殊的方式形成,不依賴于蜂窩網(wǎng)絡中的基站或 WLAN 網(wǎng)絡等設備的專門支持,設備之間可以通過查詢方式相互通信?;鶐f(xié)議建立了規(guī)則,按照這些規(guī)則建立了一些特殊連接,設備以同等方式相互通信。藍牙最基本的網(wǎng)絡組成是微微網(wǎng)(Pico net),同一微微網(wǎng)上的單元之間共享一條信道,一個微微網(wǎng)必須有而且只有一個主單元(master unit),其余為從單元(slave unit),主單元控制微微網(wǎng)從建立到數(shù)據(jù)傳送以及到最后結束通信的整個過程,如圖 3-1 所示。主單元從單元從單元從單元 從單元從單元從單元27圖 4-1 藍牙微微網(wǎng)結構為了簡化網(wǎng)絡的控制,藍牙限定了微微網(wǎng)的單元數(shù)量,同一時間一個微微網(wǎng)最多只可以有 7 個從單元處于活動狀態(tài),其余從單元處于休眠狀態(tài)。4.2 藍牙散射網(wǎng)為了消除限制數(shù)量對通信的影響,也為了提高頻譜的利用效率,藍牙允許同一區(qū)域同時存在多個微微網(wǎng),這樣的多個微微網(wǎng)就構成一個分布式散射網(wǎng)(Scatter net),如圖 3-2 所示。各微微網(wǎng)擁有自己的信道,微微網(wǎng)之間不做任何協(xié)調。這樣藍牙利用簡單的網(wǎng)絡控制就達到多對多的通信。但也增加了藍牙器件之間相互干擾的可能性。微微網(wǎng)中的通信信道的跳頻序列是用微微網(wǎng)的偽隨機序列來定義,每個微微網(wǎng)信道的跳頻序列互不相同。由于微微網(wǎng)中數(shù)據(jù)傳輸?shù)奶l特性,同一區(qū)域可以同時存在多個在時間和空間上部分或完全重疊的微微網(wǎng),這幾個微微網(wǎng)就構成散射網(wǎng)。每個微微網(wǎng)有自己的主單元,跳頻序列相互獨立。各個微微網(wǎng)的跳頻序列和狀態(tài)由各自的主單元決定。○Master ●Slave圖 4-2 散射網(wǎng)結構當設備成為散射網(wǎng)的成員后,便可以在多個微微網(wǎng)中進行內部通信。一個微微網(wǎng)的主單元通過呼叫,可以使其他微微網(wǎng)的主單元或從單元成為這個微微網(wǎng)的一個從單元。另外,屬于某個微微網(wǎng)
收藏