張 暉,高萍萍
(1.陸軍工程大學通信士官學校,重慶 400035;2.重慶電訊職業(yè)學院 大數(shù)據(jù)與數(shù)字媒體學院,重慶 402247)
LabVIEW 屬于一種程序開發(fā)技術(shù),由于具有易操作,開發(fā)程序質(zhì)量較高等優(yōu)點,被應(yīng)用到各種程序開發(fā)中。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,對串行通信接口的要求逐漸提高,傳統(tǒng)的串行通信接口由于在應(yīng)用過程中具有較高的誤比特率,已經(jīng)無法滿足串行通信的需求,所以此次將LabVIEW 技術(shù)應(yīng)用到串行通信接口設(shè)計中,降低串行通信接口的誤比特率。
串行通信接口主要是用于傳輸與轉(zhuǎn)換終端設(shè)備與通信設(shè)備之間的數(shù)據(jù),不同的應(yīng)用對串行通信接口的參數(shù)設(shè)計要求不同。此次以串行速率8 b/s,參考時鐘300 MHz,串行數(shù)據(jù)寬度24 位為例,運用LabVIEW 技術(shù)設(shè)計了一組串行通信接口。利用LabVIEW 技術(shù)設(shè)計的接收端口采集終端設(shè)備傳輸出來的串行數(shù)據(jù)流,運用PUY 電路從串行數(shù)據(jù)流中提取到隱藏在數(shù)據(jù)中的時鐘信息,由于串行數(shù)據(jù)通信問題需要考慮到對齊問題,所以要用Comma 把串行數(shù)據(jù)流進行對其,將其轉(zhuǎn)化為串并數(shù)據(jù),否則會導致串行通信接口輸出的數(shù)據(jù)存在bit 問題,影響到接口的通信效果[1]。串并數(shù)據(jù)是否可以有效傳輸?shù)酵ㄐ旁O(shè)備,還必須對電路進行相位對齊,解決時鐘相位的差異問題,以此實現(xiàn)了基于LabVIEW的串行通信接口設(shè)計,圖1 為基于LabVIEW 的串行通信接口設(shè)計流程圖。
圖1 基于LabVIEW 的串行通信接口設(shè)計流程圖
終端設(shè)備通信數(shù)據(jù)采集是串行通信接口的基礎(chǔ)部分,此次采用LabVIEW 技術(shù)對接收端口進行設(shè)計,保證接收端口輸出數(shù)據(jù)的質(zhì)量[2]。LabVIEW 技術(shù)和計算機C 語言類似,都具有一個龐大的函數(shù)庫,能夠根據(jù)數(shù)據(jù)特征自動挑選出合適的函數(shù)對數(shù)據(jù)進行有效采集。該函數(shù)庫具有通信數(shù)據(jù)采集、通信數(shù)據(jù)分析、各種通信協(xié)議控制以及通信數(shù)據(jù)保程序編程功能。此次運用LabVIEW 技術(shù)采集到差分接收端口的差分信號。差分信號是兩種通信數(shù)據(jù)之間的比較差異,差分接收端口設(shè)計是基于LabVIEW 的,該部分決定了串行差分信號的電壓值。運用LabVIEW 技術(shù)能夠有效保證信號的完整性[3]。串行通信接口正端口的值大于副端口的值時,則采集到的差分信號為2;當串行通信接口正端口的值小于副端口的值時,則采集到的差分信號為1。圖2 為LabVIEW 編程的接收端口電路圖。
圖2 LabVIEW 編程的接收端口電路圖
當設(shè)計完接收端口后,需要對差分數(shù)據(jù)中潛在的時鐘信息進行提取。該部分設(shè)計主要利用鑒相器、壓控振蕩器、環(huán)路濾波器等硬件設(shè)備實現(xiàn)。圖3 為時鐘信息提取原理圖。
圖3 時鐘信息提取原理圖
如圖3 所示,壓控振蕩器把鑒相器的輸出值鎖定到與參考時鐘信息相近的參數(shù)上,再把壓控振蕩器的輸出信號返回到鑒相器,信號經(jīng)過鑒相器的處理,將輸出值與預設(shè)參考時鐘值相匹配,利用環(huán)路濾波器鎖定輸出,以此實現(xiàn)時鐘信號的提取。
串行數(shù)據(jù)對齊主要是保證串行通信接口傳輸數(shù)據(jù)質(zhì)量。由于串行通信接口比并行通信接口傳輸數(shù)據(jù)量少,所以適用于遠距離通信設(shè)備數(shù)據(jù)傳輸,這就要求串行通信接口要具有較高的傳輸速率。為了避免高速率數(shù)據(jù)傳輸時電磁因素的影響,在傳輸串行數(shù)據(jù)流時必須對接收端口的串行數(shù)據(jù)進行對齊,保證串行通信接口傳輸數(shù)據(jù)的質(zhì)量[4]。此次對串行通信接口的發(fā)送端與接收端設(shè)計一個可共同識別的序列,即Comma 序列,在串行通信接口的發(fā)送端發(fā)送一個Comma 序列,接收端接收到該序列后依據(jù)序列中的對齊規(guī)則將數(shù)據(jù)流進行對齊,以此實現(xiàn)了串行通信接口的數(shù)據(jù)對齊。
在對串行通信接口接收到的數(shù)據(jù)流對齊之后,還需要對其進行串并轉(zhuǎn)換。由于通信接口采集到的串行數(shù)據(jù)最終要以并行數(shù)據(jù)的形式輸出,所以要對數(shù)據(jù)流進行串并轉(zhuǎn)換。除了要將串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù)以外,還要將對齊后的數(shù)據(jù)流轉(zhuǎn)換成低速并行數(shù)據(jù)。對于串行通信接口設(shè)計,串并轉(zhuǎn)換實現(xiàn)的質(zhì)量將直接決定著串行通信接口實現(xiàn)的效果,串并轉(zhuǎn)換在整個串行通信接口設(shè)計中具有重要的作用。通常,串并轉(zhuǎn)換的方法有很多,如多相時鐘法、樹型結(jié)構(gòu)法、移位寄存法等。由于樹型結(jié)構(gòu)法、移位寄存法對于串行通信接口設(shè)計具有一定的難度,并且比較復雜,而多相時鐘法易于理解,串行通信電路容易實現(xiàn),對時鐘信號的要求較少,根據(jù)此次串行通信接口設(shè)計要求,采用多相時鐘法對數(shù)據(jù)進行串并轉(zhuǎn)換。當提取的時鐘信號與數(shù)據(jù)寬度相符時,在該時鐘信號節(jié)拍下,將bit 流打入數(shù)據(jù)流中,以此實現(xiàn)了利用多相時鐘法對數(shù)據(jù)流的串并轉(zhuǎn)換。
串行通信接口在將數(shù)量流輸出之前,需要用相位對齊將串并轉(zhuǎn)換后的XCLK 并行時鐘與USJDLK 并行時鐘同步。
在相位對齊過程中要注意如下兩點:第一,XCLK并行時鐘和USJDLK 并行時鐘要滿足同步要求,利用一個振蕩器為所有的收發(fā)器提供參考時鐘;第二,將RXRECCLK 驅(qū)動接收器的時鐘信號設(shè)置為恢復后時鐘信號。通過這兩點可以確保XCLK 并行時鐘和USJDLK并行時鐘相位相同,接收器對串行通信數(shù)據(jù)進行接收,將其轉(zhuǎn)化為并行數(shù)據(jù),以此實現(xiàn)了基于LabVIEW 的串行通信接口設(shè)計。
串行通信的大數(shù)據(jù)量快速傳輸是此次設(shè)計的最終目標,此次將LabVIEW 技術(shù)應(yīng)用到串行數(shù)據(jù)通信中,設(shè)計了一種基于LabVIEW 串行通信接口。為了證明該接口能更好的滿足串行通信需求,將其與傳統(tǒng)串行通信接口進行對比實驗。此次實驗利用ChipScope Pro 軟件對兩種通信接口進行測試,通過JTAG 口在線讀出接口的通信信號,并將其實時地保存到Block RAM 中,再通過JTAG 口將數(shù)據(jù)傳送到計算機,最后在GUI 界面顯示出時序波形。
以此檢驗對比兩種串行通信接口的誤比特率。圖4 為兩種串行通信接口的誤比特率對比圖。
從圖4 可以看出,此次設(shè)計的串行通信接口誤比特率平均為5500%,傳統(tǒng)接口的平均誤比特率為 8 500,遠遠高于此次設(shè)計的串行通信接口。實驗證明此次設(shè)計的串行通信接口滿足誤比特率要求,可以更好的接收通信數(shù)據(jù)。
此次將LabVIEW 技術(shù)運用到串行通信接口設(shè)計中,設(shè)計了一種基于LabVIEW 技術(shù)的串行通信接口。目前,該接口尚在研發(fā)階段,未對其進行大量的實踐應(yīng)用,可能還存在一些不足之處,還需要對其進行不斷的完善和優(yōu)化,以保證基于LabVIEW 技術(shù)的串行通信接口的應(yīng)用價值。
圖4 兩種串行通信接口的誤比特率對比圖