陜天龍,周繼芹,王春亮,張偉功
(1.首都師范大學(xué) 高可靠嵌入式系統(tǒng)技術(shù)北京市工程技術(shù)研究中心,北京100048;2.首都師范大學(xué)信息工程學(xué)院,北京100048;3.北京數(shù)學(xué)與信息交叉科學(xué)2011協(xié)同創(chuàng)新中心,北京100048)
動態(tài)可重構(gòu)高速串行總線 (UM-BUS)[1]是一種利用多通道冗余實現(xiàn)總線動態(tài)容錯的新型總線,可實時監(jiān)測各通道故障,利用多通道冗余實現(xiàn)總線系統(tǒng)的動態(tài)容錯[2],并通過這些冗余通道的并發(fā)傳輸提高通信速率。同時,UMBUS總線的遠(yuǎn)程訪問存儲能力,能夠在不改變嵌入式計算機(jī)系統(tǒng)邏輯結(jié)構(gòu)的前提下,使各功能模塊分布在不同的物理位置,嵌入到測控目標(biāo)對象中,突破了傳統(tǒng)機(jī)箱結(jié)構(gòu)的限制。
針對于這種體系結(jié)構(gòu)的UM-BUS總線,為了驗證它在總線速率、帶寬靈活性、動態(tài)容錯能力和故障隔離等方面的優(yōu)勢,并幫助對采集后總線數(shù)據(jù)的處理,加快系統(tǒng)對總線故障通道定位速度,優(yōu)化冗余容錯能力,借鑒總線測試的研究成果[3]提出了UM-BUS測試系統(tǒng)。該測試系統(tǒng)可作為總線測試節(jié)點設(shè)備,以總線線纜方式接入總線,進(jìn)而對總線進(jìn)行測試。
UM-BUS測試系統(tǒng)具體工作時,數(shù)據(jù)采集模塊首先采集總線數(shù)據(jù)進(jìn)行緩存,然后將數(shù)據(jù)傳輸?shù)絇C,進(jìn)行分析處理后完成無過濾監(jiān)聽、總線狀態(tài)分析和故障注入等測試功能。UM-BUS是一種高速串行總線,因此UM-BUS測試系統(tǒng)對系統(tǒng)數(shù)據(jù)有高速性傳輸要求?;诖艘螅⒔?jīng)過綜合分析和比較,采用USB3.0技術(shù)完成數(shù)據(jù)采集模塊和PC之間通信的設(shè)計。
UM-BUS總線采用多線路并發(fā)冗余的總線型拓?fù)浣Y(jié)構(gòu),如圖1所示,它最多可以采用32條通道進(jìn)行數(shù)據(jù)的并發(fā)傳輸,能夠?qū)ψ疃?1 個通道故障進(jìn)行動態(tài)容錯。正常通信時,總線控制器會將通信數(shù)據(jù)包均勻分配到所有通信通道中;如果某些通道出現(xiàn)故障,總線控制器通過實時監(jiān)測故障,將通信數(shù)據(jù)包動態(tài)均勻地分配到其它健康通道中進(jìn)行通信,實現(xiàn)對總線通道故障和節(jié)點電路故障的動態(tài)容錯。
圖1 UM-BUS總線型拓?fù)浣Y(jié)構(gòu)
UM-BUS總線采用節(jié)點直接互連方式,最多可連接31個總線節(jié)點設(shè)備,設(shè)備間傳輸采用8b/10b編碼,總線具有遠(yuǎn)程存儲訪問能力。此外,總線是基于MLVDS (multipoint low voltage differential signaling)信 號 傳 輸 方 式,單通道速率達(dá)到200 Mbps,通信速率最高可達(dá)6.4Gbps。
UM-BUS總線通信協(xié)議分為處理層、數(shù)據(jù)鏈路層和物理層3個層次[4],如圖2所示??偩€協(xié)議模型中,物理層的邏輯子模塊實現(xiàn)8b/10b數(shù)據(jù)編解碼、編碼差錯校驗等功能[5],電氣子模塊規(guī)定總線的物理連接特性;數(shù)據(jù)鏈路層的傳輸子層實現(xiàn)數(shù)據(jù)分組傳輸,MAC (media access control)子層主要完成通道狀態(tài)及傳輸管理;處理層作為總線系統(tǒng)的控制層管理整個總線的通信工作。
圖2 UM-BUS總線協(xié)議層次結(jié)構(gòu)
1.2.1 測試功能
UM-BUS測試系統(tǒng)能夠?qū)偩€上的原始數(shù)據(jù)進(jìn)行實時采集、檢測、處理和記錄,可用于UM-BUS總線系統(tǒng)的故障實時分析和事后分析,并可以模擬總線故障,對總線系統(tǒng)中各設(shè)備的容錯能力進(jìn)行測試驗證。
測試系統(tǒng)主要實現(xiàn)3個功能:無過濾監(jiān)聽、故障注入和總線狀態(tài)分析。無過濾監(jiān)聽是UM-BUS測試系統(tǒng)采集總線數(shù)據(jù)包后,將之直接轉(zhuǎn)存到PC中,為軟件分析提供數(shù)據(jù)源;總線狀態(tài)分析,是實現(xiàn)對被測數(shù)字系統(tǒng)的定時采樣分析、狀態(tài)分析及信號質(zhì)量檢測,以及實現(xiàn)對被測系統(tǒng)數(shù)據(jù)總線的大范圍實時監(jiān)測;故障注入是為了驗證總線遇到特定故障時的響應(yīng)完成情況,是否符合預(yù)定設(shè)計。
實現(xiàn)總線測試功能的基礎(chǔ)是PC 接收并處理UM-BUS總線數(shù)據(jù)包??偩€數(shù)據(jù)包由總線通道上的數(shù)據(jù)經(jīng)過片內(nèi)總線協(xié)議處理生成,根據(jù)類型的不同分為長包數(shù)據(jù)、短包數(shù)據(jù)、ERR 包數(shù)據(jù)和MAC 包數(shù)據(jù)。其中長包和短包是UMBUS總線協(xié)議的兩種格式,區(qū)別在于短包是16字節(jié)的命令頭,長包由命令頭和數(shù)據(jù)兩部分組成。ERR 包數(shù)據(jù)中記錄錯誤狀態(tài)等信息,MAC包數(shù)據(jù)是線路故障信息表數(shù)據(jù)。
1.2.2 帶寬需求
UM-BUS總線采用最多32 條通道進(jìn)行數(shù)據(jù)的并發(fā)傳輸,每條通道速率達(dá)到200 Mbps。UM-BUS測試系統(tǒng)是針對于8通道的UM-BUS總線進(jìn)行測試的,當(dāng)總線采用8通道并發(fā)傳輸時,有效帶寬為149.5 MB/s。經(jīng)過分析和比較,這個速率滿足大多數(shù)測試和應(yīng)用的帶寬要求,為了將這些高速數(shù)據(jù)傳輸?shù)缴衔粰C(jī)PC進(jìn)行分析處理,完成總線測試功能,在UM-BUS測試系統(tǒng)中設(shè)計并應(yīng)用了USB3.0[6,7](universal serial bus 3.0)技術(shù)。
通用串行總線USB3.0的最大傳輸速率高達(dá)5Gbps,達(dá)到了總線測試系統(tǒng)的高速通信要求。USB3.0對USB2.0的向下兼容性和USB 接口在世界范圍內(nèi)的廣泛應(yīng)用,使USB3.0具有通用性的特點。此外,USB3.0的全雙工通信保證數(shù)據(jù)可以同時進(jìn)行雙向傳輸,它采用的全局性電源管理方案能夠提高系統(tǒng)的電源效率。設(shè)計選用CYUSB3014[8]芯片作為USB3.0控制器。
CYUSB3014芯片是Cypress公司出品的EZ-USB FX3架構(gòu)的USB3.0 控制芯片,由通用串行總線集成。CYUSB3014芯片內(nèi)部主要有以下幾部分:
(1)擁有200MHz的ARM926EJ內(nèi)核,該內(nèi)核能直接訪問16KB指令緊密連接存儲器核8KB 數(shù)據(jù)緊密連接存儲器,還為固件調(diào)試提供了JTAG 接口。
(2)擁有可編程的100MHz GPIF II接口,支持8位、16位、32位并行數(shù)據(jù)總線,提供256個可編程狀態(tài)。應(yīng)用時根據(jù)需求,固件程序[9]利用API庫函數(shù)對芯片的GIPF II接口進(jìn)行相應(yīng)配置。
(3)芯片集成了512KB嵌入式SRAM,以及8KB指令緩存和數(shù)據(jù)緩存。
(4)擁有連接多種外設(shè)模塊,如I2C、UART、I2S和SPI,芯片能夠在它們之間實現(xiàn)靈活的DMA 連接。
1.4.1 系統(tǒng)整體結(jié)構(gòu)
UM-BUS測試系統(tǒng)中,系統(tǒng)要求PC 能夠?qū)τ蓴?shù)據(jù)采集模塊處理后的總線上的數(shù)據(jù)進(jìn)行采集,實現(xiàn)無過濾監(jiān)聽。同時,上位機(jī)能夠向下位機(jī)發(fā)送命令,實現(xiàn)故障注入等進(jìn)一步功能需求。系統(tǒng)整體結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)整體結(jié)構(gòu)
系統(tǒng)由以下幾部分構(gòu)成:
(1)UM-BUS數(shù)據(jù)采集模塊。數(shù)據(jù)采集模塊能夠采集總線數(shù)據(jù),通過總線協(xié)議生成總線數(shù)據(jù)包,實現(xiàn)總線和節(jié)點設(shè)備間的通信。
(2)USB3.0 控 制 模 塊。USB3.0 控 制 模 塊 通 過 對USB3.0設(shè)備控制器的配置、控制和數(shù)據(jù)傳輸,控制讀寫狀態(tài)和數(shù)據(jù)方向,使USB3.0正常通信。
(3)高速緩存控制模塊。該模塊相當(dāng)于SDRAM 控制器,它和數(shù)據(jù)采集模塊以及USB3.0 控制模塊,三者共同完成測試系統(tǒng)對SDRAM 的控制,實現(xiàn)高速緩存。
(4)USB3.0 設(shè) 備 控 制 器:CYUSB3014 芯 片。CYUSB3014芯片作為協(xié)處理器,將SDRAM 中的數(shù)據(jù)通過USB3.0總線傳輸?shù)絇C,實現(xiàn)數(shù)據(jù)通信。
(5)UM-BUS總線接口,由MLVDS驅(qū)動器完成FPGA 和總線間的通信;SDRAM 存儲器,作為系統(tǒng)高速緩存;PC模塊,它對接收到的總線數(shù)據(jù)進(jìn)行分析處理后實現(xiàn)總線測試功能。
整個系統(tǒng)的通信數(shù)據(jù)為32位,大體數(shù)據(jù)流程是:數(shù)據(jù)采集模塊首先采集總線數(shù)據(jù),將數(shù)據(jù)存入SDRAM 進(jìn)行緩存;然后PC向下發(fā)出命令,USB3.0控制模塊接收到命令后,將SDRAM 中的數(shù)據(jù)通過USB3.0總線傳輸?shù)絇C中;最后PC對總線數(shù)據(jù)進(jìn)行分析和處理,實現(xiàn)各項總線測試功能。
1.4.2 軟硬件設(shè)計方案
硬件方面,在FPGA 中設(shè)計了USB3.0 控制模塊和高速緩存控制模塊。USB3.0控制模塊有USB讀寫時序控制、數(shù)據(jù)方向控制、對SDRAM 控制器的控制和故障注入等功能。高速緩存控制模塊則設(shè)計了一個雙口SDRAM 控制器,該控制器的左口被設(shè)計為的數(shù)據(jù)輸入口,控制器的右口被設(shè)計為的數(shù)據(jù)輸出口,使SDRAM 存儲器實現(xiàn)對UM-BUS測試系統(tǒng)的高速數(shù)據(jù)緩存。
軟件方面,利用Cypress公司提供的EZ-USB FX3 完整軟件及固件包,將USB應(yīng)用與內(nèi)嵌系統(tǒng)環(huán)境結(jié)合,開發(fā)了USB3.0的固件程序,使測試系統(tǒng)完成整體數(shù)據(jù)通信。另外,為了驗證通信數(shù)據(jù)的高速性和可靠性,根據(jù)Cypress公司提供的應(yīng)用程序接口API函數(shù),設(shè)計了PC 應(yīng)用程序,并完成驗證。
硬件 部 分 主 要 分 為USB3.0 模 塊、FPGA 模 塊 和SDRAM 模塊,硬件程序均由VHDL 語言編寫。其中,SDRAM 模塊作為系統(tǒng)的高速緩存,由兩片SDRAM 存儲器組成,被FPGA 模塊控制。下面主要介紹USB3.0 模塊和FPGA 模塊。
USB3.0模塊采用CYUSB3014 型號的USB 設(shè) 備 控 制器。根據(jù)總線測試系統(tǒng)傳輸要求,將USB 芯片配置為Slave FIFO 模式,此模式下的USB 芯片作為協(xié)處理器,F(xiàn)PGA 作為外部控制器。固件程序會將GPIF II接口配置為Slave FIFO 模式的接口,同時FPGA 芯片由硬件程序產(chǎn)生Slave FIFO 模 式 的 時 序,以 保 證FPGA 和CYUSB3014 芯片間的正常通信。
固件程序為CYUSB3014芯片提供了兩條DMA[10]通道作為FIFO 緩沖區(qū),采用自動DMA 方式進(jìn)行數(shù)據(jù)傳輸。DMA 通道的軟件結(jié)構(gòu)封裝了套接口、緩沖區(qū)和描述符3個元素。套接口是一種抽象層,PC 應(yīng)用程序通過它來發(fā)送和接收數(shù)據(jù)。描述符把套接口和緩沖區(qū)聯(lián)系起來,使用戶通過尋找套接口使用緩沖區(qū)進(jìn)行數(shù)據(jù)緩存。
USB3.0模塊內(nèi)部的工作流程如圖4所示。硬件程序中的A0和A1接口信號作用是選擇USB 芯片中的DMA 通道,另外用FLAGA 和FLAGB接口信號分別表示兩個通道緩沖區(qū)中是否存在數(shù)據(jù)。
UM-BUS測試系統(tǒng)選擇Virtex-5 系列的XC5VLX85T型號的FPGA。設(shè)計的FPGA 模塊,包括USB3.0 控制模塊和高速緩存控制模塊兩部分。USB3.0控制模塊獨自完成USB讀寫時序控制邏輯和數(shù)據(jù)方向控制邏輯,通過對USB設(shè)備控制器的配置、控制和數(shù)據(jù)傳輸,使USB3.0 進(jìn)行準(zhǔn)確、高速的數(shù)據(jù)傳輸;高速緩存控制模塊與USB3.0 控制模塊兩者共同完成SDRAM 存儲器控制邏輯,實現(xiàn)了總線數(shù)據(jù)的高速緩存處理。
圖4 USB3.0模塊工作流程
2.2.1 USB讀寫時序控制邏輯
該設(shè)計的USB3.0數(shù)據(jù)傳輸方式是bulk傳輸,bulk傳輸方式支持傳輸大量數(shù)據(jù)的高速通信設(shè)備。硬件程序控制USB3.0以bulk傳輸方式讀寫數(shù)據(jù),完成USB讀寫時序控制邏輯,它的狀態(tài)機(jī)如圖5所示。圖中S0是判斷總線測試系統(tǒng)對USB傳輸方向需求的狀態(tài),S1~S5表示USB 的寫數(shù)據(jù)狀態(tài)機(jī),S6~S11表示USB的讀數(shù)據(jù)狀態(tài)機(jī)。
實現(xiàn)USB3.0讀數(shù)據(jù)和寫數(shù)據(jù)的雙向傳輸能力,是系統(tǒng)為了完成完整總線測試功能而對USB3.0 控制模塊提出的基本要求。USB3.0讀取PC 數(shù)據(jù)時,硬件程序運行讀狀態(tài)機(jī),然后時序信號從USB3.0控制模塊傳輸?shù)経SB 芯片的GPIF II接口,USB3.0進(jìn)入讀PC數(shù)據(jù)狀態(tài),USB3.0控制模塊接收到通過USB3.0總線傳輸?shù)腜C數(shù)據(jù)。與之對應(yīng)的,當(dāng)系統(tǒng)需要把從USB3.0 控制模塊讀取的總線數(shù)據(jù)寫入PC時,硬件程序運行寫狀態(tài)機(jī),USB3.0進(jìn)入寫數(shù)據(jù)狀態(tài),PC就能從USB3.0的通道緩沖區(qū)中讀取數(shù)據(jù)。
圖5 USB讀寫時序控制狀態(tài)機(jī)
2.2.2 數(shù)據(jù)方向控制邏輯
PC軟件可以把數(shù)據(jù)方向信息通過USB 芯片上的接口(比如UART)傳輸給USB3.0控制模塊,然后編譯成數(shù)據(jù)方向信號進(jìn)行方向控制。但為了降低軟硬件設(shè)計難度和系統(tǒng)復(fù)雜性,本文并沒有利用PC軟件向下位機(jī)傳輸數(shù)據(jù)方向控制信號,而是根據(jù)USB芯片中的DMA 傳輸機(jī)制,通過VHDL硬件語言,在測試系統(tǒng)中設(shè)計并應(yīng)用了一種由USB3.0控制模塊自動控制數(shù)據(jù)方向的方法。
控制數(shù)據(jù)方向的方法,在于USB3.0 控制模塊判斷USB的DMA 通道狀態(tài)后,自動選擇通道進(jìn)行通信。固件程序在USB芯片中通過套接口固化了兩條DMA 通道,通道傳輸?shù)臄?shù)據(jù)方向是:通道0只能從PC讀取數(shù)據(jù),同時向USB3.0控制模塊寫入數(shù)據(jù);通道1只能從USB3.0控制模塊讀取數(shù)據(jù),同時向上位機(jī)PC寫入數(shù)據(jù)。當(dāng)USB3.0控制模塊將A0和A1 信號置于低位時,USB 芯片選擇通道0,F(xiàn)LAGA 和FLAGB信號分別表示通道0的空/滿狀態(tài);當(dāng)USB3.0控制模塊將A0和A1信號置于高位時,USB芯片選擇通道1,F(xiàn)LAGA 和FLAGB信號分別表示通道1的空/滿狀態(tài)。
測試系統(tǒng)中USB3.0 負(fù)責(zé)雙向的數(shù)據(jù)通信??偩€數(shù)據(jù)被USB3.0控制模塊傳輸?shù)経SB 芯片的通道1,準(zhǔn)備進(jìn)入PC;同樣,PC發(fā)出命令后,命令數(shù)據(jù)被傳輸?shù)酵ǖ?,準(zhǔn)備進(jìn)入USB3.0控制模塊。USB3.0控制模塊通過判斷通道的空/滿狀態(tài),實時監(jiān)測哪個通道中有數(shù)據(jù),從而判斷軟件是在讀操作還是在寫操作,然后產(chǎn)生相應(yīng)的接口時序,實現(xiàn)讀寫操作??刂茢?shù)據(jù)方向的狀態(tài)機(jī)如圖6 所示,其中S0~S3用于系統(tǒng)循環(huán)監(jiān)控USB 的DMA 通道中數(shù)據(jù)狀態(tài),S4表示USB寫數(shù)據(jù)狀態(tài),S5表示USB讀數(shù)據(jù)狀態(tài)。
圖6 數(shù)據(jù)方向控制狀態(tài)機(jī)
2.2.3 SDRAM 存儲器控制邏輯
SDRAM 存儲器是UM-BUS測試系統(tǒng)的高速緩存,總線上的數(shù)據(jù)被數(shù)據(jù)采集模塊完成采集處理后,會生成PC軟件需要的長包數(shù)據(jù)、短包數(shù)據(jù)、ERR 數(shù)據(jù)和MAC 數(shù)據(jù),SDRAM 存儲器控制邏輯負(fù)責(zé)對這些數(shù)據(jù)的高速緩存處理。設(shè)計的SDRAM 控制器是猝發(fā)式數(shù)據(jù)讀寫模式,這樣有利于高速實時地向SDRAM 讀寫數(shù)據(jù),從而提高整個測試系統(tǒng)的高速性和可靠性。
圖7是SDRAM 的控制邏輯框架。高速緩存控制模塊是SDRAM 控制器,直接控制SDRAM 進(jìn)行數(shù)據(jù)的讀取。USB3.0控制模塊和UM-BUS數(shù)據(jù)采集模塊,通過控制高速緩存控制模塊,間接控制SDRAM,完成存儲器地址空間的分配、SDRAM 猝發(fā)數(shù)據(jù)與USB數(shù)據(jù)的傳輸時序配合、以及對PC的命令解析等工作,實現(xiàn)測試系統(tǒng)中SDRAM 的具體功能。
圖7 SDRAM 的控制邏輯
SDRAM 控制器被設(shè)計成一個邏輯上的雙口控制器,外部數(shù)據(jù)從控制器左口進(jìn)入,最后從控制器右口讀出。圖8是整個SDRAM 控制邏輯的狀態(tài)機(jī),其中S0和S2是等待命令狀態(tài)。S1 表示數(shù)據(jù)采集模塊有存儲數(shù)據(jù)請求時,SDRAM 控制器成為左口模式,數(shù)據(jù)采集模塊產(chǎn)生的數(shù)據(jù)進(jìn)入控制器,然后存入SDRAM。S3 表示USB3.0 控制模塊有讀取數(shù)據(jù)請求時,SDRAM 控制器成為右口模式,數(shù)據(jù)從存儲器中被控制器讀取出后被傳輸?shù)経SB3.0 控制模塊。
圖8 SDRAM 控制邏輯狀態(tài)機(jī)
經(jīng)過實際測試,USB3.0成功應(yīng)用在總線測試系統(tǒng)中,如何驗證通信數(shù)據(jù)的高速性和可靠性成為重要問題。為此,該文分別針對USB3.0 帶寬測試和數(shù)據(jù)可靠性測試,分別進(jìn)行了設(shè)計與實現(xiàn)。
3.1.1 帶寬測試設(shè)計
帶寬測試設(shè)計只是為了驗證UM-BUS 測試系統(tǒng)中USB3.0的數(shù)據(jù)傳輸高速性,并不實際應(yīng)用在UM-BUS總線測試系統(tǒng)中。
如圖9 所示,F(xiàn)PGA 硬件程序設(shè)計了一個循環(huán)監(jiān)測USB芯片緩沖區(qū)通道的狀態(tài)機(jī)。當(dāng)一個通道中有數(shù)據(jù)時,USB3.0控制模塊控制USB3.0進(jìn)行相應(yīng)數(shù)據(jù)方向下的數(shù)據(jù)操作,PC軟件測試數(shù)據(jù)傳輸速度。此設(shè)計中用于測試寫速度的數(shù)據(jù)由PC軟件生成,用于測試讀速度的數(shù)據(jù)由下位機(jī)硬件程序產(chǎn)生。
圖9 USB3.0帶寬測試流程
3.1.2 帶寬測試結(jié)果
把VHDL硬件程序下載到FPGA 芯片中,為了測試設(shè)計中USB3.0的最大數(shù)據(jù)傳輸速度,PC 生成大量偽隨機(jī)數(shù)列,通過USB3.0向下位機(jī)的USB3.0控制模塊持續(xù)傳輸,測試USB3.0最大讀速度;相應(yīng)的,USB3.0控制模塊生成大量偽隨機(jī)數(shù)列,通過USB3.0向PC 傳輸,測試USB3.0最大寫速度。經(jīng)過多次測試,USB3.0的平均讀、寫速度穩(wěn)定在180MB/s以上,最大讀、寫速度均超過190MB/s,達(dá)到8通道的總線測試系統(tǒng)的高速數(shù)據(jù)傳輸要求。
3.2.1 數(shù)據(jù)可靠性測試設(shè)計
數(shù)據(jù)可靠性測試設(shè)計是對總線測試系統(tǒng)中PC、USB、FPGA 和SDRAM 四者間的數(shù)據(jù)通信可靠性進(jìn)行整體驗證與分析。
如圖10所示,PC 軟件產(chǎn)生并向USB3.0 發(fā)送一個固定大小的測試數(shù)據(jù)包,該測試數(shù)據(jù)包經(jīng)過USB3.0、FPGA和SDRAM 三者的數(shù)據(jù)傳輸和處理,最后返回PC進(jìn)行數(shù)據(jù)顯示和檢驗,以對系統(tǒng)的數(shù)據(jù)可靠性進(jìn)行分析。
圖10 系統(tǒng)數(shù)據(jù)可靠性測試流程
3.2.2 數(shù)據(jù)可靠性測試結(jié)果
PC中軟件生成一定大小的32 位偽隨機(jī)數(shù)列,存儲到SDRAM 中。存儲完畢后再將通信數(shù)據(jù)讀回,軟件界面顯示讀回的數(shù)據(jù)。通信數(shù)據(jù)總量不少于50GB,按照字節(jié)對比的方式,比較和驗證PC生成的和接收的數(shù)據(jù),并未發(fā)現(xiàn)接收到錯誤數(shù)據(jù)。由此推算,應(yīng)用在UM-BUS測試系統(tǒng)中的USB3.0通信數(shù)據(jù)誤碼率低于2*10-8。
驗證完偽隨機(jī)數(shù)列數(shù)據(jù)的可靠性后,PC 軟件還會模擬數(shù)據(jù)采集模塊生成的長包、短包等總線數(shù)據(jù),分區(qū)存儲到SDRAM 中后,由軟件讀回并顯示,軟件命令格式見表1。同樣,經(jīng)USB3.0傳輸?shù)目偩€數(shù)據(jù)誤碼率低于2*10-8,數(shù)據(jù)的可靠性得到了肯定。
表1 軟件命令
該文設(shè)計了USB3.0 技術(shù)在動態(tài)可重構(gòu)總線測試系統(tǒng)中的應(yīng)用,解決了總線測試系統(tǒng)中USB3.0控制模塊和PC間的高速數(shù)據(jù)傳輸問題,并完成測試系統(tǒng)中的SDRAM 高速緩存處理。通過軟硬件開發(fā)對設(shè)計進(jìn)行驗證,為實現(xiàn)總線測試做好基礎(chǔ)。驗證結(jié)果表明,Slave FIFO 模式下USB3.0的數(shù)據(jù)傳輸速率達(dá)到180MB/s,經(jīng)系統(tǒng)中多個模塊處理后的數(shù)據(jù)可靠性也得到驗證,滿足總線測試系統(tǒng)對8通道UM-BUS總線進(jìn)行測試的高速傳輸要求。
[1]WANG Jiajia.Design and implementation of a dynamically reconfigurable bus controller [D].Beijing:Capital Normal University,2012:1-65 (in Chinese). [王嘉佳.動態(tài)可重構(gòu)總線控制器的設(shè)計與實現(xiàn) [D].北京:首都師范大學(xué),2012:1-65.]
[2]KONG Fanli,HUANG Jinquan.The synchronization techniques for redundancy architecture based on CAN bus [J].Avionics Technology,2013,44 (1):43-47 (in Chinese).[孔凡立,黃金泉.基于CAN 總線的冗余系統(tǒng)同步技術(shù)研究[J].航空電子技術(shù),2013,44 (1):43-47.]
[3]LI Xiaoya,SHANG Lina,ZHANG Qinqin.Design and implementation of 1553 bus testing and simulation system [J].Modern Electronics Technique,2012,35 (10):53-60 (in Chinese).[李筱雅,尚麗娜,張芹芹.1553總線測試仿真系統(tǒng)設(shè)計與實現(xiàn) [J].現(xiàn)代電子技術(shù),2012,35 (10):53-60.]
[4]DENG Zhe,ZHANG Weigong,ZHU Xiaoyan,et al.Design and implementation if data transmission management method for dynamic reconfigurable bus [J].Computer Engineering,2013,39 (1):264-269 (in Chinese).[鄧哲,張偉功,朱曉燕,等.動態(tài)可重構(gòu)總線數(shù)據(jù)傳輸管理方法設(shè)計與實現(xiàn) [J].計算機(jī)工程,2013,39 (1):264-269.]
[5]DU Rui,ZHANG Weigong,DENG Zhe,et al.Parallel CRC algorithm design and implementation of new bus [J].Computer Engineering and Design,2013,34 (1):131-135 (in Chinese).[杜瑞,張偉功,鄧哲,等.新型總線中并行CRC算法的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2013,34 (1):131-135.]
[6]GAO Zhenjiang.USB3.0technology [J].Electronic Component &Device Applications,2009,11 (7):77-80 (in Chinese).[高振江.USB3.0通用串行接口技術(shù) [J].電子元器件應(yīng)用,2009,11 (7):77-80.]
[7]WANG Zhenglin,LIU Jin,XUE Kaifang.Application of USB technology in the system of digital packaging printing machine[J].Microcomputer &Its Applications,2012,31 (20):27-29 (in Chinese).[王政林,劉晉,薛凱方.USB技術(shù)在數(shù)字包裝印刷機(jī)系統(tǒng)中的應(yīng)用 [J].微型機(jī)與應(yīng)用,2012,31(20):27-29.]
[8]XU Yong,QI Xin,TAO Zhiyong.Hardware platform design for GPP software-defined radio system based on USB3.0 [J].Application of Electronic Technique,2013,39 (2):103-106(in Chinese). [徐永,齊心,陶智勇.基于USB3.0的GPP軟件無線電系統(tǒng)的硬件平臺設(shè)計 [J].電子技術(shù)應(yīng)用,2013,39 (2):103-106.]
[9]ZHANG Cong,ZHANG Tao.Firmware design based on peripheral controller of USB3.0 [J].Chinese Journal of Electron Devices,2013,36 (3):383-388 (in Chinese). [張聰,張濤.基于USB3.0 設(shè)備控制器的固件設(shè)計 [J].電子器件,2013,36 (3):383-388.]
[10]WANG Jialiang,ZHAO Shuguang.PCI-E interface implementation and DMA engine design with FPGA [J].Computer Technology and Development,2011,21 (6):181-184(in Chinese).[王嘉良,趙曙光.用FPGA 實現(xiàn)PCI-E 接口和DMA 控制器設(shè)計 [J].計算機(jī)技術(shù)與發(fā)展,2011,21(6):181-184.]