版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 可見(jiàn)光通信技術(shù)是21世紀(jì)興起的無(wú)線光通信技術(shù),是對(duì)光無(wú)線通信領(lǐng)域的又一開(kāi)拓。在可見(jiàn)光通信中,LED燈的作用極為顯著。LED燈在系統(tǒng)中同時(shí)起到室內(nèi)照明和通信的雙重功能,是傳統(tǒng)照明系統(tǒng)所無(wú)法比擬的。在本文中,將以可見(jiàn)光通信為基礎(chǔ),實(shí)現(xiàn)室內(nèi)定位技術(shù),為以后實(shí)現(xiàn)高精度室內(nèi)定位技術(shù)打下基礎(chǔ)。在可見(jiàn)光通信定位系統(tǒng)中,引入了新型的移動(dòng)平臺(tái)
2、——安卓。安卓的搭建將使可見(jiàn)光通信系統(tǒng)變得更加便攜。</p><p> 本文主要論述可見(jiàn)光通信系統(tǒng)的組成及原理,F(xiàn)PGA模塊的原理,以及安卓移動(dòng)平臺(tái)搭建與軟件開(kāi)發(fā)。作者閱讀了大量可見(jiàn)光通信系統(tǒng)相關(guān)文獻(xiàn),并在Eclipse平臺(tái)上用java語(yǔ)言開(kāi)發(fā)了軟件來(lái)接收從FPGA模塊傳輸?shù)臄?shù)據(jù)并在坐標(biāo)系中顯示出來(lái)。</p><p> 本文首先介紹可見(jiàn)光通信系統(tǒng)的應(yīng)用背景;其次論述可見(jiàn)光通信系統(tǒng)的工作
3、原理;然后簡(jiǎn)單論述FPGA模塊的工作原理;接著介紹及安卓移動(dòng)平臺(tái)及開(kāi)發(fā)的軟件;然后再介紹實(shí)驗(yàn)中使用的芯片及;最后介紹芯片與電腦端及FPGA模塊的連接及軟件在芯片與FPGA相連時(shí)的結(jié)果及其分析。</p><p> 關(guān)鍵詞:可見(jiàn)光通信;室內(nèi)定位;FPGA;安卓</p><p><b> Abstract</b></p><p> Visibl
4、e light communication is a new technique of Wireless optical communication in 21century, which is a new development of Wireless optical communication. In the visible light communication,LED plays an important role. LED c
5、an be lighting and transmit source at the same time, which is beyond the traditional source. In this paper, we will use the visible light communication system as a basement to built the indoors-positioning system so that
6、 it can be used in the further high-accuracy positioni</p><p> This paper puts emphasis on the construction and the theory of visible light communication system, the theory of FPGA. and how to use android d
7、evelopment tools to build android software. The author read a great amount of literature and standard papers, manage to build the software in java on the eclipse platform to receive the data from FPGA and display in the
8、coordinate system.</p><p> In this paper, the author firstly introduces the background of visible light communication. Secondly he details the theory of visible light communication system. Then, the author
9、discusses how FPGA works. Next, he discusses what is android and how to build software in the computer, and presents the software using in the experiment. Then, he presents the chips using in the experiment. Finally, the
10、 author presents the result of connecting the chips to the FPGA and to the computer, analyses and sub</p><p> Keywords: Visible Light Communications; Indoors Positioning; FPGA; Android;</p><p>
11、<b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 目 錄III</b></p><p><b> 第1章引 言1</b></p>
12、<p> 1.1選題背景——室內(nèi)定位的應(yīng)用前景1</p><p> 1.2定位技術(shù)現(xiàn)狀1</p><p> 1.3本文的安排和作者的工作概要2</p><p> 第2章可見(jiàn)光通信技術(shù)及系統(tǒng)4</p><p> 2.1光通信的發(fā)展歷程4</p><p> 2.1.1光通信的關(guān)鍵
13、突破4</p><p> 2.1.2LED照明技術(shù)的興起4</p><p> 2.1.3光通信基本概念及其優(yōu)點(diǎn)4</p><p> 2.2可見(jiàn)光通信的工作原理5</p><p> 2.2.1傳統(tǒng)不可見(jiàn)光無(wú)線通信技術(shù)5</p><p> 2.2.2可見(jiàn)光通信技術(shù)6</p>&
14、lt;p> 2.3室內(nèi)可見(jiàn)光通信系統(tǒng)7</p><p> 2.3.1典型室內(nèi)可見(jiàn)光通信系統(tǒng)基本組成7</p><p> 2.3.2室內(nèi)可見(jiàn)光通信定位系統(tǒng)8</p><p> 2.3.3可見(jiàn)光光通信系統(tǒng)的特點(diǎn)9</p><p> 第3章通信平臺(tái)的建立10</p><p> 3.1信
15、號(hào)處理模塊——FPGA模塊結(jié)構(gòu)與接口10</p><p> 3.1.1FPGA基本組成10</p><p> 3.1.2FPGA的特點(diǎn)10</p><p> 3.1.3FPGA的配置模式10</p><p> 3.1.4FPGA的配置過(guò)程12</p><p> 3.1.5UART異步串行通
16、信口13</p><p> 3.2安卓移動(dòng)平臺(tái)13</p><p> 3.2.1安卓系統(tǒng)的特點(diǎn)14</p><p> 3.2.2安卓系統(tǒng)的架構(gòu)14</p><p> 3.2.3搭建安卓開(kāi)發(fā)平臺(tái)Eclipse16</p><p> 3.3安卓軟件開(kāi)發(fā)18</p><p&
17、gt; 3.3.1接收模塊18</p><p> 3.3.2數(shù)據(jù)轉(zhuǎn)換模塊19</p><p> 3.3.3顯示模塊20</p><p> 第4章安卓設(shè)備的連接與通信21</p><p> 4.1FT311D模塊21</p><p> 4.1.1FT311D模塊介紹21</p&g
18、t;<p> 4.1.2FT311D產(chǎn)品特點(diǎn)22</p><p> 4.2FT232RL模塊22</p><p> 4.2.1FT232RL模塊介紹22</p><p> 4.2.2FT232RL產(chǎn)品特點(diǎn)23</p><p> 4.3電腦端與安卓設(shè)備之間的連接與通信24</p><
19、;p> 4.3.1電腦端、模塊與安卓的連接24</p><p> 4.3.2電腦端與安卓設(shè)備連接測(cè)試25</p><p> 4.4FPGA模塊與安卓設(shè)備之間的連接通信28</p><p> 4.4.1FPGA與安卓的連接28</p><p> 4.4.2FPGA與安卓的連接測(cè)試30</p>&
20、lt;p><b> 總 結(jié)32</b></p><p><b> 致 謝33</b></p><p><b> 參考文獻(xiàn)34</b></p><p><b> 引 言</b></p><p> 選題背景——室內(nèi)定位的應(yīng)用前景<
21、;/p><p> 隨著經(jīng)濟(jì)的不斷增長(zhǎng)和現(xiàn)代技術(shù)的不斷發(fā)展,加上智能手機(jī)的普及以及移動(dòng)互聯(lián)網(wǎng)的發(fā)展,導(dǎo)航、定位服務(wù)的需求日益增大,地圖與導(dǎo)航類軟件將更側(cè)重于室內(nèi)導(dǎo)航,尤其是在比較復(fù)雜的室內(nèi)環(huán)境,如展覽館、機(jī)場(chǎng)大廳、圖書(shū)館、倉(cāng)庫(kù)、超市、地下停車場(chǎng)等公共場(chǎng)所,常常需要確定人們?cè)谑覂?nèi)的位置信息。據(jù)研究調(diào)查顯示,人們平均80%至90%的時(shí)間在室內(nèi),其中平均70%的時(shí)間在使用移動(dòng)電話,80%數(shù)據(jù)連接使用時(shí)間在室內(nèi)。因而室內(nèi)定位
22、有著十分廣泛的應(yīng)用前景。</p><p> 在公共安全和應(yīng)急響應(yīng)方面,室內(nèi)定位有助于救援人員精確定位求救者,定位建筑物的位置,甚至是樓層、房間號(hào)。在手機(jī)購(gòu)物、移動(dòng)電子商務(wù)、個(gè)性化廣告和優(yōu)惠信息方面可以通過(guò)室內(nèi)定位根據(jù)不同的位置發(fā)送不同信息。室內(nèi)定位在大型建筑物公共安全、應(yīng)急疏散及災(zāi)后救援等重大需求面前,需要在建筑物內(nèi)精確定位位置,而實(shí)現(xiàn)在大型復(fù)雜建筑環(huán)境內(nèi)高精度的定位將為導(dǎo)航監(jiān)控與應(yīng)急服務(wù)管理提供幫助。<
23、/p><p><b> 定位技術(shù)現(xiàn)狀</b></p><p> 定位技術(shù)可大致分為室外定位和室內(nèi)定位兩種。</p><p> 室外定位我們比較熟悉的是全球定位系統(tǒng)(GPS),是由美國(guó)建立的一個(gè)衛(wèi)星導(dǎo)航定位系統(tǒng)。GPS定位主要用于對(duì)人及設(shè)備進(jìn)行實(shí)時(shí)遠(yuǎn)程定位監(jiān)控的技術(shù)。但由于全球定位系統(tǒng)GPS屬于衛(wèi)星定位,定位精度較低。而隨著基于定位技術(shù)的服務(wù)受
24、到越來(lái)越多的關(guān)注,實(shí)現(xiàn)高精度的定位越來(lái)越成為人們的需求,引得國(guó)內(nèi)外對(duì)室內(nèi)定位研究很熱。室內(nèi)定位是指在一定空間內(nèi)的定位技術(shù)。</p><p> 有許多大學(xué)和研究機(jī)構(gòu)一直在研究室內(nèi)定位技術(shù),這些技術(shù)的實(shí)現(xiàn)方法主要可以分為三種:三角定位法,場(chǎng)景分析法以及近似法,常用的室內(nèi)定位技術(shù)主要有紅外線、802.11、超聲波和無(wú)線射頻(RFID)技術(shù)。</p><p> 紅外線:Olivetti研究實(shí)驗(yàn)
25、室的Active Badge系統(tǒng)采用紅外線技術(shù)實(shí)現(xiàn)室內(nèi)定位技術(shù),有直線視距和傳輸距離較短兩大主要缺點(diǎn),使得它在室內(nèi)定位中的效果較差。</p><p> IEEE802.11:RADAR是一種基于射頻的室內(nèi)定位系統(tǒng),采用標(biāo)準(zhǔn)的802.11網(wǎng)絡(luò)對(duì)空間進(jìn)行定位,該系統(tǒng)采用經(jīng)驗(yàn)測(cè)試和信號(hào)傳播模型相結(jié)合的方式,易于安裝、需要很少基站,能采用相同的底層無(wú)線網(wǎng)絡(luò)結(jié)構(gòu),但系統(tǒng)總精度不高。</p><p>
26、; 超聲波:Active Bat是采用超聲波定位的典型例子,它采用超聲波時(shí)延信號(hào)進(jìn)行定位,其整體定位精度較高,但需要大量的底層硬件設(shè)施投資,成本太高。</p><p> 無(wú)線射頻技術(shù)RFID定位是一種基于信號(hào)強(qiáng)度的定位技術(shù),它使用接收到的信號(hào)強(qiáng)度指示(Received Signal Strength Indicator,RSSI)來(lái)確定待定位物體的位置。無(wú)線射頻識(shí)別RFID具有其獨(dú)特的非接觸性,以及非視性(不
27、用在可視范圍內(nèi)),但它仍有占用無(wú)線電頻譜、有電磁干擾和電磁輻射等缺點(diǎn)。</p><p> 除了上述這些方法,最新的一個(gè)研究熱點(diǎn)是基于LED白光的可見(jiàn)光通信技術(shù)的室內(nèi)定位。白光LED用電場(chǎng)發(fā)光、低電壓供電,光效高、壽命長(zhǎng)、安全性好、穩(wěn)定性高、低功耗、無(wú)輻射、抗震、可靠、耐用,是理想的照明光源。白光LED的響應(yīng)時(shí)間短、具有高速調(diào)制特性,使得白光LED還可以進(jìn)行通信,實(shí)現(xiàn)照明和通信雙重功能,使可見(jiàn)光通信技術(shù)(Visi
28、ble Light Communication,簡(jiǎn)稱VLC)因運(yùn)而生。與傳統(tǒng)射頻通信以及其它無(wú)線光通信系統(tǒng)相比,可見(jiàn)光通信技術(shù)的發(fā)射功率高,且不占用無(wú)線電頻譜、無(wú)電磁干擾和無(wú)電磁輻射、節(jié)約能源[2],使得它成為室內(nèi)定位中一個(gè)研究的熱點(diǎn)。</p><p> 本文的安排和作者的工作概要</p><p> 經(jīng)過(guò)老師和學(xué)長(zhǎng)學(xué)姐們的努力,實(shí)驗(yàn)室里已經(jīng)初步搭建好一個(gè)可見(jiàn)光通信系統(tǒng)平臺(tái),其中三個(gè)LE
29、D燈兩兩相距20cm,成一個(gè)等邊三角形,三角形中間放置一個(gè)光電探測(cè)器,光電探測(cè)器可以接收來(lái)自三個(gè)LED燈的光強(qiáng)信號(hào)并通過(guò)FPGA模塊形成位置信息,位置數(shù)據(jù)再傳入電腦上位機(jī),電腦上位機(jī)根據(jù)不同的位置發(fā)送不同位置的廣告信息,實(shí)現(xiàn)在不同位置傳輸和顯示不同廣告信息的功能。</p><p> 然而由于電腦端比較笨拙,不利于攜帶,考慮到未來(lái)手機(jī)設(shè)備,移動(dòng)電子商務(wù)等發(fā)展起來(lái),應(yīng)用在移動(dòng)平臺(tái)上更有寬廣的應(yīng)用前景,于是本文提出了
30、一種用安卓移動(dòng)設(shè)備作為上位機(jī),通過(guò)有線的方式實(shí)現(xiàn)FPGA的數(shù)據(jù)接收和傳輸。</p><p> 本文第2章詳細(xì)地講述可見(jiàn)光通信系統(tǒng)的基本組成以及系統(tǒng)的原理。</p><p> 第3章介紹通信平臺(tái)的建立,包括FPGA模塊的工作原理以及模塊的接口類型、安卓移動(dòng)平臺(tái)、安卓開(kāi)發(fā)平臺(tái)及實(shí)驗(yàn)中安卓軟件的具體代碼。</p><p> 第4章介紹應(yīng)用于本次實(shí)驗(yàn)的兩個(gè)開(kāi)發(fā)模塊——
31、FT311D模塊及FT232RL模塊、電腦端及FPGA模塊與安卓設(shè)備之間,檢驗(yàn)軟件的可行性</p><p> 可見(jiàn)光通信技術(shù)及系統(tǒng)</p><p><b> 光通信的發(fā)展歷程</b></p><p><b> 光通信的關(guān)鍵突破</b></p><p> 1880年,貝爾把太陽(yáng)光當(dāng)作光源,以大
32、氣為傳輸媒質(zhì),用硒晶體接收光,成功實(shí)現(xiàn)光電話,通話距離最遠(yuǎn)達(dá)到213米。1881年,貝爾用一篇題為《關(guān)于利用光線進(jìn)行聲音的產(chǎn)生與復(fù)制》的論文,報(bào)導(dǎo)了他的光電話裝置。</p><p> 1960年,美國(guó)著名科學(xué)家梅曼(Meiman)發(fā)明了世界上第一個(gè)紅寶石激光器。激光器發(fā)出的激光譜線很窄,比傳統(tǒng)的光源要窄好多,而且強(qiáng)度又高、方向性又好、相干性還好,是極為理想的相干光源,作為信息的載體是最好不過(guò)的了。在光纖發(fā)展起來(lái)
33、之后,不可見(jiàn)光通信系統(tǒng)漸漸成熟起來(lái)。</p><p> LED照明技術(shù)的興起</p><p> 最近幾年,隨著發(fā)光二極管Light Emitting Diode,LED半導(dǎo)體器件的照明技術(shù)發(fā)展迅速,將信號(hào)調(diào)制到LED燈上,使LED具有照明和通信兩種功能,實(shí)現(xiàn)可見(jiàn)光傳輸信息的技術(shù)也逐漸發(fā)展起來(lái)。隨著工藝的不斷進(jìn)步,白光LED光源得以生產(chǎn)。白光LED燈的出現(xiàn)使高效率照明技術(shù)前進(jìn)了一大步,也
34、使可見(jiàn)光通信得以有載體傳輸信息。</p><p> 白光LED采用電場(chǎng)發(fā)光和低電壓供電,具有壽命長(zhǎng)、光效高、穩(wěn)定性高、安全性好、無(wú)輻射、低功耗、抗震、可靠耐用等特點(diǎn),幾乎綜合了各種傳統(tǒng)光源的優(yōu)點(diǎn),被譽(yù)為2l世紀(jì)新固體光源時(shí)代的革命性技術(shù)。用白光LED來(lái)傳輸超高速數(shù)據(jù)是明智的選擇。白光LED可以在波長(zhǎng)450nm至470nm的藍(lán)光LED上覆蓋一層YAG淡黃色熒光粉涂層制成,這種黃色磷光體是摻了鈰的釔鋁石榴石(Ce3
35、+:YAG)晶體磨成粉末后和一種稠密的黏合劑混合制成的。</p><p> 光通信基本概念及其優(yōu)點(diǎn)</p><p> 光通信指的是用光作為信息的載體來(lái)傳遞信息,它是由電通信發(fā)展而來(lái)。在光通信以前基本是利用電通信。光通信技術(shù)是與成熟的電通信技術(shù)密不可分的?,F(xiàn)代的光通信技術(shù)基本還是電通信技術(shù)和光子技術(shù)相結(jié)合的技術(shù)。光通信技術(shù)與電通信技術(shù)相結(jié)合,使得通信技術(shù)在電通信技術(shù)的基礎(chǔ)上多加上了光通信
36、的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)有:</p><p> 容許的頻帶很寬,在不同頻帶上傳輸都可以。</p><p> 傳輸帶寬較大,容量較大。</p><p> 損耗較小,經(jīng)中繼后可傳輸?shù)木嚯x很長(zhǎng)。</p><p><b> 誤碼率較小。</b></p><p><b> 抗電磁干擾。</
37、b></p><p> 安全性高,保密性好。</p><p><b> 節(jié)約金屬材料。</b></p><p> 可見(jiàn)光通信的工作原理</p><p> 傳統(tǒng)不可見(jiàn)光無(wú)線通信技術(shù)</p><p> 可見(jiàn)光是電磁波譜中人眼可以感知的電磁波部分,不可見(jiàn)光是指除可見(jiàn)光外其他所有人眼所不能
38、感知的電磁波,包括無(wú)線電波、微波、紅外光、紫外光、x射線、γ射線、遠(yuǎn)紅外線等。</p><p> 利用950nm近紅外波段的紅外光來(lái)通信的技術(shù)叫紅外通信技術(shù)。紅外通信先將二進(jìn)制信號(hào)在發(fā)送端調(diào)制成一系列脈沖串信號(hào),信號(hào)傳入紅外發(fā)射管中,由紅外發(fā)射管發(fā)射紅外信號(hào),信號(hào)經(jīng)過(guò)紅外信道傳輸?shù)浇邮斩?,接收端將接收到的光脈沖轉(zhuǎn)換回電信號(hào)。電信號(hào)經(jīng)放大、濾波等處理后,進(jìn)入解調(diào)電路進(jìn)行解調(diào),還原成二進(jìn)制數(shù)字信號(hào),最后輸出。<
39、;/p><p> 利用在200nm到280nm之間的紫外光通信來(lái)。紫外光通信基于大氣散射和吸收,基本原理是以日盲區(qū)的光譜為載波,將信息電信號(hào)在發(fā)射端調(diào)制,然后加載至紫外光載波上,信號(hào)通過(guò)大氣散射作用傳播,信號(hào)到達(dá)接收端時(shí),接收端接收紫外光束,經(jīng)解調(diào)轉(zhuǎn)換成原信號(hào)。紫外光通信在復(fù)雜環(huán)境下可近距離通信,且抗干擾、安全性好。</p><p> 射頻頻段的無(wú)線電波應(yīng)用最廣泛,無(wú)線電技術(shù)利用導(dǎo)體中電流
40、強(qiáng)度的改變產(chǎn)生無(wú)線電波,通過(guò)把信號(hào)調(diào)制到無(wú)線電波上進(jìn)行傳輸,在接收端,無(wú)線電波會(huì)引起電磁場(chǎng)變化從而在導(dǎo)體中產(chǎn)生電流,將信號(hào)從電流中解調(diào)出來(lái)就實(shí)現(xiàn)了通信。</p><p><b> 可見(jiàn)光通信技術(shù)</b></p><p> 可見(jiàn)光通信(Visible Light Communications,VLC)技術(shù)指通過(guò)把高速信號(hào)調(diào)制到半導(dǎo)體器件LED燈上進(jìn)行傳輸,用光電探測(cè)
41、器接收光載波信號(hào),因肉眼察覺(jué)不到光LED燈的高速調(diào)制,使得LED燈同時(shí)具有照明和通信兩個(gè)作用。室內(nèi)可見(jiàn)光通信是在LED燈發(fā)展起來(lái)之后新興的一門技術(shù)。</p><p> 通信系統(tǒng)發(fā)射端將信號(hào)調(diào)制成電信號(hào),再通過(guò)LED燈轉(zhuǎn)換成光信號(hào)傳輸。接收端用光電探測(cè)器將可見(jiàn)光信號(hào)接收并轉(zhuǎn)化成電信號(hào),最后解調(diào)信號(hào)讀取。</p><p> 傳統(tǒng)光通信利用不可見(jiàn)光,一般是無(wú)線電磁波傳播信息。由于傳統(tǒng)光通信已
42、經(jīng)很成熟了,相匹配的標(biāo)準(zhǔn)也是很受業(yè)界支持采用。傳統(tǒng)的光通信可以利用中轉(zhuǎn)站傳輸?shù)胶苓h(yuǎn)的地方,而且覆蓋面特別廣。但無(wú)線電占用無(wú)線電磁譜,高頻的無(wú)線電磁波還容易被電子設(shè)備干擾,且對(duì)人體有電磁輻射傷害,這些缺點(diǎn)使得可見(jiàn)光通信的優(yōu)點(diǎn)顯現(xiàn)出來(lái)??梢?jiàn)光通信不占用無(wú)線電磁譜,沒(méi)有電磁干擾和電磁輻射,雖然傳輸距離受到限制,但從另一方面講可以使得信息不泄漏,保證了信息的安全??梢?jiàn)光通信的通信速度可達(dá)兆每秒或百兆每秒,通過(guò)LED燈照射就可以傳輸信息,通信速率
43、可以保證多臺(tái)電腦同時(shí)使用。</p><p> 本節(jié)主要介紹了光通信的發(fā)展以及可見(jiàn)光通信的工作原理,與傳統(tǒng)光通信不同的是,可見(jiàn)光通信系統(tǒng)所用的可見(jiàn)光波長(zhǎng)范圍為紫色的380nm到紅色的780nm,這也體現(xiàn)了可見(jiàn)光通信系統(tǒng)既能用來(lái)照明,又能用來(lái)通信的特點(diǎn)。下一節(jié)我們會(huì)討論可見(jiàn)光通信在室內(nèi)定位技術(shù)里的應(yīng)用。</p><p><b> 室內(nèi)可見(jiàn)光通信系統(tǒng)</b></p
44、><p> 典型室內(nèi)可見(jiàn)光通信系統(tǒng)基本組成</p><p> 圖21室內(nèi)可見(jiàn)光通信系統(tǒng)結(jié)構(gòu)示意圖</p><p> 如圖所示為室內(nèi)可見(jiàn)光通信系統(tǒng)的典型結(jié)構(gòu)圖,該系統(tǒng)包含白光LED光源、可見(jiàn)光無(wú)線集線器(VLC Hub)、計(jì)算機(jī)、可見(jiàn)光通信適配器(VLC Adapter)、光電探測(cè)器(PD)及相應(yīng)信號(hào)處理單元等。計(jì)算機(jī)發(fā)出信息,通過(guò)適配器把信息傳輸?shù)教旎ò迳系墓怆?/p>
45、探測(cè)器,探測(cè)器將光信息轉(zhuǎn)換成電信號(hào),在傳入無(wú)線集線器。集線器將信號(hào)處理后通過(guò)光源發(fā)射出去,到達(dá)計(jì)算機(jī)接收端時(shí),信號(hào)被解調(diào)出來(lái),傳入計(jì)算機(jī)實(shí)現(xiàn)通信。</p><p> 可見(jiàn)光通信系統(tǒng)包括下行鏈路(down link)和上行鏈路(up link)兩部分,兩條鏈路都包括發(fā)射和接收。由白光LED光源和信號(hào)處理單元完成發(fā)射部分。LED主光源在天花板上,每個(gè)用戶的適配器上還都有一個(gè)用戶光源。</p><
46、p> 室內(nèi)可見(jiàn)光通信定位系統(tǒng)</p><p> 如圖所示為室內(nèi)可見(jiàn)光通信定位系統(tǒng)結(jié)構(gòu)圖:</p><p> 圖22室內(nèi)可見(jiàn)光通信定位系統(tǒng)結(jié)構(gòu)圖</p><p> 室內(nèi)可見(jiàn)光通信定位系統(tǒng)包括LED燈、光電探測(cè)器、FPGA信號(hào)處理模塊等。室內(nèi)可見(jiàn)光系統(tǒng)也有上行鏈路和下行鏈路。其中上行鏈路由用戶發(fā)送信息至服務(wù)器,下行鏈路由服務(wù)器發(fā)送信息至用戶。</p
47、><p> 在實(shí)驗(yàn)中有三個(gè)兩兩相距20cm的LED燈在光電探測(cè)器上方,光電探測(cè)器放置于三個(gè)LED燈之間。下行鏈路中,LED燈發(fā)出的光經(jīng)過(guò)不同的距離傳輸?shù)焦怆娞綔y(cè)器上,接收到來(lái)自三個(gè)不同的LED燈發(fā)出的光,探測(cè)出距離三個(gè)LED燈的距離信息,把距離信息傳輸?shù)紽PGA模塊,F(xiàn)PGA模塊把信息進(jìn)行處理。在FPGA模塊中,以其中一個(gè)LED燈為原點(diǎn),三個(gè)LED燈組成的三角形的一邊為x軸,建立坐標(biāo)系,把接收到的距離信息轉(zhuǎn)化成位置
48、坐標(biāo)信息并輸出,通過(guò)有線的方式傳輸至終端顯示,完成下行鏈路。</p><p> 在實(shí)驗(yàn)中用安卓系統(tǒng)來(lái)作為終端來(lái)顯示數(shù)據(jù),同時(shí)安卓系統(tǒng)還可以把用戶的信息還可以發(fā)送回服務(wù)器,也就是可以實(shí)現(xiàn)上行鏈路。但安卓可以用多種方式連接。大致有以下三種方式:</p><p> 用音頻接口連接。音頻接口傳輸速率不快,而且以音頻信號(hào)為主,在這里不是很適合用作信號(hào)傳遞的接口。</p><p
49、> 用藍(lán)牙連接。藍(lán)牙可以無(wú)線傳播,速率也可以很快,但藍(lán)牙一旦遇到人多的時(shí)候就有可能連接不上。</p><p> 用USB接線連接。USB接線可以連接到安卓上,雖然是用有線的方式,但它克服了多個(gè)終端同時(shí)連接的問(wèn)題,傳輸速率可以很快。是實(shí)驗(yàn)中比較理想的連接方式。</p><p> 可見(jiàn)光光通信系統(tǒng)的特點(diǎn)</p><p> 與普通光無(wú)線通信和射頻通信相比,可
50、見(jiàn)光通信具有以下突出特點(diǎn)[4]:</p><p> 1)可見(jiàn)光無(wú)毒無(wú)害;</p><p> 2)可見(jiàn)光可以通過(guò)室內(nèi)LED燈安裝,方便快捷。</p><p> 3)發(fā)射功率高。普通光無(wú)線通信如果發(fā)射功率一高會(huì)損害人的眼睛,因而發(fā)射功率不能太高。而可見(jiàn)光無(wú)害,發(fā)射功率較高。</p><p> 本章介紹可見(jiàn)光通信系統(tǒng)的組成及室內(nèi)可見(jiàn)光
51、通信定位系統(tǒng)的組成,是本實(shí)驗(yàn)所依賴的系統(tǒng),也是實(shí)驗(yàn)的基礎(chǔ)。下一章將介紹可見(jiàn)光通信系統(tǒng)中信號(hào)處理的模塊。</p><p><b> 通信平臺(tái)的建立</b></p><p> 信號(hào)處理模塊——FPGA模塊結(jié)構(gòu)與接口</p><p><b> FPGA基本組成</b></p><p> FPGA是
52、英文Field-Programmable Gate Array的縮寫(xiě),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL可編程化陣列邏輯Programmable Array Logic、GAL通用陣列邏輯Generic Array Logic、CPLD復(fù)雜可編程邏輯器件Complex Programmable Logic Device等可編程器件的基礎(chǔ)上更新一步發(fā)展的產(chǎn)物。現(xiàn)場(chǎng)可編程門陣列是專用集成電路(ASIC Application-specific
53、 integrated circuit)領(lǐng)域中的一種半定制電路,有定制的優(yōu)點(diǎn),且與傳統(tǒng)可編程器件相比,它還有多種門電路</p><p> 它的出現(xiàn)不但解決了定制電路的不足,而且克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。</p><p> FPGA采用邏輯單元陣列LCA(Logic Cell Array),內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸
54、出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。</p><p><b> FPGA的特點(diǎn)</b></p><p> 1)FPGA可以設(shè)計(jì)ASIC電路,不需要生產(chǎn)芯片。</p><p> 2)FPGA可作為試樣測(cè)試全定制或半定制ASIC電路。</p><p&g
55、t; 3)FPGA內(nèi)部有極其豐富的觸發(fā)器和I/O引腳。</p><p> 4)FPGA的設(shè)計(jì)周期很短、開(kāi)發(fā)費(fèi)用很低、風(fēng)險(xiǎn)非常小的器件。</p><p> 5)FPGA用了高速CHMOS工藝,功耗低且兼容CMOS、TTL電平。 </p><p><b> FPGA的配置模式</b></p><p> FPG
56、A用芯片中的RAM存入程序,根據(jù)程序來(lái)設(shè)置工作狀態(tài),當(dāng)FPGA工作是,需要在RAM中寫(xiě)入程序。程序可以配置FPGA的模式,不同的配置模式用不同的編程方式寫(xiě)入。加電時(shí),F(xiàn)PGA芯片將EPROM(Erasable Programmable Read Only Memory)中的數(shù)據(jù)讀入芯片內(nèi)的編程RAM中,完成后,F(xiàn)PGA開(kāi)始工作。斷電后,F(xiàn)PGA內(nèi)部邏輯關(guān)系消失,這使得FPGA可以重復(fù)使用。FPGA編程無(wú)須專用的編程器,用通用的EPROM
57、或PROM就可以。要改變程序功能時(shí)只需換一片EPROM就可以了。所以,F(xiàn)PGA可以通過(guò)不同的程序來(lái)使用不用的電路功能,這是FPGA特別靈活的地方。</p><p> FPGA器件需要每次都配置一次,所以配置下載方式也有不同,分為以下三種:主動(dòng)串行配置方式(AS)和被動(dòng)串行配置方式(PS)和JTAG聯(lián)合測(cè)試工作組(Joint Test Action Group)配置方式。</p><p>
58、 主動(dòng)串行AS配置方式</p><p> 由FPGA器件引導(dǎo)配置過(guò)程,所使用的器件是新型低成本器件,如EPCS1、EPCS4。器件的芯片包含永久性存儲(chǔ)器和四個(gè)引腳接口。AS配置芯片有一個(gè)串行接口來(lái)存取數(shù)據(jù),F(xiàn)PGA主動(dòng)從串行接口讀取數(shù)據(jù)。AS配置方式可以通過(guò)DATA0引腳把數(shù)據(jù)傳入FPGA,而且與DCLK輸入同步,每一個(gè)DCLK時(shí)鐘周期傳輸一位數(shù)據(jù)。由于這種模式由FPGA主動(dòng)去配置接口,因而這種配置方式稱為主
59、動(dòng)串行配置方式,即AS配置方式。它與FPGA的接口為以下簡(jiǎn)單的4個(gè)信號(hào)線:</p><p> . 串行時(shí)鐘輸入DCLK: </p><p> . AS控制信號(hào)輸入ASDI;</p><p> . 片選信號(hào)nCS;</p><p> . 串行數(shù)據(jù)輸出DATA0。</p><p> 被動(dòng)串行PS配置方式</
60、p><p> 被動(dòng)串行PS配置方式是由外接計(jì)算機(jī)或控制器來(lái)控制配置過(guò)程的配置方式,這種方式可以使用下載電纜、加強(qiáng)型配置器件等配置器件或智能主機(jī)來(lái)配置,配置時(shí)DATA0引腳把數(shù)據(jù)傳入FPGA,在DCLK上升沿鎖存,每一個(gè)時(shí)鐘周期傳入一位數(shù)據(jù)。在這種配置方式下,由于FPGA被動(dòng)接收配置時(shí)鐘、命令和數(shù)據(jù),發(fā)出配置狀態(tài)信號(hào)等,因而這種配置方式被稱為被動(dòng)串行配置方式,即PS配置方式。與FPGA的信號(hào)接口:</p>
61、<p> . 配置時(shí)鐘DCLK;</p><p> . 配置數(shù)據(jù)DATA0;</p><p> . 配置命令nCONFIG;</p><p> . 狀態(tài)信號(hào)nSTATUS;</p><p> . 配置完成指示CONF_DONE。</p><p><b> JTAG配置方式</b
62、></p><p> JTAG是國(guó)際標(biāo)準(zhǔn)的測(cè)試協(xié)議,主要用于測(cè)試芯片。JTAG接口用聯(lián)合邊界掃描接口引腳,配置可用Altera下載電纜或主控器。JTAG接口由四個(gè)必需的信號(hào)TDI、TDO、TMS和TCK以及一個(gè)可選信號(hào)TRST組成,其中:</p><p> . TDI用于測(cè)試數(shù)據(jù)的輸入;</p><p> . TDO用于測(cè)試數(shù)據(jù)的輸出;</p>
63、;<p> . TMS模式控制管腳,決定JTAG電路TAP狀態(tài)機(jī)的跳變;</p><p> . TCK測(cè)試時(shí)鐘;</p><p> . TRST:如果JTAG電路不用,可以連到GND。</p><p><b> FPGA的配置過(guò)程</b></p><p> FPGA正常工作時(shí),配置數(shù)據(jù)存儲(chǔ)在Sta
64、tic Random Access Memory SRAM中,SRAM單元也被稱為配置存儲(chǔ)器configure RAM。SRAM存儲(chǔ)器數(shù)據(jù)易失,在FPGA上電后,配置數(shù)據(jù)需要由外部電路驅(qū)動(dòng)重新載入到芯片內(nèi)的配置RAM中。芯片配置完,寄存器和I/O管腳需要初始化initialization。初始化后芯片才能正常工作。</p><p> FPGA通電后進(jìn)入配置模式configuration,接著配置數(shù)據(jù)以每一個(gè)時(shí)鐘
65、周期一個(gè)數(shù)據(jù)傳入FPGA。數(shù)據(jù)傳入完畢后,F(xiàn)PGA進(jìn)入初始化模式。初始化完畢,進(jìn)入用戶模式user-mode。當(dāng)FPGA在配置模式和初始化模式下時(shí),I/O管腳處于高阻態(tài)(或內(nèi)部弱上拉狀態(tài)),進(jìn)入用戶模式后,用戶I/O管腳就可以正常工作了。</p><p> 在可見(jiàn)光通信系統(tǒng)中,從光電探測(cè)器中探測(cè)到的光強(qiáng)信息被輸送入FPGA里,F(xiàn)PGA配置的程序里可以將接收到的光強(qiáng)信息經(jīng)過(guò)程序運(yùn)算,得出光電探測(cè)器所在的坐標(biāo)并輸出
66、。輸出的接口為UART串行接口,將在下一節(jié)介紹。</p><p> UART異步串行通信口</p><p> UART通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter)也稱異步串行通信口,涵蓋了RS232、RS449、RS423、RS422和RS485等接口標(biāo)準(zhǔn)規(guī)范和總線標(biāo)準(zhǔn)規(guī)范,這些標(biāo)準(zhǔn)規(guī)定了通信接口的傳輸速率、電氣特性、機(jī)械
67、特性和連接特性等。</p><p> 在實(shí)驗(yàn)中我們所用的標(biāo)準(zhǔn)是RS232。在RS-232標(biāo)準(zhǔn)中,字符是以一個(gè)接一個(gè)的串行(serial)比特串傳輸?shù)?。這種標(biāo)準(zhǔn)需要的傳輸線少,而且配線非常簡(jiǎn)單、傳送距離比較遠(yuǎn)。編碼格式常用的是異步起停(asynchronous start-stop)格式,這種編碼格式由一個(gè)起始比特(bit)開(kāi)始,后面有七或八個(gè)數(shù)據(jù)比特,然后有奇偶校驗(yàn)比特,由一或兩個(gè)停止比特結(jié)束。這種編碼標(biāo)準(zhǔn),如
68、果要發(fā)送一個(gè)字符,那么至少需要十比特,但也有優(yōu)點(diǎn),那就是傳輸速率、發(fā)送信號(hào)的速率全都以十劃分。通常代替異步起停方式可以使用高級(jí)數(shù)據(jù)鏈路控制協(xié)議(High-Level Data Link Control或簡(jiǎn)稱HDLC)。</p><p> RS-232標(biāo)準(zhǔn)中,邏輯一和邏輯零電壓級(jí)數(shù)被定義了,標(biāo)準(zhǔn)傳輸速率和連接器類型也都確定下來(lái)了。信號(hào)大小在正負(fù)3V到15V之間。RS-232規(guī)定接近零的電平無(wú)效;邏輯一用負(fù)電平表示
69、,有效負(fù)電平的信號(hào)狀態(tài)稱為傳號(hào)(marking),意為OFF;邏輯零用正電平表示,有效正電平的信號(hào)狀態(tài)稱為空號(hào)(spacing),意為ON。供電電源的不同,可能導(dǎo)致不同的電平,±5V、±10V、±12V和±15V都是可能的。</p><p> 本節(jié)主要介紹可見(jiàn)光通信系統(tǒng)中信號(hào)處理模塊FPGA及模塊所使用的串口協(xié)議RS232。實(shí)驗(yàn)用需要把信號(hào)從FPGA中傳輸出來(lái),傳入到安卓
70、移動(dòng)平臺(tái)里,因而還需對(duì)安卓移動(dòng)平臺(tái)做一個(gè)介紹,這部分將放在下一節(jié)。</p><p><b> 安卓移動(dòng)平臺(tái)</b></p><p> 為了實(shí)現(xiàn)FPGA模塊與安卓的連接,我們需要先了解安卓。本節(jié)介紹安卓系統(tǒng)的特點(diǎn)和架構(gòu),及如何搭建安卓開(kāi)發(fā)平臺(tái)。</p><p><b> 安卓系統(tǒng)的特點(diǎn)</b></p>&
71、lt;p> Android是一種基于Linux內(nèi)核的操作系統(tǒng),系統(tǒng)開(kāi)放源代碼,比較自由,主要應(yīng)用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦等,是Google公司及手機(jī)聯(lián)盟聯(lián)合開(kāi)發(fā)的。安卓作為移動(dòng)平臺(tái)上的載體已經(jīng)越來(lái)越深入到我們的生活。</p><p> 安卓平臺(tái)有以下五種特點(diǎn):</p><p> 1)生態(tài)系統(tǒng)的開(kāi)放性,開(kāi)發(fā)的平臺(tái)允許任何第三方加入。</p><p&g
72、t; 2)打破應(yīng)用程序邊界。安卓系統(tǒng)中各個(gè)應(yīng)用均可通過(guò)標(biāo)準(zhǔn)API調(diào)用核心移動(dòng)設(shè)備功能,系統(tǒng)功能可被應(yīng)用調(diào)用,應(yīng)用也可以被應(yīng)用調(diào)用。</p><p> 3)應(yīng)用程序平等性。每個(gè)應(yīng)用程序都沒(méi)有等級(jí)之分,任何應(yīng)用都能被替換或擴(kuò)展。</p><p> 4)應(yīng)用支持WEB嵌入,方便應(yīng)用程序通過(guò)web展示應(yīng)用內(nèi)容。</p><p> 5)支持后臺(tái)運(yùn)行。安卓基于L
73、inux內(nèi)核開(kāi)發(fā),支持多任務(wù)運(yùn)行。</p><p><b> 安卓系統(tǒng)的架構(gòu)</b></p><p> 安卓涵蓋核心庫(kù),核心庫(kù)里提供JAVA編程語(yǔ)言核心庫(kù)里的絕大多數(shù)功能。安卓采用了分層的設(shè)計(jì)構(gòu)架模式,其系統(tǒng)架構(gòu)圖如下:</p><p> 圖 31安卓系統(tǒng)架構(gòu)圖</p><p> 最上一層是核心應(yīng)用程序。<
74、;/p><p> 每一版Android發(fā)布的同時(shí)都會(huì)帶有一系列核心應(yīng)用程序包,里面包含了SMS短信、聯(lián)系人管理器、日歷、email、地圖、瀏覽器等。這些應(yīng)用用JAVA語(yǔ)言編成。除了這些應(yīng)用,第三方開(kāi)發(fā)的應(yīng)用也屬于這一層。</p><p><b> 應(yīng)用程序框架</b></p><p> 開(kāi)發(fā)人員可以完全訪問(wèn)核心應(yīng)用程序所用的API框架。這種架
75、構(gòu)設(shè)計(jì)使組件很容易就可以被重用,任何程序都可以使用功能快。同時(shí)這種重用機(jī)制也使得應(yīng)用可以十分方便地被替換。每個(gè)應(yīng)用背后還有一系列服務(wù)和系統(tǒng),如下:</p><p> 豐富而可擴(kuò)展的視圖(Views)。試圖可用來(lái)構(gòu)建應(yīng)用程序。涵蓋了網(wǎng)格(grids)、列表(lists)、按鈕(buttons)、文本框(text boxes)甚至是可嵌入式的web瀏覽器。</p><p> 內(nèi)容提供器(C
76、ontent Providers)。它使應(yīng)用程序能夠訪問(wèn)或者共享其他應(yīng)用程序的數(shù)據(jù)。</p><p> 資源管理器(Resource Manager)。它能訪問(wèn)非代碼資源,如本地字符串、圖形和布局文件(layout files)等。</p><p> 通知管理器(Notification Manager)。它讓?xiě)?yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。</p><
77、p> 活動(dòng)管理器(Activity Manager)。它用來(lái)管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。</p><p><b> 程序庫(kù)</b></p><p> Android有C/C++庫(kù),這些庫(kù)可以被調(diào)用。它們?yōu)殚_(kāi)發(fā)者提供了服務(wù)。其中核心庫(kù)如下:</p><p> 系統(tǒng)C庫(kù)——一個(gè)從伯克利軟件套件(BSD Berkele
78、y Software Distribution,是Unix的衍生系統(tǒng))繼承而來(lái)的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù)(libc),專門為基于嵌入式(embedded) Linux的設(shè)備定制。</p><p> 媒體庫(kù)——基于Packet Video Open CORE;該庫(kù)能夠支持多種常用音頻、視頻格式,而且支持靜態(tài)圖像文件。編碼格式有多種,包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。</
79、p><p> Surface Manager——用來(lái)管理和顯示子系統(tǒng),同時(shí)提供2D和3D圖層的無(wú)縫融合。</p><p> LibWebCore——一個(gè)web瀏覽器引擎,支持Android瀏覽器和可嵌入史web視圖。</p><p> SGL——底層2D圖形引擎。</p><p> 3D libraries——基于OpenGL ES 1.
80、0 APIs實(shí)現(xiàn);3D硬件加速或高度優(yōu)化的3D軟加速都基于它。</p><p> FreeType——用于顯示位圖(bitmap)和矢量(vector)字體。</p><p> SQLite——一個(gè)輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。</p><p> Android 運(yùn)行庫(kù)</p><p> Android擁有一個(gè)核心庫(kù),而多數(shù)的程序都運(yùn)行在自己
81、的進(jìn)程里,各自擁有一個(gè)Dalvik虛擬機(jī)。Dalvik的存在使多線程運(yùn)行成為可能。</p><p> Android的核心系統(tǒng)服務(wù)依賴于Linux內(nèi)核,而Linux內(nèi)核作為硬件和軟件棧間的抽象層存在。</p><p> 搭建安卓開(kāi)發(fā)平臺(tái)Eclipse</p><p> 為了開(kāi)發(fā)安卓軟件以顯示接收數(shù)據(jù)的坐標(biāo)信息,本節(jié)內(nèi)容介紹如何安裝Eclipse安卓開(kāi)發(fā)平臺(tái)以及
82、如何在電腦端設(shè)置開(kāi)發(fā)環(huán)境。</p><p> Eclipse是一個(gè)基于Java的開(kāi)放可擴(kuò)展開(kāi)發(fā)平臺(tái)。軟件本身只是框架和服務(wù),但通過(guò)插件和組件可以構(gòu)建開(kāi)發(fā)環(huán)境。Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。安裝過(guò)程如下:</p><p> 安裝Java運(yùn)行環(huán)境JRE和JDK;</p><p> 安
83、裝Eclipse IDE for Java EE Developers;</p><p> 安裝Android ADT(eclipse插件),如圖:</p><p> 圖32 eclipse軟件截圖</p><p> 配置Android模擬器。由于Eclipse可選用的安卓模擬器較多,實(shí)驗(yàn)中選用Genymotion,以保證運(yùn)行流暢。</p>&
84、lt;p> 圖33電腦端上的安卓虛擬機(jī)截圖</p><p> 至此已經(jīng)安卓平臺(tái)初步搭建好。下一步就是利用開(kāi)發(fā)平臺(tái)開(kāi)發(fā)出能夠接收數(shù)據(jù)的軟件。</p><p><b> 安卓軟件開(kāi)發(fā)</b></p><p><b> 接收模塊</b></p><p> 利用FPGA傳輸光電探測(cè)器的位置
85、信號(hào),需要從FPGA模塊傳輸出光電探測(cè)器的數(shù)據(jù)信息,再接入安卓。這里我們需要用JAVA語(yǔ)言編寫(xiě)串口接收模塊的程序。</p><p> 程序的第一步為設(shè)置串口接收數(shù)據(jù)結(jié)構(gòu)。主要有</p><p> public void onClick(View v) {</p><p> if (false == bConfiged) {</p><p&g
86、t; bConfiged = true;</p><p> uartInterface.SetConfig(baudRate, dataBit, stopBit, parity, flowControl);</p><p> savePreference();</p><p><b> }</b></p><p>
87、; if (true == bConfiged) {</p><p> configButton.setBackgroundColor(0xff888888); // color</p><p> // GRAY:0xff888888</p><p> configButton.setText("Configured");</p&g
88、t;<p><b> }</b></p><p><b> }</b></p><p> 程序的第二步為接收數(shù)據(jù)模塊,用于接收來(lái)自串口的數(shù)據(jù)。</p><p> 首先需要設(shè)計(jì)一個(gè)handler來(lái)接收message。再設(shè)計(jì)一個(gè)函數(shù)appendData來(lái)讀取數(shù)據(jù)。ReadDataView用來(lái)將數(shù)據(jù)從字符串
89、型轉(zhuǎn)化成浮點(diǎn)型,方便顯示。</p><p><b> 關(guān)鍵代碼如下:</b></p><p> /* 創(chuàng)建handler */</p><p> final Handler handler = new Handler() {</p><p><b> @Override</b></p&
90、gt;<p> public void handleMessage(Message msg) {</p><p> for (int i = 0; i < actualNumBytes[0]; i++) {</p><p> readBufferToChar[i] = (char) readBuffer[i];}</p><p> app
91、endData(readBufferToChar, actualNumBytes[0]);</p><p> readDataView(readBufferToChar, actualNumBytes[0]);}};</p><p> /* 創(chuàng)建類handler_thread */</p><p> private class handler_thread e
92、xtends Thread {</p><p> Handler mHandler;</p><p> handler_thread(Handler h) {mHandler = h;}</p><p> public void run() {</p><p> Message msg;</p><p> w
93、hile (true) {</p><p> try {Thread.sleep(200);</p><p> } catch (InterruptedException e) {}</p><p> /* uartInterface為FT311UARTInterface.java的類,類中的ReadData函數(shù)接收數(shù)據(jù) */</p><p
94、> status = uartInterface.ReadData(4096, readBuffer, actualNumBytes);</p><p> if (status == 0x00 && actualNumBytes[0] > 0) {</p><p> msg = mHandler.obtainMessage();</p>&l
95、t;p> mHandler.sendMessage(msg);}}}}</p><p> 主要的程序在附錄II里</p><p><b> 數(shù)據(jù)轉(zhuǎn)換模塊</b></p><p> 由于接收的數(shù)據(jù)為字符類型,在顯示過(guò)程中需要把字符類型轉(zhuǎn)化為整型類型,以方便顯示。我們規(guī)定為以三個(gè)LED燈組成的等邊三角形的一條邊作為x軸建立直角坐標(biāo)系,
96、三個(gè)LED燈的距離為兩兩20cm,從FPGA模塊里傳入的數(shù)據(jù)精確到小數(shù)點(diǎn)后兩位,傳入的數(shù)據(jù)以XX.XX,XX.XX/n的形式輸入。我們編寫(xiě)一個(gè)新的函數(shù),命名為readDataView。用字符串長(zhǎng)度和特殊的記號(hào)來(lái)辨別輸入信號(hào),信號(hào)一旦滿足上述格式,就把字符串轉(zhuǎn)化成浮點(diǎn)數(shù)。</p><p><b> 具體程序如下:</b></p><p> public void r
97、eadDataView(char[] data, int len) {</p><p> if (len == 12 && data[2] == 46 && data[5] == 44 && data[8] == 46) {</p><p> int[] readBufferToInt;</p><p> rea
98、dBufferToInt = new int[11];</p><p> for (int i = 0; i < len; i++) {</p><p> readBufferToInt[i] = data[i] - 48;</p><p><b> }</b></p><p> floatDataX =
99、readBufferToInt[0] * 10 + readBufferToInt[1] + readBufferToInt[3] / 10 + readBufferToInt[4] / 100;</p><p> floatDataY = readBufferToInt[6] * 10 + readBufferToInt[7] + readBufferToInt[9] / 10 + readBufferToI
100、nt[10] / 100;</p><p><b> }</b></p><p><b> 顯示模塊</b></p><p> 數(shù)據(jù)接收并轉(zhuǎn)化之后,還要一部分為軟件接收位置信息并顯示部分,這里我們編寫(xiě)第二個(gè)Activity來(lái)顯示,命名為CanvasActivity.java。其中用到的二維畫(huà)圖類Canvas畫(huà)布。Ac
101、tivity中先獲取屏幕的高度screenHeight、寬度screenWidth、分辨率densityDpi等信息。再畫(huà)出坐標(biāo)軸,其中用到了canvas.drawLine、canvas.drawText等。其中為了使Canvas實(shí)時(shí)刷新,在程序中我們還用到invalidate()函數(shù)。這個(gè)函數(shù)能使Canvas畫(huà)布失效,這時(shí)候系統(tǒng)會(huì)自動(dòng)重新調(diào)用onDraw函數(shù)來(lái)重繪Canvas,從而起到刷新的作用。</p><p&g
102、t; 主要的程序在附錄中:</p><p> 本章介紹安卓移動(dòng)平臺(tái)的基本框架以及在電腦端搭建好安卓軟件開(kāi)發(fā)平臺(tái)。這些部署工作做好之后,下一步實(shí)驗(yàn)中需要測(cè)試如何能將安卓與串口連接上。</p><p> 安卓設(shè)備的連接與通信</p><p> 安卓接口為USB口,而FPGA模塊接口為串口,為了使安卓與FPGA模塊能夠連接到一起,實(shí)驗(yàn)中需要找模塊使它們連接到一塊。
103、</p><p> 通過(guò)市場(chǎng)調(diào)研及比較,為了實(shí)現(xiàn)FPGA模塊與安卓設(shè)備的連接,可以選用FT311D模塊。</p><p> 同時(shí),為了測(cè)試模塊的連接性,實(shí)驗(yàn)中先用電腦端模擬FPGA模塊與安卓設(shè)備連接進(jìn)行調(diào)試。如果安卓可以與電腦端連接并調(diào)試,那么安卓與FPGA模塊的連接就容易得多,而且更有利于分辨錯(cuò)誤的來(lái)源。</p><p> 下一節(jié)將會(huì)詳細(xì)介紹FT311D模塊
104、的基本情況。</p><p><b> FT311D模塊</b></p><p> FT311D模塊介紹</p><p> FT311D模塊是英商飛特帝亞有限公司(FTDI)推出的可用在多介面的安卓主控IC,可即時(shí)連接由安卓USB到GPIO、UART、PWM、I2C主控、SPI從或SPI主控介面。FT311D不需要固件,也不需要驅(qū)動(dòng),有A
105、PK應(yīng)用程序就可以實(shí)現(xiàn)數(shù)據(jù)通信,不用擔(dān)心安卓系統(tǒng)升級(jí),使用簡(jiǎn)便。</p><p><b> 模塊芯片圖如下:</b></p><p> 圖41-a FT311D模塊圖正面 圖4-1-b FT311D模塊圖背面</p><p> FT311D產(chǎn)品特點(diǎn)</p><p> 模塊中含有兩個(gè)USB口,一個(gè)
106、USB A型口,一個(gè)micro USB口。USB口為USB2.0全速HOST,速率可以達(dá)到12 Mbit/s。</p><p> 模塊電源口入口處設(shè)置了500mA的自恢復(fù)保險(xiǎn)絲,能起到保護(hù)作用。</p><p> 模塊上有四個(gè)直徑3mm的安裝孔,利于固定。</p><p> FT311D的長(zhǎng)*寬*高為50mm*29mm*12mm,工作溫度在-40°C
107、至85°C之間,供電電源為3.3V,IO口兼容5V電平。在48MHz下工作時(shí),吸收電流為25mA。待機(jī)模式下耗電為128µA。</p><p> 芯片能夠?qū)SB端口橋接到六個(gè)不同的接口類型,即GPIO,UART,I2C,SPI從控端和主控端。</p><p> FT311D在物聯(lián)網(wǎng)、儀器儀表、車載、最新網(wǎng)銀U盾、醫(yī)療保健、教育電子等方面具有廣泛應(yīng)用,是連接智能手機(jī)
108、或平板USB轉(zhuǎn)串口的最佳方案。</p><p> FT311D模塊可以實(shí)現(xiàn)連接安卓的功能,但實(shí)驗(yàn)測(cè)試中需要用電腦端來(lái)模擬FPGA開(kāi)發(fā)板與安卓移動(dòng)設(shè)備的連接,因而需要尋找一個(gè)模塊實(shí)現(xiàn)電腦端通過(guò)FT311D模塊來(lái)連接到安卓上。</p><p> FT311D開(kāi)發(fā)板只能用杜邦線連接,電腦端可以用串口或USB來(lái)連接。根據(jù)這一點(diǎn)并經(jīng)過(guò)市場(chǎng)調(diào)研和比較,選用FT232RL模塊使電腦端的USB接口轉(zhuǎn)成
109、串口連接到FT311D開(kāi)發(fā)版上,就可以實(shí)現(xiàn)電腦端模擬FPGA,從而連接到安卓設(shè)備上來(lái)調(diào)試軟件。</p><p> 下面我們來(lái)介紹一下FT232RL模塊。</p><p><b> FT232RL模塊</b></p><p> FT232RL模塊介紹</p><p> FT232RL模塊是由英商飛特帝亞有限公司FT
110、DI公司推出的實(shí)現(xiàn)USB轉(zhuǎn)TTL/CMOS、GPIO模塊。其模塊圖如下:</p><p> 圖42 FT232RL模塊圖</p><p> FT232RL產(chǎn)品特點(diǎn)</p><p> 串行接口RS232是單個(gè)設(shè)備與電腦相連接的最常用的方式,因其硬件連接實(shí)現(xiàn)簡(jiǎn)單。串行接口RS232是一種低速串行通信中增加通信距離的單端標(biāo)準(zhǔn)。</p><p&g
111、t; 模塊芯片采用FT232RL,數(shù)據(jù)傳輸穩(wěn)定,波特率最高可達(dá)3Mbit/s。FT232RL芯片里含有EEPROM,可用于配置I/O管腳以及存儲(chǔ)USB、VID、PID、序列號(hào)和產(chǎn)品描述信息等。</p><p> 模塊采用帶有四個(gè)插針的micro USB連接器,數(shù)據(jù)線與micro USB接口的安卓手機(jī)或平板通用,同時(shí)還能保證連接器的穩(wěn)固性。</p><p> 模塊使用500mA自恢復(fù)保
112、險(xiǎn)絲,保障在短路時(shí)也不會(huì)損害電腦;模塊芯片整合了電平轉(zhuǎn)換模塊,I/O接口的電平支持5V至2.8V的寬范圍;模塊支持三種供電方式,5V、3.3V和外部輸入1.8至5V,從而能夠以5V、3.3V、2.8V、1.8V的CMOS驅(qū)動(dòng)輸出和TTL輸入。</p><p> 模塊上為每組電壓都設(shè)置了濾波電容,在電壓輸出口還設(shè)置了一個(gè)高品質(zhì)的鉭電容,保障電源的品質(zhì)。</p><p> 模塊上設(shè)置三個(gè)指
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 室內(nèi)可見(jiàn)光通信定位技術(shù)研究.pdf
- 基于可見(jiàn)光通信的室內(nèi)定位技術(shù).pdf
- 可見(jiàn)光通信系統(tǒng)數(shù)據(jù)手冊(cè)
- 基于CDMA的可見(jiàn)光通信系統(tǒng)技術(shù)研究.pdf
- 可見(jiàn)光通信信道估計(jì)技術(shù)研究.pdf
- 可見(jiàn)光通信系統(tǒng)均衡技術(shù)研究.pdf
- 多載波可見(jiàn)光通信技術(shù)研究.pdf
- 基于OFDM的可見(jiàn)光通信同步技術(shù)研究.pdf
- 基于可見(jiàn)光通信的室內(nèi)定位技術(shù)的研究.pdf
- 基于LED可見(jiàn)光通信技術(shù)的研究.pdf
- 可見(jiàn)光通信中的MIMO技術(shù)研究.pdf
- 對(duì)led可見(jiàn)光通信技術(shù)應(yīng)用的分析
- 基于脈沖調(diào)制的可見(jiàn)光通信技術(shù)研究.pdf
- 可見(jiàn)光通信系統(tǒng)調(diào)制解調(diào)技術(shù)研究.pdf
- 無(wú)線可見(jiàn)光通信關(guān)鍵技術(shù)研究.pdf
- 高速可見(jiàn)光通信關(guān)鍵技術(shù)研究.pdf
- 基于多維CAP的室內(nèi)可見(jiàn)光通信技術(shù)研究.pdf
- 基于可見(jiàn)光通信的室內(nèi)定位方法研究.pdf
- OFDM可見(jiàn)光通信系統(tǒng)同步技術(shù)研究.pdf
- OFDM可見(jiàn)光通信關(guān)鍵技術(shù)研究.pdf
評(píng)論
0/150
提交評(píng)論