文獻標識碼: A
文章編號: 0258-7998(2014)08-0010-04
顯示器是飛行員獲取飛機姿態導航信息、任務信息和戰場態勢的關鍵設備[1]。隨著座艙顯示控制系統的發展,座艙集成化程度越來越高,顯示器則是向緊湊型、集成型方向發展[2],需要顯示的信息量也在不斷增大[3],大屏幕顯示器逐漸成為機載顯示器發展的主要方向。國外研究結果表明,大面積、高分辨率的大屏幕顯示器圖像能顯著提升飛行員的反應時間[4],顯示器圖像信息顯示速度對飛行員實時判斷和決策起著至關重要的作用。制約圖像信息顯示速度的主要因素是圖形顯示系統處理能力以及通信系統數據處理傳輸能力。目前國內機載顯示器圖形顯示系統普遍采用專用圖形處理芯片,處理能力大幅度提升,完全能夠滿足圖形實時繪制要求。然而通信系統仍采用如HB6096、Arinc429等傳統低速總線接口,已成為制約信息顯示速度的關鍵因素。一方面,大屏幕顯示器顯示內容非常豐富,與其他機載設備交互的數據量大幅度增加;另一方面,大量航空總線數據需要在顯示器內部實時傳遞,對通信總線的帶寬和傳輸速度的要求不斷提高。顯然,機載顯示器需要更高速的通信系統來滿足這些需求。
MPC8548E是美國飛思卡爾公司推出的第三代PowerPC處理器,具有PCIE和RapidIO兩種高速串行總線接口[5]。其中PCIE總線接口主要用于掛接高速通信模塊,隨著計算機和應用系統接口速率的提升,PCIE越來越明顯地體現出其在高速數據采集和傳輸系統中應用的優越性[6]。接口支持x1、x4、x8等模式,通信帶寬分別可達2.5 Gb/s、10 Gb/s、20 Gb/s。RapidIO總線接口主要用于背板總線的高速數據通信,在工業領域有著廣泛的應用。接口支持x1和x4模式,通信帶寬分別可達3.125 Gb/s和12.5 Gb/s。
本文提出一種基于MPC8548E的機載顯示器通信系統,使用MPC8548E內部集成的PCIE和RapidIO總線接口,分別通過相應的交換機進行多端口擴展,實現顯示器外部數據高速通信和內部模塊間高速組網互聯,可以滿足大屏幕一體化顯示器高實時性通信的需求。
1 系統設計
機載顯示器通信系統是一種實時嵌入式系統,需要快速響應外界的突發事件,且響應時間是確定的、可預測的[7]。所以系統設計上核心處理器選用高性能高可靠性的MPC8548E,操作系統選用高可靠性、高實時性的VxWorks6.6。
通信系統核心處理器工作主頻為1.333 GHz,外接DDR2 SDRAM內存為512 MB。PCIE控制器通過交換機擴展成2路x4接口,連接外部高速通信模塊,作為通信系統的航空總線接口;RapidIO控制器通過交換機擴展成3路x4端口,作為連接顯示器內部其他模塊的背板總線接口。系統設計采用1路RS232串口及1路千兆以太網作為軟件調試接口,采用8 MB NOR Flash存儲系統固件軟件及VxWorks操作系統軟件、256 MB NAND Flash存儲通信應用軟件。NOR Flash和NAND Flash通過FPGA連接到MPC8548E。通信系統結構框圖如圖1所示。
圖1 通信系統結構框圖
2 硬件擴展接口設計
2.1 PCIE總線擴展
MPC8548E共有8路SerDes(串聯/解串器)接口,為PCIE控制器與RapidIO控制器復用[5]。SerDes[3:0]設計用作PCIE總線的擴展接口,與交換機PES12T3G2的上行端口相連,擴展出2路下行PCIE總線接口。PES12T3G2是美國IDT公司的一款PCIE交換機芯片,具有1路x4上行端口和2路下行x4端口,支持Gen2[8]。該交換機屬于透明橋類型的設備,上行/下行端口不可更改,上行端口固定在Port0,兩路下行端口固定在Port2和Port4。MPC8548E兼容PCIE 1.0a協議,默認速率為2.5 Gb/s;PES12T3G2兼容PCIE 2.0協議,默認速率為5 Gb/s。在初始配置上,MPC8548E與PES12T3G2無法建立連接,所以PES12T3G2設計上需要使用外部EEPROM。PES12T3G2與EEPROM通過SMBus連接,PES12T3G2上電復位后,通過SMBus加載EEPROM中的數據進行初始化。如果處理器PCIE的默認速率與PES12T3G2相同,則PES12T3G2的初始化可以通過PCIE總線命令進行,硬件設計上減少EEPROM的使用。本設計的PCIE總線的擴展接口示意如圖2所示。
圖2 PCIE總線擴展
MPC8548E與交換機PES12T3G2的連接為x4模式,理論上通信系統與其他加載設備通信總速度可達10 Gb/s,有效數據載荷接近8 Gb/s。
2.2 RapidIO總線擴展
采用交換機TSI578擴展RapidIO總線的接口,實現顯示器內部單元模塊的組網。TSI578是美國IDT公司的第三代RapidIO交換機芯片,共有16路RapidIO端口,可配置成x1模式或x4模式,x1模式可配置16個RapidIO端口,x4模式可配置8個RapidIO端口,端口速率最大支持3.125 Gb/s[9]。TSI578的各個端口的功能相同,硬件設計配置8個x4模式的端口,其中Port0與SerDes[7:4]相連,Port4、Port8、Port12作為連接顯示器內部其他單元模塊的接口。MPC8548E兼容RapidIO1.2協議,TSI578兼容RapidIO1.3協議,均支持1.25 Gb/s、2.5 Gb/s、3.125 Gb/s速率,且速率可以通過硬件管腳配置,軟件完成所有TSI578的初始化,無需額外EEPROM支持。本設計的RapidIO總線的擴展接口示意如圖3所示。
圖3 RapidIO總線擴展
配置硬件管腳,將不使用的TSI578端口關閉,以降低通信系統功耗。硬件配置MPC8548E與交換機TSI578的速率為3.125 Gb/s,理論上通信系統與顯示器內部單元模塊通信總速度可達12.5 Gb/s,有效數據載荷接近10 Gb/s。在顯示器內部數據傳遞可以滿足實時性要求的情況下,可以降低通信速率,進一步降低功耗。
3 軟件設計
通信系統的軟件包括固件軟件、VxWorks操作系統軟件、PCIE驅動軟件、RapidIO驅動軟件和應用軟件。固件軟件和VxWorks操作系統軟件保證了通信系統的快速啟動和實時、可靠的通信;PCIE驅動軟件和RapidIO驅動軟件提供了通信系統外部/內部通信的能力;應用軟件與實際的應用需求相關。本文僅討論PCIE驅動軟件和RapidIO驅動軟件相關的設計。
3.1 PCIE驅動軟件
PCIE驅動軟件包括兩部分:一部分是交換機PES12-T3G2的初始化;另一部分是VxWorks PCIE總線初始化。
前面提到了,交換機PES12T3G2的初始化通過讀取EEPROM中的數據完成,即加載相應數據完成功能寄存器的初始化。經過分析,PES12T3G2的EEPROM燒片文件主要由寄存器偏移地址及相應配置值組成,偏移地址使用2 B,配置值使用4 B,偏移地址后緊跟著對應寄存器的配置值,燒片文件的結尾包含2 B的校驗。
上行端口Port0的偏移基址為0x0,寄存器空間大小0x1000;下行端口Port2的偏移基址為0x2000,寄存器空間大小0x1000;下行端口Port4的偏移基址為0x4000,寄存器空間大小為0x1000。交換機控制類的寄存器位于上行端口寄存器空間中,其他寄存器上行端口與下行端口類似。本驅動軟件需要分別配置3個端口的寄存器PCICMD,偏移地址0x04,值為0x0007,打開I/O訪問使能、內存訪問使能、總線仲裁使能和INTx中斷使能;配置寄存器PCIELCTL2,偏移地址0x70,值為0x0001,設置鏈接速率為2.5 Gb/s。另外配置上行端口交換機控制寄存器SWCTL,偏移地址0x404,值為0x00002008,解除交換機的寄存器鎖定。最后加上數據校驗,形成燒片數據文件,燒片數據文件通過燒錄機固化到EEPROM中。
除了交換機PES12T3G2自身的初始化之外,VxWorks操作系統還需要初始化PCIE總線域,PCIE擴展接口才可用。分配VxWorks PCIE總線域空間,包括了兩個下行端口總的PCIE空間,驅動軟件設置基址0x80000000,大小為256 MB,類型為MemIO,通過修改BSP完成;根據VxWorks對PCIE總線的枚舉策略,包含兩個PCIE設備的總線枚舉結果如表1所示。
由表1可以看出,VxWorks中的PCIE總線數達到4級,超過了BSP中預設的限定值3,修改此限定值為10。
3.2 RapidIO驅動軟件
RapidIO驅動軟件主要實現RapidIO主端網絡枚舉、主從端及從端間的數據通信,提供應用軟件API接口。
RapidIO網絡枚舉采用基于端口升序的深度優先算法,發現RapidIO網絡中的端口個數與各端口之間的連接關系,分配每個端口一個唯一的ID,配置交換機TSI578的路由表。網絡枚舉過程中,主端對從端或交換機的訪問通過Mantenance包完成,以跳數來區分從端或交換機。一旦發現從端設備,則鎖定從端設備,分配ID,并更新主端與從端鏈路中的所有TSI578路由表信息。在交換機TSI578所有端口都枚舉之后,根據從端設備數量,配置主端/從端相應的Outbound Window、Inbound Window寄存器,實現各主從端、各從端之間的Nwirte、Nread訪問功能。最后配置數據通信中斷Doorbell。RapidIO網路枚舉流程如圖4所示。
圖4 RapidIO網絡枚舉流程
需要注意的是,作為RapidIO從端,使用的數據存儲映射空間應不在VxWorks操作系統管理的存儲空間之內,否則有可能引起操作系統異常。
4 測試驗證
4.1 PCIE總線擴展驗證
通信系統PCIE總線擴展接口連接2塊高速航空總線模塊,分別與上位機的2塊高速航空總線模塊進行通信和測試驗證,如圖5所示。
圖5 PCIE總線擴展測試示意圖
2塊高速航空總線模塊為x4模式,工作速率為10 Gb/s,在PCIE總線域中的總線號分別是2和3,其初始化、發送、接收及中斷響應功能測試正常。分別在2塊高速航空總線模塊的發送和接收函數中添加時間測量模塊,以某型顯示器接收的典型數據塊大小為例,分別測試PCIE總線數據寫入和讀取時間,測試結果如表2所示。
從測試結果可以看出,實際數據的傳輸速度與理論PCIE總線的傳輸速度有較大的差距,原因在于高速航空總線模塊的傳輸速率低于PCIE總線,不能完全發揮PCIE總線性能。
4.2 RapidIO總線擴展驗證
4塊通信系統模塊通過交換機TSI578組網互聯,對RapidIO總線接口進行測試驗證,如圖6所示。
圖6 RapidIO總線接口測試示意圖
通信系統1為RapidIO網絡主端,ID為0,其余端口為從端。主從端及各從端之間的Nwrite和Nread訪問功能測試正常,主從端Doorbell中斷響應正常。在x4模式,工作速率為12.5 Gb/s,主端映射窗口為4 MB的條件下,以某型顯示器內部傳遞的典型數據塊大小為例,測試主端與3個從端之間的數據訪問時間,測試結果如表3所示。
從測試結果可以看出,Nwrite速率在350 MB/s左右,Nread速率在200 MB/s左右。在實際使用過程中,顯示器內部數據傳遞主要使用Nwrite,顯示器內部數據傳遞效率高于顯示器外部數據接收效率。
本文針對機載顯示器實時通信受制于低速總線的問題,采用交換機PES12T3G2和 TSI578設計了基于MPC8548E的機載顯示器通信系統。通過擴展,顯示器外部可以連接兩路高速航空總線模塊,內部可以將各模塊互聯,實現了機載顯示器的高速、實時通信。經過測試發現,顯示器可以在規定周期內完成4 MB數據塊的航空總線數據交互和顯示器內部數據傳遞。實際上,高速航空總線模塊并不能完全發揮通信系統的高速通信性能,機載顯示器通信系統完全可以滿足當前航電通信需求。隨著航電系統技術以及大屏幕一體化顯示器的快速發展,本通信系統有著廣闊的應用空間。
參考文獻
[1] 熊華剛,王中華.先進航空電子綜合技術[M].北京:國防工業出版社,2009.
[2] 張煥春.飛機座艙綜合圖形顯示系統關鍵技術研究[D].南京:南京航空航天大學,2003.
[3] 單寅.基于VxWorks的機載圖形顯示系統軟件研制[D].南京:南京航空航天大學,2012.
[4] 王旭峰.機載大屏幕顯示器人機工效及其標準初探[J].航空科學技術,2013(3):29-30.
[5] Freescale.MPC8548E PowerQUICC III integrated host processor family reference manual[Z].2005.
[6] 王曉慶,周曉波,趙強.PCIE高速數據采集系統的驅動及上位機軟件開發[J].計算機應用與軟件,2013,30(9):331-333.
[7] 杜文風,王博文.基于嵌入式的實時通信協議棧研究與設計[J].電子技術應用,2013,39(2):26-28.
[8] IDT.89HPES12T3G2 PCIE switch preliminary user manual[Z].2010.
[9] IDT.Tsi578 serial RapidIO switch user manual[Z].2010.
(收稿日期:2014-04-09)
作者簡介:
張鋒,男,1983年生,工程師,主要研究方向:機載顯示器嵌入式軟件。
常晨晨,女,1983年生,工程師,主要研究方向:機載顯示器控制系統。
曹峰,男,1979年生,高級工程師,主要研究方向:機載顯示器顯示系統。