畢業(yè)論文串口藍(lán)牙無線數(shù)據(jù)傳輸實驗_第1頁
畢業(yè)論文串口藍(lán)牙無線數(shù)據(jù)傳輸實驗_第2頁
畢業(yè)論文串口藍(lán)牙無線數(shù)據(jù)傳輸實驗_第3頁
畢業(yè)論文串口藍(lán)牙無線數(shù)據(jù)傳輸實驗_第4頁
畢業(yè)論文串口藍(lán)牙無線數(shù)據(jù)傳輸實驗_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計報告年級 09級 專業(yè) 集成電路設(shè)計與集成系統(tǒng) 班級 姓名 同組人姓名 無指導(dǎo)老師 周密 職稱 高工課程名稱 短距離無線通信實踐課程性質(zhì) 專業(yè)選修設(shè)計項目 串口藍(lán)牙無線數(shù)據(jù)傳輸實驗要求 選開1 設(shè)計目的1.1 針對數(shù)據(jù)采集場合電纜連接復(fù)雜、易受電磁干擾等問題,設(shè)計了一種基于csr公司的藍(lán)牙芯片(bc417143)進(jìn)行無線傳輸?shù)膯纹瑱C(jī)數(shù)據(jù)采集傳輸系統(tǒng),實現(xiàn)對現(xiàn)場數(shù)據(jù)的采集和短距離內(nèi)數(shù)據(jù)的無線傳輸;1.2 通過串口藍(lán)牙無線數(shù)據(jù)傳輸?shù)脑O(shè)計,掌握藍(lán)牙無線通信的原理;1.3 通過串口藍(lán)牙無線數(shù)據(jù)傳輸?shù)脑O(shè)計,掌握用protel軟件進(jìn)行電路原理圖的設(shè)計及繪制pcb圖。2 設(shè)計要求2.1通過查閱相關(guān)

2、資料,制定出設(shè)計方案; 2.2設(shè)計電路原理圖、設(shè)計pcb、做出pcb板,安裝焊接硬件;2.3設(shè)計軟件,進(jìn)行系統(tǒng)調(diào)試;2.4 通過設(shè)計出的串口藍(lán)牙數(shù)據(jù)傳輸系統(tǒng),實現(xiàn)對現(xiàn)場數(shù)據(jù)的采集和短距離內(nèi)數(shù)據(jù)的無線傳輸。3 課程設(shè)計的進(jìn)度安排3.1第一周至第二周,聯(lián)系導(dǎo)師,與導(dǎo)師見面,了解課程設(shè)計任務(wù);3.2第三周至第四周,查閱資料,制定計劃表,確定計劃方案,閱讀相關(guān)文件,撰寫開題報告;3.3第五周至第六周,繪制原理圖;3.4第七周至第八周,畫pcb板,購買元器件;3.5第九周至第十周,安裝、焊接硬件;3.6第十一周至第十二周,程序設(shè)計,系統(tǒng)調(diào)試;3.7第十三周至第十四周,撰寫論文設(shè)計報告。4 設(shè)計原理及結(jié)果

3、摘要:藍(lán)牙是一種低成本、低功耗的短距離無線通信標(biāo)準(zhǔn),它的目的是取代現(xiàn)有個人電腦與外部設(shè)備之間的有線連接,實現(xiàn)設(shè)備之間低成本的無線互連通信。本文針對數(shù)據(jù)采集場合電纜連接復(fù)雜、易受電磁干擾等問題,設(shè)計了一種基于csr公司的藍(lán)牙芯片(bc417143)進(jìn)行無線傳輸?shù)膯纹瑱C(jī)數(shù)據(jù)采集傳輸系統(tǒng),整個裝置由前端數(shù)據(jù)采集、傳送部分以及末端的數(shù)據(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)一步處理。實現(xiàn)了對現(xiàn)場數(shù)據(jù)的采集和短距離內(nèi)數(shù)據(jù)

4、的無線傳輸,解決復(fù)雜的電纜連接問題,使用方便,對于類似的數(shù)據(jù)采集傳輸系統(tǒng)的設(shè)計具有很好的借鑒意義。正文部分4.1藍(lán)牙技術(shù)概述藍(lán)牙技術(shù)(bluetooth)是近年來發(fā)展迅速,可以用來替代數(shù)字設(shè)備間有線電纜連接的短距離無線通信技術(shù),是一種使用電波的、 近距離的無線數(shù)據(jù)通信技術(shù)。傳輸速度為1mbps,傳輸距離為10米左右,工作頻段為全球統(tǒng)一開放的2.4ghz工業(yè)、科學(xué)和醫(yī)學(xué)頻段。利用“藍(lán)牙”技術(shù)能夠有效地簡化臺式電腦、筆記本電腦和移動電話等移動通信終端設(shè)備之間的通信, 從而使這些現(xiàn)代通信設(shè)備之間的數(shù)據(jù)傳輸變得更加迅速高效,并為無線通信拓寬道路。利用藍(lán)牙技術(shù)構(gòu)建數(shù)據(jù)采集無線傳輸模塊,與傳統(tǒng)的電線傳輸數(shù)

5、據(jù)相比,應(yīng)用籃牙技術(shù)的優(yōu)點主要有:(1)藍(lán)牙系統(tǒng)因采用了跳頻擴(kuò)頻技術(shù),故可以有效的提高數(shù)據(jù)傳輸?shù)陌踩院涂垢蓴_能力。(2)采用全球統(tǒng)一開放的頻段,全球范圍適用。(3)無需鋪設(shè)線纜,降低了改造成本,方便了使用人員。(4)可以建立臨時性的對等連接,進(jìn)行主從設(shè)備間一對一或一對多的連接,便于進(jìn)行集中控制。4.2 藍(lán)牙協(xié)議規(guī)范 藍(lán)牙協(xié)議是藍(lán)牙設(shè)備間交換信息所應(yīng)遵守的規(guī)則。與開放系統(tǒng)互聯(lián)(osi)模型一樣,藍(lán)牙技術(shù)的協(xié)議體系也采用了分層結(jié)構(gòu),從低層到高層形成了藍(lán)牙的協(xié)議棧,各層協(xié)議定義了所完成的功能和使用的數(shù)據(jù)分組格式。所有的藍(lán)牙設(shè)備制造廠商都必須嚴(yán)格遵守藍(lán)牙協(xié)議中的要求和規(guī)定,以保證藍(lán)牙產(chǎn)品間的互操作性

6、。4.2.1藍(lán)牙射頻協(xié)議藍(lán)牙技術(shù)誕生的初衷是以低功耗、低成本的無線接口取代現(xiàn)在紛繁復(fù)雜的有線接口。藍(lán)牙射頻部分不是重新開發(fā)的新技術(shù),而是采用了在技術(shù)和市場上已經(jīng)成熟的協(xié)議和算法。此部分介紹藍(lán)牙射頻協(xié)議規(guī)范,包括頻段和信道安排、射頻收發(fā)信機(jī)的性能、時隙與分組類型等。4.2.2 藍(lán)牙射頻協(xié)議規(guī)范4.2.2.1藍(lán)牙射頻概述射頻是指介于聲音頻率與紅外線頻率之間的電磁波頻率。對于無線通信系統(tǒng)而言,射頻部分就是通信系統(tǒng)的“空中接口”,不同廠商的設(shè)備要實現(xiàn)兼容或者互操作的基本要求就是射頻規(guī)范的統(tǒng)一,而且通信質(zhì)量也是由射頻來決定。藍(lán)牙射頻規(guī)范規(guī)定了藍(lán)牙射頻頻段、調(diào)制方式、跳頻頻率、發(fā)射功率、接收機(jī)靈度等參數(shù)。

7、藍(lán)牙射頻部分在藍(lán)牙協(xié)議堆棧中的位置和基本功能如下圖4-1所示。藍(lán)牙主機(jī)應(yīng)用程序高層協(xié)議主機(jī)控制器接口主機(jī)控制器鏈路管理器基帶與鏈路控制藍(lán)牙音頻射頻 藍(lán)牙模塊藍(lán)牙設(shè)備天線載波產(chǎn)生信號調(diào)制數(shù)據(jù)收發(fā)功率控制信號強(qiáng)度藍(lán)牙射頻圖4-1 藍(lán)牙射頻在藍(lán)牙協(xié)議堆棧中的位置4.2.2.2頻段和信道安排藍(lán)牙工作在無需許可證的2.4ghz ism頻段上。表4-1列出了目前世界上各個國家的藍(lán)牙頻段和信道頻率。藍(lán)牙采用了跳頻擴(kuò)譜技術(shù)主動地去避免工作頻段受干擾(來自微波爐、無線局域網(wǎng)設(shè)備等)。表4-1 藍(lán)牙頻段分配地理位置ism頻段范圍射頻信道頻率中國、美國、歐洲2400.02483.5mhzf=(2402+k)mhz;

8、k在0、1-78中隨機(jī)取值法國2446.52483.5mhzf=(2454+k)mhz;k在0、1-22中隨機(jī)取值日本2471.02497.0mhzf=(2473+k)mhz;k在0、1-22中隨機(jī)取值西班牙2445.02475.0mhzf=(2449+k)mhz;k在0、1-22中隨機(jī)取值我國的藍(lán)牙射頻頻段最低頻率2.402ghz,最高頻率為2.48ghz。藍(lán)牙每個頻道帶寬為1mhz,相鄰頻道中心頻率間隔為1mhz。為減少帶外的輻射和干擾,保留的上、下保護(hù)頻帶分別為3.5mhz和2mhz。79個跳頻頻點中至少有75個應(yīng)該偽隨機(jī)地進(jìn)行跳變,在一個30秒的時間段內(nèi),任何一個頻點的使用時間不得超過

9、0.4s。4.2.2.3藍(lán)牙發(fā)射器性能根據(jù)藍(lán)牙發(fā)射器發(fā)射功率電平大小,藍(lán)牙設(shè)備有3個功率級別。1級功率的藍(lán)牙設(shè)備發(fā)射功率為100mw (20dbm);2級功率的藍(lán)牙設(shè)備反射功率為2.5mw(約4dbm);3級功率的藍(lán)牙設(shè)備發(fā)射功率為1mw(0dbm)。(1)藍(lán)牙射頻調(diào)制特性藍(lán)牙射頻采用的調(diào)制方式是高斯濾波的二進(jìn)制頻移鍵控(gaussian frequency shift keying,gfsk),碼元帶寬積bt=0.5,調(diào)整指數(shù)(modulation index)h=0.280.35。藍(lán)牙射頻數(shù)據(jù)速率為1mbps,最小頻偏不小于115khz,過零誤差小于1/8碼元周期。二進(jìn)制“1”用正頻偏表示

10、,“0”用負(fù)頻偏表示。符號定時(symbol timing)精度高于20ppm。發(fā)射序列1010的最小頻偏不小于發(fā)射序列00001111頻偏的80。(2)藍(lán)牙射頻的雜散輻射帶內(nèi)雜散輻射藍(lán)牙發(fā)射器信號必須通過一個頻譜整形器(frequency mask),其頻譜必須與美國聯(lián)邦通信委員會的20db帶寬定義相一致,并且根據(jù)fcc的標(biāo)準(zhǔn)進(jìn)行測量。除了fcc的要求,鄰信道功率也作了定義。發(fā)射功率在100khz帶寬上進(jìn)行,發(fā)射器在信道m(xù)上發(fā)射一個偽隨機(jī)序列,鄰信道功率在信道n上測量。發(fā)送頻譜整形的要求如表4-2所示。表4-2發(fā)送頻譜整形的要求頻偏發(fā)送功率/dbm550khz-20|m-n|=2-20|m-

11、n|3-40帶外雜散輻射藍(lán)牙射頻的帶外雜散輻射功率的測試在100khz上進(jìn)行,測試要求如表4-3所示。表4-3帶外雜散輻射要求頻段運(yùn)行模式空閑模式301000mhz-36dbm-57dbm112.75ghz-30dbm-47dbm1.81.9ghz-47dbm-47dbm5.155.3ghz-47dbm-47dbm藍(lán)牙射頻的初始發(fā)送頻率在中心頻點fo附近75khz范圍內(nèi)。表4-4是同一藍(lán)牙分組內(nèi)的頻率漂移。 表4-4 同一個分組內(nèi)的頻率漂移分組類型頻率漂移單時隙25khz三時隙40hz五時隙40hz最大偏移率400khz4.2.2.4藍(lán)牙接受器性能(1)測試接收器的參考信號 參考信號為gfsk

12、已調(diào)信號,調(diào)制指數(shù)h=0.32(11),碼元帶寬積bt=0.5(11),比特率=mbps,頻率偏移不大于,調(diào)制序列為偽隨機(jī)二進(jìn)制序列(pseudo random binary sequence)prbs9,干擾調(diào)制序列為偽隨機(jī)二進(jìn)制序列prbs15。(2)接收器的實際靈敏度實際靈敏度為藍(lán)牙通信系統(tǒng)誤比特率達(dá)到1時所需要的輸入電平,藍(lán)牙接收機(jī)靈敏度應(yīng)該優(yōu)于-70dbm。(3)干擾性能干擾性能測量的條件是:同信道及相鄰1mhz,2mhz信道上的信號比參考靈敏度高10dbm以上,其它頻率時信號比參考靈敏度高3db。表4-5列出了所要求的信干比。有用信號的2mhz之外允許存在5個不符合要求的雜散頻率,

13、它們應(yīng)該滿足放寬的干擾性能(信干比c/i=-17db)。表4-5 要求的信噪比測試信道信噪比同信道干擾111mhz鄰信道干擾02mhz鄰信道干擾-303mhz鄰信道干擾-40鏡像信道干擾-901mhz鄰信道與帶內(nèi)鏡像信道干擾-20(4)接收信號強(qiáng)度指示 通過對接收到的信號與兩個門限電平進(jìn)行比較得到接收信號強(qiáng)度指示rssi。在這兩個門限之間是信號最佳接收范圍,如圖4-2所示。高門限低門限206db最大值= 56db最小值=高出實際接收機(jī)靈敏度6db圖4-2 rssi的動態(tài)范圍和精度發(fā)射器的功率和接收靈敏度可以決定無線設(shè)備的成本和便攜性。例如無線局域網(wǎng)設(shè)備的發(fā)射功率是2030dbm(約1w),設(shè)備

14、的體積和功耗都非常大,不適合于大多數(shù)功率受限的個人設(shè)備和便攜式設(shè)備,這些設(shè)備接收靈敏度也遠(yuǎn)遠(yuǎn)低于802.11的無線接收機(jī)。相對于無線局域網(wǎng)設(shè)備來說,藍(lán)牙設(shè)備能夠以較低的成本完成簡單的無線傳輸。4.2.3藍(lán)牙基帶收發(fā)定時藍(lán)牙射頻收發(fā)器采用時分雙工(tdd)機(jī)制,tdd定時的精確性取決于藍(lán)牙設(shè)備所處的模式(指理想的收發(fā),忽略了定時抖動和時鐘頻率的不穩(wěn)定性)。主設(shè)備發(fā)送分組的平均定時相對漂移(相對于理想的625us時隙)不能超過20ppm(百萬分之二十),瞬時定時不能偏離平均定時1us。4.2.3.1主從設(shè)備定時同步微微網(wǎng)使用主設(shè)備系統(tǒng)本地時鐘(clkn)進(jìn)行同步。微微網(wǎng)存在期間,主設(shè)備時鐘不進(jìn)行調(diào)

15、整。主設(shè)備發(fā)送(tx)定時嚴(yán)格依賴于主設(shè)備時鐘,因此主設(shè)備在連續(xù)的發(fā)送之間必須保持一個精確的m1250us間隔(m是自然數(shù))。主設(shè)備接收(rx)定時依賴于主設(shè)備tx定時,rx偏移為n625us(n是正奇數(shù))。對于主設(shè)備rx定時,主設(shè)備使用寬度為10us的漂移窗口。允許從設(shè)備有一定的tx定時偏差。主設(shè)備將在接收某一個特定分組之前調(diào)制rx定時,但不調(diào)整后續(xù)收發(fā)定時。從設(shè)備調(diào)整自身時鐘與主設(shè)備時鐘同步。從設(shè)備每收到一個分組,它與主設(shè)備的時鐘偏移量就進(jìn)行更新,通過比較收到分組的rx時刻與自身估計rx時刻,從設(shè)備糾正時鐘偏移誤差。由于同步從設(shè)備的過程只需要信道接入碼(cac),所以從設(shè)備rx時鐘可以通過

16、主從時隙發(fā)送的任何分組進(jìn)行調(diào)整。從設(shè)備tx定時必須基于最近一次從設(shè)備rx定時,rx定時基于主從時隙的最近一次成功的通信。對于acl鏈路,這次通信一定發(fā)生在當(dāng)前從設(shè)備發(fā)送之前的主從時隙上;對于sco鏈路,該通信可能發(fā)生在幾個主從時隙之前,因為從設(shè)備允許即使在主從時隙之前沒有收到分組也發(fā)送一個sco分組。只要定時誤差在寬度為10us的漂移窗口內(nèi),從設(shè)備就能夠接收一個分組并能調(diào)整分組。若激活從設(shè)備在一段時間內(nèi)無法接收到來自主設(shè)備的合法cac,它將增加漂移窗口寬度或使用預(yù)測定時漂移來增加接收主設(shè)備分組的概率。4.2.3.2 連接狀態(tài)藍(lán)牙收發(fā)器在連接狀態(tài)交替的進(jìn)行收發(fā)操作,如圖4-3所示。圖4-3只給出

17、了單時隙分組的情況,根據(jù)分組類型和有效載荷,分組能夠占用至多366us(即單時隙分組最多366bit),每個rx和tx在不同的跳頻頻率上進(jìn)行。1250us625us主設(shè)備從設(shè)備主tx時隙主rx時隙主tx時隙g(2m)10us g(2m+1)g(2m+2)=366us10us從rx時隙從rx時隙從tx時隙圖4-3 單時隙分組連接模式下主從設(shè)備收發(fā)定時在rx時隙的開始,接收相關(guān)器在不確定窗口中尋找正確的cac,如果沒有觸發(fā)事件發(fā)生,接收器進(jìn)入休眠狀態(tài),直到下一個rx事件發(fā)生;如果觸發(fā)事件發(fā)生,接收機(jī)保持接收狀態(tài),并接收后面的分組。4.2.3.3 從保持模式返回到激活模式保持模式中的收發(fā)器即不發(fā)送也

18、不接收數(shù)據(jù),當(dāng)從保持模式返回到連接模式時,從設(shè)備在發(fā)送信息之前必須偵聽主設(shè)備,在這種情況下,查找窗口可以從20us增加到xus,如圖4-4所示。為了減少同步時間,當(dāng)從保持模式返回激活模式時,建議使用單時隙分組,特別是當(dāng)常時間保持后,查找窗口可以超過625us。xus625us預(yù)計主設(shè)備tx時刻圖4-4 設(shè)備由保持模式返回的接收定時4.2.3.4 解除休眠、呼吸模式休眠和呼吸這兩種模式與保持模式相似。處于休眠或者呼吸模式的從設(shè)備周期性地醒來,偵聽主設(shè)備信號以便重新調(diào)整自身時鐘。和由保持模式返回激活模式時相同,從設(shè)備從休眠或呼吸模式醒來時也要增加查詢窗口,從10us增加到xus。4.2.3.5 尋

19、呼狀態(tài)進(jìn)行尋呼的主設(shè)備向要連接的從設(shè)備發(fā)送相應(yīng)的接入碼(通過id分組),發(fā)送過程快且使用多個不同的頻率。因為id分組非常短,跳頻速率可以從1600跳/s增加到3200跳/s。一個tx時隙內(nèi)進(jìn)行尋呼的主設(shè)備使用兩個頻率,一個rx時隙從設(shè)備要在兩個頻點上進(jìn)行接收,如圖4-5所示。f (k+1)10us625us312.5ustx時隙rx時隙f(k)f(k+1)ktx時隙f (k)68usf(k+2)f(k+3)圖4-5 尋呼模式的收發(fā)定時4.2.3.6 fhs分組在連接建立階段和在主從轉(zhuǎn)換時,主設(shè)備發(fā)送fhs分組到從設(shè)備,用于建立時間和頻率同步。當(dāng)從設(shè)備收到尋呼信息,就在625us后立即發(fā)送一個包

20、括id分組的響應(yīng)信息。主設(shè)備將在rx時隙后的tx時隙發(fā)送fhs分組,響應(yīng)信息和fhs分組之間的時間差依賴于從設(shè)備收到的尋呼信息的定時。圖4-6是從設(shè)備在主從的第一個頻點收到尋呼信息的情況,圖4-7是在第二個頻點收到尋呼信息的情況。在第一個尋呼信息和fhs分組間有1250的延遲。fhs主到從時隙從到主時隙主到從時隙主設(shè)備從設(shè)備625us312.5usf(k)68usf(k+1)f (k)f (k+1)圖4-6 第一個半時隙成功尋呼fhs分組定時fhs主到從時隙從到主時隙主到從時隙主設(shè)備從設(shè)備312.5usf (k)68usf(k+1)f (k)f (k+1)f(k+2)625us圖4-7 第二個

21、半時隙成功尋呼fhs分組定時4.2.3.7 多個從設(shè)備的收發(fā)定時當(dāng)有多個從設(shè)備時,從設(shè)備要分時地與主設(shè)備進(jìn)行通信。從設(shè)備只有當(dāng)收到帶有am_addr的分組時,才在下一個從主時隙中進(jìn)行響應(yīng)。在廣播信息的情況下,不允許返回響應(yīng)分組。多個從設(shè)備的收發(fā)定時如圖4-8所示。 主設(shè)備主設(shè)備從設(shè)備1從設(shè)備1從設(shè)備2從設(shè)備2txtxtxtxrxrxrxrxtxtxrxrxrxrxrxrxrxrxrxtx11111121112222222221 圖4-8 多個從設(shè)備收發(fā)定時4.2.4 藍(lán)牙主機(jī)控制器接口傳輸層4.2.4.1 hci傳輸層概述hci傳輸層是指藍(lán)牙主機(jī)和藍(lán)牙主機(jī)控制器之間相連的物理接口。目前,藍(lán)牙h

22、ci傳輸層的物理接口有通用串行總線usb、串行端口(rs232)、通用異歩收發(fā)器uart和個人計算機(jī)存儲卡國際協(xié)會(pc卡),藍(lán)牙設(shè)備可以采用一種或幾種不同的物理接口來實現(xiàn)通信。本部分只介紹hci的rs232傳輸層。4.2.4.2 hci的rs232傳輸層與藍(lán)牙usb傳輸層比較 hci指令分組、事件分組和數(shù)據(jù)分組經(jīng)過不同的usb端點傳輸,藍(lán)牙usb主機(jī)可以區(qū)分不同的hci分組類型,從而做出相應(yīng)的處理。但是對于rs232來說,所有數(shù)據(jù)收發(fā)都是分別經(jīng)過rx和tx兩條線,藍(lán)牙rs232主機(jī)無法區(qū)分接收到的hci分組究竟是哪一組分組,所以,通過藍(lán)牙rs232主機(jī)的hci分組必須附加特殊的標(biāo)志用于區(qū)分其

23、分組類型。這一特殊標(biāo)志就是藍(lán)牙hci rs232分組指示器,它附加于每一種對應(yīng)的hci分組的最前面。rs232分組頭列于表4-6當(dāng)中。表4-6 rs232分組指示器hci分組類型rs232分組指示器取值hci指令分組0x01hci acl數(shù)據(jù)分組0x02hci sco數(shù)據(jù)分組0x03hci事件分組0x04hci錯誤消息分組0x05hci協(xié)商分組0x06rs232的傳輸分組的結(jié)構(gòu)如圖4-9所示。當(dāng)一次發(fā)送一個以上的hci分組時,hci分組類型頭將8位的序列號增加1(除非該重發(fā)分組作為實現(xiàn)糾錯功能的一部分)。lsb msbrs232分組頭(8位)序列號(8位)hci分組/錯誤消息/協(xié)商分組的有效載

24、荷 圖4-9 rs232傳輸分組的結(jié)構(gòu)利用rs232接口進(jìn)行數(shù)據(jù)傳輸之前,在rs232接口兩端的設(shè)備應(yīng)該雙方協(xié)商波特率、奇偶校驗類型等接口參數(shù)。實際應(yīng)用中,主機(jī)最好采用主機(jī)控制器的默認(rèn)值。4.2.5系統(tǒng)結(jié)構(gòu)原理本課題以藍(lán)牙模塊csr 417143和單片機(jī)為主,設(shè)計了基于串口的藍(lán)牙無線數(shù)據(jù)傳輸系統(tǒng),整個裝置由前端數(shù)據(jù)采集、傳送部分以及末端的數(shù)據(jù)接受部分組成(如pc機(jī))。前端數(shù)據(jù)采集部分由位于現(xiàn)場的溫度傳感器18b20、信號放大電路、a/d轉(zhuǎn)換器、單片機(jī)、存儲器、串口通信等構(gòu)成,傳送部分主要利用自帶微帶天線的藍(lán)牙模塊進(jìn)行數(shù)據(jù)的無線傳輸;末端通過藍(lán)牙模塊、串口通信傳輸將數(shù)據(jù)送到上位pc機(jī)進(jìn)一步處理。

25、整個系統(tǒng)結(jié)構(gòu)框架圖如圖4-10所示。電源電路溫度傳感器信號放大器a/d轉(zhuǎn)換器下位機(jī)主控器at89c51數(shù)據(jù)存儲擴(kuò)展通信電平轉(zhuǎn)換藍(lán)牙模塊1晶振電路上位機(jī)通信電平轉(zhuǎn)換藍(lán)牙模塊2圖4-10 基于藍(lán)牙無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框架圖 藍(lán)牙模塊與at89c51串口之間采用藍(lán)牙模塊提供的rs232傳輸層接口實現(xiàn)通信,需要外接電路實現(xiàn)電平轉(zhuǎn)換。另外,為了將5v輸入電壓轉(zhuǎn)換為3.3v電壓,選用電源穩(wěn)壓芯片1117為藍(lán)牙模塊供電。at89c51與藍(lán)牙模塊的接口示意圖如圖4-11所示。at89c51txd(p31)rxd(p30)csr417rxdtxd圖4-11 at89c51與藍(lán)牙模塊的接口示意圖4.2.5.

26、1 串口藍(lán)牙無線數(shù)據(jù)傳輸硬件電路方案(1)csr417143 藍(lán)牙模塊資料藍(lán)牙串口核心模塊采用csr公司的bluecore4-external藍(lán)牙芯片,v2.0協(xié)議標(biāo)準(zhǔn),工業(yè)級標(biāo)準(zhǔn)26.9mm x 13 mm x 2.2mm,自帶高效板載天線,透明串口,可與各種藍(lán)牙適配器、藍(lán)牙手機(jī)配對使用,也可主從一對使用。如圖4-12所示。產(chǎn)品特點如下: 模塊中使用csr公司藍(lán)牙芯片bc417143 支持藍(lán)牙規(guī)范v2.0edr 支持piconect 和 scatternet 提供uart及全速usb v1.1/2.0標(biāo)準(zhǔn)接口 有效通訊速率到2.1mbps spi調(diào)試接口 可編程i/o口 13bit pcm語

27、音接口,用于外界codec芯片 用戶定制片內(nèi)軟件,即對應(yīng)各種應(yīng)用的profiles 50歐姆天線接口 圖4-12 csr417143 藍(lán)牙模塊(2)電路接口rs232串行口(ttl電平)、電源接口、連接狀態(tài)信號口、主機(jī)模塊含“放棄原記憶的從機(jī)模塊地址重新搜尋模塊”信號引腳。應(yīng)用方案如圖4-13所示。 圖4-13 rs232 串行口應(yīng)用方案(3)狀態(tài)說明該模塊使用分兩種方式:成對使用,一主一從,分別接串口(配對后,上電給單個模塊,閃得慢的為主機(jī),閃得快的為從機(jī),注:當(dāng)主模塊從未與從模塊配對過時為快閃)。主從成對使用不需要驅(qū)動程序,兩個模塊都上電就能傳輸;從機(jī)配合藍(lán)牙適配器使用,藍(lán)牙適配器需要驅(qū)動

28、程序??膳浜瞎P記本電腦、pda 、藍(lán)牙手機(jī)等設(shè)備直接使用。 模塊上的led燈頻閃狀態(tài)時表示正在配對。 常亮表示配對完畢,此時串口功能已經(jīng)啟動。 一主一從成對正常使用時燈不會滅。如主機(jī)和從機(jī)距離太遠(yuǎn)而斷線,則主機(jī)和從機(jī)的燈一直閃,如果它們距離再靠近,則又會找在一起而自動連上。主機(jī)會記憶它配好的從機(jī),一上電給主機(jī)就會找它記憶的從機(jī)地址,如果要主機(jī)配新的從機(jī),則按下s2按鍵,則主機(jī)會放棄原來配的從機(jī),重新尋找新的從機(jī)。(4)串口藍(lán)牙無線數(shù)據(jù)傳輸電路原理圖4-14和pcb圖4-15 圖4-14 藍(lán)牙應(yīng)用電路原理圖 圖4-15 藍(lán)牙應(yīng)用電路pcb圖(5)藍(lán)牙模塊應(yīng)用電路原理圖4-16和pcb圖4-17

29、圖4-16 藍(lán)牙模塊應(yīng)用電路原理圖圖4-17 藍(lán)牙模塊應(yīng)用電路pcb圖(6)藍(lán)牙spi下載線原理圖4-18 圖4-18 藍(lán)牙spi下載線原理圖(5)硬件結(jié)構(gòu)圖4-19 圖4-19 硬件結(jié)構(gòu)4.2.5.2 藍(lán)牙主機(jī)與從機(jī)固件燒寫和參數(shù)的修改(1)通過藍(lán)牙開發(fā)工具bluelab中的blue flash給藍(lán)牙燒寫主機(jī)和從機(jī)的應(yīng)用固件。過程如下圖4-20所示。圖4-20 燒寫主機(jī)和從機(jī)的應(yīng)用固件(2)通過藍(lán)牙開發(fā)工具bluelab中的pstool修改藍(lán)牙參數(shù),例如藍(lán)牙名稱,波特率等。過程如下圖4-21所示。 圖4-21 修改藍(lán)牙參數(shù)4.2.5.3 數(shù)據(jù)采集和藍(lán)牙通信軟件實現(xiàn)本課題的軟件主要包括兩部分:

30、數(shù)據(jù)采集和藍(lán)牙通信。為了保證數(shù)據(jù)采集的實時性,數(shù)據(jù)采集部分采用匯編語言編程,單片機(jī)采用定時采樣,具體選擇定時方式2,定時為100微秒,定時結(jié)束后,進(jìn)行a/d轉(zhuǎn)換,單片機(jī)采用查詢的方式讀取18b20的轉(zhuǎn)換結(jié)果,然后將轉(zhuǎn)換后的數(shù)據(jù)存至外擴(kuò)存儲器6264中。另外,串行口工作在方式1,波特率為2400bps。藍(lán)牙通信部分利用主機(jī)控制器接口hci層建立點對點的藍(lán)牙異步無鏈接數(shù)據(jù)傳輸通道,當(dāng)兩個藍(lán)牙模塊鏈路建立成功后,就可以按照藍(lán)牙規(guī)范規(guī)定的hci數(shù)據(jù)分組格式收發(fā)數(shù)據(jù)。(1)溫度數(shù)據(jù)采集和顯示程序如下:;溫度傳感器18b20匯編程序,采用器件默認(rèn)的12位轉(zhuǎn)化,最大轉(zhuǎn)化時間750微秒,將溫度數(shù)據(jù)通過串口發(fā)送

31、出去,波特率2400,適合12晶振dot equ 30hzhengshu equ 31hflag1 equ 38h ;是否檢測到ds18b20的標(biāo)志位;定義溫度數(shù)據(jù)dis_1 equ 32h ;符號dis_2 equ 33h ;十位dis_3 equ 34h ;個位dis_4 equ 35h ;小數(shù)點后第一位dis_5 equ 36h ;小數(shù)點后第二位wddata bit p1.5 ;定義ds18b20的數(shù)據(jù)腳為p2.2端口 org 0000h;以下為主程序進(jìn)行cpu中斷方式設(shè)置clr ea ;關(guān)閉總中斷mov scon,#50h ;設(shè)置成串口1方式mov tmod,#20h ;波特率發(fā)生器t

32、1工作在模式2上mov th1,#0f4h ;預(yù)置初值(按照波特率2400bps預(yù)置初值)mov tl1,#0f4h ;預(yù)置初值(按照波特率2400bps預(yù)置初值)setb tr1 ;啟動定時器t1;以上完成串口2400通訊初始化設(shè)置;-; 主程序;-main:lcall init_1820 ;調(diào)用復(fù)位ds18b20子程序main1:lcall get_temper;調(diào)用讀溫度子程序lcall formula ;通過公式計算,小數(shù)點后顯示兩位lcall bcdlcall display ;調(diào)用串口顯示子程序lcall delay500 ;延時0.5秒lcall delay500 ;延時0.5秒

33、lcall delay500 ;延時0.5秒ajmp main1;-; ds18b20復(fù)位初始化程序;-init_1820:setb wddatanopclr wddata;主機(jī)發(fā)出延時540微秒的復(fù)位低脈沖mov r0,#36lcall delaysetb wddata;然后拉高數(shù)據(jù)線nopnopmov r0,#36tsr2:jnb wddata,tsr3;等待ds18b20回應(yīng)djnz r0,tsr2ljmp tsr4 ; 延時tsr3:clr flag1 ; 置標(biāo)志位,表示ds1820存在 mov c,flag1 mov p0.0,c ;sjmp $ljmp tsr5tsr4:setb

34、flag1 ; 清標(biāo)志位,表示ds1820不存在ljmp tsr7tsr5:mov r0,#06bhtsr6:djnz r0,tsr6 ;復(fù)位成功!時序要求延時一段時間tsr7:setb wddataret;-; 讀出轉(zhuǎn)換后的溫度值;-get_temper:setb wddata ; 定時入口lcall init_1820 ;先復(fù)位ds18b20jnb flag1,tss2ret ; 判斷ds1820是否存在?若ds18b20不存在則返回tss2:mov a,#0cch ; 跳過rom匹配lcall write_1820mov a,#44h ; 發(fā)出溫度轉(zhuǎn)換命令lcall write_1820

35、mov r0,#50 ;等待ad轉(zhuǎn)換結(jié)束,12位的話750微秒.lcall delaylcall init_1820 ;準(zhǔn)備讀溫度前先復(fù)位mov a,#0cch ; 跳過rom匹配lcall write_1820mov a,#0beh ; 發(fā)出讀溫度命令lcall write_1820lcall read_18200; 將讀出的九個字節(jié)數(shù)據(jù)保存到60h-68hret;-;寫ds18b20的子程序(有具體的時序要求);-write_1820:mov r2,#8 ;一共8位數(shù)據(jù)clr c wr1:clr wddatamov r3,#6djnz r3,$rrc amov wddata,cmov r3

36、,#24djnz r3,$setb wddatanopdjnz r2,wr1setb wddataret;-; 讀ds18b20的程序,從ds18b20中讀出九個字節(jié)的數(shù)據(jù);-read_18200:mov r4,#9mov r1,#60h ; 存入60h開始的九個單元re00:mov r2,#8re01:clr csetb wddatanopnopclr wddatanopnopnopsetb wddatamov r3,#09re10:djnz r3,re10mov c,wddatamov r3,#23re20:djnz r3,re20rrc adjnz r2,re01mov r1,ainc

37、r1djnz r4,re00ret;-;溫度計算子程序;-formula: ; 按公式:t實際=(t整數(shù)-0.25)+( m每度-m剩余)/ m每度;計算出實際溫度,整數(shù)部分和小數(shù)部分分別存于zhengshu單元和dot單元;將61h中的低4位移入60h中的高4位,得到溫度的整數(shù)部分,并存于zhengshu單元mov 29h,61hmov a,60hmov c,48hrrc amov c,49hrrc amov c,4ahrrc amov c,4bhrrc amov zhengshu,a; ( m每度-m剩余)/ m每度,小數(shù)值存于a中mov a,67hsubb a,66hmov b,#64h

38、mul abmov r4,bmov r5,amov r7,67hlcall div457mov a,r3;再減去0.25,實際應(yīng)用中減去25subb a,#19hmov dot,a ;小數(shù)部分存于dot中mov a,zhengshusubb a,#00h ;整數(shù)部分減去來自小數(shù)部分的借位mov zhengshu,amov c,4bhjnc zheng ;是否為負(fù)數(shù)cpl ainc amov dis_1,#2dh ; 零度以下時,第一位顯示-號mov zhengshu,azheng:mov dis_1,#2bh ; 零度以上時,第一位顯示+號ret;-;雙字節(jié)除以單字節(jié)子程序;-div457:

39、clr cmov a,r4subb a,r7jc dv50setb ov ;商溢出retdv50: mov r6,#8 ;求平均值(r4r5r7r3)dv51: mov a,r5rlc amov r5,amov a,r4rlc amov r4,amov f0,cclr csubb a,r7anl c,/f0jc dv52mov r4,adv52: cpl cmov a,r3rlc amov r3,adjnz r6,dv51mov a,r4 ;四舍五入add a,r4jc dv53subb a,r7jc dv54dv53: inc r3dv54: clr ovret;-;轉(zhuǎn)換成非壓縮的bcd碼;

40、-bcd: mov a,zhengshumov b,#0ahdiv aborl a,#00110000b ;轉(zhuǎn)換成ascii碼mov dis_2,amov dis_3,bmov a,dis_3orl a,#00110000b ;轉(zhuǎn)換成ascii碼mov dis_3,amov a,dotmov b,#0ahdiv aborl a,#00110000b ;轉(zhuǎn)換成ascii碼mov dis_4,amov dis_5,bmov a,dis_5orl a,#00110000b ;轉(zhuǎn)換成ascii碼mov dis_5,aret;-;串口顯示數(shù)據(jù)子程序;-display:clr timov a,dis_1m

41、ov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示+/-clr timov a,dis_2mov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示整數(shù)第一位clr timov a,dis_3mov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示整數(shù)第二位clr timov a,#2ehmov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示小數(shù)點clr timov a,dis_4mov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示小數(shù)第一位clr timov a,dis_5mov sbuf,ajnb ti

42、,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示小數(shù)第一位clr timov a,#0dh;回車mov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示clr timov a,#0ah;換行mov sbuf,ajnb ti,$ ;發(fā)送給pc,通過串口調(diào)試助手顯示ret;-;延時子程序;-;為保證ds18b20的嚴(yán)格i/o時序,需要做較精確的延時;在ds18b20操作中,用到的延時有15 s,90 s,270 s,540 s;因這些延時均為15 s的整數(shù)倍,因此可編寫一個delay15(n)函數(shù)delay: ;11.05962m晶振loop: mov r1,#06hloop1: djnz

43、 r1,loop1djnz r0,loopret;500毫秒延時子程序,占用r4、r5delay500:mov r4,#248da222:mov r5,#248djnz r5,$djnz r4,da222retend(2)兩個藍(lán)牙設(shè)備間進(jìn)行數(shù)據(jù)通信是通過hci分組實現(xiàn)的,hci作為藍(lán)牙軟件協(xié)議堆棧中軟硬件之間的接口,為上層提供了訪問和控制藍(lán)牙硬件的統(tǒng)一接口。hci是通過分組(packet)的方式來進(jìn)行信息交換的。hci分組有三種類型:指令分組(command packet)、事件分組(event packet)和數(shù)據(jù)分組(data packet)。主機(jī)與藍(lán)牙模塊用指令-應(yīng)答方式進(jìn)行通信,主機(jī)向

44、主機(jī)控制器發(fā)送指令分組;主機(jī)控制器執(zhí)行某一指令后,大多數(shù)情況下會返回給主機(jī)一個指令完成事件分組(command complete event packet),該分組攜帶有指令完成的信息。有些分組不會返回指令完成事件,而返回指令狀態(tài)事件分組(command status event packet)用以說明主機(jī)發(fā)出的指令己經(jīng)被主機(jī)控制器接收并開始處理。如果指令分組的參數(shù)有誤,返回的指令狀態(tài)事件分組就會給出相應(yīng)的錯誤代碼;數(shù)據(jù)分組分為異步無連接(asynchronous connectionless, acl)數(shù)據(jù)分組和同步面向連接(synchronization connection oriented, sco)數(shù)據(jù)分組兩種。在本課題中,僅涉及到數(shù)據(jù)通信,而沒有涉及到語音通信,因此建立的是acl鏈路。單片機(jī)與藍(lán)牙模塊的軟件接口,就是指單片機(jī)如何通過軟件實現(xiàn)向藍(lán)牙模塊發(fā)送hci指令,藍(lán)牙模塊又如何通過軟件向單片機(jī)返回hci事件以及兩者之間如何實現(xiàn)數(shù)據(jù)傳輸。單片機(jī)和藍(lá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

提交評論