楊永坤 白曉晨
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
紫外光(UV)通信是一種新興的通信方式,因其獨(dú)特的通信優(yōu)勢,受到越來越多學(xué)者的關(guān)注[1]。波長在200-280 nm 范圍內(nèi)的紫外光是UV 通信所采用的波段,這是因?yàn)樵摬ǘ蔚淖贤夤獗淮髿馄搅鲗又械某粞跛?,?dǎo)致到達(dá)地球表面的太陽輻射幾乎可以忽略,因此該波段被稱作“日盲區(qū)”,也為UV 通信創(chuàng)造了接近零背景輻射的條件[2]。UV通信的另一大特點(diǎn)是大氣散射性強(qiáng)。大氣中存在大量的氣體分子、粉塵、氣溶膠等微粒,并且由于UV 波長短,UV 光子在傳輸?shù)倪^程中會(huì)與這些微粒不斷地發(fā)生碰撞而產(chǎn)生散射作用,這種散射特性使得信號(hào)能夠繞障傳播,實(shí)現(xiàn)非直視的通信[3-4]。
在通信系統(tǒng)中系統(tǒng)的信源消息是一個(gè)很重要的條件,常見的信源消息包括文字、語音、圖片、視頻。因此為了實(shí)現(xiàn)人機(jī)交互式的通信方式,本文設(shè)計(jì)了以文字信息為發(fā)射信源的紫外光通信系統(tǒng)。以FPGA 為核心,系統(tǒng)由發(fā)送端和接收端構(gòu)成,將文字信息通過ASCII 編碼協(xié)議驅(qū)動(dòng)紫外LED 燈發(fā)送到空間大氣中,通過接收端得到發(fā)送的ASCII 碼值回傳給電腦。在上位機(jī)上顯示發(fā)送消息。
基于紫外光LED 通信系統(tǒng)由發(fā)送端和接收端兩部分組成,發(fā)端主要完成光信號(hào)產(chǎn)生,收端主要完成信號(hào)轉(zhuǎn)換為電信號(hào)的接收[5]。紫外光通信系統(tǒng)框圖如圖1 所示。
圖1 紫外光通信系統(tǒng)框圖
圖2 UART 傳輸時(shí)序圖
如圖1 所示電腦輸入的攜帶字符信息的電信號(hào)經(jīng)過USB接口數(shù)據(jù)線輸入FPGA,通過FPGA 程序接收處理和光源驅(qū)動(dòng)電路,之后電信號(hào)點(diǎn)亮紫外LED 燈,通過LED 燈發(fā)送出去。接收端通過濾光片和光電探測器將光信號(hào)轉(zhuǎn)換成電信號(hào),經(jīng)過放大電路把信號(hào)給了FPGA,F(xiàn)PGA 程序接收信號(hào)解調(diào)之后在回傳給上位機(jī)。
在FPGA 開發(fā)板設(shè)計(jì)中,UART 用來與PC 進(jìn)行通信,包括數(shù)據(jù)通信,命令和控制信息的傳輸。UART 首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸。消息幀從一個(gè)低位起始位開始,后面是7 個(gè)或8 個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。UART 傳輸時(shí)序如圖2 所示。
為了滿足UART 協(xié)議本文基于Vivado 2018.3 使用VerilogHDL 設(shè)計(jì)了串口回傳的程序代碼,根據(jù)圖2 可以看出,串口屬于異步的傳輸時(shí)序,因此發(fā)端FPGA 和收端FPGA 采用了回環(huán)的串口通信方式。
圖3 RTL 視圖
程序設(shè)計(jì)包括2 部分構(gòu)成:數(shù)據(jù)發(fā)送模塊,數(shù)據(jù)接收模塊,通過頂層文件將上述的2 個(gè)模塊進(jìn)行實(shí)例化,以參數(shù)化的方式來設(shè)置系統(tǒng)時(shí)鐘和波特率方便之后對(duì)于程序的移植。發(fā)端FPGA 程序?qū)ART_TX 端口設(shè)置在了FPGA 的通用I/O 口上,使得電腦發(fā)送的串口數(shù)據(jù)可以通過I/O 口輸出用來點(diǎn)亮紫外LED 燈。接收端FPGA 程序?qū)ART_RX 端口設(shè)置在了FPGA 的通用I/O 口上,將通過光電倍增管的接收數(shù)據(jù)輸入FPGA 端口,程序就可以再次解調(diào)串口數(shù)據(jù)最終回傳給電腦。經(jīng)過Vivado 2018.3 分析綜合之后的RTL 視圖如圖3所示。
對(duì)發(fā)送端而言要滿足紫外LED 的額定工作條件,本文設(shè)計(jì)如圖4 所示的驅(qū)動(dòng)電路[6]。OPA2613 具有輸出電流大,響應(yīng)速度快,共模抑制比高的特性,該電路的工作原理就是一個(gè)設(shè)定閾值的比較電路。當(dāng)信號(hào)的電壓大于設(shè)定值是LED 不亮,當(dāng)信號(hào)的電壓小于設(shè)定的閾值是LED 亮,從而實(shí)現(xiàn)以O(shè)OK 的調(diào)制方式將信號(hào)發(fā)送出去。
對(duì)接收端而言,光電倍增管接收到的光信號(hào)轉(zhuǎn)換為一個(gè)電流信號(hào),需要外界電阻將電流信號(hào)轉(zhuǎn)換為電壓信號(hào)并滿足電平標(biāo)準(zhǔn),所以接收電路如圖5 所示,其中圖5 所示的R4 變阻器用調(diào)節(jié)信號(hào)的電壓幅值。使得滿足FPGA 的接口電平標(biāo)準(zhǔn)LVTTL3.3。
通過對(duì)系統(tǒng)設(shè)備關(guān)鍵電路的設(shè)計(jì),最終的系統(tǒng)發(fā)送端和接收端實(shí)物如圖6 所示。
圖4 運(yùn)放驅(qū)動(dòng)電路
圖5 信號(hào)接收電路
在連接好發(fā)送端和接收端設(shè)備之后,通過USB 串口線連接電腦和開發(fā)板,在串口助手中可以輸入任意的漢字、字母或者數(shù)字,發(fā)送的文本信息通過USB 線,驅(qū)動(dòng)電路板來點(diǎn)亮紫外LED 燈。在接收端進(jìn)行相同的連接并設(shè)置電腦串口助手。對(duì)于本次實(shí)驗(yàn)串口助手設(shè)置波特率為9600bps,沒有校驗(yàn)位,停止位的時(shí)間為1 個(gè)比特周期。本文為了分析有關(guān)串口通信的協(xié)議,因此實(shí)驗(yàn)結(jié)果只選取了示波器屏幕可以截取的部分,發(fā)送了Hello 的字母消息。其中串口軟件圖如圖7 所示,示波器對(duì)于接收端的波形圖如圖8 所示。
圖6 紫外通信實(shí)物圖
圖7 軟件串口圖
圖8 Hello 字符對(duì)應(yīng)的波形圖
圖8 中對(duì)應(yīng)的信息為00001 0010 1 0 1010 0110 1 0 0011 0110 1 0 0011 0110 1 0 1111 0110 1 其中加粗部分對(duì)應(yīng)的分別為H、e、l、l、o 的ASCII 碼。
本文詳細(xì)介紹了基于FPGA 的紫外光通信系統(tǒng)設(shè)計(jì),給出了整體的實(shí)驗(yàn)方案,驅(qū)動(dòng)電路和接收電路,使用FPGA 完成了相關(guān)的Verilog 串口代碼設(shè)計(jì),實(shí)際的測試結(jié)果良好。通過示波器觀測UART 協(xié)議表明信號(hào)質(zhì)量符合解調(diào)要求,最終可以無誤碼的觀測到上位機(jī)信息,同時(shí)在非直視的條件下也可以做到字符通信,提高了實(shí)際的紫外光通信系統(tǒng)的實(shí)用性。下一步可以繼續(xù)研究其他信源信息,如音頻、圖像等,完善紫外光通信裝置。