李歡麗,李 平,張 楊,時昊天,馮文韜,吳馨遠
(西安現代控制技術研究所,西安 710065)
隨著武器裝備信息化、智能化程度不斷提高,原來大量使用的RS422、CAN、1553B等總線傳輸帶寬已逐漸不能滿足系統的傳輸需求。 而FlexRay總線的最大傳輸速率為20 Mbps[1-3],且有較高的可靠性[4-5];同時,具有靜態和動態兩種訪問機制,使用靈活,實時性高[6],因此逐步在武器裝備中得到應用。文獻[7]從高碼率、高可靠性及高實時性方面分析了FlexRay總線可適用于運載火箭電氣系統,并基于FlexRay總線設計了運載火箭火箭總線網絡。文獻[8-9]使用FlexRay總線開展了無人機飛控系統研究,設計FlexRay總線通信節點,并對FlexRay總線通信性能進行測試,其通信速率、通信效率、實時性等方面都較CAN總線具有優越性。而FlexRay總線的應用也隨之帶來了大量的測試需求。目前,傳統測試較多采用Vector公司研發的CANoe進行總線測試,可模擬節點的數據收發;文獻[10]設計了一種基于CPCI架構的FlexRay總線仿真測試系統,實現了從協議層面進行多節點不同速率、不同拓撲的總線網絡仿真、節點數據收發等功能。文中從工程實踐角度,在協議層測試的基礎上,提出了總線協議層+物理層多層級測試方法,并設計了一種集協議層、物理層測試于一體的FlexRay總線測試系統,實現從物理層測試對總線的傳輸品質、從協議層對總線的數據傳輸性能的測試。
協議層+物理層多層級測試方法主要由傳統的FlexRay總線協議層測試[11]與文中提出的物理層測試相結合,如圖1所示。

圖1 協議層+物理層多層級測試方法Fig.1 Protocol level+physical level multilevel test method
協議層測試主要功能為模擬發控、飛控、慣導等電子部件的FlexRay總線節點通信,按照規定流程及協議收發數據,并且可作為監測節點,對FlexRay總線數據采集記錄及存儲,為測試提供數據支撐,協議層測試原理圖見圖2所示,R0與R1為FlexRay總線的匹配負載。

圖2 協議層測試方法原理圖Fig.2 Schematic diagram for protocol level test method
物理層測試主要功能為通過產生方波、正弦波等模擬量激勵信號,注入被測FlexRay傳輸介質(如雙絞線),利用示波器采集注入信號與特定節點的輸出信號,計算得出傳輸介質的傳輸損耗、傳輸延遲等參數,從而評估被測傳輸介質的傳輸品質,物理層測試原理圖見圖3所示,R0與R1為FlexRay總線的匹配負載,R為被測傳輸介質的等效阻抗。

圖3 物理層測試方法原理圖Fig.3 Schematic diagram for physical level test method
FlexRay總線測試系統主要由主控單元、總線收發及模擬信號激勵單元組成。
主控單元選用標準的工控計算機,通過PCIe接口與總線收發及模擬信號激勵單元相連接,在主控單元上完成測試數據的輸入、顯示、存儲等功能。
總線收發及模擬信號激勵單元用于實現總線協議層數據的收發及激勵信號的生成,由FPGA模塊、時鐘模塊、存儲模塊、FlexRay總線收發模塊、信號生成與調理模塊、電源模塊、對外接口等組成。
總線收發及模擬信號激勵單元硬件框圖見圖4所示。

圖4 硬件框圖Fig.4 Hardware block diagram
2.2.1 FPGA模塊
為實現高速數據處理,FPGA模塊采用Xilinx K7系列的XC7K325T-2FFG676I芯片作為處理核心。其采用28 nm工藝,可實現優異的性能功耗比和最大的設計靈活性,具有高達326 080個邏輯單元以及速率最高可達12.5 Gbps的收發器。為實現上電后的準確配置,采用主動串行加載方式,使用MT25QL256做配置存儲,總線選用SPI×4模式,總線速率為50 Mbps,可提高FPGA加載速度。
2.2.2 存儲模塊
存儲模塊采用MT41J256M16HA,單片內存容量是512 MB,工作頻率為800 MHz,設計兩片構成1 GB存儲容量。
2.2.3 FlexRay總線收發模塊
FlexRay總線收發模塊作為FlexRay總線節點,模擬節點通訊功能,按照規定流程和協議收發數據,測試總線工作狀態。也可配置為監測節點,對總線數據進行采集記錄,并可對數據幀添加時標。FlexRay總線收發模塊采用總線控制器+隔離器+總線收發器架構,其中總線控制器采用NXP公司的MFR4310芯片,該芯片符合FlexRay通信系統協議規范V2.1A,可配置為2.5 Mbps、5 Mbps、8 Mbps和10 Mbps通信速率。總線收發器采用TJA1083,TJA1083支持FlexRay物理層V3.0.1標準。隔離器采用ADUM1402,實現收發器與控制器間的電氣隔離,避免外部干擾損壞內部芯片。
2.2.4 信號生成與調理模塊
對物理層的測試需要向傳輸介質注入特定的信號,利用信號生成與調理模塊可向傳輸介質注入正弦波、方波、三角波三類信號,結合示波器可對傳輸品質進行有效測量和評估。
信號生成與調理模塊主要包含波形發生器和調理電路,采用ADI公司的AD9833芯片。該芯片是一款低功耗、可編程波形發生器,能產生正弦波、三角波和方波,在頻率激勵和波形發生場景中有廣泛的應用。
調理電路主要采用ADA4891運放+TLP0401可編程電阻器,用于實現最高10 MHz的信號調理,并且通過TLP0401可編程電阻器來調整輸出端運放放大倍數從而達到輸出幅值可控的要求。
2.2.5 供配電
FlexRay總線測試系統輸入電源為220 V、50 Hz的市電,經過電源模塊將PCIe所需的供電進行轉換,提供各部分模塊所需的電壓和電流,根據FPGA模塊、FlexRay總線收發模塊、信號生成與調理模塊等主要模塊進行功率統計,并按照電源轉換效率為80%計算,所需功率為15 W。
軟件分為上位機軟件與下位機軟件,其中上位機軟件運行于windows7平臺,下位機軟件運行于FPGA中,二者通過PCIe總線進行數據交互。軟件架構圖見圖5所示。

圖5 軟件架構圖Fig.5 Software architecture
上位機軟件包括Windows驅動程序、主控軟件,主控軟件通過PCIe配置FlexRay總線工作模式、工作速率,模擬信號幅值、頻率等參數。參數配置軟件界面見圖6所示,激勵信號參數配置軟件界面設計見圖7所示。

圖6 FlexRay參數配置軟件界面設計Fig.6 Interface design for FlexRay parameter configuration software

圖7 激勵信號參數配置軟件界面設計Fig.7 Interface design for excitation signal parameter configuration software
下位機軟件主要由FPGA實現,FPGA總共設計了LocalBus、SPI、PCIe、AXI總線、BIT 5個軟件模塊,用于實現與主控單元、各子模塊的信息交互。各個模塊的信息交互見圖8所示。

圖8 下位機軟件模塊信息交互圖Fig.8 Information for software module of slave computers
其中LocalBus軟件模塊用于實現地址線、數據線、控制線控制,完成與MFR4310的數據交互;SPI軟件模塊用于連接AD9833,主控單元對AD9833和數字電位器的操作指令由FPGA轉換成SPI總線時序對其進行控制;PCIe軟件模塊用于與主控單元進行信息交互,主控單元下發的指令和數據經PCIe軟件模塊傳遞給FPGA模塊,同時FPGA模塊將需要顯示和記錄的數據通過PCIe軟件模塊上傳給主控單元;AXI軟件模塊在FPGA內部起到中間橋梁的作用,通過AXI接口把板卡上的各設備映射到不同的地址空間,實現主控單元端驅動訪問板卡上的設備快速便捷。
將設計的FlexRay總線測試系統、被測試的FlexRay總線通訊節點與示波器構成集成測試驗證系統,對FlexRay總線測試系統的物理層及協議層測試功能進行測試驗證。
物理層測試控制界面見圖9所示,可針對相應通道配置輸出波形類型(正弦波或方波)、輸出模式(單次輸出或連續輸出)、輸出電壓以及輸出頻率等參數。設置輸出波形為正弦波、輸出電壓為1 V條件下,測試傳輸介質所輸出信號的品質。

圖9 模擬量測試控制界面Fig.9 Test control interface for analog signal
用示波器采集FlexRay測試系統輸出的信號與FlexRay節點測試點的信號,如圖10所示,黃色曲線表示FlexRay測試系統輸出的信號,綠色曲線表示FlexRay節點測試點的信號。可以看出,測試點輸出信號的延遲時間的標準偏差為172.45 ns,表明所測試的FlexRay總線的傳輸介質延遲時間在百ns級,滿足信號的傳輸要求,因此該傳輸介質可正常傳輸FlexRay信號。

圖10 物理層測試結果Fig.10 Physical level test results
協議層測試,通過在FlexRay總線測試系統的控制軟件上完成總線參數配置、控制芯片參數配置、消息配置等內容后,通過運行控制軟件驗證了控制流程、協議轉發的正確性;其在示波器上采集輸出的FlexRay信號特性的正確性,電壓的峰-峰值為4.56 V,如圖11所示。
文中提出了總線協議層+物理層多層級測試方法,并設計了一種集協議層、物理層測試于一體的FlexRay總線測試系統,極大的提高了FlexRay總線的測試覆蓋性,測試結果表明,該系統能夠完成FlexRay總線的多種指標測試,對武器裝備的研制起到了積極的支撐作用。