<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式藍(lán)牙文件傳送方案的實現(xiàn)

          嵌入式藍(lán)牙文件傳送方案的實現(xiàn)

          作者: 時間:2010-04-07 來源:網(wǎng)絡(luò) 收藏
          是一種低成本、短距離無線通信技術(shù),工作頻段使用全球統(tǒng)一開放的2.4 GHz的ISM頻段[1],并將此頻段分為79個跳頻點(diǎn),采用跳頻技術(shù),增強(qiáng)了通信的可靠性。技術(shù)現(xiàn)已被廣泛應(yīng)用于無線通信領(lǐng)域中,如個人無線通信設(shè)備、無線網(wǎng)絡(luò)通信以及各種傳宣系統(tǒng)[2]。
           利用藍(lán)牙技術(shù)不同類型的是藍(lán)牙通信的重要應(yīng)用,而傳統(tǒng)的基于藍(lán)牙1.0規(guī)范的藍(lán)牙通信只支持單點(diǎn)傳輸,隨著藍(lán)牙技術(shù)的發(fā)展,藍(lán)牙2.0規(guī)范中增加了EDR(Enhance Data Rate)技術(shù),提高了藍(lán)牙數(shù)據(jù)傳輸?shù)耐掏铝?,為藍(lán)牙多點(diǎn)通信提供了條件。本文依據(jù)藍(lán)牙2.0規(guī)范,結(jié)合TDD技術(shù),在了單點(diǎn)的基礎(chǔ)上,成功完成了系統(tǒng)對遠(yuǎn)程藍(lán)牙設(shè)備的多點(diǎn),并應(yīng)用個人區(qū)域網(wǎng)絡(luò)技術(shù)系統(tǒng)與PC機(jī)之間的網(wǎng)絡(luò)文件傳送,擴(kuò)展了藍(lán)牙通信在網(wǎng)絡(luò)領(lǐng)域的應(yīng)用。藍(lán)牙文件傳送和網(wǎng)絡(luò)文件傳送功能為廣告產(chǎn)業(yè)及其他信息發(fā)布相關(guān)產(chǎn)業(yè)提供了廣闊的發(fā)展空間,具有良好的市場前景。
          1 設(shè)計概述
           設(shè)計以ARM系統(tǒng)作為硬件實現(xiàn)平臺,并基于Linux操作系統(tǒng),完成藍(lán)牙文件傳送方案。文件單點(diǎn)傳送方案依據(jù)對象協(xié)議OBEX(Object Exchange),利用藍(lán)牙官方協(xié)議棧BlueZ以及openobex上層應(yīng)用函數(shù)庫實現(xiàn)對象推送功能,從而完成對遠(yuǎn)程設(shè)備的文件單點(diǎn)傳送。文件多點(diǎn)傳送方案將在底層應(yīng)用全雙工時分復(fù)用(TDD)技術(shù)以及EDR(Enhance Data Rate)技術(shù)實現(xiàn)藍(lán)牙數(shù)據(jù)通道共享和寬帶、高吞吐量數(shù)據(jù)發(fā)送,在上層以文件單點(diǎn)傳送方案為基礎(chǔ),輔以嵌入式技術(shù)建立并管理多個文件發(fā)送進(jìn)程,完成文件向多個遠(yuǎn)程設(shè)備的同時發(fā)送,加入了重發(fā)機(jī)制以保證文件多點(diǎn)傳送的可靠性。此外,基于個人區(qū)域網(wǎng)絡(luò)技術(shù)的網(wǎng)絡(luò)文件傳送功能,使用戶可在PC機(jī)端以FTP方式訪問并更新嵌入式系統(tǒng)中的文件。
          2 方案硬件架構(gòu)
           本方案基于ARM硬件開發(fā)平臺,以SAMSUNG S3C2440作為核心處理器,并與64 MB SDRAM和64 MB Flash共同組成核心嵌入式系統(tǒng),運(yùn)行ARM-Linux-2.6.12內(nèi)核操作系統(tǒng),其中內(nèi)核配置藍(lán)牙子系統(tǒng),可為USB藍(lán)牙適配器提供驅(qū)動。藍(lán)牙適配器作為系統(tǒng)的核心通信部件接至USB Device接口,并通過適配器完成文件傳送功能。同時本硬件系統(tǒng)易于功能擴(kuò)展和系統(tǒng)移植,開發(fā)人員可通過USB Host接口將操作系統(tǒng)內(nèi)核以及上層應(yīng)用程序下載到SDRAM或燒寫至Flash中,并通過RS232串口對應(yīng)用程序進(jìn)程調(diào)試。硬件整體架構(gòu)如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/151967.htm


          3 方案軟件框架
           軟件框架主要由藍(lán)牙核心協(xié)議、會話層協(xié)議以及上層應(yīng)用程序構(gòu)成,如圖2所示。其中藍(lán)牙核心協(xié)議包括:RF協(xié)議、基帶(Baseband)協(xié)議、LMP、L2CAP,主要完成藍(lán)牙數(shù)據(jù)由邏輯鏈路層到實際物理通道的控制和處理。

           會話層協(xié)議將建立對應(yīng)功能的模型描述,并定義相關(guān)操作方法,為上層應(yīng)用程序提供接口。其中RFCOMM協(xié)議提供對基于L2CAP協(xié)議的串口仿真,基于ETSI07.10,可支持在兩個藍(lán)牙設(shè)備之間同時保持高達(dá)60路的通信連接。其次,本方案利用服務(wù)發(fā)現(xiàn)協(xié)議(SDP)獲取周邊藍(lán)牙設(shè)備服務(wù)信息,并自動篩選出帶有對象推送服務(wù)的遠(yuǎn)程設(shè)備作為發(fā)送目標(biāo),此協(xié)議由BlueZ所提供的接口函數(shù)實現(xiàn)。而OBEX作為實現(xiàn)文件傳送的核心協(xié)議,將為被傳送文件建立對象模型,并面向?qū)ο蠹皞魉瓦^程定義對應(yīng)操作方法,以實現(xiàn)文件傳送。PAN協(xié)議用于建立藍(lán)牙無線網(wǎng)絡(luò)與以太網(wǎng)之間的訪問點(diǎn),以完成與TCP/IP之間的無縫連接。
           上層應(yīng)用程序?qū)⒒趹?yīng)用層協(xié)議所提供的接口函數(shù),主要依據(jù)對象協(xié)議(OBEX)實現(xiàn)對象推送(OBEX PUSH)功能,從而完成文件的單點(diǎn)傳送,并在此基礎(chǔ)上,結(jié)合Linux多進(jìn)程技術(shù)實現(xiàn)文件多點(diǎn)傳送。此外,利用BlueZ提供的PAN工具實現(xiàn)嵌入式系統(tǒng)與PC機(jī)之間的組網(wǎng),完成網(wǎng)絡(luò)文件傳送功能。
          4 文件傳送功能實現(xiàn)
          4.1 文件單點(diǎn)傳送實現(xiàn)

           文件單點(diǎn)傳送是多點(diǎn)傳送的基礎(chǔ),也是本方案的核心技術(shù),并基于對象協(xié)議(OBEX)。應(yīng)用于藍(lán)牙系統(tǒng)的對象交換協(xié)議其目標(biāo)是完成兩藍(lán)牙設(shè)備間的數(shù)據(jù)對象通信,其典型應(yīng)用為實現(xiàn)對象推送功能。OBEX本身包括兩部分:數(shù)據(jù)對象模型和會話協(xié)議。對象模型包括將要傳輸?shù)臄?shù)據(jù)對象的各種信息以及數(shù)據(jù)對象本身。該模型的建立完全基于各種標(biāo)準(zhǔn)的或者用戶自定義的可分析的信息頭(headers),信息頭由信息頭ID和信息頭的值兩部分構(gòu)成,ID描述了信息頭的內(nèi)容及格式,信息頭的值由一個字節(jié)或多個字節(jié)組成,描述了對象屬性的具體含義。OBEX會話層操作由請求-應(yīng)答成對組成,由客戶端發(fā)出請求,服務(wù)器做出應(yīng)答,客戶端必須等待服務(wù)器做出應(yīng)答后才能發(fā)起新的請求。
           本方案利用openobex應(yīng)用函數(shù)庫實現(xiàn)了系統(tǒng)對某一遠(yuǎn)程設(shè)備的文件對象推送功能。openobex函數(shù)庫實現(xiàn)了OBEX協(xié)議的會話層操作及相應(yīng)對象模型描述。圖3顯示了完成對象推送功能的全過程。
           通過圖3所述過程,系統(tǒng)與目標(biāo)設(shè)備可完成一次文件單點(diǎn)傳送。在實現(xiàn)文件多點(diǎn)傳送時,可循環(huán)調(diào)用此過程,完成文件傳輸。

          4.2 文件多點(diǎn)傳送實現(xiàn)
          文件多點(diǎn)傳送基于單點(diǎn)傳送,并利用藍(lán)牙協(xié)議中的TDD技術(shù)和EDR技術(shù)實現(xiàn)了嵌入式系統(tǒng)向多個藍(lán)牙設(shè)備節(jié)點(diǎn)并發(fā)傳送文件的功能。同時利用多進(jìn)程技術(shù),對多個發(fā)送進(jìn)程進(jìn)行合理管理,保證文件能高效及時地被發(fā)送到遠(yuǎn)程設(shè)備中。其中采用TDD技術(shù),使多臺設(shè)備能夠共享一個物理通道[4],并將數(shù)據(jù)進(jìn)行分組,按時分復(fù)用方式發(fā)送。而EDR技術(shù)增加了藍(lán)牙數(shù)據(jù)的傳輸帶寬和傳輸吞吐量,從而提高了文件多點(diǎn)傳送的帶寬和吞吐量。
           多點(diǎn)傳送流程如圖4所示。首先由文件發(fā)送父進(jìn)程,根據(jù)查詢到的藍(lán)牙設(shè)備數(shù)目創(chuàng)建與之?dāng)?shù)目相等的文件發(fā)送子進(jìn)程,每個文件發(fā)送子進(jìn)程將獨(dú)立承擔(dān)向相應(yīng)藍(lán)牙設(shè)備發(fā)送文件的任務(wù),使文件向多臺設(shè)備同時進(jìn)行傳送。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();