本發明屬于計算機網絡通信領域,具體涉及一種對通訊無干擾的高速實時數據捕獲方法。本發明利用CML或LVDS電平一分二芯片,實現高速串行數據的環回、冗余,利用冗余的數據實時數據分析,并支持故障注入、誤碼率測試功能,數據速率支持500Mbps~6.25Gbps,從而保證數據正常無干擾傳輸的同時對數據實現捕獲。
技術領域
本發明屬于計算機網絡通信領域,具體涉及一種對通訊無干擾的高速實時數據捕獲方法。
背景技術
目前飛行器控制系統通過各類總線進行數據通信,總線的實時可靠運行對飛行器的安全至關重要,隨著總線技術的發展,總線的數據傳輸速率和高可靠設計持續提升,對總線測試也提出了更高的要求。在對總線測試過程中,需要對網絡中運行的各種類型的數據幀進行捕獲分析,確定數據幀的發出時間、到達時間、傳輸數據的準確性等信息,從而進行抓包分析、通訊測試、壓力測試、故障注入、故障的精準定位、誤碼率測試等性能測試。所謂誤碼率即比特差錯率(bit error rate,BER),是指在某一特定的觀察時間內差錯的比特個數與在該時間段內所傳輸的總的比特個數之比。誤碼率的定義為:
BER=Ne/Nt。
其中Ne、Nt分別為時間間隙t內的錯誤比特數、所傳輸的總比特數。利用誤碼率測試數據,可以高效評估通信系統傳輸的可靠性,有效排查被測對象故障,具有良好的實際應用意義。故障注入功能能夠為測試總線網絡設備的容錯性和復現故障提供良好的幫助。
現有的數據捕獲方法由一個核心態的包過濾器和兩個動態鏈接庫組成,NPF(Netgroup Packet Fliter)網絡組包過濾器負責從網絡中采集數據包,完成數據包的過濾,拷貝到內核層緩沖區,然后調用應用層動態鏈接庫文件將數據傳遞到應用層緩沖區,最后交由程序處理。傳統的數據捕獲方法需要對原有的數據包進行拷貝,對原有的數據產生了通訊干擾,在高速總線網絡情況下有可能出現丟包現象,另外目前具有故障注入功能的數據捕獲分析儀器的研究主要以JDSU公司和Finisar為主,但價格昂貴,成本較高,在國內目前還沒有相關的研究。
發明內容
本發明的目的:提供了一種對通訊無干擾的高速實時數據捕獲方法,以解決現有捕獲方法實時性低、可靠性低的問題,支持誤碼率測試、故障注入功能,對高速總線測試具有重要的意義。
本發明的技術方案:提供一種對通訊無干擾的高速實時數據捕獲方法,所述方法包括:
抓取總線網絡上的實際數據,并通過電平一分二芯片產生兩路數據,分別為第一路數據和第二路數據,第一路數據回傳至總線網絡,第二路數據進入數據包解析模塊;
所述數據包解析模塊包括FPGA模塊和處理器模塊;數據包解析模塊對第二路數據進行解析,將獲取的第二路數據寫入FPGA的共享Buffer緩沖區,FLASH對FPGA進行配置操作,FPGA將寫入的第二路數據發送給DDR3進行存儲,處理器模塊通過PCIe交換芯片讀取數據,通過識別數據幀頭識別數據幀類型,根據不同的協議棧,對第二路數據的不同數據幀格式進行解析,存儲已分析的數據塊;
上位機軟件讀取處理器模塊中所述已分析的數據塊;上位機通過網絡端口輸入理論數據,并產生測試序列;上位機的控制通訊模塊開始接收測試序列,并發送給處理器模塊;控制通訊模塊接收過程中檢測上位機接收器的FIFO狀態,當FIFO半滿時,上位機開始讀取處理器模塊所接收的測試序列,并與所述已分析的數據塊進行比較,統計誤碼數及計算誤碼率;當FIFO全滿時,控制通訊模塊接收測試序列完畢,上位機對統計的誤碼數及計算的誤碼率進行顯示;
上位機的控制通訊模塊開始接收測試序列時,上位機的控制通訊模塊判斷理論數據的發送碼是否足夠;當理論數據的發送碼足夠時,上位機的控制通訊模塊停止發送測試序列給處理器模塊,并停止接收測試序列。