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