陳超 豆海利 馮源
【摘要】 ? ?本文提出了一種總線通信模塊設(shè)計(jì)方案,該模塊基于國(guó)產(chǎn)芯片設(shè)計(jì),實(shí)現(xiàn)了1394總線的RN功能。模塊集成了兩路1394總線,在不增加總線調(diào)度復(fù)雜度的同時(shí),提高通信可靠性。經(jīng)過(guò)項(xiàng)目使用表明,模塊功能、性能可靠,功耗低,實(shí)用性好,對(duì)機(jī)載網(wǎng)絡(luò)發(fā)展有重要意義。
【關(guān)鍵字】 ? ?1394總線 ? ?RN
引言:
隨著航空電子技術(shù)的發(fā)展,早期的1553B總線由于傳輸速率過(guò)慢已經(jīng)難以滿足要求,這時(shí)以IEEE 1394B總線為代表的新一代串行總線迅速發(fā)展[1]。它是一種高速串行總線,傳輸速率最大可以達(dá)到400Mbps,最初在消費(fèi)電子領(lǐng)域應(yīng)用廣泛,具有高帶寬、低成本、支持熱插拔等特點(diǎn)。為適應(yīng)1394B總線在航空領(lǐng)域的應(yīng)用,SAE對(duì)IEEE 1394B協(xié)議進(jìn)行了改進(jìn),提高了1394總線的可靠性和確定性,使其逐漸廣泛應(yīng)用于航空、航天以及工業(yè)控制領(lǐng)域中。
本文設(shè)計(jì)的總線通信模塊基于國(guó)產(chǎn)化芯片,該模塊上集成了兩路1394,可以同時(shí)進(jìn)行兩路1394通信??偩€通信模塊已經(jīng)在某型機(jī)電系統(tǒng)中得到了應(yīng)用,體現(xiàn)了良好的可靠性和可適應(yīng)性等特點(diǎn)。
一、模塊設(shè)計(jì)
總線通信模塊適配于某型飛機(jī)機(jī)電系統(tǒng)內(nèi)的各子系統(tǒng)設(shè)備,提供子系統(tǒng)之間1394B總線通信功能、時(shí)間同步功能、溫度傳感器數(shù)據(jù)采集及傳輸?shù)裙δ?。該模塊具備兩套完全獨(dú)立的1394B總線通信能力,主機(jī)接口端可通過(guò)設(shè)置驅(qū)動(dòng)軟件參數(shù)中的總線通道號(hào)來(lái)區(qū)分這兩路通道。
總線通信模塊基于國(guó)產(chǎn)芯片進(jìn)行設(shè)計(jì),能夠適應(yīng)機(jī)載條件下的各種惡劣環(huán)境,按戰(zhàn)術(shù)指標(biāo)可靠穩(wěn)定的工作,具備體積小、重量輕、可靠性高、可維修性好等特點(diǎn)。該模塊具有兩路完全獨(dú)立的1394B通信電路,電源、FPGA、數(shù)據(jù)鏈路層及物理層電路等均相互獨(dú)立,除此之外總線通信模塊還提供溫度采集功能,主機(jī)可以通過(guò)驅(qū)動(dòng)接口獲取溫度傳感器的物理參量。
1.1硬件設(shè)計(jì)
總線通信模塊采用的硬件架構(gòu)由一塊基板以及兩塊子卡組成。兩塊子卡的結(jié)構(gòu)和功能完全相同,分別實(shí)現(xiàn)一路1394B總線通信功能。兩塊子卡通過(guò)板間連接器插在基板上,基板通過(guò)VPX連接器與主機(jī)連接。
兩塊子卡的硬件組成及其結(jié)構(gòu)完全相同,每個(gè)子卡由FPGA及其配置芯片、鏈路層芯片(LLC)、物理層芯片(PHY)、耦合變壓器、測(cè)溫電路、復(fù)位電路、時(shí)鐘電路、電源電路以及其它輔助電路組成。
1.1.1電源電路
電源電路主要分為外部電源供電和電壓轉(zhuǎn)換電路兩種。外部電源供電采用兩路獨(dú)立的+5V直流電供電,從主機(jī)載板引入。為防止電源抖動(dòng),提高轉(zhuǎn)換效率,減少功耗,電壓轉(zhuǎn)換使用四路4A的寬電壓輸入開(kāi)關(guān)型芯片來(lái)實(shí)現(xiàn)以上的電源變換。
根據(jù)對(duì)各檔電源工作電流的估算,在DC-DC電源芯片的輸出端進(jìn)行了最大電流的分配。3.3V電源通過(guò)1路VOUT實(shí)現(xiàn)最大4A的輸出電流;1.0V是FPGA的內(nèi)核供電,通過(guò)2路VOUT并聯(lián)實(shí)現(xiàn)最大8A的輸出電流;FPGA_1.8V通過(guò)1路VOUT實(shí)現(xiàn)最大4A的輸出電流。為了滿足上電順序要求,利用DC-DC芯片的電源輸出狀態(tài)指示管腳PGOODX、輸入端的電源變換啟動(dòng)控制管腳RUNX來(lái)實(shí)現(xiàn)上電順序的控制,最終的上電順序?yàn)?.0V,1.8V,3.3V。
1.1.2時(shí)鐘電路
總線通信模塊中需要用到時(shí)鐘的電路包括FPGA電路和物理層電路。其中,F(xiàn)PGA電路使用的時(shí)鐘為50MHz,包括FPGA的邏輯加載時(shí)鐘50MHz,以及FPGA的系統(tǒng)工作時(shí)鐘50MHz。晶振選用的是基準(zhǔn)頻率為50M的國(guó)產(chǎn)晶振,該型號(hào)晶振體積小,可靠性高,抗振動(dòng)能力強(qiáng)。時(shí)鐘電源部分采用濾波電路設(shè)計(jì),減少外界環(huán)境對(duì)時(shí)鐘信號(hào)的干擾。
1.1.3配置電路
配置電路由兩片F(xiàn)LASH芯片組成,它的作用主要是存儲(chǔ)BCM模塊的FPGA邏輯代碼以及BCM模塊的配置表內(nèi)容。在模塊上電后將存儲(chǔ)的數(shù)據(jù)加載到FPGA芯片中。總線通信模塊使用的是國(guó)產(chǎn)的非易失性串行Nor Flash存儲(chǔ)器,容量為128M。該芯片支持SPI接口,它可以選擇1線、2線以及4線傳輸模式,為提高傳輸速度,本設(shè)計(jì)中選擇4線傳輸模式。
1.1.4復(fù)位電路
BCM模塊的復(fù)位包括上電復(fù)位和主機(jī)復(fù)位兩種方式,上電復(fù)位通過(guò)專(zhuān)用的復(fù)位芯片來(lái)實(shí)現(xiàn)。當(dāng)系統(tǒng)上電后,F(xiàn)PGA將Flash芯片內(nèi)的程序自動(dòng)加載到FPGA中,當(dāng)程序完成加載后,F(xiàn)PGA的DONE引腳會(huì)產(chǎn)生一個(gè)高電平信號(hào)表明加載已經(jīng)完成。將DONE信號(hào)作為復(fù)位芯片的輸入,在輸入信號(hào)電平由低變高后,復(fù)位芯片會(huì)輸出一個(gè)低電平信號(hào),通過(guò)該信號(hào)來(lái)對(duì)系統(tǒng)進(jìn)行復(fù)位。
另一種復(fù)位方式是主機(jī)端復(fù)位,總線通信模塊在主機(jī)側(cè)留有一個(gè)復(fù)位信號(hào)接口,主機(jī)輸入復(fù)位信號(hào)可對(duì)FPGA內(nèi)的邏輯進(jìn)行復(fù)位,但是無(wú)法對(duì)物理層和鏈路層芯片復(fù)位,以免影響系統(tǒng)總線的正常工作。
1.1.5主機(jī)接口電路
主機(jī)接口兼容標(biāo)準(zhǔn)的PCIe接口和異步總線接口兩種接口,用戶可以根據(jù)需求選擇其中任意一種。國(guó)產(chǎn)的FPGA中集成了PCIe電路,只需調(diào)用PCIe硬核就可以方便的實(shí)現(xiàn)PCIe接口通信;異步接口電路包括16條地址線,19條數(shù)據(jù)線和條控制線,主機(jī)可通過(guò)這些總線對(duì)FPGA中的各個(gè)存儲(chǔ)區(qū)進(jìn)行訪問(wèn)并進(jìn)行寄存器配置,主機(jī)通過(guò)VPX連接器訪問(wèn)基板板卡資源并與板卡進(jìn)行數(shù)據(jù)交互。
1.1.6 FPGA電路
FPGA實(shí)現(xiàn)的功能是實(shí)現(xiàn)SAE AS5643協(xié)議以及PCIe通信。傳統(tǒng)的1394總線起源于消費(fèi)電子領(lǐng)域,系統(tǒng)的魯棒性和確定性較差,SAE AS5643協(xié)議為了適應(yīng)1394總線應(yīng)用在航空領(lǐng)域建立了新的航空總線標(biāo)準(zhǔn)。它在1394B總線的基礎(chǔ)上對(duì)協(xié)議做了改進(jìn),提高了總線的可靠性和確定性。同時(shí)由于FPGA可并行處理且具有較高的時(shí)間精度,因此選擇使用FPGA來(lái)進(jìn)行AS5643協(xié)議解析,提高了系統(tǒng)的運(yùn)行效率。PCIe通信功能則通過(guò)FPGA的硬核來(lái)實(shí)現(xiàn)。
1.1.7鏈路層和物理層電路
鏈路層實(shí)現(xiàn)的是數(shù)據(jù)包的收發(fā)以及校驗(yàn)等功能,它通過(guò)專(zhuān)用的芯片來(lái)實(shí)現(xiàn)。本設(shè)計(jì)中,鏈路層芯片一端通過(guò)地址線、數(shù)據(jù)線以及控制線與FPGA連接,另一端與物理層芯片連接,將鏈路層信號(hào)轉(zhuǎn)化為鏈路層與物理層的接口信號(hào)。
物理層電路主要完成的是將接收到的鏈路層數(shù)據(jù)轉(zhuǎn)化為協(xié)議規(guī)定的物理信號(hào),并提供總線仲裁和數(shù)據(jù)轉(zhuǎn)發(fā)等功能。物理層功能通過(guò)專(zhuān)用的芯片實(shí)現(xiàn),物理層芯片共提供三個(gè)端口,在每個(gè)端口處均設(shè)計(jì)了濾波電路,以此保證信號(hào)質(zhì)量,實(shí)現(xiàn)阻抗匹配。在1394B物理層芯片端口和模塊連接器之間選用1394B專(zhuān)用的變壓器實(shí)現(xiàn)隔離耦合,保證總線的信號(hào)品質(zhì),增強(qiáng)傳輸距離。
1.2軟件設(shè)計(jì)
1394總線通信軟件是提供給飛機(jī)機(jī)電設(shè)備主機(jī)使用的總線通信模塊的驅(qū)動(dòng)軟件。該軟件作為子系統(tǒng)主機(jī)軟件的一個(gè)組成部分,固化在子系統(tǒng)主機(jī)的Flash中,運(yùn)行于子系統(tǒng)主機(jī)的處理器上。
各飛機(jī)管理總線上各個(gè)RN節(jié)點(diǎn)的應(yīng)用軟件均都能夠通過(guò)該軟件所提供的一組滿足標(biāo)準(zhǔn)API接口,控制機(jī)電1394節(jié)點(diǎn)完成數(shù)據(jù)收發(fā)和狀態(tài)監(jiān)控功能。軟件結(jié)構(gòu)如圖2所示,包括系統(tǒng)控制模塊、系統(tǒng)配置模塊、消息控制模塊和通用控制模塊四部分。
二、測(cè)試驗(yàn)證
測(cè)試使用1394接口仿真卡進(jìn)行驗(yàn)證,1394接口仿真卡可以模擬CC或RN進(jìn)行仿真測(cè)試。在該試驗(yàn)環(huán)境中仿真卡作為CC向總線通信模塊發(fā)送STOF包和異步流包,同時(shí)可以對(duì)總線通信模塊發(fā)送的數(shù)據(jù)進(jìn)行監(jiān)控。測(cè)試環(huán)境組成如圖3所示:
直流電源提供+5V電壓,用于總線通信模塊和CPU正常工作。
CPU和總線通信模塊通過(guò)異步總線或者PCIe總線連接,總線通信模塊通過(guò)專(zhuān)用的辮接線纜連接到1394仿真卡上,在該環(huán)境下可以完成對(duì)總線通信模塊的測(cè)試。
在該環(huán)境下主要進(jìn)行1394B信號(hào)端口測(cè)試、PHY寄存器讀寫(xiě)測(cè)試、LLC寄存器讀寫(xiě)測(cè)試、通信測(cè)試、功耗測(cè)試等。測(cè)試結(jié)果如表1所示,總線通信模塊的功能和性能均滿足要求。
三、結(jié)束語(yǔ)
本文基于國(guó)產(chǎn)化芯片設(shè)計(jì)的總線通信模塊,支持雙路1394B工作,具有成本低、可靠性高、主機(jī)占用率低等特點(diǎn),已成功應(yīng)用于某型飛機(jī)機(jī)電管理系統(tǒng)中,具有良好的實(shí)用價(jià)值。
參 ?考 ?文 ?獻(xiàn)
[1]馮源,史巖,徐文杰,等.基于PCI Express的雙路IEEE 1394b接口卡的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2015,38(12):33-38.
[2]范祥輝,閆海明,史巖,吳嬌.基于PCIe總線的雙路1394B接口模塊設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2016,24(8):165-167.
[3]王宣明,田澤,魏艷艷,牛少平,徐文進(jìn).SAE ?AS5643協(xié)議分析及設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2015,25(7):213?220.
[4]張大樸,王曉,張大為,等.IEEE 1394協(xié)議及接口設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.