楊永坤 白曉晨
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
紫外光(UV)通信是一種新興的通信方式,因其獨特的通信優(yōu)勢,受到越來越多學(xué)者的關(guān)注[1]。波長在200-280 nm 范圍內(nèi)的紫外光是UV 通信所采用的波段,這是因為該波段的紫外光被大氣平流層中的臭氧所吸收,導(dǎo)致到達(dá)地球表面的太陽輻射幾乎可以忽略,因此該波段被稱作“日盲區(qū)”,也為UV 通信創(chuàng)造了接近零背景輻射的條件[2]。UV通信的另一大特點是大氣散射性強(qiáng)。大氣中存在大量的氣體分子、粉塵、氣溶膠等微粒,并且由于UV 波長短,UV 光子在傳輸?shù)倪^程中會與這些微粒不斷地發(fā)生碰撞而產(chǎn)生散射作用,這種散射特性使得信號能夠繞障傳播,實現(xiàn)非直視的通信[3-4]。
在通信系統(tǒng)中系統(tǒng)的信源消息是一個很重要的條件,常見的信源消息包括文字、語音、圖片、視頻。因此為了實現(xiàn)人機(jī)交互式的通信方式,本文設(shè)計了以文字信息為發(fā)射信源的紫外光通信系統(tǒng)。以FPGA 為核心,系統(tǒng)由發(fā)送端和接收端構(gòu)成,將文字信息通過ASCII 編碼協(xié)議驅(qū)動紫外LED 燈發(fā)送到空間大氣中,通過接收端得到發(fā)送的ASCII 碼值回傳給電腦。在上位機(jī)上顯示發(fā)送消息。
基于紫外光LED 通信系統(tǒng)由發(fā)送端和接收端兩部分組成,發(fā)端主要完成光信號產(chǎn)生,收端主要完成信號轉(zhuǎn)換為電信號的接收[5]。紫外光通信系統(tǒng)框圖如圖1 所示。

圖1 紫外光通信系統(tǒng)框圖

圖2 UART 傳輸時序圖
如圖1 所示電腦輸入的攜帶字符信息的電信號經(jīng)過USB接口數(shù)據(jù)線輸入FPGA,通過FPGA 程序接收處理和光源驅(qū)動電路,之后電信號點亮紫外LED 燈,通過LED 燈發(fā)送出去。接收端通過濾光片和光電探測器將光信號轉(zhuǎn)換成電信號,經(jīng)過放大電路把信號給了FPGA,F(xiàn)PGA 程序接收信號解調(diào)之后在回傳給上位機(jī)。
在FPGA 開發(fā)板設(shè)計中,UART 用來與PC 進(jìn)行通信,包括數(shù)據(jù)通信,命令和控制信息的傳輸。UART 首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸。消息幀從一個低位起始位開始,后面是7 個或8 個數(shù)據(jù)位,一個可用的奇偶位和一個或幾個高位停止位。UART 傳輸時序如圖2 所示。
為了滿足UART 協(xié)議本文基于Vivado 2018.3 使用VerilogHDL 設(shè)計了串口回傳的程序代碼,根據(jù)圖2 可以看出,串口屬于異步的傳輸時序,因此發(fā)端FPGA 和收端FPGA 采用了回環(huán)的串口通信方式。

圖3 RTL 視圖
程序設(shè)計包括2 部分構(gòu)成:數(shù)據(jù)發(fā)送模塊,數(shù)據(jù)接收模塊,通過頂層文件將上述的2 個模塊進(jìn)行實例化,以參數(shù)化的方式來設(shè)置系統(tǒng)時鐘和波特率方便之后對于程序的移植。發(fā)端FPGA 程序?qū)ART_TX 端口設(shè)置在了FPGA 的通用I/O 口上,使得電腦發(fā)送的串口數(shù)據(jù)可以通過I/O 口輸出用來點亮紫外LED 燈。接收端FPGA 程序?qū)ART_RX 端口設(shè)置在了FPGA 的通用I/O 口上,將通過光電倍增管的接收數(shù)據(jù)輸入FPGA 端口,程序就可以再次解調(diào)串口數(shù)據(jù)最終回傳給電腦。經(jīng)過Vivado 2018.3 分析綜合之后的RTL 視圖如圖3所示。
對發(fā)送端而言要滿足紫外LED 的額定工作條件,本文設(shè)計如圖4 所示的驅(qū)動電路[6]。OPA2613 具有輸出電流大,響應(yīng)速度快,共模抑制比高的特性,該電路的工作原理就是一個設(shè)定閾值的比較電路。當(dāng)信號的電壓大于設(shè)定值是LED 不亮,當(dāng)信號的電壓小于設(shè)定的閾值是LED 亮,從而實現(xiàn)以O(shè)OK 的調(diào)制方式將信號發(fā)送出去。
對接收端而言,光電倍增管接收到的光信號轉(zhuǎn)換為一個電流信號,需要外界電阻將電流信號轉(zhuǎn)換為電壓信號并滿足電平標(biāo)準(zhǔn),所以接收電路如圖5 所示,其中圖5 所示的R4 變阻器用調(diào)節(jié)信號的電壓幅值。使得滿足FPGA 的接口電平標(biāo)準(zhǔn)LVTTL3.3。
通過對系統(tǒng)設(shè)備關(guān)鍵電路的設(shè)計,最終的系統(tǒng)發(fā)送端和接收端實物如圖6 所示。

圖4 運放驅(qū)動電路

圖5 信號接收電路
在連接好發(fā)送端和接收端設(shè)備之后,通過USB 串口線連接電腦和開發(fā)板,在串口助手中可以輸入任意的漢字、字母或者數(shù)字,發(fā)送的文本信息通過USB 線,驅(qū)動電路板來點亮紫外LED 燈。在接收端進(jìn)行相同的連接并設(shè)置電腦串口助手。對于本次實驗串口助手設(shè)置波特率為9600bps,沒有校驗位,停止位的時間為1 個比特周期。本文為了分析有關(guān)串口通信的協(xié)議,因此實驗結(jié)果只選取了示波器屏幕可以截取的部分,發(fā)送了Hello 的字母消息。其中串口軟件圖如圖7 所示,示波器對于接收端的波形圖如圖8 所示。

圖6 紫外通信實物圖

圖7 軟件串口圖

圖8 Hello 字符對應(yīng)的波形圖
圖8 中對應(yīng)的信息為00001 0010 1 0 1010 0110 1 0 0011 0110 1 0 0011 0110 1 0 1111 0110 1 其中加粗部分對應(yīng)的分別為H、e、l、l、o 的ASCII 碼。
本文詳細(xì)介紹了基于FPGA 的紫外光通信系統(tǒng)設(shè)計,給出了整體的實驗方案,驅(qū)動電路和接收電路,使用FPGA 完成了相關(guān)的Verilog 串口代碼設(shè)計,實際的測試結(jié)果良好。通過示波器觀測UART 協(xié)議表明信號質(zhì)量符合解調(diào)要求,最終可以無誤碼的觀測到上位機(jī)信息,同時在非直視的條件下也可以做到字符通信,提高了實際的紫外光通信系統(tǒng)的實用性。下一步可以繼續(xù)研究其他信源信息,如音頻、圖像等,完善紫外光通信裝置。