陶 沛,劉 瑩,張 頎
(中移鐵通有限公司北京通信技術中心,北京 100000)
通信技術以及互聯網的快速發展,使得互聯網網絡的建設規模無論是在速度的提升上,還是在規模的擴大上都得到了很大促進[1]。因此,設計了一個能夠實時采集和處理的通信數據采集系統,并根據時代的要求,設計了一個用VB控制和完成前端通信數據采集模塊的系統。VB的主要設計模塊包括圖形用戶界面和應用開發系統[2]。通過VB無線傳感器網絡進行系統開發可利于將DAO、RDO、ADO與數據庫建立連接,同時也為LiveX控件的建立提供便利,能夠更加高效地進行應用程序的開發[3]。利用VB提供的intergroup,可以快速建立應用程序。
通過將傳統通信數據采集系統框架進行具體分析研究,并且以此作為基礎,最終根據實際需求采用VB方法完成通信數據采集系統的設計。通信數據采集與處理系統又可以具體劃分為數據采集、數據處理及數據輸出[4]。通信數據采集系統通常由數據傳感器完成,而后續關于數據的處理和輸出主要需要依靠VB模塊及外部模塊實現[5]。系統中的3種模塊還可分為幾大功能模塊,如圖1所示。

圖1 通過數據采集處理系統模塊劃分
(1)通信數據傳感器模塊:將光信號轉換為電信號,并用句子信號輸出分類數據。
(2)實時數據采集模塊:主要對數據傳感器中輸出的信號進行采集。由于現代通信信號主要分為兩種,分為為模擬信號和數字信號,如采集到模擬信號還需要進行數模轉換。
(3)智能數據緩存模塊:主要負責采集完畢數據的存儲。為便于系統運行,可連接多個數據緩存模塊以提高數據存儲效率。
(4)數據預處理模塊:主要對采集后的數據進行預處理工作。
(5)高端數據處理模塊:主要是對經過預處理的數據進行再次處理。
(6)數據緩存處理模塊:主要是為提升數據存儲效率,避免數據擁堵的模塊,即對下次需要處理的數據進行緩存。
通信數據采集系統可以對正在進行的高速運行的數據進行采集,并可以將數據保存下來,通過捕捉到的通信數據信息,可以分析數據的運行狀態和運行規律。
通信數據采集系統由圖形用戶界面(GUI)和快速應用開發(RAD)系統組成,主要用于數據采集和數據處理[6]。數據采集部分包括主控設備FPGA定時驅動器,其作用于通知通信數據傳感器采集通信數據并將傳感器光信號轉換為電信號[7]。數據處理包括FPGA對傳感器采集的通信數據信息進行預處理,然后對預處理后的數據信號進行緩沖存儲,最終實現實時顯示。
本文所研究的通信數據的采集系統采集數據時會利用接口端將數據傳輸至上位機,還有部分系統采用數據采集卡將數據導入至上位機中[8]。利用上位機對數據進行顯示和數據處理操作。這種結構的優點是PC機的車載技術相對成熟,計算機具有巨大的資源和大量的存儲數據。然而,由于整個系統使用分立元件,而且通信數據的傳輸速度很慢,因此無法實現高效率。
隨著高速通信數據采集技術的發展,嵌入式技術在通信數據采集系統中的應用越來越普遍[9]。本系統設計的通信數據采集系統集數據處理和存儲于一體,系統集成度高,數據傳輸速度快。
對于VB設計,它通常可以分為幾個過程,即硬件語言代碼輸入、代碼模擬、合成、合成后模擬和實現[10]。布局布線后的模擬、下載、調試等設計步驟如圖2所示。目前可以采用的信息輸入方式有兩種,其中一種是直接輸入波形信息,而另一種是通過編寫TestBench來驗證信息。因為這個波形最終的目的是服務于使用者,所以最后的輸入波形可以是所需要的測試波形,而這種波形可以運用編輯器生成[11]。可以通過Verilog HDL編寫測試代碼的這個方法來完成TestBench的編寫,通過這種辦法需要測試的文件能夠被準確輸入到待測模塊中來進行仿真模擬,通過這個模擬能夠清晰地判斷這個文件是否需要修正,再將這個模擬的最終結果與實際中的數據進行對比分析,就能看出這個文件是否與實際相匹配。

圖2 VB設計流程
(1)電路設計輸入
電路設計主要采用硬件描述語言(HDL)的方式完成輸入。硬件描述語言輸入是開發大規模邏輯模塊的一種方便方法。如果想要在秒一個狀態機、VB控制、總線協議這些方面做到又快又準確,那么采用HDL方法是最好的選擇。HDL的優勢體現在它可以在EDA的工具作用下做出不殘缺的、不模糊的邏輯單元,換句話說就是使數據更完整更具體。通過HDL的方式能夠更容易地做到讓Top-Down的設計更簡單,可以將代碼進行分模塊的編寫,代碼的移植也更方便。更讓人高興地是不會再像以前一樣以器件制造的工藝的為限制,可以根據工藝的變化也隨之變化。很多人不理解原理圖的這種方式,其實它就像電子設計一樣,他們都是以EDA為基礎來編輯具有某種功能的原理圖。
(2)數據智能功能仿真
很多人一提到功能仿真都是一頭霧水,其實就是常說的前仿真。不是很難操作,也不難理解,就是調試輸入的邏輯關系,在這個過程不需要考慮太多,因為這只是第一步進行驗證。
(3)綜合
將硬件描述語言編譯成邏輯單元就是綜合,而與門,非門,RAM或者觸發器又構成了這些邏輯單元。除此之外相應的模塊單元的速度和面積也可以通過這些構成模塊進行得到優化,并且還能同時輸出edf等格式的文件,最終得到滿意的硬件設計。得到符合廠家需求的網表文件。
(4)數據布局布線
如果根據上述步驟所產生的的網表文件跟實際器件情況有差別的話,可以借助邏輯器件里面的產商的軟件,通過這個軟件把綜合出來的網表文件裝載到邏輯器件里面,把這個步驟稱為實現[14]。
(5)時序仿真與驗證
接下來再將延時信息放入到這個文件中,習慣將這樣的仿真稱為后仿真。
VB通信數據預處理主要就是數據壓縮處理。經過A/D轉換器的轉化數據傳感器的模擬量可以得到的數據是10 bit,而經過SRAM可以得到的數據是8 bit,而為了使數據位的匹配更加合理,還需要將10 bit的數據轉化為8 bit。
有兩種轉化方式可以將這組數據轉化,先用意識直接去2~9 bit,如果這時數據低于此數即為0,如果高于此數即為255。
這種轉化方式是一種雙曲變換,也是最為符合數據特征的比較理想的非線性傳輸變換,下面是雙曲變換的公式:

如果想將這個公式運用到硬件電路中,由于硬件環境的限制,則只能近似地實現雙曲變換算法。一般來說,如果使用乘除法的話,太過于復雜,而運用移位寄存器法操作的話就會相對簡單,但是運用這種方法必須以2為整除數才能進行。所以在進行雙曲公式的近似處理時,y的每段近似公式階梯型都是以2為斜率。
綜合考慮數據位轉換規則及移位寄存器特性,通過計算可以得到近似公式為:

其實以上函數就是一個簡單的選擇器,通過位移操作就能夠實現這個選擇器。再運用Matlab對線性處理、雙曲變化及擬合雙曲變換這3種算法進行仿真,最后就可以算出具體的數據結果。這個數據結果是十分具體的,有利于數據的壓縮處理,得到最優化的數據。
除了預處理數據,在處理這個數據的同時不僅涉及到了簡單選擇器這個方面,還涉及了其他一些高級處理算法。
兩個用戶之間的通信可以通過簡單的終端、傳輸通道以及交換設備實現。雖然說這種操作簡單,但是如果想要保證系統完全自動化地運行,那么就必須事先做出一些規定,這些“規定”通信雙方都需要執行,將這些“規定”稱為通信協議。
通信協議的基本要素包括以下幾個方面:
(1)語法規定,即通信雙方(或多方)之間數據傳輸的格式、碼型以及信號電平等;
(2)語義規定,即通信雙方(或多方)規定他們之間要傳輸怎樣的控制信息以及執行如何的動作等;
(3)時序規定,即通信雙方(或多方)之間執行事件的順序,傳輸數據的匹配等問題。
VB具有強大的網絡功能。利用VB的WINSOCK空間,可以有效地將任意兩個IP地址進行數據上的連接。再運用UDP或TCP交換數據,并在分布式通信系統中使用。遠程通信很容易實現。
可以通過TCP連接到額遠程計算機。通過這種方式連接可以實現相連發的計算機之間的相互轉換。能夠傳輸任何數據。但是如果網絡中的接收器是錯誤的,那么是無法接受數據的,這是因為TCP協議需要通過正確的網絡建立連接。當數據被發送時,它將被自動重新傳輸,并且使用該協議可以確認傳輸結果。網絡中的接收器是錯誤的用戶數據報協議(UDP)是一種數據無連接協議。如果要傳輸數據,首先要設置接收計算機的LoacalPort屬性,然后簡單地將RemoteHost設置為接收計算機的Internet地址,并將RemotePort設置為與接收計算機的LoacalPort屬性相同的端口。調用SendData方法發送信息,接收計算機使用GetData獲取DataArrival事件中的信息。
還有一些核心模塊化系統組件和服務,其功能如表1所示。

表1 Manager功能表
VB同步采集測試主要是測試GUI和RAD中的任意通道的信號幅度的一致性、相位一致性,模擬信號在經過模數轉換之后就會轉變為數字信號,這樣的數字信號是無法通過傳統的數字示波器、相位測試儀等一起來檢測同步一致性的情況,這時候就需要把一個已知的信號一分為二,這個原理聽起來很難,其實就是首先利用發射信號源產生一個已知的測試信號,這時候就需要把一個已知的信號將其一分為二,然后再將任意兩通道的數據段連接,通過F連接到任意兩通道的輸入端,再通過FPGA中的CHIPSCOPE軟件來實時觀察信號的采集結構。
圖3所示的是CHIPSCOPE采集到的兩路同步測試數據,由圖可知,兩路采集信號的幅度、相位上是完全相同的,為了使這個結果更加精確,一共是任意的抽取了10組VB采集信號的波形,然后再利用CHIPSCOPE這個軟件將采集到的兩路數據轉換為PRN的格式,最后再利用MATLAB軟件將采集到的兩路數據導入,結合精密的計算,最終所得的結果如表2所示。通過此表的測試結果可以得知,這兩個通道之間的采集信號的幅度一致性、相位一致性都滿足最開始設計的要求。

圖3 CHIPSCOPE測試VB采集數據

表2 采集同步性驗證結果
本文完成了基于VB的通信數據采集系統的設計,包括通信數據采集模塊、系統存儲模塊、數據顯示模塊、外圍接口模塊、電源模塊和VB核心控制器模塊。通過這些模塊可以清晰地看到VB系統的優勢,VB可以提供快速應用程序開發(RAD)系統,支持圖形用戶界面(GUI)系統,可通過DAO、RDO、ADO進行方便地數據庫連接訪問,并支持Active X空間快速創建功能。這是VB與其他的設計系統相比,無可比擬的優勢。基于此,將VB作為軟件開發的主要語言工具,不僅讓混亂代碼變得整齊,可以從最開始的時候就避免這個問題。這樣就會省掉反復改寫代碼的麻煩,可以做到省時省力地編寫語言程序。