楊洪萬(wàn)
(山東師范大學(xué) 信息化工作辦公室, 山東 濟(jì)南 250014)
光纖傳感技術(shù)在通信技術(shù)發(fā)展中起到了重要作用,在光纖傳感技術(shù)中,主要將光波作為傳感信號(hào),與傳統(tǒng)的電磁類傳感相比,光纖傳感具有明顯的優(yōu)勢(shì),由于光纖是絕緣體并且能夠通過(guò)光波傳輸信息,這使得光纖傳感可以在各種惡劣環(huán)境下使用,具有很高的測(cè)量速度[1-3]。這些優(yōu)點(diǎn)使得光纖通信使用范圍非常廣泛,特別是在遠(yuǎn)程人機(jī)交互系統(tǒng)中,在實(shí)際應(yīng)用中展現(xiàn)出了光纖傳感技術(shù)的突出優(yōu)勢(shì)。
光纖傳感技術(shù)應(yīng)用在各個(gè)領(lǐng)域進(jìn)行數(shù)據(jù)采集時(shí),遠(yuǎn)程人機(jī)交互系統(tǒng)作為輔助,實(shí)現(xiàn)遠(yuǎn)程的交互控制,通過(guò)人機(jī)交互系統(tǒng)即可實(shí)現(xiàn)對(duì)數(shù)據(jù)采集參數(shù)的設(shè)置及初始化,以及對(duì)數(shù)據(jù)傳輸?shù)目刂疲瑫r(shí)也能將采集數(shù)據(jù)的結(jié)果通過(guò)交互界面展示出來(lái)[4-6]。
目前,比較常見(jiàn)的遠(yuǎn)程人機(jī)交互系統(tǒng)有基于SOC芯片、Qt技術(shù)和μC/OSⅢ技術(shù)的系統(tǒng),這些系統(tǒng)在進(jìn)行光纖數(shù)據(jù)傳輸時(shí),受到現(xiàn)場(chǎng)電磁干擾比較嚴(yán)重,數(shù)據(jù)存在傳輸異常情況,并且通信質(zhì)量也受到了影響,其整體應(yīng)用性能比較差[7-9]。因此,提出光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)設(shè)計(jì),解決上述中存在的問(wèn)題。
系統(tǒng)硬件主要由兩部分構(gòu)成:VGA顯示模塊、讀寫(xiě)控制模塊。系統(tǒng)硬件總體框圖,如圖1所示。
圖1 系統(tǒng)硬件總體框圖
圖1中,系統(tǒng)硬件設(shè)計(jì)包括VGA顯示模塊和讀寫(xiě)控制模塊,其中VGA顯示模塊接口協(xié)議的顯示模式分為SXGA、UXGA和VGA三種,讀寫(xiě)控制模塊的光纖數(shù)據(jù)存儲(chǔ)空間分為兩塊,一塊是從地址0開(kāi)始的區(qū)域,另一塊是地址30′d1000000開(kāi)始的區(qū)域,主要完成DDR數(shù)據(jù)的讀寫(xiě)和DDR數(shù)據(jù)的讀出。
VGA是視頻圖像陣列的縮寫(xiě),應(yīng)用于單色和彩色圖像顯示,在遠(yuǎn)程人機(jī)交互硬件設(shè)計(jì)上,設(shè)計(jì)VGA顯示模塊,通過(guò)逐行掃描將數(shù)據(jù)顯示出來(lái)。VGA作為標(biāo)準(zhǔn)顯示接口,有3排共15個(gè)針,能夠?qū)崿F(xiàn)對(duì)同步信號(hào)、場(chǎng)同步信號(hào)和RGB三種顏色信號(hào)的處理[10]。其接口協(xié)議的顯示模式往往通過(guò)刷新頻率及分辨率的差異區(qū)分,主要分為SXGA、UXGA和VGA 3種,每種顯示模式按照其時(shí)序要求的差別有嚴(yán)格的標(biāo)準(zhǔn)。在系統(tǒng)硬件設(shè)計(jì)上,選用常見(jiàn)的RGB565,VGA圖像顯示采樣1 024×768像數(shù),調(diào)用XILINX的PLL IP產(chǎn)生。VGA的行時(shí)序和場(chǎng)時(shí)序,如圖2所示。
數(shù)據(jù)顯示程序按照VGA的時(shí)序,將數(shù)據(jù)轉(zhuǎn)化為像數(shù),再輸出到VGA的紅綠藍(lán)數(shù)據(jù)線上[11]。該模塊輸入端口分別是v_clk,v_rst和ddr_data[127∶0],輸出端是v_hsync、v_vsync、v_r:RGB、v_g:RGB和v_b:RGB。
VGA顯示模塊需要存儲(chǔ)器對(duì)數(shù)據(jù)進(jìn)行緩存和控制器控制數(shù)據(jù)的讀寫(xiě)。在讀寫(xiě)控制模塊選用FPGA進(jìn)行開(kāi)發(fā)設(shè)計(jì),其核心芯片為xc6slx16,選用Spanrtan-6 LXT高速串行收發(fā)器作為輔助,支持多種接口格式,按照數(shù)據(jù)類型進(jìn)行獨(dú)自的處理,實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的高速讀寫(xiě)[12]。對(duì)于數(shù)據(jù)的緩沖,選擇型號(hào)為MT41J64M16LA-187E的高速DDR DRAM作為緩存芯片,具有4個(gè)BANK,其中與FPGA芯片相連的是BANK3,通過(guò)配置可以使數(shù)據(jù)讀寫(xiě)速度達(dá)到666 Mb/s。
光纖數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換后,通過(guò)VGA接口轉(zhuǎn)換成圖像顯示在人機(jī)界面上,在數(shù)據(jù)傳輸中,直接對(duì)像素進(jìn)行計(jì)數(shù),像素信息轉(zhuǎn)換成RGB信號(hào),實(shí)現(xiàn)圖像顯示。
設(shè)計(jì)的讀寫(xiě)控制模塊主要完成DDR數(shù)據(jù)的讀寫(xiě)和DDR數(shù)據(jù)的讀出,受到光纖高速數(shù)據(jù)傳輸?shù)囊螅鋽?shù)據(jù)讀出為Burst方式,一次讀出64個(gè)相同大小的數(shù)據(jù)[13]。同時(shí),將光纖數(shù)據(jù)存儲(chǔ)空間分為兩塊,一塊是從地址0開(kāi)始的區(qū)域,另一塊是地址30′d1000000開(kāi)始的區(qū)域,當(dāng)?shù)刂?開(kāi)始的區(qū)域作為光纖數(shù)據(jù)存儲(chǔ)的時(shí)候,地址30′d1000000的區(qū)域作為展示圖像的讀模塊,這樣數(shù)據(jù)讀和寫(xiě)被分成了兩部分,提高了光纖數(shù)據(jù)的傳輸速度。
基于設(shè)計(jì)的VGA顯示模塊和讀寫(xiě)控制模塊即實(shí)現(xiàn)了系統(tǒng)人機(jī)交互界面的設(shè)計(jì),設(shè)計(jì)軟件部分。
系統(tǒng)的軟件部分主要包括數(shù)據(jù)庫(kù)用表設(shè)計(jì)和交互數(shù)據(jù)傳輸機(jī)制設(shè)計(jì)。系統(tǒng)軟件總體框圖如圖3所示。
圖3 系統(tǒng)軟件總體框圖
在系統(tǒng)設(shè)計(jì)中,選用MySQL數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)實(shí)際內(nèi)容和功能設(shè)計(jì)數(shù)據(jù)庫(kù)用表,在設(shè)計(jì)過(guò)程中,針對(duì)臨時(shí)存儲(chǔ)數(shù)據(jù)創(chuàng)建臨時(shí)表,針對(duì)數(shù)據(jù)進(jìn)行輸出和其他操作產(chǎn)生的數(shù)據(jù)創(chuàng)建中間表,針對(duì)長(zhǎng)期使用的數(shù)據(jù)或原始數(shù)據(jù),創(chuàng)建基本表進(jìn)行管理,在基本表中字段是不可再劃分的[14]。
在MySQL軟件上創(chuàng)建人機(jī)交互所使用的數(shù)據(jù)表,一種是用來(lái)存放光纖數(shù)據(jù)采集參數(shù)的參數(shù)配置表,另一種是數(shù)據(jù)存儲(chǔ)表,主要存放采集的光纖數(shù)據(jù)[15]。參數(shù)配置表如表1所示。
表1 參數(shù)配置表
在人機(jī)交互系統(tǒng)中,考慮到需要處理的數(shù)據(jù)量比較龐大,因此使用二進(jìn)制數(shù)據(jù)類型作為數(shù)據(jù)存儲(chǔ)類型。數(shù)據(jù)存儲(chǔ)表的屬性分別是時(shí)間、數(shù)據(jù)、數(shù)據(jù)個(gè)數(shù)、屬性和位置[16]。在系統(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)時(shí),采用最通用的ODBC規(guī)范訪問(wèn)。
遠(yuǎn)程人機(jī)交互系統(tǒng)的本質(zhì)是將光纖數(shù)據(jù)顯示在交互界面上,用戶通過(guò)人機(jī)交互達(dá)到控制數(shù)據(jù)變化的目的。數(shù)據(jù)傳輸需要依賴接收方與發(fā)送方的通信[17-18]。在系統(tǒng)軟件設(shè)計(jì)部分,主要針對(duì)多方通信的情況,采用MODBUS-TCP協(xié)議,規(guī)定每個(gè)控制器的設(shè)備地址,發(fā)送方和接收方采用RS485進(jìn)行通信控制,在TCP/IP協(xié)議層中,數(shù)據(jù)鏈路層具有數(shù)據(jù)幀的校驗(yàn)性能,因此在MODBUS-TCP協(xié)議的數(shù)據(jù)幀格式當(dāng)中省略校驗(yàn)。在MODBUS-TCP協(xié)議的支持下,采用主動(dòng)數(shù)據(jù)傳輸機(jī)制作為系統(tǒng)的通信機(jī)制[19-20],該傳輸機(jī)制定義了基于數(shù)據(jù)幀的傳輸方式,實(shí)現(xiàn)了從發(fā)送端到接收端的數(shù)據(jù)復(fù)制粘貼。在進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸時(shí),該傳輸機(jī)制被觸發(fā),從而實(shí)現(xiàn)遠(yuǎn)程傳感與人機(jī)交互系統(tǒng)實(shí)時(shí)同步動(dòng)作,此時(shí)用戶可通過(guò)人機(jī)界面操作光纖數(shù)據(jù),對(duì)于遠(yuǎn)程數(shù)據(jù),通過(guò)遠(yuǎn)程幀來(lái)實(shí)現(xiàn)同步數(shù)據(jù)的傳輸,從而達(dá)到減少實(shí)時(shí)性傳輸消耗的目的。
將以上軟件設(shè)計(jì)與硬件設(shè)計(jì)結(jié)合在一起,完成光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)的設(shè)計(jì)。
在遠(yuǎn)程人機(jī)交互系統(tǒng)性能測(cè)試中,搭建的測(cè)試環(huán)境中包含了完整的狀態(tài)機(jī)邏輯、時(shí)鐘產(chǎn)生邏輯、數(shù)據(jù)傳輸模擬邏輯和復(fù)位邏輯等。其中,時(shí)鐘產(chǎn)生邏輯用于產(chǎn)生系統(tǒng)測(cè)試中所需要的時(shí)鐘。測(cè)試環(huán)境搭建完成后,使用ModelSIM仿真軟件仿真出系統(tǒng)運(yùn)行的狀態(tài)機(jī),考慮到設(shè)計(jì)的遠(yuǎn)程人機(jī)交互系統(tǒng)中使用了FPGA硬件,在使用ModelSIM時(shí),采用ISE自身的仿真庫(kù)編譯工具進(jìn)行編譯。仿真庫(kù)編譯導(dǎo)向圖,如圖4所示。
圖4 仿真庫(kù)編譯導(dǎo)向
在仿真編譯時(shí),分別設(shè)置好軟件參數(shù),等待庫(kù)編譯完成即可。仿真環(huán)境搭建完畢后即可建立相關(guān)工程對(duì)系統(tǒng)進(jìn)行功能測(cè)試。
對(duì)于遠(yuǎn)程人機(jī)交互系統(tǒng)的實(shí)際性能,很難從硬件描述語(yǔ)言上來(lái)描述其水平,為了驗(yàn)證設(shè)計(jì)的遠(yuǎn)程人機(jī)交互系統(tǒng)的可靠性,使用Wireshark抓包工具抓取傳輸?shù)臄?shù)據(jù)與原始數(shù)據(jù)對(duì)比,分析在傳輸中數(shù)據(jù)是否有損失。在進(jìn)行上述測(cè)試的同時(shí),引用傳統(tǒng)的基于SOC芯片的遠(yuǎn)程人機(jī)交互系統(tǒng)、基于Qt的遠(yuǎn)程人機(jī)交互系統(tǒng)和基于μC/OSⅢ技術(shù)的遠(yuǎn)程人機(jī)交互系統(tǒng),將其在相同的測(cè)試條件下進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸,根據(jù)測(cè)試結(jié)果分析各個(gè)系統(tǒng)的實(shí)際性能。
通過(guò)網(wǎng)線將計(jì)算機(jī)與開(kāi)發(fā)板連接在一起,使用網(wǎng)絡(luò)調(diào)試助手發(fā)送數(shù)據(jù),打開(kāi)Wireshark開(kāi)始抓包。待網(wǎng)絡(luò)調(diào)試助手完成計(jì)算機(jī)與開(kāi)發(fā)板之間的光纖數(shù)據(jù)的傳輸后,采用回環(huán)結(jié)構(gòu)將接收到的數(shù)據(jù)發(fā)回到計(jì)算機(jī),將抓包數(shù)據(jù)與返回的數(shù)據(jù)相對(duì)比判斷系統(tǒng)數(shù)據(jù)傳輸性能。測(cè)試過(guò)程中,開(kāi)發(fā)板IP地址為192.168.1.102,計(jì)算機(jī)的IP地址為192.168.1.101,端口號(hào)為8081。
在測(cè)試完成后,整理測(cè)試結(jié)果,具體內(nèi)容如圖5所示。對(duì)比觀察圖5中結(jié)果,可以知道如下信息。
(1) 圖5(a)中顯示,數(shù)據(jù)發(fā)送計(jì)數(shù)與接收計(jì)數(shù)并不相同,并且在數(shù)據(jù)顯示區(qū)域,接收的數(shù)據(jù)與發(fā)送的數(shù)據(jù)不一致,接收的數(shù)據(jù)不僅缺少數(shù)據(jù),而且存在重復(fù)數(shù)據(jù);
(a) VGA行時(shí)序
(a) 基于SOC芯片的人機(jī)交互系統(tǒng)
(2) 圖5(b)中結(jié)果同樣發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的計(jì)數(shù)不相等,只是在接收數(shù)據(jù)中沒(méi)有出現(xiàn)重復(fù)數(shù)據(jù);
(b) VGA場(chǎng)時(shí)序
(b) 基于Qt的人機(jī)交互系統(tǒng)
(3) 圖5(c)中顯示,接收數(shù)據(jù)與發(fā)送數(shù)據(jù)計(jì)數(shù)相等,但是在接收數(shù)據(jù)區(qū)域中數(shù)據(jù)接收的順序與發(fā)送數(shù)據(jù)并不一致,數(shù)據(jù)順序被打亂;
(c) 基于μC/OSⅢ技術(shù)的人機(jī)交互系統(tǒng)
(4) 圖5(d)中顯示,發(fā)送數(shù)據(jù)與接收數(shù)據(jù)計(jì)數(shù)相等,并且接收數(shù)據(jù)與發(fā)送數(shù)據(jù)內(nèi)容一致。
(d) 光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)
綜上所述,提出的光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)數(shù)據(jù)傳輸更可靠。
基于抓包結(jié)果計(jì)算出不同遠(yuǎn)程人機(jī)交互系統(tǒng)在通信過(guò)程中的信噪比,信噪比是通信信號(hào)與噪聲的比值,信噪比越大,通信質(zhì)量越好,反之,通信質(zhì)量越差。信噪比計(jì)算式如式(1)—式(3)。
Pj=E[x2(t)]
(1)
(2)
(3)
式中,SNR表示信噪比;Pj表示信號(hào)交流功率;Pn表示噪聲功率;x(t)表示隨機(jī)信號(hào);E表示直流分量;u表示量化區(qū)間。
計(jì)算結(jié)果如表2所示。
表2 不同人機(jī)交互系統(tǒng)的信噪比測(cè)試結(jié)果
表中RBM表示分辨率帶寬,在測(cè)試前設(shè)置不同的分辨率帶寬測(cè)試不同的人機(jī)交互系統(tǒng)。從表中數(shù)據(jù)可以看出,隨著分辨率帶寬的增加,人機(jī)交互系統(tǒng)的信噪比呈倍數(shù)增加;縱向?qū)Ρ雀鱾€(gè)系統(tǒng)的信噪比可知,提出的遠(yuǎn)程人機(jī)交互系統(tǒng)信噪比更高,傳統(tǒng)的人機(jī)交互系統(tǒng)信噪比比較低。結(jié)合Wireshark抓包測(cè)試結(jié)果可知,設(shè)計(jì)的光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)數(shù)據(jù)傳輸可靠,通信質(zhì)量高,其整體應(yīng)用性能遠(yuǎn)高于傳統(tǒng)的遠(yuǎn)程人機(jī)交互系統(tǒng)。
本文就光纖高速度數(shù)據(jù)傳輸?shù)倪h(yuǎn)程人機(jī)交互系統(tǒng)進(jìn)行了研究,根據(jù)光纖高速度數(shù)據(jù)傳輸?shù)奶攸c(diǎn),設(shè)計(jì)了具有針對(duì)性的遠(yuǎn)程人機(jī)交互系統(tǒng),取得了一些成果。并在系統(tǒng)設(shè)計(jì)完成后,設(shè)計(jì)了多項(xiàng)對(duì)比測(cè)試,測(cè)試結(jié)果證明了提出的遠(yuǎn)程人機(jī)交互系統(tǒng)的可靠性和高應(yīng)用性。但是由于時(shí)間倉(cāng)促、水平有限,設(shè)計(jì)的系統(tǒng)尚有進(jìn)步的空間,如光纖數(shù)據(jù)的自動(dòng)轉(zhuǎn)換問(wèn)題,這一問(wèn)題在后續(xù)研究中將作為研究重點(diǎn)進(jìn)行分析與解決。