新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

MIL—STD—1553B(以下簡(jiǎn)稱(chēng)1553B)總線(xiàn)標(biāo)準(zhǔn)是美國(guó)于20世紀(jì)70年代提出的飛機(jī)內(nèi)部電子系統(tǒng)聯(lián)網(wǎng)標(biāo)準(zhǔn),由于具有可靠性高、實(shí)時(shí)性好、使用靈活等優(yōu)點(diǎn),廣泛應(yīng)用在軍用有人和無(wú)人機(jī)中。我國(guó)于1987年建立了與1553B相應(yīng)的國(guó)家軍用標(biāo)準(zhǔn)《數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線(xiàn)》(GJB 289-1987),并于1997年對(duì)原標(biāo)準(zhǔn)進(jìn)行擴(kuò)充和修訂(GJB 289A-1997),一直沿用至今。

本文引用地址:http://butianyuan.cn/article/201610/308371.htm

總線(xiàn)是一款新型時(shí)間總線(xiàn),具有高速率,時(shí)間確定性,信道容錯(cuò)冗余功能,完全滿(mǎn)足新型分布式結(jié)構(gòu)飛行計(jì)算機(jī)內(nèi)部總線(xiàn)數(shù)據(jù)通信需求。根據(jù)分布式結(jié)構(gòu)飛行計(jì)算機(jī)對(duì)1553B通信接口的需求,本文設(shè)計(jì)了基于總線(xiàn)的飛行計(jì)算機(jī)1553B接口單元。

1 分布式飛行仿真計(jì)算機(jī)簡(jiǎn)介

典型的基于總線(xiàn)的分布式飛行仿真計(jì)算機(jī)由中央處理單元、串口量單元、模擬量單元、開(kāi)關(guān)量單元及1553B接口單元組成。其中CPU單元是分布式飛行仿真計(jì)算機(jī)的核心主控單元,其功能主要通過(guò)CAN總線(xiàn)接收其余四個(gè)功能模塊的上行數(shù)據(jù),經(jīng)控制律解算及邏輯管理后,將數(shù)據(jù)下行傳輸給各功能板。其結(jié)構(gòu)圖如圖1所示,本文設(shè)計(jì)研究一種基于FlexRay新型總線(xiàn)的1553B接口單元。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

2 1553B節(jié)點(diǎn)硬件電路設(shè)計(jì)

基于FlexRay總線(xiàn)的飛行仿真計(jì)算機(jī)1553B接口單元以作為主控制芯片,采用Altera公司Cvclone III系列的EP3C25Q240芯片。選擇該芯片的原因是由于硬件連接靈活,編寫(xiě)程序簡(jiǎn)單,且該芯片IO口資源豐富。

圖2為基于FlexRay的飛行仿真機(jī)1553B節(jié)點(diǎn)硬件總體設(shè)計(jì)。如圖2所示,本設(shè)計(jì)采用S3作為1553B主控芯片。集成了雙通道1553B信號(hào)的收/發(fā)器,內(nèi)部有4K字的RAM用于1553B消息存儲(chǔ),簡(jiǎn)化了用戶(hù)程序設(shè)計(jì)。采用B3226作為1553B總線(xiàn)變壓器,B3226主要功能是將1553B總線(xiàn)電平標(biāo)準(zhǔn)轉(zhuǎn)換為T(mén)TL電平。而由于的IO接口為5 V電平接口,而EP3CQ240的IO電平為3.3 V,故在FPGA與BU-61580之間需要通過(guò)一個(gè)電平轉(zhuǎn)換模塊進(jìn)行電平匹配。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

FlexRay節(jié)點(diǎn)有3種架構(gòu)方式,分別為微處理器(MCU)+通訊控制器(CC)+總線(xiàn)驅(qū)動(dòng)器(BD),微處理器+總線(xiàn)驅(qū)動(dòng)器,微處理器3種。其中前兩種架構(gòu)已經(jīng)實(shí)現(xiàn),本設(shè)計(jì)采用微處

理器+通信控制器+總線(xiàn)收發(fā)器的架構(gòu)模式,其中通信控制器采用MFR4310,它是飛思卡爾半導(dǎo)體公司推出的一款面向汽車(chē)的FlexRay設(shè)備,它的物理層通道有兩個(gè)獨(dú)立的發(fā)送/接收通道,每個(gè)通道的傳輸速率可達(dá)10Mbit/s。通信控制器兩路通道的總線(xiàn)控制器采用TJA1080,TJA1080是恩智浦半導(dǎo)體公司推出的FlexRay收發(fā)器,它提供了1Mbit/s到10Mbit /s的傳輸率,可以配置成主動(dòng)星型或者節(jié)點(diǎn)收發(fā)器。

為了保證系統(tǒng)正確無(wú)誤運(yùn)行及調(diào)試方便考慮,本設(shè)計(jì)還增加了供電系統(tǒng)、時(shí)鐘系統(tǒng)、調(diào)試及測(cè)試接口、外部存儲(chǔ)器系統(tǒng)、復(fù)位及復(fù)位配置系統(tǒng)、RS232總線(xiàn)電路6個(gè)模塊作為輔助功能。

2.1 1553B接口設(shè)計(jì)

2.1. 1 BU-61580與FPGA接口設(shè)計(jì)

BU-61580芯片為DDC公司使用最為廣泛的控制芯片,擁有多種操作模式,如透明模式、緩沖模式,本設(shè)計(jì)采用緩沖模式。如圖3所示,通過(guò)將BU-61580的16/8引腳連接至VCC,TRANSPARENT/BUFFERED、ZEROWAIT引腳連接至GND,將BU-61580的工作模式設(shè)置為16位零等待緩沖模式,具體管腳配置見(jiàn)表1。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

由于BU-61580的輸入高電平閾值為2 V,輸出高電平為5 V,而FPGA的工作電平為3.3 V,故FPGA的輸出電平可用于驅(qū)動(dòng)BU-61580,但BU-61580輸出信號(hào)至FPGA過(guò)程中需要外加電平轉(zhuǎn)換芯片。本設(shè)計(jì)采用的是SN74ALVC164245作為電平轉(zhuǎn)換芯片,該芯片擁有十六位電平轉(zhuǎn)換長(zhǎng)度。

BU-61580的時(shí)鐘采用外部有源晶振,CLOCK引腳接16M有源晶振,根據(jù)GJB 289A-97要求,晶振的長(zhǎng)期穩(wěn)定性為0.1%,短期穩(wěn)定性為0.01%。

2.1. 2 BU-61580與收發(fā)器接口設(shè)計(jì)

本設(shè)計(jì)采用的隔離變壓器芯片為B-3226,該芯片每個(gè)通道通信可以達(dá)到1 Mbit/s,可以提供很好的通信帶寬,具有強(qiáng)大的容錯(cuò)傳輸功能。耦合變壓器與BU-61580硬件連接如圖4所示,BU-61580內(nèi)部擁有兩路1553B收發(fā)器分別與隔離變壓器B-3226相連,B-3226將1553B電平邏輯轉(zhuǎn)換為T(mén)TL邏輯電平,進(jìn)而將處理后的信號(hào)送入BU-61580內(nèi)部的收發(fā)器中,實(shí)現(xiàn)一次1553B接收通信。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

2.2 FlexRay接口設(shè)計(jì)

本設(shè)計(jì)中,選擇MFR4310作為FlexRay總線(xiàn)主控芯片,該芯片具有兩條通信通道,每條通道速率可配置為:2.5,5,8,10Mbit/s;TJA1080作為獨(dú)立的FlexRay收發(fā)器,具有低電磁輻射特性。外界傳感器數(shù)據(jù)通過(guò)1553B總線(xiàn)傳輸至本板卡后,經(jīng)FPGA預(yù)處理后通過(guò)FlexRay總線(xiàn)發(fā)送至CPU單元中,從而實(shí)現(xiàn)一次CPU讀取外部傳感器信息。

2.2.1 通信控制器與處理器接口設(shè)計(jì)

MFR4310與處理器擁有3種連接模式,分別為:異步存儲(chǔ)器接口(AMI)、MPC接口、HCS12接口。硬件設(shè)計(jì)通過(guò)配置IF_SEL0和IF_SEL1兩個(gè)引腳來(lái)選擇哪種接口模式。按照飛思卡爾官方推薦連接電路,MPC接口主要為MFR4310與PowerPC處理所設(shè)計(jì)的接口,而HCS12接口主要為MFR4310與HCS12系列處理器所設(shè)計(jì)的接口,由于本設(shè)計(jì)采用的處理器為FPGA,故采用異步存儲(chǔ)器接口。具體硬件連接圖如圖5所示,AMI接口將通信控制器配置為異步存儲(chǔ)器從設(shè)備,進(jìn)而能夠與多種處理器進(jìn)行數(shù)據(jù)交互,在AMI接口模式下,處理器通過(guò)控制CE#、0E#、WE#等信號(hào)實(shí)現(xiàn)與MFR4310數(shù)據(jù)交換。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

圖5為通信控制器引腳配置連接圖,如圖5所示,由于本設(shè)計(jì)采用AMI模式,需要設(shè)置IF_SEL[0:1]為{2’h10},該值可通過(guò)將IF_SEL0引腳下拉、IF_SEL1引腳上拉來(lái)實(shí)現(xiàn)。

2.2.2 通信控制器與收發(fā)器接口設(shè)計(jì)

通信控制器與收發(fā)器硬件連接圖如圖6所示,F(xiàn)lexRay模塊內(nèi)部主要由由控制主機(jī)接口(CHI)與協(xié)議引擎(PE)等部分組成,主機(jī)可通過(guò)CHI模塊訪問(wèn)FlexRay功能模塊的配置、控制和狀態(tài)信息機(jī)消息緩沖區(qū)的配置、控制和狀態(tài)信息。這些消息緩沖區(qū)位于FlexRay模塊內(nèi)存(FRM)中,用于存儲(chǔ)發(fā)送和接收的幀頭、有效負(fù)載數(shù)據(jù)、時(shí)序消息等。而PE模塊有TxA和TxB兩個(gè)發(fā)送單元及RxA、RxB兩個(gè)接收單元,分別用于兩個(gè)FlexRay通道發(fā)送和接收幀信息。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

通信控制器通過(guò)信號(hào)引腳TxD、RXD、TXEN與總線(xiàn)收發(fā)器進(jìn)行連接,正常高速通信模式下,當(dāng)MFR4310通訊控制器的TJXEN [1:2]#引腳為高電平時(shí),TJA1080的發(fā)送使能引腳TXEN有效,這時(shí)TJA1080的TXD輸入引腳把從通訊控制器TXD_BG[1:2]引腳輸入的數(shù)字位流,轉(zhuǎn)換成相應(yīng)的模擬總線(xiàn)信號(hào)再輸出到FlexRay總線(xiàn)上;同時(shí),TJA1080將FlexRay總線(xiàn)上的模擬總線(xiàn)信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字位流,從TJA1080的RXD引腳輸送到通訊控制器MFR310的RXD_BG2引腳上,完成總線(xiàn)與MFR4310通信控制器的數(shù)據(jù)通信。

3 軟件驅(qū)動(dòng)程序設(shè)計(jì)

3.1 1553B總線(xiàn)軟件驅(qū)動(dòng)設(shè)計(jì)

本設(shè)備1553B協(xié)議芯片工作于BC模式下,而其他傳感器模塊工作于RT模式,即:本設(shè)備工作于主模式,傳感器設(shè)備工作于從模式。當(dāng)本設(shè)備需要傳感器信息時(shí),發(fā)送數(shù)據(jù)請(qǐng)求幀,傳感器模式將相應(yīng)數(shù)據(jù)發(fā)送至本設(shè)備。本設(shè)備要求接受的傳感器信息頻率如表2所示。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

從上表可看出,各個(gè)傳感器的頻率并非完全一致。而B(niǎo)U-61580可以通過(guò)使用大小周期來(lái)支持多種頻率的數(shù)據(jù)傳輸,在自動(dòng)發(fā)送模式下,可以通過(guò)設(shè)置小周期為100 Hz、大周期為50 Hz,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)幀按要求的速率進(jìn)行傳輸。

BU-61580的程序初始化流程如下所示:

1)將該模塊設(shè)置為增強(qiáng)型BC模式,設(shè)置中斷屏蔽寄存器,初始化配置寄存器、時(shí)間標(biāo)簽寄存器;

2)初始化內(nèi)存空間,為3個(gè)傳感器分配內(nèi)存初始地址及內(nèi)存空間;

3)配置復(fù)位寄存器,啟動(dòng)BC。

3.2 FlexRay總線(xiàn)軟件驅(qū)動(dòng)設(shè)計(jì)

本設(shè)備接收外部傳感器信息,通過(guò)內(nèi)部總線(xiàn)FlexRay發(fā)送至CPU板卡中,進(jìn)而實(shí)現(xiàn)一次總線(xiàn)收發(fā)。FlexRay總線(xiàn)收發(fā)主要由總線(xiàn)控制器實(shí)現(xiàn)的,F(xiàn)lexRay總線(xiàn)控制器具體的通信流程如下。

總線(xiàn)控制器MFR4310的信息緩沖器(Message Buffer,簡(jiǎn)稱(chēng)MB)是用來(lái)存儲(chǔ)幀數(shù)據(jù)、配置、控制、狀態(tài)數(shù)據(jù)的結(jié)構(gòu)。當(dāng)總線(xiàn)通信時(shí),MB是暫時(shí)存儲(chǔ)數(shù)據(jù)的物理介質(zhì),當(dāng)數(shù)據(jù)發(fā)送時(shí),應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)于MB中,當(dāng)周期輪轉(zhuǎn)至發(fā)送時(shí)槽時(shí),硬件節(jié)點(diǎn)將數(shù)據(jù)從MB中取出發(fā)送至另一接收節(jié)點(diǎn)的相應(yīng)MB中,實(shí)現(xiàn)一次數(shù)據(jù)通信。

MB在使用前,必須經(jīng)過(guò)初始化。FlexRay網(wǎng)絡(luò)節(jié)點(diǎn)的初始化包括初始化節(jié)點(diǎn)自身和初始化網(wǎng)絡(luò)。初始化自身由3步組成:

1)初始化FlexRay模塊。完成FlexRay模塊基地址存儲(chǔ)映射,重啟FlexRay通信控制器,進(jìn)入配置狀態(tài)(POC:config),由函數(shù)Fr_module_init()完成;

2)FlexRay協(xié)議初始化。該步定義相關(guān)數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)網(wǎng)絡(luò)配置和節(jié)點(diǎn)通信任務(wù)分配,由函數(shù)Fr_poc_configuration()完成;

3)消息緩沖器初始化。初始化FlexRay通信控制器消息緩沖器與通信數(shù)據(jù)報(bào)文的對(duì)應(yīng)關(guān)系,由函數(shù)Fr_buffers_init()完成。節(jié)點(diǎn)初始化自身完成后就進(jìn)入通信就緒狀態(tài)(PO C:ready)。之后,進(jìn)入初始化網(wǎng)絡(luò)階段,這階段通過(guò)發(fā)送啟動(dòng)幀完成網(wǎng)絡(luò)啟動(dòng)。根據(jù)表2的配置,節(jié)點(diǎn)ECU1和ECU2分別在時(shí)槽1和時(shí)槽4發(fā)送啟動(dòng)信息幀,同時(shí)偵聽(tīng)網(wǎng)絡(luò)中的啟動(dòng)幀個(gè)數(shù),直到網(wǎng)絡(luò)中有足夠的啟動(dòng)幀啟動(dòng)網(wǎng)絡(luò),數(shù)據(jù)在正常主動(dòng)狀態(tài)下(POC:nomal active)完成節(jié)點(diǎn)間通信。詳細(xì)流程圖如圖7所示。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

4 總線(xiàn)網(wǎng)絡(luò)通信測(cè)試與結(jié)果分析

最后對(duì)所設(shè)計(jì)的基于FlexRay總線(xiàn)的1553B節(jié)點(diǎn)進(jìn)行測(cè)試,其測(cè)試平臺(tái)如圖8所示。通過(guò)NI測(cè)試設(shè)備對(duì)傳感器數(shù)據(jù)進(jìn)行模擬,進(jìn)而產(chǎn)生一組傳感器數(shù)據(jù),實(shí)現(xiàn)1553B總線(xiàn)通信。

系統(tǒng)上電后,CPU板卡及1553B板卡進(jìn)行寄存器配置,實(shí)現(xiàn)自身初始化,然后CPU板卡作為冷啟動(dòng)節(jié)點(diǎn)發(fā)送10個(gè)冷啟動(dòng)幀至FlexRay總線(xiàn)上,進(jìn)行總線(xiàn)組網(wǎng),1553B板卡接收到冷啟動(dòng)幀后,立即加入FlexRay總線(xiàn)集群中,至此,總線(xiàn)準(zhǔn)備完成。待總線(xiàn)準(zhǔn)備完成,節(jié)點(diǎn)間開(kāi)始通信,圖9為CPU節(jié)點(diǎn)與1553B節(jié)點(diǎn)間通信波形。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

如圖9所示,F(xiàn)lexRay通信周期為16 ms,靜態(tài)時(shí)隙長(zhǎng)度為50μs,將CPU板卡與1553B板卡進(jìn)行通信實(shí)驗(yàn)6小時(shí),實(shí)驗(yàn)結(jié)果如表3所示。

基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)
基于FlexRay的飛行仿真計(jì)算機(jī)1553B單元設(shè)計(jì)

通過(guò)實(shí)驗(yàn)結(jié)果可以得出,節(jié)點(diǎn)設(shè)計(jì)合理,本設(shè)備可準(zhǔn)確接收外界1553B傳感器信息,并進(jìn)行數(shù)據(jù)處理功能,可為新型分布式無(wú)人機(jī)飛行仿真計(jì)算機(jī)提供1553B通信接口。

5 結(jié)束語(yǔ)

1553B作為航空內(nèi)部電子系統(tǒng)聯(lián)網(wǎng)標(biāo)準(zhǔn),可設(shè)計(jì)為飛行仿真計(jì)算機(jī)的外部總線(xiàn),而FlexRay為新型總線(xiàn),具有速率快,多冗余等特點(diǎn),可設(shè)計(jì)為飛行仿真計(jì)算機(jī)外部總線(xiàn)。這兩種總線(xiàn)各展所長(zhǎng),為飛行仿真計(jì)算機(jī)提供了快速、穩(wěn)定的數(shù)據(jù)傳輸鏈路。本文設(shè)計(jì)了基于FPGA的1553B總線(xiàn)節(jié)點(diǎn),通過(guò)與NI設(shè)備進(jìn)行數(shù)據(jù)通信,結(jié)果正確,能夠滿(mǎn)足飛行仿真計(jì)

算機(jī)數(shù)據(jù)鏈路要求,為以后先進(jìn)飛行仿真計(jì)算機(jī)新型總線(xiàn)FlexRay與1553B總線(xiàn)的應(yīng)用打下了基礎(chǔ)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉