便攜式無線數(shù)據(jù)采集終端設(shè)計.doc
《便攜式無線數(shù)據(jù)采集終端設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《便攜式無線數(shù)據(jù)采集終端設(shè)計.doc(51頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、安徽理工大學(xué)畢業(yè)設(shè)計 便攜式無線數(shù)據(jù)采集終端的設(shè)計 摘要 本文主要研究凌陽單片機與藍牙技術(shù)在數(shù)據(jù)采集與傳輸方面融合的應(yīng)用,實現(xiàn)基于藍牙協(xié)議的數(shù)據(jù)傳輸。首先,論文對凌陽單片機原理和應(yīng)用作了簡要介紹。其次,對藍牙協(xié)議棧中的基帶協(xié)議、主機控制接口協(xié)議(HCI)、邏輯鏈路控制協(xié)議與適配協(xié)議(L2CAP)以及它們的軟硬件實現(xiàn)進行了重點分析與研究。再次,提出了實現(xiàn)HCI的方案,具體對HCI功能規(guī)范進行說明,提供了系統(tǒng)流程、軟件接口、硬件接口和軟件模塊等的說明以及系統(tǒng)軟硬件的具體實現(xiàn)方法。最后基于以上研究,設(shè)計出系統(tǒng)硬件電路圖,并對電路圖中各個模塊進行描述,結(jié)合硬件電路給出系統(tǒng)運作的流程圖。在數(shù)據(jù)采集
2、技術(shù)上,采用溫度傳感器DS18B20對溫度信號實時采集。在無線傳輸技術(shù)上,采用基于日立萬勝藍牙模塊MBM02的藍牙技術(shù),在SPCE061A單片機與藍牙模塊硬件連接上采用UART口進行軟硬件融合。 關(guān)鍵詞:單片機;藍牙技術(shù);無線數(shù)據(jù)傳輸;SPCE061A;HCI;MBM02藍牙模塊;數(shù)據(jù)采集;UART; PORTABLE WIRELESS DATA COLLECTION TERMINAL DESIGN ABSTRACT This paper studies Sunplus MCU and Bluetooth te
3、chnology in data acquisition and transmission integration of applications to achieve data transmission based on Bluetooth protocol.First, the paper Sunplus SCM theory and application are briefly introduced.Secondly, the Bluetooth protocol stack in the baseband protocol, host control interface protoc
4、ol (HCI), Logical Link Control and Adaptation Protocol protocol (L2CAP) and their realization of the key hardware and software analysis and research.Again put forward proposals to achieve HCI, HCI functional specification for specific instructions on providing a system process, software interfaces,
5、hardware interfaces and software modules such as a description of the specific hardware and software realization.Finally, based on these studies, designed hardware circuit, and circuit description of the various modules, combined with operation of the system hardware circuit diagram are given.In dat
6、a acquisition technology, using temperature sensor DS18B20 real-time acquisition of the temperature signal.In wireless transmission technology, Hitachi Maxell Bluetooth module based on Bluetooth technology MBM02 in SPCE061A MCU hardware module with Bluetooth connection using UART port for software a
7、nd hardware integration. KEYWORDS:SCM;Bluetooth technology;Wireless data transmission;SPCE061A;HCI;MBM02 Bluetooth module;data collection;UART; 目錄 1 緒論 - 1 - 1.1 無線數(shù)據(jù)采集概述 - 1 - 1.2 藍牙技術(shù)概況 - 1 - 1.3 本文結(jié)構(gòu) - 2 - 2 凌陽單片機及其原理 - 4 - 2.1 凌陽單片機簡介 - 4 - 2.1.1 8位單片機 - 4 - 2.1.2 16
8、位單片機 - 4 - 2.2 SPCE061A內(nèi)核的硬件結(jié)構(gòu) - 5 - 2.2.1 寄存器組 - 7 - 2.2.2 數(shù)據(jù)總線和地址總線 - 8 - 2.2.3 算術(shù)邏輯運算單元ALU - 8 - 2.2.4 堆棧 - 8 - 2.2.5 中斷 - 8 - 2.3 SPCE061A的片內(nèi)存儲器 - 9 - 2.4 SPCE061A的片內(nèi)外設(shè)部件 - 10 - 2.4.1 并行I/O及其功能擴展 - 10 - 2.4.2 時鐘系統(tǒng) - 10 - 2.4.3 定時/計數(shù)器 - 11 - 2.4.4 模/數(shù)轉(zhuǎn)換器輸入接口 - 11 - 2.4.5 SPCE061A最小系統(tǒng)
9、 - 12 - 3 藍牙規(guī)范協(xié)議 - 13 - 3.1 基帶協(xié)議 - 14 - 3.1.1 藍牙通信過程 - 14 - 3.1.2 微微網(wǎng) - 15 - 3.1.3 ACL和SCO鏈路 - 16 - 3.1.4 藍牙基帶分組 - 16 - 3.1.5 藍牙設(shè)備地址 - 17 - 3.2 鏈路管理層 - 18 - 3.3 主機控制接口層 - 18 - 3.4邏輯鏈路控制與適配層 - 19 - 3.5 中間件協(xié)議層 - 20 - 4 主機控制接口功能規(guī)范 - 21 - 4.1 HCI概述 - 21 - 4.2 HCI流控 - 22 - 4.3 HCI指令和事件 - 2
10、3 - 4.4 藍牙UART傳輸層 - 27 - 5 數(shù)據(jù)采集和傳輸?shù)脑O(shè)計 - 29 - 5.1 硬件原理框圖 - 29 - 5.2 電路中模塊的設(shè)計 - 29 - 5.2.1 日立萬勝藍牙模塊MBM02 - 29 - 5.2.2 溫度傳感器DS18B20模塊 - 32 - 5.2.3 電源管理模塊 - 33 - 5.2.4 凌陽單片機SPCE061A - 34 - 5.3 軟件電路設(shè)計 - 35 - 5.3.1 溫度信號的采集 - 35 - 5.3.2 片內(nèi)AD轉(zhuǎn)換 - 36 - 5.3.3 UART口數(shù)據(jù)傳輸 - 37 - 5.3.4 藍牙點對點通信 - 38 -
11、 總結(jié) - 40 - 參考文獻 - 41 - 附錄 - 42 - 致謝 - 44 - - 47 - 1 緒論 1.1 無線數(shù)據(jù)采集概述 數(shù)據(jù)采集技術(shù)是信息科學(xué)的一個重要組成部分,信息技術(shù)的核心是信息獲取、通信和計算機技術(shù),常被稱為3C技術(shù)(即Collection, Communication and Computer),其中信息獲取是基礎(chǔ)和前提。數(shù)據(jù)采集技術(shù)是信息獲取的主要手段,它廣泛應(yīng)用于信號檢測、信號處理、儀器儀表等領(lǐng)域。近年來隨著微電子技術(shù)和計算機技術(shù)
12、的不斷發(fā)展,數(shù)據(jù)采集技術(shù)也呈現(xiàn)出速度更高、通道更多、數(shù)據(jù)量更大的發(fā)展態(tài)勢,其主要體現(xiàn)就是數(shù)據(jù)采集器的迅速發(fā)展。 隨著大規(guī)模集成電路技術(shù)的迅速發(fā)展,微處理器、存儲器、輸入/輸出等外為接口性能的不斷提高,體積越來越小,價格越來越低,使數(shù)據(jù)采集器不斷向智能化、集成化、小型化方向發(fā)展,現(xiàn)在己經(jīng)出現(xiàn)了單片的數(shù)據(jù)采集器,例如本課題所要講述的基于凌陽單片機的數(shù)據(jù)采集技術(shù)和無線傳輸技術(shù)的融合。 通信技術(shù)也是信息科學(xué)的一個重要方面,近幾年來隨著計算機、信息處理與存儲等技術(shù)的日益精湛,通信技術(shù)也得到迅速的發(fā)展。采用通信技術(shù)來傳輸信息在現(xiàn)代社會是十分流行和重要的,它己經(jīng)變成人們生活和工作的必需,社會發(fā)展的重要
13、工具。特別是數(shù)字通信,推動了數(shù)字化社會的形成,使人們進入信息化社會成為現(xiàn)實。 通信技術(shù)的發(fā)展首先是從任何信息的二進制數(shù)字傳輸開始的,最有名的是電報。由于電報的生成比較復(fù)雜,不易普及到個人、家庭和一般的辦公室,社會的需要推動了電話的發(fā)明。開始時出現(xiàn)有線電話,直接到達家庭、辦公室,以及一些公共場合,與此同時,電報不斷向自動化發(fā)展,出現(xiàn)了各種各樣的電傳機。隨著真跡傳遞的需要,開發(fā)了傳真技術(shù)和傳真機,目前在通信中還占有一席之地。在有線電話的基礎(chǔ)上,各種無線電話通信、廣播等蓬勃發(fā)展起來,出現(xiàn)了電視廣播和圖像通信。在這個階段,有線通信著重發(fā)展交換和通信網(wǎng),以便擴大通信范圍;無線通信著眼于點對點的通信,作
14、為通信網(wǎng)中傳輸鏈路的組成部分。一般講,無線通信的基本問題在于拓寬傳輸頻帶,增大傳輸距離,提高可靠性。其使用頻帶從長波到微波,以便適應(yīng)各種傳輸環(huán)境的電磁波傳播條件。 現(xiàn)階段存在的無線通信技術(shù)有以下幾種:IrDA (Infrared Data Association紅外無線數(shù)據(jù)傳輸技術(shù))、IEEE 802.11(一種無線以太網(wǎng)標(biāo)準(zhǔn))、HorneRF(一種無線局域網(wǎng)技術(shù))和Bluetooth(藍牙技術(shù))。前三種技術(shù)都早于藍牙技術(shù),經(jīng)過多年的發(fā)展,已經(jīng)日漸成熟,但藍牙技術(shù)在低功耗和小體積方面有其他無線技術(shù)無法比擬的優(yōu)點,特別是用于便攜式設(shè)備。 1.2 藍牙技術(shù)概況 藍牙(Bluetooth)是現(xiàn)
15、代無線通信領(lǐng)域的高新技術(shù),用于替代數(shù)字設(shè)備間的有線電纜連接,和解決現(xiàn)代網(wǎng)絡(luò)的最后10-100M的無線通訊。藍牙技術(shù)具有體積小、功耗低等突出的優(yōu)點,因此特別適合集成到移動電話、便攜式設(shè)備和計算機外設(shè)等數(shù)字設(shè)備中,具有非常廣闊的應(yīng)用前景。數(shù)據(jù)采集技術(shù)雖然己經(jīng)發(fā)展了很多年,但是仍然是當(dāng)今科技關(guān)注的熱點,無論在工礦企業(yè)還是在實驗室其應(yīng)用都相當(dāng)廣泛。將藍牙技術(shù)與數(shù)據(jù)采集技術(shù)相結(jié)合,集成在一起組成數(shù)據(jù)采集與無線數(shù)傳模塊,設(shè)計出體積小、功耗低、安裝維護方便的便攜式產(chǎn)品,就是本課題所研究的主要內(nèi)容,這無論在國內(nèi)或者國際上都是較為先進的。用無線產(chǎn)品替代現(xiàn)有的有線產(chǎn)品將是科技發(fā)展的趨勢,因此這方面的研究具有重大的
16、現(xiàn)實意義和廣闊的應(yīng)用前景。 Bluetooth的系統(tǒng)結(jié)構(gòu)可分為四層:無線與基帶層(Radio&Baseband)、鏈路管理器及邏輯鏈路控制與自適應(yīng)協(xié)議(Link Manager&L2CAP)層、主機控制器接HCI層(Host Controller Interface)和應(yīng)用框架與支持(Application Framework & Support)層。無線與基帶層主要規(guī)定硬件設(shè)備的功能,它負(fù)責(zé)射頻處理和基頻調(diào)制的功能。鏈路管理器及邏輯鏈路控制與自適應(yīng)協(xié)議層主要完成底層通信協(xié)議(如物理層、MAC層)的功能,鏈路管理器主要負(fù)責(zé)基帶連接的設(shè)定及管理,L2CAP負(fù)責(zé)基帶數(shù)據(jù)的分段及重組、多路復(fù)用和服
17、務(wù)質(zhì)量(QoS)等功能。主機控制器接口提供Bluetooth與主機設(shè)備之間連結(jié)接口的控制指令。應(yīng)用和支持層主要為各種應(yīng)用(如語音、數(shù)據(jù)等)提供應(yīng)用軟件所需的通信協(xié)議與應(yīng)用程序接口,如TCP/IP, RFCOMM等。 Bluetooth 軟件協(xié)議的最終目標(biāo)是實現(xiàn)各種設(shè)備間的交互性操作。雖然不同的無線應(yīng)用可能運行不同的協(xié)議棧,但所有的協(xié)議棧都使用一個共同的Bluetooth數(shù)據(jù)邏輯鏈路和物理層。完整的協(xié)議由Bluetooth特定的協(xié)議(如LMP和L2CAP)和非Bluetooth特定的協(xié)議(如對象交換協(xié)議OBEX和用戶數(shù)據(jù)報協(xié)議UDP)等組成。在設(shè)計Bluetooth協(xié)議和整個協(xié)議棧時,主要的原
18、則是最大限度地利用現(xiàn)有的各種高層應(yīng)用協(xié)議,這樣有利于現(xiàn)有的各種遺留應(yīng)用更好地在Bluetooth環(huán)境下使用,以確保這些應(yīng)用的平滑過濾和交互操作性。這樣廠商開發(fā)的各種應(yīng)用就可以立即利用符合Bluetooth規(guī)范的硬件和軟件系統(tǒng)。 Bluetooth協(xié)議采取了開放的結(jié)構(gòu),廠商可以在核心協(xié)議的基礎(chǔ)上開發(fā)自己專用的應(yīng)用協(xié)議或增加一些通用的應(yīng)用協(xié)議。 藍牙技術(shù)在具有各種突出優(yōu)點的同時,也有其難以克服的弊端,如互操作性差,存在安全性問題等,此外還有來自超寬帶和WLAN等技術(shù)的競爭。因此要實現(xiàn)藍牙技術(shù)的大規(guī)模應(yīng)用,藍牙技術(shù)在成本和技術(shù)方面仍有待改進。 1.3 本文結(jié)構(gòu) 本文分為五章,主要內(nèi)容如下:第
19、一章緒論是本文的一個概要介紹,對所需實現(xiàn)系統(tǒng)的功能作了概述,并且對所應(yīng)用的技術(shù)的發(fā)展概況做了簡要說明。在第二章凌陽單片機基本原理中,重點在于介紹凌陽單片機結(jié)構(gòu)和特性。第三章主要是講述藍牙協(xié)議規(guī)范的內(nèi)容,藍牙技術(shù)作為一種短距離無線通信技術(shù)標(biāo)準(zhǔn),其實質(zhì)內(nèi)容是建立通用的低功耗、低成本無限空中接口及其控制軟件的公開標(biāo)準(zhǔn),是通信和計算機技術(shù)進一步融合,使得不同廠家生產(chǎn)的藍牙設(shè)備能夠在近距離內(nèi)具有互操作性。所以藍牙協(xié)議是這項新技術(shù)面向應(yīng)用的一個重要方面。第四章描述了藍牙系統(tǒng)中主機系統(tǒng)之間接口的功能規(guī)范。第五章分析了基于凌陽單片機的數(shù)據(jù)采集與以藍牙技術(shù)為基礎(chǔ)的無線數(shù)據(jù)傳輸技術(shù)的融合原理,討論了其實現(xiàn)的軟件及
20、硬件細節(jié)。最后在結(jié)論中對論文工作總結(jié)與展望。 2 凌陽單片機及其原理 2.1 凌陽單片機簡介 2.1.1 8位單片機 凌陽8位單片機的CPU內(nèi)核均為6502兼容型。凌陽8位單片機分為四種:SPC系列、SPL系列、SPF系列以及其他系列。SPC系列則是帶有雙聲道發(fā)聲功能的單片機;SPL系列基本上都帶有LCD驅(qū)動,并且有些SPL系列還帶有發(fā)聲功能;SPF系列是凌陽研制出的帶有到聲道發(fā)聲功能的單片機。本文所采用的是凌陽16位SPCE061A型單片機。 2.1.2 16位單片機 隨著單片機集成的發(fā)展,其應(yīng)用領(lǐng)域不斷擴展。凌陽的
21、16位單片機為適應(yīng)這種發(fā)展趨勢,推出了它的帶有數(shù)據(jù)處理功能的nSP?16位微處理器芯片。與凌陽8位機功能相比,16位nSP?系列單片機可以在交款的電源電壓范圍(2.6~5.5V)及系統(tǒng)時鐘頻率范圍(0.375~24.576MHz)內(nèi)工作,除了數(shù)據(jù)總線被增至16位而提高了工作速率外,nSP?系列16位單片機內(nèi)集成了更多的系統(tǒng)外圍資源。其中有大容量ROM及靜態(tài)RAM、紅外通信接口、RS-232通用異步全雙工串行接口、10位A/D及D/A轉(zhuǎn)換、內(nèi)置式帶自動增益控制的擴音器輸入通道、32768Hz實時時鐘以及低電壓復(fù)位/低電壓監(jiān)測系統(tǒng)。另外,nSP?家族中有些系列嵌入了LCD控制驅(qū)動和DTMF發(fā)生器功
22、能等。 SPCE061A是繼nSP?系列產(chǎn)品SPCE500A等之后凌陽科技推出的又一個16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32KB的閃存(Falsh)。較高的處理速度使nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與SPCE500A相比,以nSP?為核心的SPCE061A微控制器是適合用于數(shù)據(jù)傳輸和識別應(yīng)用領(lǐng)域產(chǎn)品的一種最好的選擇。其整體性能如下: 16位unSP?微處理器;工作電壓:VDD為2.4~3.6V,VDDH為VDD~5.5V(I/O); CPU時鐘:0.32~49
23、.152MHz;內(nèi)置2KB SRAM;內(nèi)置32KB FLASH;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時鐘處于停止?fàn)?2個16位可編程定時器/計數(shù)器(可自動預(yù)置初始計數(shù)值);2個10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;14個中斷源可來自定時器A/B,時基,2個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽音頻編碼SACM_S240方式(2.4Kb/s),能容納210秒的語音數(shù)據(jù);鎖相環(huán)PLL振蕩器提供系統(tǒng)時鐘信號;32768Hz實時時鐘;7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動增益
24、控制(AGC)功能;具備串行設(shè)備接口;具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(LVD)功能;內(nèi)置在線仿真電路ICE(In-circuit emulator)接口;具有保密能力;具有WatchDog功能(由具體型號決定)。 2.2 SPCE061A內(nèi)核的硬件結(jié)構(gòu) SPCE061A 是繼nSP?系列產(chǎn)品SPCE500A等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32KB的閃存(FLASH)。較高的處理速度使nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與SPCE
25、500A相比,以nSP?為核心的SPCE061A微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟的選擇,也可以作控制核心使用。 圍繞SPCE所形成的16位nSP?系列單片機采用的是模塊是集成結(jié)構(gòu),共有84個引腳,封裝形式位PLCC84,它的管腳排列如圖2-1所示。在84個引腳中有15個空腳,其余管腳功能說明如表2.1所示。SPCE061A的結(jié)構(gòu)如圖2-2所示。 圖2-1 SPCE061A單片機PLCC84引腳 表2-1 管腳功能表 IOA0-IOA15(41~48,53,54~60腳) IO口A,共16個 IOB0-IOB15(5~1,81~76,68~
26、64腳) IO口B,共16個 OSCI(13腳) 石英晶振振蕩器輸入 OSCO(12腳) 石英晶振振蕩器輸出 RES_B(6腳) 復(fù)位輸入,低電平有效 ICE_EN(16腳) ICE使能端 ICE_SCK(17腳) ICE時鐘腳 ICE_SDA(18腳) ICE數(shù)據(jù)腳 PVIN(20腳) 程序保密設(shè)定腳 PFUSE(29腳) 程序保密設(shè)定腳 DAC1(21腳) 音頻輸出通道1 DAC2(22腳) 音頻輸出通道2 VREF2 (23腳) 2V參考電壓輸出腳 AGC(25腳) 語音輸入自動增益控制引腳 OPI(26腳) Microphone的第
27、二運放輸入腳 MICOUT(27腳) Microphone的第一運放輸入腳 MICN(28腳) Microphone的負(fù)向輸入腳 MICP(33腳) Microphone的正向輸入腳 VRT (35腳) A/D轉(zhuǎn)換外部參考電壓輸入腳 VCM (34腳) ADC參考電壓輸出腳 VMIC (37腳) Microphone電源 SLEEP(63腳) 睡眠狀態(tài)指示腳,高電平顯示 VCP (8腳) 鎖相環(huán)壓控振蕩器的阻容輸入 XROMT PVPP XTEST(61,69,14腳) 出廠測試引腳,懸空 VDDH (51,52,75腳) I/O參考電平:5V電壓
28、VDD (7腳) PLL鎖相環(huán)電源 VSS (9腳) 鎖相環(huán)地 VSS (19,24腳) 模擬地 VSS (38,49,50,62腳) 數(shù)字地 VDD (15,36腳) 數(shù)字電源 圖2-2 SPCE061A的內(nèi)部結(jié)構(gòu) nSP?的內(nèi)核主要是由CPU掌管和操作,其基本上由總線、算術(shù)運算邏輯單元、寄存器組、中斷系統(tǒng)和堆棧等部分組成。 2.2.1 寄存器組 nSP?的CPU寄存器組里有8個16位寄存器,可分為通用型寄存器和專用型寄存器兩大類別。通用型寄存器包括R1~R4,作為算術(shù)邏輯運算的源及目標(biāo)寄存器。專用型寄存器包括SP、BP、SR、PC,是與CPU特定用途相關(guān)的
29、寄存器。SP是堆棧指針寄存器,在CPU執(zhí)行壓棧/出棧指令(push/pop)、子程序調(diào)用/返回指令(call/retf)以及進入中斷服務(wù)子程序(interrupt service routine,ISR)或從ISR返回指令時制動減少(壓棧)或增加(彈棧),以示堆棧指針的移動。堆棧的最大容量范圍限制在2KB的RAM內(nèi),即地址位0x000000~0x0007FF的存儲器范圍中。BP是基址指針寄存器,用于變址尋址方式[BP+IM6]。SR是段寄存器,有多種功能,算術(shù)邏輯運算結(jié)果的各標(biāo)志位N,Z,S,C亦儲存在其中。PC是程序計數(shù)器,作為程序的地址指針來控制程序走向的專用寄存器。 2.2.2 數(shù)據(jù)總
30、線和地址總線 nSP?是16位單片機,它具有16位數(shù)據(jù)線和22位地址線,22位地址線最多可以尋訪4MB的存儲容量。地址線中的高6位A16~A21來自段寄存器SR中的6位代碼段(code segment,CS)和6位數(shù)據(jù)段(data segment,DS)選擇字段,低16位A0~A15則來自內(nèi)部寄存器。通常,地址線高6位稱為頁碼(page);而低16位則稱為存儲器地址的偏移量(offset)。因而,通過segment和offset的配合即可產(chǎn)生22位地址線。 2.2.3 算術(shù)邏輯運算單元ALU nSP?的 ALU在運算能力上很有特色,它不僅能做16位基本的算術(shù)邏輯運算,也能做帶移位操作的1
31、6位算術(shù)邏輯運算,同時還能做用于數(shù)字信號處理16位16位的乘法運算和內(nèi)積運算。 2.2.4 堆棧 RAM區(qū)專門開辟出來的按照“先進后出”原則進行數(shù)據(jù)存取的一種工作方式,如圖2-3所示,主要用于子程序調(diào)用及返回和中斷處理斷點的保護及返回。堆棧的最大容量范圍限制在2KB RAM內(nèi),即其地址范圍是0x07FF~0x0000的存儲器中。值得注意的是堆棧的生長方向,SPCE061A系統(tǒng)復(fù)位后,SP初始化為0x07FF,每執(zhí)行PUSH指令一次,SP指針減1。 圖2-3 nSP?的堆棧結(jié)構(gòu) 2.2.5 中斷 中斷是指計算機在執(zhí)行某一程序的過程中,由于計算機系統(tǒng)內(nèi)、外的某種原因,必須終止原程序的執(zhí)行
32、,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后,再回來繼續(xù)執(zhí)行被終止的原程序過程。SPCE061A系列單片機終端系統(tǒng)是凌陽16位單片機中中斷功能較強的一種,它可以提供14個中斷源,具有兩個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套功能。用戶可以用關(guān)中斷指令(或復(fù)位)屏蔽所有的中斷請求,也可以用開中斷指令使CPU接受中斷申請。 nSP?的結(jié)構(gòu)給出了三種類型的中斷:異常中斷、軟件中斷和事件中斷。異常中斷表示為非常重要的事件,一旦發(fā)生,CPU必須立即進行處理。軟件中斷是由軟件指令break產(chǎn)生的中斷,其向量地址為FFF5H。事件中斷一般產(chǎn)生于片內(nèi)設(shè)部件或由外設(shè)中斷輸入引腳引入的某個事件,其中斷的開通/禁止由相應(yīng)的獨
33、立使能和相應(yīng)的IRQ或FIQ總使能控制。該單片機共有9個中斷向量和14個中斷源。UART傳輸中斷,觸鍵喚醒中斷,定時器溢出中斷,外部中斷等等,都是設(shè)計中需要用到和了解的中斷源。SPCE061A單片機有兩個外部中斷,分別為EXT1和EXT2,兩個外部輸入腳分別為B口的IOB2和IOB3的復(fù)用腳。觸鍵喚醒中斷中若以觸鍵作喚醒源,其功能通過并行A口的IOA0~IOA7及中斷源IRQ3_KEY的設(shè)置來實現(xiàn)。 2.3 SPCE061A的片內(nèi)存儲器 SPCE061A的片內(nèi)存儲器地址映射如圖2-4所示。4MB的存儲器地址可以映射成64頁,每一頁有64KB的存儲容量,其地址取決于16位寄存器或存儲器的值。
34、整個片內(nèi)存儲器可以分為靜態(tài)數(shù)據(jù)存儲器SRAM和程序存儲器ROM兩塊區(qū)域。 圖2-4 nSP?片內(nèi)存儲器地址映射 SPCE061A有2KB的SRAM,其地址范圍是0x000~0x07FF。前64個字可采用6位地址直接地址尋址方法,尋訪速度位兩個CPU時鐘周期。 32KB的內(nèi)嵌式閃存從地址0x8000開始被劃分為128頁(每頁存儲容量為256B),它們在CPU正常運行狀態(tài)下均可通過程序擦除或?qū)懭?。全?2KB閃存均可在ICE工作方式下被編程寫人或擦除。 2.4 SPCE061A的片內(nèi)外設(shè)部件 這一節(jié)將圍繞nSP?結(jié)構(gòu)設(shè)計的特點對其外圍設(shè)備進行展開介紹,其中包括并行I/O口、定時/計數(shù)器
35、、模數(shù)轉(zhuǎn)換器、時鐘系統(tǒng)和音頻輸出。 2.4.1 并行I/O及其功能擴展 輸入/輸出接口是單片機與外設(shè)交換信息的通道,SPCE061A的并行I/O口的每一位均可以單獨編程定義成握手信號的輸入或輸出端口。每一個I/O口會由3個向量位來控制,分別是方向向量位,控制著I/O口位的輸入/輸出方向;方式向量位,控制著I/O口采用什么樣的方式進行輸入輸出;數(shù)據(jù)向量位,進行口位數(shù)據(jù)的輸入或輸出,可與方式向量位結(jié)合在一起對口位進行復(fù)合功能的設(shè)置。 輸入口的方式可設(shè)置為內(nèi)部上拉電阻、內(nèi)部帶下拉電阻或懸浮式的端口。若通過口位的組合設(shè)置還可使輸入口引入外部中斷源或喚醒源事件,可以使端口具有中斷或喚醒之特殊功能。
36、 輸出口的方式也可以根據(jù)需要設(shè)為常規(guī)的CMOS端口或NMOS開漏端口,以及是與寫人口位的數(shù)據(jù)同相輸出還是反相輸出。通過設(shè)置還可以使口位具有輸出緩存功能,以避免該口在被設(shè)為輸入端口時管腳上輸入電平的狀態(tài)會影響到輸出的狀態(tài)。 2.4.2 時鐘系統(tǒng) SPCE061A時鐘電路采用晶體振蕩電路。圖2-5為SPCE061A時鐘電路的接線圖。外接晶振采用32768Hz。推薦使用外接32768Hz晶振,因阻容振蕩的電路時鐘不如外接晶振準(zhǔn)確。SPCE061A的時鐘信號Fosc和CPU工作信號CPUCLK均來自其時鐘系統(tǒng)。 圖2-5 SPCE061A時鐘電路 時鐘系統(tǒng)基本上由三部分組成:鎖
37、相環(huán)PLL倍頻電路、可編程分頻計數(shù)器以及時基信號發(fā)生器。通過PLL對實時時鐘32768Hz進行倍頻處理,產(chǎn)生出Fosc信號,作為系統(tǒng)的時鐘源。Fosc信號經(jīng)過分頻產(chǎn)生出CPUCLK信號,同時,32768Hz信號經(jīng)時基信號發(fā)生器的分頻處理,為定時/計數(shù)器提供時鐘源信號并為中斷系統(tǒng)提供各種時基的中斷源信號。 2.4.3 定時/計數(shù)器 SPCE061A提供了兩個16位的定時/計數(shù)器:TimerA和TimerB。TimerA的時鐘源是由兩個時鐘源ClkA和ClkB經(jīng)過一個邏輯與門相與而成。TimerA的時鐘源由時鐘源A和時鐘源B進行“與”操作而形成;TimerB的時鐘源僅為時鐘源A。 2.4.4
38、 模/數(shù)轉(zhuǎn)換器輸入接口 模/數(shù)轉(zhuǎn)換器(ADC)是自然界與計算機進行信息交流的橋梁之一。它是一種信號轉(zhuǎn)換接口,可以把模擬量信號轉(zhuǎn)換成數(shù)字量信號以便輸入給計算機進行各種處理。SPCE061A內(nèi)置8通道10位模數(shù)轉(zhuǎn)換器,其中7個通道用于將模擬量信號(如電壓信號)轉(zhuǎn)換為數(shù)字量信號,可以直接引線(IOA[0~6])輸入。另一個通道只用于語音輸入,即通過內(nèi)置自動增益控制放大器的麥克風(fēng)通道(MIC_IN)輸入。實際上可以把模數(shù)轉(zhuǎn)換器看作一個實現(xiàn)模數(shù)轉(zhuǎn)換的編碼器。SPCE061A采用逐次逼近式原理實現(xiàn)模數(shù)轉(zhuǎn)換。 考慮到單片機片內(nèi)A/D轉(zhuǎn)換器的最大輸入電壓是2.5V,而電壓模擬信號直接從LINE_IN通道輸
39、入被送入采樣/保持器,當(dāng)選擇ADC的自動方式時,會使RDY信號變?yōu)椤?”,從而啟動了ADC的數(shù)據(jù)采樣。當(dāng)ADC完成轉(zhuǎn)換時,RDY信號變?yōu)椤?”。此后,可讀取10位A/D轉(zhuǎn)換數(shù)據(jù)。而當(dāng)讀取A/D轉(zhuǎn)換數(shù)據(jù)后,會使RDY信號重新變?yōu)椤?”,再次啟動ADC的模/數(shù)轉(zhuǎn)換。由此看來,適時讀取A/D數(shù)據(jù)單元,可控制A/D轉(zhuǎn)換的觸發(fā)時間。進行A/D轉(zhuǎn)換至少要有兩個基本單元的讀取操作,一個是A/D轉(zhuǎn)換的控制單元,另一個是A/D的數(shù)據(jù)單元。前者可用來進行A/D轉(zhuǎn)換前的各種設(shè)置或轉(zhuǎn)換過程中的狀態(tài)讀出,表2-2將其給出。 表2-2 ADC的控制要素 控制要素 寫人控制單元 讀
40、出控制單元 工作方式 手動 自動 (1) 手動方式下模擬電壓比較結(jié)果 (2) 轉(zhuǎn)換是否完成標(biāo)志位 采樣/保持開關(guān)位置 A/D轉(zhuǎn)換 允許/禁止 自動增益功能 設(shè)置/取消 模擬通道控制 LINE_IN(屏蔽功能) 2.4.5 SPCE061A最小系統(tǒng) 最小系統(tǒng)接線如圖2-6所示,在OSC0、OSC1端接上晶振及諧振電容,在鎖相環(huán)壓控振蕩器的阻容輸入VCP端接上相應(yīng)的電容電阻后即可工作。其它不用的電源端和地端接上0.1F的去藕電容提高抗干擾能力。 圖2-6 SPCE061A最小系統(tǒng) 3 藍牙規(guī)范協(xié)議 藍牙協(xié)議的總體概況可以通過藍牙協(xié)議棧反映出來。從橫向角
41、度來看,藍牙協(xié)議所涉及的主要部分包括射頻、基帶、主機控制接口、鏈路管理協(xié)議、邏輯鏈路控制與適配協(xié)議、服務(wù)發(fā)現(xiàn)協(xié)議、電纜替代協(xié)議以及其他一些為藍牙所采納的高層通用協(xié)議,如PPP. TCP/IP, UDP等。請參考圖3-1。其中的基帶、鏈路管理協(xié)議、邏輯鏈路控制與適配協(xié)議以及服務(wù)發(fā)現(xiàn)協(xié)議等屬于藍牙和新協(xié)議的范疇,電纜代替帶協(xié)議則是藍牙借用ETSI T07.10協(xié)議并適當(dāng)修改之后而形成的協(xié)議,電話控制協(xié)議包括AT命令集和電話控制規(guī)范兩個部分,PPP. TCP/IP, UDP. WAP. WAE, vCard和vCal等協(xié)議則是藍牙所采納的高層通用議。 圖3-1 藍牙協(xié)議棧 從另外一個角度來看,用
42、戶會針對藍牙的應(yīng)用而提出用法模型,如三合一電話、因特網(wǎng)網(wǎng)橋、局域網(wǎng)接入、交互式會議、耳麥及自動同步等。相應(yīng)的,藍牙會給出應(yīng)用框架協(xié)議與用戶的用法模型相匹配。藍牙的應(yīng)用框架包括通用接入框架、業(yè)務(wù)發(fā)現(xiàn)應(yīng)用框架、無繩電話框架、串口框架、內(nèi)部通信框架、頭戴設(shè)備框架、撥號上網(wǎng)框架、傳真框架、局域網(wǎng)接入框架、通用對象交換框架、對象推送框架、文件傳送框架和同步框架等。隨著用戶用法模型的增多以及藍牙應(yīng)用的擴展,藍牙的用戶應(yīng)用框架也會逐漸增多。當(dāng)然,藍牙協(xié)議也應(yīng)該相應(yīng)地升級。 值得一提的是每種應(yīng)用框架協(xié)議都有其相對應(yīng)的協(xié)議棧結(jié)構(gòu),該結(jié)構(gòu)縱向描述了實現(xiàn)某種應(yīng)用(或者是實現(xiàn)用法模型)所需用到的各種藍牙協(xié)議以及如何
43、使用和組合各種協(xié)議。應(yīng)用框架協(xié)議提供了藍牙協(xié)議的縱向說明。需要說明,這里只是對藍牙的基帶、主機控制接口、邏輯鏈路控制與適配協(xié)議、電纜替代協(xié)議、服務(wù)發(fā)現(xiàn)協(xié)議和局域網(wǎng)接入框架等進行簡要的說明。 3.1 基帶協(xié)議 基帶是藍牙的數(shù)據(jù)鏈路層,它負(fù)責(zé)管理物理信道,并考慮以什么形式發(fā)送數(shù)據(jù)、什么時候發(fā)送數(shù)據(jù)、等待什么數(shù)據(jù)、什么時候等待數(shù)據(jù)以及使用哪一個載波頻率和哪一個級別的發(fā)射功率等等,這些都是藍牙鏈路控制器要解決的問題。而藍牙鏈路控制器正是執(zhí)行基帶協(xié)議的物理實體。在圖3-2中概括了藍牙基帶的主要功能。 圖3-2 藍牙基帶功能 3.1.1 藍牙通信過程 (1)查詢過程(inquiry)。查詢過程
44、在設(shè)備地址未知的通信對象進入可通信范圍內(nèi)的情況下啟動,用來發(fā)現(xiàn)未知藍牙設(shè)備的地址BD_ADDR。容易理解的例子是LAP發(fā)現(xiàn)新的DT,藍牙打印機發(fā)現(xiàn)新的終端等。在這一過程中,地址未知的設(shè)備充當(dāng)Slave的角色,當(dāng)然主動發(fā)起通信的設(shè)備就是Master。 先是Master在不同跳頻頻率上不斷發(fā)送查詢消息(也叫ID包),(注:跳頻頻率由GIAC的LAP決定)后是Slave在查詢掃描(inquiry Sean)頻率上發(fā)回響應(yīng),每次占據(jù)18個時隙。 (2)尋呼過程(Page)。該過程中Master和Slave的約定與查詢過程相同。尋呼過程用來和設(shè)備地址已知的通信對象建立連接。 Master在不同跳頻
45、頻率點上按3200次/秒的規(guī)律發(fā)送包含DAC的消息,DAC由Slave的BD_ADDR派生出來,所使用跳頻序列由Slave的設(shè)備地址決定。Slave在尋呼掃描頻率上按照一次18個時隙(或更多時隙)的規(guī)律監(jiān)聽它的DAC。一旦獲得自己的DAC,Slave就發(fā)出包含自身設(shè)備地址的消息。隨后Master依據(jù)Slave的響應(yīng)回發(fā)FHS包,向Slave提供Picanet的定時和跳頻信息,以保持相互之間的同步,也就是說,整個Picanet由master的時鐘來完成定時,CAC和跳頻序列由Master的BD_ADDR派生而得。隨后Slave采納Master所提供的跳頻和時鐘。從而實現(xiàn)與Master的同步。最后
46、,Master向Slave發(fā)出POLL包,以確認(rèn)連接的建立。 (3)主從切換過程(Master/Slave Switch)。主從切換過程發(fā)生在Slave想成為Master的情況下Slave先發(fā)出切換請求消息,Master同意切換時就回發(fā)切換接受消息。然后雙方進行TDD切換,Slave成為新的Master,先前的Maste:則轉(zhuǎn)換成新的Slave隨后新的Master向其他Slave發(fā)FHS包,在FHS確認(rèn)后,新的Master和其他Slave按照FHS的指示采納由新的Master所確定的Piconet參數(shù),即由新的Master所決定的統(tǒng)一的CAC時鐘以及跳頻序列。至此,主從切換過程完成,即Pic
47、onet的切換過程完成。 (4)Piconet之間的通信一散射網(wǎng)(Scatter net)。多個Piconet相互之間有重疊時形成Scatter net。組成Scatter net的每個Piconet由該Piconet的Master定義,當(dāng)然它們有各自的CAC,時鐘和跳頻序列。很顯然,Scaternet中所包含的Piconet越多時,調(diào)頻序列碰撞的可能性就越大,通信質(zhì)量所受的影響就越大。 在Scatter net中,一個藍牙設(shè)備可以充當(dāng)若干個Piconet的Slave,但是只能充當(dāng)某一個Piconet的Master。某個藍牙設(shè)備之所以能夠成為幾個Piconet的Slave,是因為該設(shè)備存放
48、有那幾個Piconet的Master BD_ADDR和相應(yīng)的時鐘偏移量,進而以時分復(fù)用的方式與不同的Master進行通信。舉個例子來說,對于已經(jīng)建立ACL鏈路的Slave,它可以在當(dāng)前所處的Piconet內(nèi)要求進入Hold或Park狀態(tài),而通過改變信道參數(shù)(CAC,CIR,FH)加入到另一個Piconet中。如果它處于Snif狀態(tài),則可以在Snif時隙之間訪問另一個Piconet,正是因為該Slave保存了幾個Piconet的參數(shù)(最關(guān)鍵的是Master的BD_DDR和時鐘偏移置),它才能夠不斷調(diào)整CAC、時鐘和跳頻頻率,從而實現(xiàn)與不同的Piconet通信。 所以說,可通信范圍內(nèi)的各藍牙設(shè)備
49、本來是沒有Master與Slave之別的,但是為了能夠?qū)崿F(xiàn)通信,它們必須使用相同的CAC時鐘和跳頻頻率。主動發(fā)起Inquiry的單元將自己的BD_ADDR傳給其他可以Inquiry Sean的單元,那些單元用所獲得的BD_ADDR生成CAC和跳頻頻率,并獲得與主動Inquiry的單元之間的時鐘偏移量。至此,各個單元之間的實現(xiàn)了同步,也意味著一個Piconet的誕生。 為了更為快速地建立通信,打過交道的藍牙設(shè)備之間〔保存有對方的BD_ADDR),往往越過inquiry過程,直接通過Page過程來更迅速地實現(xiàn)同步。 3.1.2 微微網(wǎng) 微微網(wǎng)(Piconet)是藍牙設(shè)備進行通信的基本組織形式
50、,微微網(wǎng)中必須有且只能有一個主控設(shè)備(Master),可以有最多7個活動的從屬設(shè)備(Slave)。主控設(shè)備是指發(fā)起本次通信的藍牙設(shè)備,該微微網(wǎng)的基本特征(跳頻序列,時隙分割等)都是由主控設(shè)備唯一確定的。 3.1.3 ACL和SCO鏈路 基帶可以處理兩種類型的鏈路:同步連接鏈路(Synchronous Connection Oriented 即 SCO)和異步無連接鏈路(Synchronous Connection Less 即ACL)。 SCO鏈路是微微網(wǎng)中單一主控設(shè)備和單一從屬設(shè)備之間建立的一種點對點的對稱鏈路。在這種鏈路方式下設(shè)備間采用保留時隙的方式來傳輸分組,因此該鏈路類型可以
51、看作是電路交換。SCO鏈路主要用來進行64kB/s的語音信息傳輸。一個主控設(shè)備最多可以同時支持三條SCO鏈路,而從屬設(shè)備則最多可以支持兩條來自不同主控設(shè)備的SCO鏈路或者三條來自同一主控設(shè)備的SCO鏈路。對于SCO數(shù)據(jù)分組來說,沒有重傳機制。 ACL鏈路是主控設(shè)備和微微網(wǎng)內(nèi)所有從屬設(shè)備之間一點對多點的基帶通信鏈路類型。在沒有為SCO鏈路預(yù)留時隙的情況下,主控設(shè)備可以對任意從屬設(shè)備在單時隙上建立ACL鏈路。在一個主控設(shè)備和一個從控設(shè)備之間只能存在一條ACL鏈路。大多數(shù)ACL數(shù)據(jù)分組可以通過分組重傳來防止傳輸過程中的分組損壞和分組丟失。 考慮到本論文所實現(xiàn)的系統(tǒng)的主要傳送對象是實時電壓數(shù)據(jù),所
52、以主控設(shè)備與從屬設(shè)備之間只建立了一條ACL基帶鏈路,而沒有涉及到SCO鏈路。 3.1.4 藍牙基帶分組 微微網(wǎng)內(nèi)的基帶控制信息和用戶數(shù)據(jù)信息都是以分組形式進行傳輸?shù)?。? 帶分組格式如圖3-3所示。 圖3-3 藍牙基帶數(shù)據(jù)包分組格式 基帶分組的第一個字段是訪問碼(ACCESS CODE)用于時序同步、分組標(biāo)識、尋呼和查詢。訪問碼分為三類:信道訪問碼CAC(Channel Access Code),設(shè)備訪問碼DAC (Device Access Code)和查詢訪問碼IAC (Inquir Access Code)。信道訪問碼用來標(biāo)識微微網(wǎng),并由微微網(wǎng)唯一確定。一個微微網(wǎng)
53、的信道訪問碼由其主控役備的藍牙地址的LAP構(gòu)成。設(shè)備訪問碼用于尋呼及尋呼響應(yīng),它是由被尋呼設(shè)備的藍牙地址的LAP構(gòu)成的。查詢訪問碼則用于查詢過程,用以表明未來的主控設(shè)備正在查詢一定范圍內(nèi)可建立通信的藍牙設(shè)備。這種訪問碼有兩種類型:通用查詢訪問碼GIAC(General Inquiry Access Code)和專用查詢訪問碼DIAC(Didecated Inquiry Access Code)。通用查詢訪問碼用于查詢一切范圍內(nèi)可用藍牙設(shè)備,該碼字由一個保留藍牙地址LAP(Ux9E8833)構(gòu)成。而專用查詢訪問碼用于查詢某一類(根據(jù)未來的主控設(shè)備的查詢興趣來確定),在本系統(tǒng)中,沒有用到這種類型的
54、訪問碼。 基帶分組的第二個字段是分組頭(HEADER),它包含了一些鏈路控制信息,負(fù)責(zé)流控及校驗。在表3-1中列出了分組頭部分所包含的字段及相關(guān)描述。 基帶分組的最后一個部分是有效載荷部分(PAYLOAD),這部分包含的內(nèi)容可以是純語音信息,可以是純數(shù)據(jù)信息,也可以是兩者皆有。數(shù)據(jù)包可以占據(jù)一個以上的時隙(多時隙數(shù)據(jù)包),也就是說可以在下一個時隙中持續(xù)傳輸。有效載荷部分還可以攜帶一個16位長的CRC碼用于對數(shù)據(jù)有無錯誤進行檢測。 表3-1 基帶分組字段說明 字段名 大?。╞it) 說明 AM_ADDR 3 當(dāng)設(shè)備交換尋呼信息時,分配給叢書設(shè)備的活動成員地址 TYPE 4
55、 定義了16種基帶分組類型 FLOW 1 接收端在其相應(yīng)發(fā)送時,用該字段作流控 ARQN 1 接收端用該字段來確認(rèn)已經(jīng)成功的接收了某分組,如果未收到確認(rèn),則重發(fā)(ACL類型) SEQN 1 簡單(奇/偶)的序列數(shù)字,用于將要發(fā)送的分組進行編號。該字段的值與“ARQN”是對應(yīng)的。 HEC 8 頭部差錯校驗,生成多項式為: 以下介紹與基帶鏈路的建立密切相關(guān)的ID,F(xiàn)HS,POLL基帶分組。 ID分組由設(shè)備訪問碼DAC或查詢訪問碼IAC構(gòu)成,分別對應(yīng)于Slave ID和查詢ID。它的長度為68bit。接收方用位相關(guān)器來確定該ID分組的位序,因此,ID分組很可靠。
56、該分組被用于尋呼,查詢過程中。 FHS分組是一個特殊的控制分組。在這種分組中包含有發(fā)送方的地址及時鐘等信息。在FHS分組中,信息位為144bit, CRC校驗信息16bit。同時采用2/3FEC,總共240bit,不超過一個時隙。這種分組被用作主控設(shè)備響應(yīng)和查詢響應(yīng)等用途。 POLL分組本身并不攜帶任何有效載荷,但它需要收方確認(rèn)接收成功。從屬設(shè)備受到該分組后要求回復(fù)一個分組用以確認(rèn)POLL分組的成功接收。在本系統(tǒng)中,該分組用于基帶鏈路的建立。 3.1.5 藍牙設(shè)備地址 藍牙設(shè)備地址(BD_ADDR)是藍牙設(shè)備最穩(wěn)定的標(biāo)識。BD_ADDR是一個48比特長的地址編碼,它以電子方式記
57、錄在每個設(shè)備上。在全球范圍內(nèi),每個藍牙設(shè)備的BD_ADDR都是唯一的。為保證唯一性,由一個地址管理機構(gòu)分配BD-ADDR。BD_ADDR類似于IEEE 802.xx局域網(wǎng)設(shè)備的介質(zhì)接入控制(Medium Access Control,即MAC)地址。 如圖3-4所示,從最低有效位(Last Significant Bit,即LSB)到最高有效位(Most Significant Bit,即MSB),這個48比特的地址段被分成3部分:低端地址部分(Lower Address Part,即LAP),高端地址部分(Upper Address Part,即UAP)以及非有效地址部分(Non-
58、significant Address Part,即NAP)。UAP和NAP共24bit,構(gòu)成了藍牙組織的唯一標(biāo)識(Organization Unique Identifier,即OUI)部分,這部分地址由地址管理機構(gòu)分配,而LAP則由各組織自行分配。 圖3-4 藍牙設(shè)備地址 3.2 鏈路管理層 在進行藍牙通信的兩設(shè)備中,鏈路管理實體(或者說鏈路管理器)相互交換分組,用以設(shè)置和控制設(shè)備之間的藍牙鏈路。鏈路管理實體之間的通信協(xié)議稱為鏈路管理層協(xié)議(Link Manager Protocol即LMP)。這一層的信息不轉(zhuǎn)發(fā)至更高協(xié)議層,而只是在兩設(shè)備的鏈路管理實體中進行解釋和處理。另外
59、,LMP不承載任何數(shù)據(jù)信息。根據(jù)從上層接收到的控制信息,LMP要么與另一設(shè)備的鏈路管理實體進行通信,要么向所在設(shè)備的基帶和射頻單元發(fā)送控制信息。通信鏈路管理實體之間的通信是通過交換LMP_PDU分組來實現(xiàn)的,LMP_PDU將作為基帶ACL類型分組的有效級荷來被基帶傳輸。 圖3-5 藍牙鏈路管理層功能 在圖3-5中,描述了鏈路管理層在整個藍牙系統(tǒng)中的作用和它的功能。 在本系統(tǒng)中,鏈路管理層與前兩節(jié)所討論的藍牙射頻單元和基帶一樣,是在硬件平合中實現(xiàn)的,所以在這里只進行簡要的介紹。 3.3 主機控制接口層 藍牙主機控制器接口(Host Controller Interface)是
60、藍牙主機一主機控制器應(yīng)用模式中藍牙模塊和主機之間的軟硬件接口,它提供了控制基帶與鏈路控制器、鏈路管理器、狀態(tài)寄存器等硬件功能的指令分組格式以及進行數(shù)據(jù)通信的數(shù)據(jù)分組格式。從某種意義上說,HCI的能力代表了藍牙系統(tǒng)可實現(xiàn)的功能,而且它在整個藍牙協(xié)議棧中起到承上啟下的作用。主機控制接口層是本藍牙系統(tǒng)實現(xiàn)的重點之一,將在第四章作詳細介紹,所以在這一節(jié)里只不作詳細說明。 3.4邏輯鏈路控制與適配層 邏輯鏈路控制與適配層(L2CAP)位于主機端HCI層之上, 在本系統(tǒng)協(xié)議結(jié)構(gòu)中的位置如圖3-1所示。 L2CAP層是本系統(tǒng)實現(xiàn)的另一個重點。 L2CAP層的基本任務(wù)是為更高的協(xié)議層屏蔽低層傳輸協(xié)
61、議的各種特性和細節(jié)。這樣,許多已經(jīng)開發(fā)成功的高層協(xié)議和應(yīng)用幾乎可以不作修改地在藍牙鏈路上運行。 L2CAP層本身只關(guān)心異步無連接基帶鏈路分組類型(ACL)的傳輸。這一層分組記作L2CAP_PDU。跟LMP_PDU一樣,L2CAP_PDU也將作為基帶ACL類型分組的有效載荷來被基帶傳輸。 L2CAP層支持高層協(xié)議的多路復(fù)用,彌補了低層協(xié)議中這種功能的缺乏。此外,它還使較大的高層數(shù)據(jù)分組和較小的基帶數(shù)據(jù)分組之間的分割和重組變得容易。這一層還支持服務(wù)質(zhì)量(Quality of Service,即QoS)信息的交換,它通過對期望QoS的支持來幫助實現(xiàn)對傳輸資源的控制。此外,L2CAP還將向高層提供
62、組抽象(Group Abstraction)的概念,用以將高層協(xié)議地址組映射到基帶的微微網(wǎng)實體中。 L2CAP層信息流在設(shè)備間進行傳輸,L2CAP層之間的通信是基于邏輯鏈路進行的,這些邏輯鏈路被稱為邏輯信道。藍牙設(shè)備為每個邏輯信道的本地端點賦予一個本地唯一的信道標(biāo)識符(Channel Identifier,即CID),CID是一個16bit的標(biāo)識符,CID分配工作由本地的L2CAP層完成。 L2CAP層的邏輯信道可分為三種類型:第一種是持續(xù)型的面向連接(Connection_Oriented,即CO)信道,這種信道用于雙向通信,本系統(tǒng)所建立的就是這種類型的邏輯信道;第二種是臨時型的無連接(
63、Connectionless,即CL)信道,這種信道是單向的,可以用來向一組設(shè)備進行廣播傳輸;最后一種是信令信道,用來交換控制信息,這些信息用來建立和配置CO信道。 對應(yīng)每一種邏輯信道類型,都存在一種L2CAP_PDU分組格式圖3-6和圖3-7分別描述了L2CAP層的CO信道分組格式和L2CAP層的信令信道分組格式。至于L2CAP層的CL信道分組格式,由于本系統(tǒng)中沒有采用,所以本文不作介紹。 圖3-6 L2CAP層的CO信道分組格式 圖3-7 L2CAP層的信令信道分組格式 以上L2CAP層的信道分組格式各個字段的意義將在下文中詳細介紹。 3.5 中間件協(xié)議層
64、 中間件協(xié)議利用下層的傳輸協(xié)議,為應(yīng)用層通信提供標(biāo)準(zhǔn)接口。中間件協(xié)議的每一層都定義了一個標(biāo)準(zhǔn)協(xié)議。在這一節(jié)里,將簡要討論中N件協(xié)議組中的RFCOMM層和SDP層。 為了方便在藍牙無線鏈路上實現(xiàn)串行通信,藍牙協(xié)議棧定義了一個被稱為電纜替代協(xié)議層RFCOMM的串行端口抽象。RFCOMM為各種應(yīng)用提供了一個虛擬的串行端口,這樣就可以方便地將有線串行通信中的應(yīng)用搬到無線串行通倍領(lǐng)域中來。因此可以說RFCOMM協(xié)議存在的意義就在于能使傳統(tǒng)的基于串口的應(yīng)用可以方便的利用藍牙技術(shù)。 RFCOMM是歐洲電信標(biāo)準(zhǔn)學(xué)會(ETSI)TS07.10標(biāo)準(zhǔn)定義的模型,這個標(biāo)準(zhǔn)定義了在一個單獨的串行鏈路上進行多路復(fù)用串
65、行通信的方式。藍牙規(guī)范只采用了這個標(biāo)準(zhǔn)中的一個子集,并且做了些修改。RFCOMM在整個藍牙協(xié)議找中的位置參見圖3-l。 服務(wù)發(fā)現(xiàn)協(xié)議SDP定義了一種標(biāo)準(zhǔn)的方法,以使藍牙設(shè)備可以發(fā)現(xiàn)和學(xué)習(xí)其他設(shè)備所提供的服務(wù)。換句話說,SDP為設(shè)備定義了發(fā)現(xiàn)其它設(shè)備提供的服務(wù)的方法,本系統(tǒng)沒有用上SDP。 4 主機控制接口功能規(guī)范 藍牙作為一種短距離的無線網(wǎng)絡(luò)技術(shù),為設(shè)備之間的互聯(lián)提供了方便。使用藍牙互聯(lián)的大都是“智能主機”,它具有處理器、總線和操作系統(tǒng),藍牙必須與它們有機地融合在一起才能發(fā)揮作用。本章就是關(guān)于藍牙與主機系統(tǒng)之間接口的規(guī)范。由于本課題數(shù)據(jù)獲取端與藍牙模塊之間的接口采用的是UART傳輸層,所
66、以本章最后對HCI_UART傳輸層進行了分析。 4.1 HCI概述 主機控制接口(HCI)提供了一種訪問藍牙硬件能力的通用接口。圖4-1描述了藍牙HCI實現(xiàn)的軟件層次。HCI固件通過訪問基帶指令、鏈路管理器指令、硬件狀態(tài)寄存器、控制寄存器以及事件寄存器實現(xiàn)對藍牙硬件的HCI指令。 圖4-1 HCI軟件層次描述 在主機系統(tǒng)的HCI驅(qū)動程序和藍牙的硬件HCI固件之間可能存在幾個層次。這些中間層,又稱為主機控制器傳輸層,能夠提供傳輸數(shù)據(jù)的能力。在便攜式電腦中,該層是PC卡或通用串行總線(USB),該層的目標(biāo)是透明化。主機控制器驅(qū)動程序(它與主機控制器對話)不關(guān)心它是運行在USB上還是PC卡上。USB和PC卡對主機控制器驅(qū)動程序發(fā)送到主機控制器的數(shù)據(jù)不能進行處理,這樣主機控制器接口和主機控制器可以進行升級,升級不會對傳輸層有任何影響。 從一個設(shè)備到另一個設(shè)備傳輸數(shù)據(jù)所經(jīng)歷的處理過程中.主機上的HCI層驅(qū)動程序與藍牙設(shè)備的HCI固件交換數(shù)據(jù)和指令。主機控制傳輸層(如物理總線)的驅(qū)動程序為HCI層提供互
- 溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級數(shù)學(xué)上冊教學(xué)ppt課件58:解決問題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開課一等獎ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂·京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復(fù)習(xí)題型訓(xùn)練補全對話(含最新原創(chuàng)題)課件