版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本 科 畢 業(yè) 論 文</p><p> ARM通過(guò)藍(lán)牙短距離通信的設(shè)計(jì)與實(shí)現(xiàn)</p><p> The Design and Implementation of Short-range Communication Based on Bluetooth and ARM </p><p> 學(xué)院名稱:計(jì)算機(jī)科學(xué)
2、與通信工程學(xué)院</p><p> 專業(yè)班級(jí): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師姓名: </p><p> 指導(dǎo)教師職稱: 副教授 </p><p> 20
3、13 年 05 月</p><p><b> 目 錄</b></p><p><b> 引 言1</b></p><p><b> 第一章 緒論2</b></p><p> 1.1 課題研究的背景及意義2</p><p> 1.2 AR
4、M系列和發(fā)展趨勢(shì)3</p><p> 1.3 藍(lán)牙技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀和趨勢(shì)3</p><p> 1.4 本論文的工作及章節(jié)安排4</p><p> 1.4.1本論文我所做的工作4</p><p> 1.4.2 章節(jié)安排4</p><p> 1.5 本章小結(jié)4</p><p&g
5、t; 第二章 ARM體系結(jié)構(gòu)和指令系統(tǒng)5</p><p> 2.1 ARM的兩種結(jié)構(gòu)5</p><p> 2.2 ARM的核心技術(shù)6</p><p> 2.2.1 CISC技術(shù)和RISC技術(shù)6</p><p> 2.2.2 流水線技術(shù)7</p><p> 2.3 ARM系列8</p>
6、<p> 2.4 ARM處理器工作模式10</p><p> 2.5 ARM處理器寄存器組織11</p><p> 2.6 ARM異常及異常處理11</p><p> 2.7 ARM指令集概述12</p><p> 2.7.1 指令分類和指令格式12</p><p> 2.7.2 A
7、RM指令的條件碼13</p><p> 2.8 ARM指令尋址方式14</p><p> 2.9 ARM應(yīng)用實(shí)例15</p><p> 2.10 本章小結(jié)15</p><p> 第三章 藍(lán)牙技術(shù)16</p><p> 3.1 藍(lán)牙技術(shù)原理16</p><p> 3.2 藍(lán)
8、牙系統(tǒng)組成19</p><p> 3.3 藍(lán)牙協(xié)議體系20</p><p> 3.3.1 藍(lán)牙協(xié)議棧的實(shí)現(xiàn)模型20</p><p> 3.3.2 藍(lán)牙協(xié)議的分類21</p><p> 3.4 藍(lán)牙收發(fā)技術(shù)及調(diào)制21</p><p> 3.4.1 藍(lán)牙無(wú)線傳播規(guī)范21</p><
9、p> 3.4.2 藍(lán)牙信號(hào)的發(fā)送與接收22</p><p> 3.4.3 藍(lán)牙調(diào)制方式23</p><p> 3.5本章小結(jié)23</p><p> 第四章 ARM上的藍(lán)牙通信系統(tǒng)24</p><p> 4.1 系統(tǒng)硬件模塊設(shè)計(jì)24</p><p> 4.2 系統(tǒng)軟件模塊設(shè)計(jì)24</p
10、><p> 4.2.1 數(shù)據(jù)發(fā)送模塊設(shè)計(jì)24</p><p> 4.2.2 數(shù)據(jù)接收模塊設(shè)計(jì)25</p><p> 4.3 藍(lán)牙程序開(kāi)發(fā)環(huán)境搭建及工具簡(jiǎn)介26</p><p> 4.4 藍(lán)牙通信程序的結(jié)果與分析27</p><p> 4.4.1初始化27</p><p> 4.
11、4.2服務(wù)端操作28</p><p> 4.4.3客戶端操作28</p><p> 4.4.4藍(lán)牙連接28</p><p> 4.4.5 服務(wù)器與客戶端信息交換29</p><p> 4.4.6 主函數(shù)chat()的工作流程29</p><p> 4.4.7軟件運(yùn)行與測(cè)試30</p>
12、<p> 4.5 軟件運(yùn)行與測(cè)試的結(jié)果分析32</p><p> 4.6 本章小結(jié)32</p><p> 第五章 總結(jié)與展望33</p><p><b> 致 謝35</b></p><p> 參 考 文 獻(xiàn)36</p><p> ARM通過(guò)藍(lán)牙短距離通信的設(shè)計(jì)
13、與實(shí)現(xiàn)</p><p> 摘要 傳統(tǒng)數(shù)據(jù)通信系統(tǒng)以單片機(jī)或PC機(jī)為核心構(gòu)建而成的數(shù)據(jù)中心,通信鏈路是用RS-232,RS-485等有線方式構(gòu)建,不能同時(shí)滿足低功耗、低價(jià)格與高性能的要求,并受到電纜布線限制,使用不便。而ARM上的藍(lán)牙短距離通信是一個(gè)基于ARM9處理器S3C2410的硬件平臺(tái)構(gòu)建數(shù)據(jù)中心,通過(guò)藍(lán)牙進(jìn)行無(wú)線數(shù)據(jù)傳輸?shù)南到y(tǒng)。采用無(wú)線通信技術(shù),可以免除線的限制,由于藍(lán)牙擁有低功耗、價(jià)格低、抗干擾性強(qiáng)等特
14、點(diǎn),非常適合連接計(jì)算機(jī)與外設(shè),組建個(gè)人區(qū)域網(wǎng)等;同時(shí),以ARM為核心的數(shù)據(jù)中心具有體積小、功能強(qiáng)、功耗低、操作方便、整體性價(jià)比高等優(yōu)點(diǎn)。綜上所述,ARM上的藍(lán)牙短距離通信這個(gè)系統(tǒng)將整體具有功耗低、性價(jià)比高等讓人神往的優(yōu)點(diǎn)。</p><p> 本文詳細(xì)闡述了基于ARM的的藍(lán)牙無(wú)線短距離通信系統(tǒng)的原理、系統(tǒng)的軟硬件設(shè)計(jì)和系統(tǒng)調(diào)試。詳細(xì)介紹藍(lán)牙模塊硬件設(shè)計(jì)及其配置方法、基于ARM的藍(lán)牙通信應(yīng)用軟件的工作流程、串口驅(qū)動(dòng)
15、程序設(shè)計(jì)、對(duì)串口終端參數(shù)的配置、數(shù)據(jù)發(fā)送和接收模塊的的設(shè)計(jì),還介紹了藍(lán)牙模塊和藍(lán)牙適配器的通信調(diào)試。系統(tǒng)完成后進(jìn)行了系統(tǒng)調(diào)試,成功的實(shí)現(xiàn)了ARM上的藍(lán)牙短距離通信,達(dá)到課題預(yù)期要求。</p><p> 關(guān)鍵詞: 藍(lán)牙短距離通信;藍(lán)牙技術(shù);ARM。</p><p> The Design and Implementation of Short-range Communication Ba
16、sed on Bluetooth and ARM</p><p> Abstract Traditional data communication system is build by single-chip microcomputer and PC , and we always use RS - 232, RS - 485 cable to build communication links, which
17、can't meet the requirements of low power consumption, low price and high performance. On the other hand, it is difficult to use because of limited by the cable wiring. The bluetooth wireless data communication system
18、 based on ARM such as ARM9 S3C2410 processor hardware platform to build data center, using bluetooth technology</p><p> This paper expounds on the bluetooth wireless communication system based on ARM of the
19、 principle, system hardware and software design and system debugging. Hardware design is based on ARM9 processor as the core of hardware platform design, detailed introduction of bluetooth module and configuration method
20、s of hardware design, embedded motherboards and interface circuit design; Software based on ARM is introduced in the design of the working process of bluetooth communication application software</p><p> Key
21、 word Buletooth Short-range communication; Bluetooth technology; ARM.</p><p><b> 引 言</b></p><p> 嵌入式正處于蓬勃發(fā)展的階段,社會(huì)的趨勢(shì)將是向智能化發(fā)展,尤其是在智能家電領(lǐng)域,嵌入式的發(fā)展前景尤為廣闊。正因?yàn)锳RM具有功耗低,功能強(qiáng),性價(jià)比高等特點(diǎn),所以嵌入式最常
22、用的微處理器就是ARM;對(duì)于通信鏈路的話,有線電纜肯定不太適宜,而藍(lán)牙功耗低,抗干擾性強(qiáng),必然成為短距離通信鏈路的良好選擇,所以我選擇了ARM上的藍(lán)牙通信系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)這個(gè)課題,從而實(shí)現(xiàn)ARM產(chǎn)品之間的通信。</p><p><b> 第一章 緒論</b></p><p> 1.1 課題研究的背景及意義</p><p> 隨著現(xiàn)代化技術(shù)
23、的一步步發(fā)展,網(wǎng)絡(luò)技術(shù)已經(jīng)步入日常生活的每個(gè)領(lǐng)域。而通信技術(shù)的發(fā)展尤為迅速,很多的新技術(shù)相繼誕生,而藍(lán)牙通信技術(shù)就是其中之一。</p><p> 藍(lán)牙技術(shù)是一種短距離無(wú)線接口,可提供一個(gè)低成本、方便高效,支持較高質(zhì)量話音數(shù)據(jù)傳輸?shù)臒o(wú)線通信網(wǎng)絡(luò),可代替線纜,實(shí)現(xiàn)在移動(dòng)電話、便攜式電腦和其他電子裝置間的短距離無(wú)線連接,具有成本低、功耗低、體積小等特點(diǎn),采用藍(lán)牙技術(shù)可以實(shí)現(xiàn)用無(wú)線技術(shù)連接所有的移動(dòng)電子設(shè)備,進(jìn)而形成一
24、種個(gè)人身邊網(wǎng)絡(luò),使得其范圍內(nèi)的各種信息化的移動(dòng)和便攜設(shè)備都能實(shí)現(xiàn)資源共享。另一方面,藍(lán)牙通信通過(guò)藍(lán)牙協(xié)議進(jìn)行通信,真正實(shí)現(xiàn)了信息的實(shí)時(shí)就地交換,環(huán)境的影響幾乎不影響通信的效率,其開(kāi)發(fā)前景很好。</p><p> 藍(lán)牙無(wú)線技術(shù)的應(yīng)用大體上劃分為替代線纜、因特網(wǎng)橋和臨時(shí)組網(wǎng)三個(gè)領(lǐng)域。在目前的情況下,藍(lán)牙技術(shù)的市場(chǎng)價(jià)值越來(lái)越高。一旦藍(lán)牙芯片的性價(jià)比達(dá)到一定的水平,同時(shí)找到有利于市場(chǎng)推廣的突破點(diǎn)和適當(dāng)?shù)纳虡I(yè)運(yùn)行模式,其
25、普及的速度必將洶涌而至。藍(lán)牙無(wú)線通信技術(shù)的出現(xiàn)之所以引起企業(yè)界如此廣泛的關(guān)注,就是因?yàn)樗鼮槠渌I(lǐng)域的技術(shù)發(fā)展注入了鮮活的生命力。例如,瑞典ABB歐諾公司將藍(lán)牙技術(shù),網(wǎng)絡(luò)技術(shù)和智能技術(shù)相結(jié)合應(yīng)用在工業(yè)環(huán)境中。除了與傳統(tǒng)工業(yè)相結(jié)合,藍(lán)牙無(wú)線技術(shù)還被稱為“爆發(fā)性技術(shù)”,即它能夠激發(fā)各組織和團(tuán)體的去開(kāi)拓新的商業(yè)模式,從而改變他們競(jìng)爭(zhēng)的模式。與此同時(shí),藍(lán)牙SIC正在制定下一代的藍(lán)牙標(biāo)準(zhǔn),藍(lán)牙必將融于我們的日常生活中去。</p>&l
26、t;p> 隨著手機(jī)終端設(shè)備的發(fā)展,3G技術(shù)的廣泛使用,藍(lán)牙的應(yīng)用越來(lái)越廣泛,而這些終端都是支持J2ME MIDP標(biāo)準(zhǔn),J2ME的這種跨平臺(tái)性和動(dòng)態(tài)下載使用的能力使得第三方軟件開(kāi)發(fā)公司可以為移動(dòng)設(shè)備開(kāi)發(fā)獨(dú)立的應(yīng)用程序,以增加無(wú)線領(lǐng)域的應(yīng)用。用戶可以利用J2ME開(kāi)發(fā)的應(yīng)用程序完成圖書(shū)游戲,個(gè)人信息處理等功能,這些服務(wù)的誕生使手機(jī)終端設(shè)備的生產(chǎn)商不用再關(guān)心誰(shuí)來(lái)提供增值服務(wù)。JAVA可以為用戶提供個(gè)性化的形式各樣的應(yīng)用,基于J2ME的開(kāi)
27、發(fā)將在未來(lái)的市場(chǎng)中創(chuàng)造更高的價(jià)值。</p><p> 1.2 ARM系列和發(fā)展趨勢(shì)</p><p> ARM微處理器目前有如下幾個(gè)系列:ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、ARM11E系列、Cortex-M系列、Cortex-A系列、 Cortex-R系列、SecurCore系列、Inter的Xscale、Inter的StrongARM,每一個(gè)系列的ARM微處
28、理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。其中,ARM7是馮諾依慢結(jié)構(gòu),ARM9、ARM11是哈佛結(jié)構(gòu),所以性能要高一點(diǎn),ARM9和ARM11大多帶內(nèi)存管理器,跑操作系統(tǒng)好一點(diǎn),ARM7適合裸奔,ARM10、ARM11、Cortex-A8等等性能高,通常要跑操作系統(tǒng),SecurCore系列專門(mén)為安全要求較高的應(yīng)用而設(shè)計(jì)。相對(duì)成熟的系列有:ARM7、ARM9、ARM11。 </p><p> 目前,約有三分之二的ARM
29、授權(quán)許可是簽給非移動(dòng)設(shè)備應(yīng)用的,ARM的許多授權(quán)機(jī)會(huì)是不局限于無(wú)線設(shè)備的。隨著Cortex-M系列處理器的上市ARM已經(jīng)增加了其在微控制器市場(chǎng)的機(jī)會(huì),并且我們要將我們的產(chǎn)品出售給比更多的公司,就目前情形來(lái)看,ARM的發(fā)展趨勢(shì)是:Cortex-A、Cortex-R、Cortex-M這幾個(gè)系列。</p><p> 1.3 藍(lán)牙技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀和趨勢(shì)</p><p> 從國(guó)內(nèi)整體來(lái)看,目
30、前參與藍(lán)牙特殊興趣小組的國(guó)內(nèi)企業(yè)還為數(shù)不多,藍(lán)牙產(chǎn)品也大多處于研發(fā)階段。</p><p> 國(guó)外自從1994年愛(ài)立信提出藍(lán)牙技術(shù)以來(lái),這項(xiàng)低功耗、低成本的無(wú)線連接技術(shù)已經(jīng)得到了巨大的發(fā)展。1998年5月,愛(ài)立信、諾基亞、東芝、IBM和英特爾5家公司成立了藍(lán)牙特殊興趣小組(SIG)。此后,各大公司都加大了對(duì)藍(lán)牙的投資力度,于1999年發(fā)布了藍(lán)牙技術(shù)協(xié)議V1.0B版,2001年3月發(fā)布了藍(lán)牙協(xié)議V1.1版。愛(ài)立信于
31、2000年推出了藍(lán)牙技術(shù)模塊,這種模塊主要采用了兩個(gè)芯片完成整個(gè)藍(lán)牙協(xié)議,目前各大公司正在努力將整個(gè)藍(lán)牙協(xié)議植入一個(gè)芯片中。到2001年4月止,藍(lán)牙特殊興趣小組已有各種成員2491位;已通過(guò)藍(lán)牙技術(shù)認(rèn)證的產(chǎn)品( 藍(lán)牙調(diào)制器、開(kāi)發(fā)器、測(cè)試設(shè)備及其 他應(yīng)用產(chǎn)品)已達(dá)200多種。目前,在國(guó)外公司推出的產(chǎn)品當(dāng)中,各類測(cè)試設(shè)備( 無(wú)線測(cè)試儀和協(xié)議分析儀等)已日趨成熟,但其應(yīng)用產(chǎn)品(PC卡等)還有些問(wèn)題需要解決( 互操作性差、傳輸速率低等)。<
32、;/p><p> 如今隨著國(guó)際SIG組織的不斷研究和很多大公司的介入,藍(lán)牙的短距離傳輸?shù)陌踩栽絹?lái)越高,距離越來(lái)越長(zhǎng),性價(jià)比也越來(lái)越高,相信終有一天藍(lán)牙會(huì)被</p><p><b> 廣泛普及使用。</b></p><p> 1.4 本論文的工作及章節(jié)安排</p><p> 1.4.1本論文我所做的工作</p&
33、gt;<p> 我在此次畢業(yè)設(shè)計(jì)中,認(rèn)真學(xué)習(xí)了基于ARM的嵌入式系統(tǒng)的相關(guān)基礎(chǔ)知識(shí),了解嵌入式軟件編程的基本流程,研究藍(lán)牙模塊,掌握配置該模塊的方法,使用藍(lán)牙適配器,藍(lán)牙模塊的初始化、配對(duì)、實(shí)現(xiàn)通信過(guò)程,配置軟件運(yùn)行環(huán)境:ecplise+jdk1.6+WTK2.5,在此基礎(chǔ)上,用JAVA語(yǔ)言編寫(xiě)J2ME項(xiàng)目,實(shí)現(xiàn)了藍(lán)牙的模擬通信,達(dá)到了預(yù)期結(jié)果。</p><p> 1.4.2 章節(jié)安排</
34、p><p> ?。壕w論。講述的是ARM上藍(lán)牙通信的研究背景與意義,ARM以及藍(lán)牙的發(fā)展現(xiàn)狀和趨勢(shì)。</p><p> 第二章:ARM體系結(jié)構(gòu)和指令系統(tǒng)。講述了ARM的體系結(jié)構(gòu)和一些常用指令。</p><p> 第三章:藍(lán)牙技術(shù)。介紹了藍(lán)牙協(xié)議、藍(lán)牙接發(fā)數(shù)據(jù)技術(shù)、藍(lán)牙系統(tǒng)等。</p><p> 第四章:ARM上的藍(lán)牙通信系統(tǒng)。整體介紹的是AR
35、M上藍(lán)牙通信系統(tǒng)的實(shí)現(xiàn)與所要做的一些工作。</p><p> 第五章:總結(jié)與展望??偨Y(jié)項(xiàng)目結(jié)論和應(yīng)該做的工作以及該系統(tǒng)的應(yīng)用前景,以便從中獲取經(jīng)驗(yàn)。</p><p><b> 1.5 本章小結(jié)</b></p><p> 本章介紹了ARM上藍(lán)牙通信這個(gè)課題的研究背景和意義,還介紹了國(guó)內(nèi)外ARM藍(lán)牙的發(fā)展現(xiàn)狀,最后說(shuō)明了我在本次畢業(yè)設(shè)計(jì)中所做
36、的工作和章節(jié)安排。第二章 ARM體系結(jié)構(gòu)和指令系統(tǒng)</p><p> 嵌入式設(shè)備中用的最常用的微處理器就是ARM了,ARM既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。</p><p> 1991年ARM公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。ARM公司是專門(mén)從事基于RISC技術(shù)芯片設(shè)計(jì)開(kāi)發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯
37、片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM微處理器芯片進(jìn)入市場(chǎng)。</p><p> 2.1 ARM的兩種結(jié)構(gòu)</p><p> ARM的結(jié)構(gòu)有兩種,一種是馮.諾依曼結(jié)構(gòu),另一種是哈佛體系結(jié)構(gòu),這兩種結(jié)構(gòu)各有優(yōu)缺點(diǎn)。</p><p&g
38、t;<b> 1.馮·諾依曼機(jī)構(gòu)</b></p><p> 馮.諾伊曼結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)構(gòu)。程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,因此程序指令和數(shù)據(jù)的寬度相同。</p><p> 馮·諾依曼結(jié)構(gòu)處理器具有以下幾個(gè)特點(diǎn):必須有一個(gè)存儲(chǔ)器;必須有一個(gè)控制器;必須有一
39、個(gè)運(yùn)算器,用于完成算術(shù)運(yùn)算和邏輯運(yùn)算;必須有輸入和輸出設(shè)備,用于進(jìn)行人機(jī)通信。馮·諾依曼的主要貢獻(xiàn)就是提出并實(shí)現(xiàn)了“存儲(chǔ)程序”的概念。由于指令和數(shù)據(jù)都是二進(jìn)制碼,指令和操作數(shù)的地址又密切相關(guān),因此,當(dāng)初選擇這種結(jié)構(gòu)是自然的。但是,這種指令和數(shù)據(jù)共享同一總線的結(jié)構(gòu),使得信息流的傳輸成為限制計(jì)算機(jī)性能的瓶頸,影響了數(shù)據(jù)處理速度的提高。</p><p><b> 2.哈佛結(jié)構(gòu)</b>&
40、lt;/p><p> 哈佛結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的存儲(chǔ)器結(jié)構(gòu)。中央處理器首先到程序指令存儲(chǔ)器中讀取程序指令內(nèi)容,解碼后得到數(shù)據(jù)地址,再到相應(yīng)的</p><p> 數(shù)據(jù)存儲(chǔ)器中讀取數(shù)據(jù),并進(jìn)行下一步的操作(通常是執(zhí)行)。程序指令存儲(chǔ)和</p><p> 數(shù)據(jù)存儲(chǔ)分開(kāi),可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度。</p><p> 哈佛
41、結(jié)構(gòu)的微處理器通常具有較高的執(zhí)行效率,其程序指令和數(shù)據(jù)指令分開(kāi)組織和存儲(chǔ)的,執(zhí)行時(shí)可以預(yù)先讀取下一條指令。</p><p> 3.馮·諾依曼機(jī)構(gòu)和哈佛結(jié)構(gòu)的區(qū)別及各自應(yīng)用</p><p> 二者的區(qū)別就是程序空間和數(shù)據(jù)空間是否是一體的。馮·諾依曼結(jié)構(gòu)數(shù)據(jù)空間和地址空間不分開(kāi),哈佛結(jié)構(gòu)數(shù)據(jù)空間和地址空間是分開(kāi)的?! ≡缙诘奈⑻幚砥鞔蠖嗖捎民T·諾依曼結(jié)構(gòu),典
42、型代表是Intel公司的X86微處理器。取指和取操作數(shù)都在同一總線上,通過(guò)分時(shí)服用的方式進(jìn)行的。缺點(diǎn)是在高速運(yùn)行時(shí),不能達(dá)到同時(shí)取指令和取操作數(shù),從而形成了傳輸過(guò)程的瓶頸?! 」鹂偩€技術(shù)應(yīng)用是以DSP和ARM為代表的。采用哈佛總線體系結(jié)構(gòu)的芯片內(nèi)部程序空間和數(shù)據(jù)空間是分開(kāi)的,這就允許同時(shí)取指和取操作數(shù),從而大大提高了運(yùn)算能力?! SP芯片硬件結(jié)構(gòu)有馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu),兩者區(qū)別是地址空間和數(shù)據(jù)空間分開(kāi)與否。一般DS
43、P都是采用改進(jìn)型哈佛結(jié)構(gòu),就是分開(kāi)的數(shù)據(jù)空間和地址空間都不只是一條,而是有多條,這根據(jù)不同的生產(chǎn)廠商的DSP芯片有所不同。在對(duì)外尋址方面從邏輯上來(lái)說(shuō)也是一樣,因?yàn)橥獠恳_的原因,一般來(lái)說(shuō)都是通過(guò)相應(yīng)的空間選取來(lái)實(shí)現(xiàn)的。本質(zhì)上是同樣的道理。</p><p> 2.2 ARM的核心技術(shù)</p><p> ARM中的先進(jìn)技術(shù)有很多,其中RISC技術(shù)和流水線技術(shù)是ARM的核心技術(shù)。這兩種技術(shù)將
44、具有劃時(shí)代的意義,是ARM發(fā)展的一個(gè)突破。</p><p> 2.2.1 CISC技術(shù)和RISC技術(shù)</p><p> 傳統(tǒng)的復(fù)雜指令集計(jì)算機(jī)(Complex Instruction Set Computer,簡(jiǎn)稱CISC)是一種執(zhí)行較少類型計(jì)算機(jī)指令的微處理器。結(jié)構(gòu)有其固有的缺點(diǎn),即隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會(huì)越來(lái)越復(fù)雜,然
45、而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%,顯然,這種結(jié)構(gòu)是不太合理的。 基于以上的不合理性,1979年美國(guó)加州大學(xué)伯克利分校提出精簡(jiǎn)指令集計(jì)算機(jī)(Reduced Instruction Set Computer,簡(jiǎn)稱RISC)的概念,RISC并非只是簡(jiǎn)單地去減少指令,而是把著眼點(diǎn)放在了如何使計(jì)算機(jī)的結(jié)構(gòu)更加
46、簡(jiǎn)單合理地提高運(yùn)算速度上。RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。</p><p> 到目前為止,RISC體系結(jié)構(gòu)也還沒(méi)有嚴(yán)格的定義,一般認(rèn)為,RISC體系結(jié)構(gòu)應(yīng)具有如下特點(diǎn): 1.采用固定長(zhǎng)度的指令格式,指令歸整、簡(jiǎn)單、基本尋址方式有2~3種?! ?.使用單周期指令,便于流水線操作執(zhí)行。
47、 3.大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載/存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率?! ‘?dāng)然,和CISC架構(gòu)相比較,盡管RISC架構(gòu)有上述的優(yōu)點(diǎn),但決不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu),事實(shí)上,RISC和CISC各有優(yōu)勢(shì),而且界限并不那么明顯?,F(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超長(zhǎng)指令集CPU就是融合了RISC和CISC的優(yōu)勢(shì),成為未來(lái)的CPU發(fā)展方向之一。</
48、p><p> 圖2.1給出了CISC和RISC的不同。</p><p> 圖2.1 CISC和RISC</p><p> 由圖2.1可知,CICS技術(shù)的編譯器相對(duì)于RISC來(lái)說(shuō)比較簡(jiǎn)單,RISC技術(shù)的處理器較CICS比較簡(jiǎn)單,他們的結(jié)構(gòu)決定了他們各自的優(yōu)缺點(diǎn),所以將他們的優(yōu)點(diǎn)集于一體是以后的發(fā)展趨勢(shì)。</p><p> 2.2.2 流水線
49、技術(shù)</p><p> 流水線(pipeline)技術(shù)是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。流水線是Intel首次在486芯片中開(kāi)始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5-6個(gè)不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5-6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)在一個(gè)CPU時(shí)鐘周期完成一條指令,因此提高CPU的運(yùn)算</p>
50、;<p> 速度。經(jīng)典奔騰每條整數(shù)流水線都分為四級(jí)流水,即指令預(yù)取、譯碼、執(zhí)行、寫(xiě)回結(jié)果,浮點(diǎn)流水又分為八級(jí)流水。</p><p> 使用流水線,可以在取下一個(gè)指令的同時(shí)譯碼和執(zhí)行其他指令,從而加快執(zhí)</p><p> 行速度。但是也存在缺點(diǎn):如果處理器執(zhí)行了一條跳轉(zhuǎn)指令的話,則流水線指令隊(duì)列中所有預(yù)取指令都必須被丟棄,并且需要從內(nèi)存中取出新的指令序列;在內(nèi)核執(zhí)行一條指
51、令前,需要更多的周期來(lái)填充流水線;另外,也會(huì)是某些段之間產(chǎn)生數(shù)據(jù)相關(guān)。流水線技術(shù)大體如圖2.2所示。</p><p> 圖2.2 流水線技術(shù)</p><p> 流水線技術(shù)大大加快了執(zhí)行速度,提高了執(zhí)行效率,擁有RISC技術(shù)和流水線技術(shù)的ARM處理器就像是注入了新的生命,成了ARM競(jìng)爭(zhēng)的有力依據(jù)。</p><p><b> 2.3 ARM系列</
52、b></p><p> ARM微處理器目前包括下面幾個(gè)系列,以及其它廠商基于ARM體系結(jié)構(gòu)的處理器,除了具有ARM體系結(jié)構(gòu)的共同特點(diǎn)以外,每一個(gè)系列的ARM微處理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域?! 。?ARM7系列 - ARM9系列 ?。?ARM9E系列 - ARM10E系列 ?。?ARM11E系列 - Cortex-M系列 ?。?Cortex-A系列</p><p&g
53、t; ?。?Cortex-R系列 ?。?SecurCore系列 ?。?Inter的Xscale - Inter的StrongARM 其中,ARM7、ARM9、ARM9E和ARM10為4個(gè)通用處理器系列,每一個(gè)系列提供一套相對(duì)獨(dú)特的性能來(lái)滿足不同應(yīng)用領(lǐng)域的需求。對(duì)于Cortex-M系列中我簡(jiǎn)單介紹下Cortex-M3和Cortex-M4,Cortex-M3是高性能微控制器,可實(shí)現(xiàn)最大帶寬和連接性,Cortex-M4是新型混
54、合型微控制器,集微控制器和數(shù)控信號(hào)控制DSP擴(kuò)展功能于一身。SecurCore系列專門(mén)為安全要求較高的應(yīng)用而設(shè)計(jì)。下面詳細(xì)介紹下ARM7、ARM9和SecurCore處理器。</p><p><b> ARM7處理器</b></p><p> ARM7處理器采用了ARMV4T(馮·諾依曼)體系結(jié)構(gòu),這種體系結(jié)構(gòu)將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起。主要
55、特點(diǎn)就是程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序指令和數(shù)據(jù)的寬度相同。這樣,處理器在執(zhí)行指令時(shí),必須先從存儲(chǔ)器中取出指令進(jìn)行譯碼,再取操作數(shù)執(zhí)行運(yùn)算。總體來(lái)說(shuō)ARM7體系結(jié)構(gòu)具有三級(jí)流水、空間統(tǒng)一的指令與數(shù)據(jù)Cache、平均功耗為0.6mW/MHz、時(shí)鐘速度為66MHz、每條指令平均執(zhí)行1.9個(gè)時(shí)鐘周期等特性。ARM7體系結(jié)構(gòu)是小型、快速、低能耗、集成式的R
56、ISC內(nèi)核結(jié)構(gòu)。目前主流的ARM7內(nèi)核是ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T?,F(xiàn)在市場(chǎng)上用得最多的ARM7處理器有Samsung公司的S3C44BOX與S3C4510處理器、Atmel公司的AT91FR40162系列處理器、Cirrus公司的EP73xx系列等。</p><p> 2.ARM9和ARM9E</p><p> ARM9處理器采用ARMV
57、4T(哈佛)體系結(jié)構(gòu)。這種體系結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的存儲(chǔ)器結(jié)構(gòu),是一種并行體系結(jié)構(gòu)。其主要特點(diǎn)是程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。它們是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問(wèn)。與兩個(gè)存儲(chǔ)器相對(duì)應(yīng)的是系統(tǒng)中的4套總線,程序的數(shù)據(jù)總線和地址總線,數(shù)據(jù)的數(shù)據(jù)總線和地址總線。這種分離的程序總線和數(shù)據(jù)總線可允許在一個(gè)機(jī)器周期內(nèi)同時(shí)獲取指令字和操作數(shù),從而提高了執(zhí)行速度,使數(shù)據(jù)的吞吐量提高了一
58、倍。又由于程序和數(shù)據(jù)存儲(chǔ)器在兩個(gè)分開(kāi)的物理空間中,因而取指和執(zhí)行能完全重疊。ARM9采用五級(jí)流水處理及分離的Cache結(jié)構(gòu),平均功耗為0.7mW/MHz。時(shí)鐘速度為120MHz~200MHz,每條指令平均執(zhí)行1.5個(gè)時(shí)鐘周期。與ARM7處理器系列相似,其中的ARM920、ARM940和ARM9E處理器均為含有Cache的CPU核,性能為132MIPS(120MHz時(shí)鐘,3.3V供電)或220MIPS(200MHz時(shí)鐘)。ARM9處理器同
59、時(shí)也配備Thumb指令擴(kuò)展、調(diào)試和Harvard總線。在生產(chǎn)工藝相同的情況下,性能是ARM7T</p><p> 3.SecurCore處理器</p><p> SecurCore系列處理器提供了基于高性能的32位RISC技術(shù)的安全解決方案,該系列處理器具有體積小、功耗低、代碼密度大和性能高等特點(diǎn)。另外最為特別的就是該系列處理器提供了安全解決方案的支持。采用軟內(nèi)核技術(shù),以提供最大限度的
60、靈活性,以及防止外部對(duì)其進(jìn)行掃描探測(cè),提供面向智能卡的和低成本的存儲(chǔ)保護(hù)單元MPU,可以靈活地集成用戶自己的安全特性和其他的協(xié)處理器,目前含有SC100、SC110、SC200、SC210 4種產(chǎn)品。</p><p> 每個(gè)處理器的發(fā)展總是在前者的基礎(chǔ)上有了一定的突破,如ARM9采用哈佛結(jié)構(gòu)后,執(zhí)行速度陡然上升,是ARM7所不能及的,SecurCore系列的處理器在安全性上有了大大的提升,個(gè)人覺(jué)得總有一天,AR
61、M公司會(huì)出一個(gè)集他們優(yōu)點(diǎn)于一體的微處理器的。</p><p> 2.4 ARM處理器工作模式</p><p> ARM系統(tǒng)結(jié)構(gòu)支持七種處理器工作模式,他們分別如表2.1所示。</p><p> 表2.1 處理器的工作模式</p><p> 除用戶模式外,其它模式均為特權(quán)模式(Privileged Modes)。ARM內(nèi)部寄存器和一些片
62、內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問(wèn)。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。</p><p> 特權(quán)模式中除系統(tǒng)(system)模式之外的其他5種模式又統(tǒng)稱為異常模式。它們除了可以通過(guò)在特權(quán)下的程序切換進(jìn)入外,也可以由特定的異常進(jìn)入。比如硬件產(chǎn)生中斷信號(hào)進(jìn)入中斷異常模式,讀取沒(méi)有權(quán)限數(shù)據(jù)進(jìn)入中止異常模式,執(zhí)行未定義指令時(shí)進(jìn)入未定義指令中止異常模式。其中管
63、理模式也稱為超級(jí)用戶模式,是為操作系統(tǒng)提供軟中斷的特有模式,正是由于有了軟中斷,用戶程序才可以通過(guò)系統(tǒng)調(diào)用切換到管理模式。</p><p> 2.5 ARM處理器寄存器組織</p><p> ARM處理器共有37個(gè)寄存器,被分為若干個(gè)組(BANK),這些寄存器包括:</p><p> ?。?31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC指針),均為32位的寄存器?! ?/p>
64、- 6個(gè)狀態(tài)寄存器,用以標(biāo)識(shí)CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。 同時(shí),ARM處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對(duì)應(yīng)。即在任意一種處理器模式下,可訪問(wèn)的寄存器包括15個(gè)通用寄存器(R0~R14)、一至二個(gè)狀態(tài)寄存器和一個(gè)程序計(jì)數(shù)器。在所有的寄存器中,有些是在7種處理器模式下共用的同一個(gè)物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。&l
65、t;/p><p> 2.6 ARM異常及異常處理</p><p> 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。</p><p> 當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作
66、: </p><p> 1.將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。</p><p> 2.將CPSR復(fù)制到相應(yīng)的SPSR中。 </p><p> 3.根據(jù)異常類型,設(shè)置恰當(dāng)?shù)腃PSR位,包括改變處理器狀態(tài)進(jìn)入ARM狀態(tài),改變處理器模式進(jìn)入相應(yīng)的異常模式,設(shè)置中斷禁止位禁止相應(yīng)中斷。 </p>
67、<p> 4.設(shè)置PC使其從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。 </p><p> 異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回: </p><p> 1.將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。 </p><p> 2.將SPSR復(fù)制回CPSR中。 </p><p&
68、gt; 3.若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,在此進(jìn)行清除。</p><p> ARM的一整套的異常處理后處理后恢復(fù)的機(jī)制,使得ARM處理器更加人性化,在同行競(jìng)爭(zhēng)中占據(jù)了不可或缺的優(yōu)勢(shì)。</p><p> 2.7 ARM指令集概述</p><p> ARM微處理器在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長(zhǎng)
69、度,Thumb指令為16位長(zhǎng)度。Thumb指令集</p><p> 為ARM指令集的功能子集,但與等價(jià)的ARM代碼相比較,可節(jié)省30%~40%以</p><p> 上的存儲(chǔ)空間,同時(shí)具備32位代碼的所有優(yōu)點(diǎn)。以下介紹ARM的指令分類和指令格式。</p><p> 2.7.1 指令分類和指令格式</p><p><b> 1.
70、指令分類</b></p><p> ARM微處理器的指令集可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(PSR)處理指令、加載/存儲(chǔ)指令、協(xié)處理器指令和異常產(chǎn)生指令六大類。</p><p><b> (1)跳轉(zhuǎn)指令</b></p><p> MOV LR,PC,向PC寄存器寫(xiě)入跳轉(zhuǎn)地址值,可以實(shí)現(xiàn)4GB內(nèi)的跳轉(zhuǎn);B,BL,B
71、LX,BX等跳轉(zhuǎn)指令,可以實(shí)現(xiàn)32MB內(nèi)的空間跳轉(zhuǎn)。</p><p><b> (2)數(shù)據(jù)處理指令</b></p><p> 數(shù)據(jù)處理指令分為3類:數(shù)據(jù)傳送指令(MOV,MVN等),算術(shù)邏輯運(yùn)算指令(ADD,SUM,AND等),比較指令(CMP,TST等)。</p><p> (3)程序狀態(tài)寄存器(PSR)處理指令</p>
72、<p> 狀態(tài)寄存器指令用于在狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù)。</p><p> (4)加載/存儲(chǔ)指令</p><p> 通過(guò)加載和存儲(chǔ)指令實(shí)現(xiàn)ARM處理器對(duì)存儲(chǔ)器的訪問(wèn)。</p><p><b> (5)協(xié)處理器指令</b></p><p> 在程序執(zhí)行的過(guò)程中,每個(gè)協(xié)處理器只執(zhí)行針對(duì)自身的協(xié)處
73、理指令,忽略ARM處理器和其它協(xié)處理器的指令。ARM的協(xié)處理器指令主要用于協(xié)處理器的初始化、ARM處理器的寄存器與協(xié)處理器的寄存器之間的數(shù)據(jù)傳輸、協(xié)處理器的寄存器與存儲(chǔ)器之間的數(shù)據(jù)傳輸。</p><p><b> (6)異常產(chǎn)生指令</b></p><p> ARM微處理器所支持的異常指令有SWI和BKPT。</p><p> SWI:軟
74、件中斷指令,用于產(chǎn)生軟件中斷,以便用戶程序能調(diào)用操作系統(tǒng)的系統(tǒng)例程。</p><p> BKPT:斷點(diǎn)中斷指令,產(chǎn)生軟件斷點(diǎn)中斷,可用于程序的調(diào)試。</p><p><b> 2.指令格式</b></p><p> ARM指令使用的基本格式如下:</p><p> <opcode> {<con
75、d>} {s} <Rd> <Rn> <shifter_operand></p><p> 其中,<>內(nèi)的項(xiàng)是必須的,{}內(nèi)的項(xiàng)是可選的,具體的指令格式如表2.2所示。</p><p> 表2.2 ARM指令基本格式</p><p> 每個(gè)ARM指令都有自己的用法,是有著嚴(yán)格的格式的,平時(shí)我們應(yīng)該熟悉
76、使用,小心慎用。</p><p> 2.7.2 ARM指令的條件碼</p><p> N:運(yùn)算結(jié)果的b31位值。對(duì)于有符號(hào)二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時(shí)N=1,結(jié)果為正數(shù)或零時(shí)N=0;</p><p> Z:指令結(jié)果為0時(shí)Z=1,否則Z=0;</p><p> C:使用加法運(yùn)算(包括CMN指令),b31位產(chǎn)生進(jìn)位時(shí)C=1,否則C=0。使用減
77、法運(yùn)算(包括CMP),b31位產(chǎn)生借位時(shí)C=0,否則C=1。對(duì)于結(jié)合移位操作的非加法/減法指令,C為b31位最后的移出值,其它指令C通常不變;</p><p> V:使用加法/減法運(yùn)算,當(dāng)發(fā)生有符號(hào)溢出時(shí)V=1,否則V=0,其它指令V通常不變。</p><p> 可以使用的條形碼助記符如表2.3所示。</p><p> 表2.3 條形碼助記符</p>
78、;<p><b> ......</b></p><p> 圖中介紹的只是部分可以使用的條形碼助記符,其實(shí)還有很多助記符,不能一一道盡。</p><p> 2.8 ARM指令尋址方式</p><p> 尋址方式與處理器的結(jié)構(gòu)密切相關(guān),與指令格式和指令功能密切相關(guān)。通常來(lái)講尋址方式是確定本條指令數(shù)據(jù)地址以及下一條要執(zhí)行指令的
79、地址的方法。ARM指令的基本尋址方式包括9種方式,它們是:立即尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對(duì)尋址、寄存器移位尋址、多寄存器尋址、堆棧尋址、塊復(fù)制尋址。</p><p><b> 立即尋址</b></p><p> 立即尋址也稱作立即數(shù)尋址,這種尋址方式的操作數(shù)由指令的地址部分直接</p><p><b> 給出
80、。</b></p><p><b> (2)寄存器尋址</b></p><p> ARM處理器內(nèi)有多個(gè)32位通用寄存器,當(dāng)操作數(shù)是通用寄存器中的數(shù)值時(shí),這種尋址方式稱作寄存器尋址方式。</p><p> (3)寄存器間接尋址</p><p> 指令中的地址碼給出某一通用寄存器編號(hào)是操作數(shù)的地址,即寄存
81、器中的值</p><p> 是操作數(shù)的地址,這種尋址方式稱作寄存器間接尋址。</p><p><b> 變址尋址 </b></p><p> 將指令中給出的基址寄存器內(nèi)容與指令中給出偏移量相加,其結(jié)果作為有效</p><p> 地址,從存儲(chǔ)器中讀出操作數(shù),這種尋址方式稱作基址尋址。</p>
82、<p><b> (5)相對(duì)尋址</b></p><p> 程序計(jì)數(shù)器PC的內(nèi)容與指令中的地址碼部分給出的位移量disp之和作為操作數(shù)的有效地址,這種尋址方式稱為相對(duì)尋址。</p><p> (6)寄存器移位尋址</p><p> 移位尋址方式是ARM指令集特有的。ARM微處理器內(nèi)核含有桶型移位器(Barrel S
83、hifter),移位尋址方式包括寄存器型移位尋址和立即數(shù)型移位尋址。</p><p><b> (7)多寄存器尋址</b></p><p> 多寄存器尋址是一次向幾個(gè)寄存器傳送的值,允許一條指令向16個(gè)寄存器的任何子集(或所有16個(gè)寄存器)傳送數(shù)據(jù)。</p><p><b> 堆棧尋址</b></p>
84、<p> 堆棧是一種數(shù)據(jù)結(jié)構(gòu),按“先進(jìn)后出”(First In Last Out,F(xiàn)ILO)的</p><p> 方式工作,使用一個(gè)稱作堆棧指針的專用寄存器指示當(dāng)前的操作位置,堆棧指針總是指向棧頂。</p><p><b> (9)塊復(fù)制尋址</b></p><p> 塊復(fù)制是將寄存器內(nèi)容復(fù)制到基
85、址寄存器的地址所指示的存儲(chǔ)器中。</p><p><b> ......</b></p><p> 2.9 ARM應(yīng)用實(shí)例</p><p> 如今嵌入式正處于蓬勃發(fā)展階段,ARM在現(xiàn)實(shí)生活中的應(yīng)用層出不窮,如果留心,你會(huì)發(fā)現(xiàn)我們身邊周圍處處都有著ARM的應(yīng)用,如:3G手機(jī)、嵌入式流媒體播放器以及車載多媒體遠(yuǎn)程監(jiān)控服務(wù)系統(tǒng)等。</p&
86、gt;<p><b> 2.10 本章小結(jié)</b></p><p> 本章著重介紹ARM的體系結(jié)構(gòu)和指令系統(tǒng)。其中ARM體系結(jié)構(gòu)包括:RISC技術(shù)和流水線技術(shù)、ARM系列、ARM處理器工作模式、ARM寄存器組織、ARM異常及異常處理;ARM指令系統(tǒng)包含:ARM指令分類和指令格式、ARM指令的條件碼、ARM指令的尋址方式。最后簡(jiǎn)單介紹了ARM在現(xiàn)實(shí)生活中的應(yīng)用。</p&
87、gt;<p><b> 第三章 藍(lán)牙技術(shù)</b></p><p> 雖說(shuō)藍(lán)牙技術(shù)起步比較晚,但是性價(jià)比高,得到了業(yè)內(nèi)人士的廣泛關(guān)注和研究,如今發(fā)展迅速。國(guó)內(nèi)外都采取了相應(yīng)的措施,來(lái)實(shí)現(xiàn)藍(lán)牙技術(shù)的快速統(tǒng)一發(fā)展。</p><p> 3.1 藍(lán)牙技術(shù)原理</p><p> 藍(lán)牙(Bluetooth)是由東芝、愛(ài)立信、IBM、In
88、tel和諾基亞于1998年5月共同提出的近距離無(wú)線數(shù)字通信的技術(shù)標(biāo)準(zhǔn)。 受到SIG組織的極力倡導(dǎo),其目標(biāo)是實(shí)現(xiàn)最高數(shù)據(jù)傳輸速度1Mb/s(有效傳輸速度為721kb/s)、用戶不必經(jīng)過(guò)申請(qǐng)便可利用2.4GHz的ISM(工業(yè)、科學(xué)、醫(yī)學(xué))頻帶,目前最大傳輸距離為100米。即使在噪聲環(huán)境中藍(lán)牙數(shù)據(jù)傳輸機(jī)制也可以正常地工作,藍(lán)牙主要采用的核心技術(shù)如下:</p><p><b> 1.跳頻技術(shù)</b>
89、;</p><p> 藍(lán)牙工作在全球通用的2.4GHzISM(即工業(yè)、科學(xué)、醫(yī)學(xué))頻段。藍(lán)牙的數(shù)</p><p> 據(jù)速率為1Mb/s。 ISM頻帶是對(duì)所有無(wú)線電系統(tǒng)都開(kāi)放的頻帶,因此使用其中的某個(gè)頻段都會(huì)遇到不可預(yù)測(cè)的干擾源。例如某些家電、無(wú)繩電話、汽車房開(kāi)門(mén)器、微波爐等等,都可能是干擾。為此,藍(lán)牙特別設(shè)計(jì)了快速確認(rèn)和跳頻方案以確保鍵路穩(wěn)定。跳頻技術(shù)是把頻帶分成若干個(gè)跳頻信道(hop
90、 channel),在一次連接中,無(wú)線電收發(fā)器按一定的碼序列(即一定的規(guī)律,技術(shù)上叫做“偽隨機(jī)碼”,就是“假”的隨機(jī)碼)不斷地從一個(gè)信道“跳”到另一個(gè)信道,只有收發(fā)雙方是按這個(gè)規(guī)律進(jìn)行通信的,而其它的干擾不可能按同樣的規(guī)律進(jìn)行干擾;跳額的瞬時(shí)帶寬是很窄的,但通過(guò)擴(kuò)展頻譜技術(shù)使這個(gè)窄帶成百倍地?cái)U(kuò)展成寬頻帶,使干擾可能造成的影響變得很小。與其它工作在相同頻段的系統(tǒng)相比,藍(lán)牙跳頻更快,數(shù)據(jù)包更短,這使藍(lán)牙比其它系統(tǒng)都更穩(wěn)定。</p>
91、;<p> 2.微微網(wǎng)和分布式網(wǎng)絡(luò)</p><p> 藍(lán)牙技術(shù)支持點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)連接,可以采用無(wú)線方式將若干藍(lán)牙設(shè)備連成一個(gè)微微網(wǎng)(Picoone0,多個(gè)微微網(wǎng)又可互連成分布式網(wǎng)絡(luò)(Soatter2net),形成靈活的多重微微網(wǎng)的拓?fù)浣Y(jié)構(gòu),從而實(shí)現(xiàn)各類設(shè)備的快速通信。</p><p> (1)微微網(wǎng)(Piconet) </p><p> 通過(guò)
92、藍(lán)牙技術(shù)連接在一起的所有設(shè)備被認(rèn)為是一個(gè)微微網(wǎng)”一個(gè)微微網(wǎng)內(nèi)尋址8個(gè)設(shè)備,實(shí)際上互連的設(shè)備數(shù)據(jù)量可更多。只不過(guò)在同一時(shí)刻只能激活8個(gè),其中1個(gè)為主單元(master),7個(gè)為從單元(slave),其余為暫停單元(它們不參與信道工作,但與網(wǎng)絡(luò)保持同步,并隨時(shí)由主單元控制接入信道工作)。網(wǎng)絡(luò)結(jié)構(gòu)如圖3.1所示。</p><p><b> 圖3.1 微微網(wǎng)</b></p><
93、p> (2) 分布式網(wǎng)絡(luò)(Scamper)</p><p> 幾個(gè)獨(dú)立且不同步的微微網(wǎng)組成一個(gè)分布式網(wǎng)絡(luò)。此網(wǎng)絡(luò)中,一個(gè)微微網(wǎng)的主(從)設(shè)備可以是另外一個(gè)微微網(wǎng)的從(主)設(shè)備,但一個(gè)微徽網(wǎng)只能有一個(gè)主設(shè)備。每個(gè)微微網(wǎng)都有自己的跳頻信道,微微網(wǎng)間靠跳頻順序去識(shí)別,同一微微網(wǎng)所有用戶都與這個(gè)跳頻順序同步.分布式網(wǎng)絡(luò)如圖3.2所示。</p><p> 圖3.2 分布式網(wǎng)絡(luò)</p
94、><p> 3.時(shí)分多址(TDMA)的調(diào)制技術(shù)</p><p> 在1.0版本的技術(shù)標(biāo)準(zhǔn)中,藍(lán)牙的基帶比特速率為1Mb/s,采用TDD方案來(lái)實(shí)現(xiàn)全雙工傳輸,因此藍(lán)牙的一個(gè)基帶幀包括兩個(gè)分組,首先是發(fā)送分組,然后是接收分組。藍(lán)牙系統(tǒng)既支持電路交換也支持分組交換,支持實(shí)時(shí)的同步定向聯(lián)接(SCO)和非實(shí)時(shí)的異步不定向聯(lián)接(ACL)。</p><p> SCO鏈路是微微網(wǎng)
95、中單一主單元和單一從單元之間的一種點(diǎn)對(duì)點(diǎn)對(duì)稱的鏈路。主單元采用按照規(guī)定間隔預(yù)留時(shí)隙(電路交換類型)的方式可以維護(hù)SCO鏈路。主單元可以支持多達(dá)三條并發(fā)SCO鏈路,而從單元?jiǎng)t可以支持兩條或者三條SCO鏈路,SCO鏈路上的數(shù)據(jù)包不會(huì)重新傳送。SCO鏈路主要用于64 kB/s的語(yǔ)音傳輸。</p><p> ACL鏈路是微微網(wǎng)內(nèi)主單元和全部從單元之間點(diǎn)對(duì)多點(diǎn)鏈路。在沒(méi)有為SCO鏈路預(yù)留時(shí)隙的情況下,主單元可以對(duì)任意從單
96、元在某一時(shí)隙的基礎(chǔ)上建立ACL鏈路,其中也包括了從單元已經(jīng)使用某條SCO鏈路的情況(分組交換類型)。對(duì)大多數(shù)ACL數(shù)據(jù)包來(lái)說(shuō)都可以應(yīng)用數(shù)據(jù)包重傳。ACL鏈路主要以數(shù)據(jù)為主,可在任意時(shí)隙傳輸。</p><p><b> 4.編址技術(shù)</b></p><p> 藍(lán)牙有4種基本類型的設(shè)備地址:BD_ADDER、AM_ADDER、AR_ADDER、PM_ADDER。<
97、;/p><p><b> BD_ADDER</b></p><p> BD_ADDER是一個(gè)48位長(zhǎng)地址,該地址符合IEEE802標(biāo)識(shí)符,可劃分為L(zhǎng)AP</p><p> (24位地址低端部分),UAP(8位地址高端部分)和NAP(16位無(wú)意義地址部分)三</p><p><b> 部分。</b>
98、;</p><p> (2)AM_ADDER</p><p> AM_ADDER是三位長(zhǎng)的活動(dòng)成員地址,所有的0信息AM _ADDER都用于廣播信息。</p><p> (3)AR_ADDER</p><p> AR_ADDER是訪問(wèn)請(qǐng)求地址,被暫停狀態(tài)的從單元用地址來(lái)確定訪問(wèn)窗口內(nèi)從單元—主單元半時(shí)隙,通過(guò)它發(fā)送訪問(wèn)信息。</
99、p><p> (4)PM_ADDER</p><p> PM_ADDER是8位長(zhǎng)的成員地址分配給處于暫停狀態(tài)的從單元使用。</p><p> 任何一個(gè)藍(lán)牙設(shè)備都可以根據(jù)IEEE802標(biāo)準(zhǔn)得到唯一的48bit的BD_ADDER。它是一個(gè)公開(kāi)的地址碼,可以通過(guò)人工或自動(dòng)進(jìn)行查詢,在BD_ADDER的基礎(chǔ)上,使用一些性能良好的算法獲得各種保密和安全碼,從而保證了設(shè)備識(shí)別
100、碼在全球的惟一性,以及通信過(guò)程中設(shè)備的鑒權(quán)和通信的安全保密。</p><p><b> 5.安全性 </b></p><p> 藍(lán)牙技術(shù)的無(wú)線傳輸特性使它非常容易受到攻擊,因此安全機(jī)制在藍(lán)牙技術(shù)中顯得尤為重要。雖然藍(lán)牙系統(tǒng)所采用的跳頻技術(shù)已經(jīng)提供了一定的安全保 障,但是藍(lán)牙系統(tǒng)仍然需要鏈路層和應(yīng)用層的安全管理。在鏈路層中,藍(lán)牙系統(tǒng)使用認(rèn)證、加密和密鑰管理等功能進(jìn)行
101、安全控制。在應(yīng)用層中,用戶可以使用個(gè)人標(biāo) 識(shí)碼(PIN)來(lái)進(jìn)行單雙向認(rèn)證。</p><p><b> 6.糾錯(cuò)技術(shù) </b></p><p> 藍(lán)牙系統(tǒng)的糾錯(cuò)機(jī)制分為FEC和包重發(fā)。FEC支持1/3率和2/3率FEC碼。1/3率僅用3位重復(fù)編碼,大部分在接收端判決,既可用于數(shù)據(jù) 包,也可用于SCO連接的包負(fù)載。2/3率碼使用一種縮短的漢明碼,誤碼捕捉用于解碼,它既
102、可用于SCO連接的同步包負(fù)載,也可用于ACL連接的異步包 負(fù)載。在ACL連接中,可用ARQ結(jié)構(gòu)。在這種結(jié)構(gòu)中,若接收方?jīng)]有響應(yīng),則發(fā)端將包重發(fā)。每一負(fù)載包含有一CRC,用來(lái)檢測(cè)誤碼。</p><p> 為了減少?gòu)?fù)雜性,使開(kāi)銷和無(wú)效重發(fā)為最小,藍(lán)牙執(zhí)行快ARQ結(jié)構(gòu):發(fā)送端在TX時(shí)隙重發(fā)包,在RX時(shí)隙提示包接收情況。若加入2/3率FEC 碼,將得到I類混合ARQ結(jié)構(gòu)的結(jié)果。由于處理時(shí)間短,當(dāng)包接收時(shí),解碼選擇在空閑
103、時(shí)間進(jìn)行,并要簡(jiǎn)化FEC編碼結(jié)構(gòu),以加快處理速度。快速ARQ結(jié)構(gòu)與停止等待ARQ結(jié)構(gòu)相似,但時(shí)延最小,實(shí)際上沒(méi)有由ARQ 結(jié)構(gòu)引起的附加時(shí)延。該結(jié)構(gòu)比向后N個(gè)ARQ更有效,并與重復(fù)選擇ARQ效率相同,但由于只有失效的包被重發(fā),可減少開(kāi)銷。在快速ARQ結(jié)構(gòu)中,僅有1位序列號(hào)就夠了。</p><p> 3.2 藍(lán)牙系統(tǒng)組成</p><p> 藍(lán)牙系統(tǒng)大體由無(wú)線單元,鏈路控制單元、鏈路管理、
104、軟件功能等單元組成,如圖3.3所示。</p><p> 圖3.3 藍(lán)牙的系統(tǒng)組成</p><p><b> 1. 天線單元</b></p><p> 藍(lán)牙要求其天線部分體積十分小巧、重量輕,因此藍(lán)牙天線屬于微帶天線。藍(lán)牙天線,是在無(wú)線通訊系統(tǒng)中用來(lái)傳送與接收電磁波能量的重要必備組件。由于目前技術(shù)尚無(wú)法將天線整 合至半導(dǎo)體制程的芯片中,故在
105、藍(lán)牙模塊里除了核心的系統(tǒng)芯片外,天線是另一具有影響藍(lán)牙模塊傳輸特性的關(guān)鍵性組件。</p><p><b> 2. 鏈路控制器</b></p><p> 包括基帶數(shù)字信號(hào)處理硬件并完成基帶協(xié)議和其它底層鏈路常規(guī)協(xié)議。包括:(1)建立物理鏈路,在主從設(shè)備間建立兩種物理連接,即面向連接的同點(diǎn)鏈路(用于同步話間傳輸)和無(wú)連接的異步鏈路(用于分組數(shù)據(jù)傳輸)。(2)確
106、認(rèn)分組類型.銈?cè)夥N物理鏈路,有16種不同類型的分組貞。(3)產(chǎn)生時(shí)鐘信號(hào)和隨機(jī)跳頻序列,完成跳頻同步和定時(shí)。(4)信道控制和模式設(shè)置,建立連接。(5)執(zhí)行分組的發(fā)送和接收。(6)差錯(cuò)校驗(yàn)和驗(yàn)證,加密。</p><p><b> 3. 鏈路管理器</b></p><p> 鏈路管理軟件實(shí)現(xiàn)鏈路的建立,驗(yàn)證,鏈路配置及其協(xié)議,鏈路管理層通過(guò)鏈路控制器提
107、供的服務(wù)實(shí)現(xiàn)上述功能.服務(wù)包括,發(fā)送和接收數(shù)據(jù),設(shè)備號(hào)請(qǐng)求,鏈路地址查詢,建立連接,驗(yàn)證,協(xié)商并建立連接方式,確定分組類型,設(shè)置監(jiān)聽(tīng)方式,保持方式和休眠方式等。</p><p><b> ......</b></p><p> 3.3 藍(lán)牙協(xié)議體系</p><p> 3.3.1 藍(lán)牙協(xié)議棧的實(shí)現(xiàn)模型</p><p>
108、; 藍(lán)牙協(xié)議的集合構(gòu)成了藍(lán)牙協(xié)議棧,在藍(lán)牙協(xié)議棧內(nèi),各種協(xié)議是有層次的</p><p> 按序排列,成藍(lán)牙獨(dú)有的協(xié)議體系結(jié)構(gòu)。藍(lán)牙協(xié)議棧體系如圖3.4所示。</p><p> 圖3.4 藍(lán)牙協(xié)議棧體系</p><p> 藍(lán)牙協(xié)議棧按照封裝方式不同有三種實(shí)現(xiàn)模型,分別是嵌入式、完全嵌入式和寄居式,寄居式模型是傳統(tǒng)的藍(lán)牙固件架構(gòu),完全嵌入式模型中,藍(lán)牙協(xié)議棧和應(yīng)
109、用程序都運(yùn)行在藍(lán)牙設(shè)備內(nèi)部,無(wú)需任何外部處理器參與,嵌入式模型,藍(lán)牙協(xié)議棧位于藍(lán)牙模塊中,應(yīng)用程序單獨(dú)運(yùn)行在主機(jī)上,通過(guò)適配協(xié)議與藍(lán)牙模塊通信,該模型不需要主機(jī)處理藍(lán)牙上層協(xié)議,減少了主機(jī)的軟件負(fù)荷和代碼長(zhǎng)度,降低了開(kāi)發(fā)難度。</p><p> 藍(lán)牙協(xié)議的制定,使得藍(lán)牙傳輸規(guī)范得到統(tǒng)一,藍(lán)牙之間的無(wú)線通信有了保障。</p><p> 3.3.2 藍(lán)牙協(xié)議的分類</p>&
110、lt;p> 藍(lán)牙協(xié)議的分類有多種,這邊只介紹按其功能分類,可以劃分為四類。</p><p> (1)藍(lán)牙核心協(xié)議:基帶BB、鏈接管理LMP、鏈接控制和適配L2CAP、服務(wù)發(fā)現(xiàn)SDP議?;鶐В˙B)實(shí)現(xiàn)藍(lán)牙數(shù)據(jù)和幀的傳輸,傳輸?shù)姆绞綖榉纸M交換和電路交換;通過(guò)鏈管理層的設(shè)置和控制(LM)可以控制鏈路的建立、加密、控制等;邏輯鏈路控制和適協(xié)議(L2CAP)是上層協(xié)議和上層協(xié)議之間不同長(zhǎng)度的分組的橋梁,實(shí)現(xiàn)拆裝
111、數(shù)據(jù)、控服務(wù)質(zhì)量和協(xié)議復(fù)用等功能;服務(wù)發(fā)現(xiàn)SDP協(xié)議為上層給出能夠發(fā)現(xiàn)并解釋網(wǎng)絡(luò)中可用議。</p><p> (2)藍(lán)牙串口替代協(xié)議:串口仿真RFCOMM協(xié)議,RFCOMM是串口仿真協(xié)議是在串口之上的傳統(tǒng)應(yīng)用而提供的特定接口環(huán)境。</p><p> (3)藍(lán)牙電話控制協(xié)議:有電話通信TCS協(xié)議、AT命令集。</p><p> (4)藍(lán)牙選用協(xié)議:有PPP、UD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 短距離無(wú)線溫度采集系統(tǒng)【畢業(yè)論文】
- 短距離無(wú)線通信技術(shù)綜述
- 短距離通信技術(shù)——藍(lán)牙散射網(wǎng)形成協(xié)議的研究與實(shí)現(xiàn).pdf
- 短距離無(wú)線通信---讀書(shū)筆記
- 短距離無(wú)線通信技術(shù)綜述[文獻(xiàn)綜述]
- 短距離無(wú)線通信產(chǎn)品歐盟認(rèn)證.pdf
- 短距離無(wú)線通信多種技術(shù)仍將并存
- 短距離通信定位算法的優(yōu)化及實(shí)現(xiàn).pdf
- 2最短距離問(wèn)題
- 2最短距離問(wèn)題
- 關(guān)于安防物聯(lián)網(wǎng)短距離無(wú)線傳輸技術(shù)研究[畢業(yè)論文]
- 基于Zigbee短距離通信智能模塊硬件研究.pdf
- 基于ZigBee的短距離通信技術(shù)研究.pdf
- 勾股定理--最短距離問(wèn)題
- 面向短距離無(wú)線通信應(yīng)用FEC碼設(shè)計(jì).pdf
- 短距離無(wú)線通信技術(shù)的應(yīng)用研究.pdf
- 短距離無(wú)線通信技術(shù)的研究與實(shí)現(xiàn).pdf
- 短距離無(wú)線通信芯片BPSK電路設(shè)計(jì).pdf
- 藍(lán)牙通信技術(shù)畢業(yè)論文
- 藍(lán)牙通信技術(shù)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論