999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA和HI6110的多通道1553B MT設(shè)計及實(shí)現(xiàn)

2016-09-09 02:51:15唐建鄧涵
電子設(shè)計工程 2016年16期
關(guān)鍵詞:信號

唐建,鄧涵

(1.中國兵器工業(yè)第58研究所 四川 綿陽621000;2.西南科技大學(xué) 四川 綿陽621000)

計算機(jī)技術(shù)與應(yīng)用

基于FPGA和HI6110的多通道1553B MT設(shè)計及實(shí)現(xiàn)

唐建1,鄧涵2

(1.中國兵器工業(yè)第58研究所 四川 綿陽621000;2.西南科技大學(xué) 四川 綿陽621000)

針對傳統(tǒng)MIL-STD-1553B總線體積大、成本高的缺點(diǎn),提出了一種基于FPGA和HI6110的多通道1553B MT設(shè)計方案。該方案將數(shù)據(jù)打包緩存在SDRAM中,外部設(shè)備通過PCI總線讀取SDRAM中的總線監(jiān)視數(shù)據(jù),并通過PCI接口對模塊進(jìn)行配置,實(shí)現(xiàn)監(jiān)視的啟動、停止、RT地址設(shè)置等。文中首先介紹了HI6110芯片功能特點(diǎn),然后詳細(xì)描述了總線譯碼與轉(zhuǎn)換、HI6110接口邏輯與訪問仲裁、HI6110狀態(tài)監(jiān)控與總線切換、信息幀獲取與緩存、內(nèi)部功能寄存器等FPGA內(nèi)部功能模塊及實(shí)現(xiàn)方法。應(yīng)用結(jié)果表明:該方案具有低成本、集成高、方便擴(kuò)展等優(yōu)點(diǎn)。

1553B;HI6110;FPGA;總線監(jiān)控器

MIL-STD-1553B總線已廣泛應(yīng)用于航空航天等領(lǐng)域中,實(shí)現(xiàn)火力控制、雷達(dá)、導(dǎo)航等設(shè)備之間高可靠的互聯(lián)通信[1]。1553B總線有BC、RT、MT 3種功能節(jié)點(diǎn)。MT(Monitor Terminal,總線監(jiān)控節(jié)點(diǎn))可以對總線上所有的通訊行為及數(shù)據(jù)進(jìn)行監(jiān)視,可有效地獲得總線的工作狀態(tài),以保證總線可靠運(yùn)行,是總線搭建中必不可少的功能節(jié)點(diǎn)。在通常的設(shè)計方案中,MT節(jié)點(diǎn)一般都是由BU-61580模塊實(shí)現(xiàn)[2-3],無論是DDC還是國產(chǎn)兼容產(chǎn)品(XX-61580),該類模塊體積大、成本較高的缺點(diǎn)。

圖1 3通道1553B總線MT模塊

1 總線MT模塊介紹

MT模塊將消息幀加上時間戳、總線通道標(biāo)識等數(shù)據(jù)打包緩存在SDRAM中。外部設(shè)備通過PCI總線讀取SDRAM中的總線監(jiān)視數(shù)據(jù),并通過PCI接口實(shí)現(xiàn)監(jiān)視的啟動、停止、RT地址設(shè)置等模塊配置。MT模塊功能框圖如圖1所示。

HI6110完成1553B總線信號的解碼、協(xié)議解析,將正確的消息幀緩存在芯片內(nèi)部,并通知FPGA。FPGA根據(jù)HI6110發(fā)送的信號,進(jìn)行BUS A/B切換、幀緩沖讀取等操作,將消息幀、當(dāng)前HI6110芯片的寄存器狀態(tài)信息、時間戳等存儲在內(nèi)部RAM緩沖隊(duì)列中,并通知處理器PPC405EP。PPC405EP讀取RAM中的數(shù)據(jù)包隊(duì)列,并解析數(shù)據(jù)包中的寄存器值,對消息幀進(jìn)行分類、標(biāo)記、錯誤指示等處理,最后將消息幀存儲到容量更大的SDRAM中,等待PCI總線上的Master設(shè)備讀取。

2 HI6110芯片特點(diǎn)

HI6110芯片是HOLT公司生產(chǎn)的一款MIL-STD-1553B協(xié)議芯片芯片。采用CMOS工藝,單3.3 V供電,典型功耗僅為1 W[4]。其基本功能為:

1)可配置為BC/RT/MT模式。

2)芯片內(nèi)部集成消息緩沖器(32字);

3)雙通道差分收發(fā)器,具備曼徹斯特編解碼及變壓器驅(qū)動功能;

4)兼容MIL-STD-1553B Notice 2和MIL-STD-1760標(biāo)準(zhǔn)。

5)有軍檔產(chǎn)品,工作溫度為-55~+125℃。

與BU-61580模塊相比,該芯片具有體積小、功耗低、價格便宜等的優(yōu)點(diǎn)。但芯片唯一不足是芯片內(nèi)部僅有1個消息幀緩沖器[5]。為保證信息處理的及時性,需要在HI6110外接一顆專用的處理器對芯片輸出的信號及時響應(yīng),當(dāng)芯片配置為MT模式且總線活動頻繁時,芯片內(nèi)部的消息緩沖如果不能及時處理,就會造成監(jiān)控信息的丟失。本方案使用FPGA代替專用處理器,及時讀取消息幀并緩存在FPGA內(nèi)部RAM中,有效地避免了HI6110幀緩沖的溢出。

3 FPGA功能設(shè)計

FPGA采用 Xilinx公司的 Spartan3芯片 XC3S400-5FT256I[6],采用3.3 V和1.8 V電源供電,BGA256封裝,外形尺寸為17×17 mm。

為了保證每片HI6110能被及時響應(yīng),將每一片HI6110 與FPGA單獨(dú)連接,這樣還可以減少總線復(fù)用邏輯,也能保證內(nèi)部功能邏輯的相對獨(dú)立性。FPGA內(nèi)部邏輯按照模塊化設(shè)計,采用VHDL/Verilog描述語言,整個設(shè)計采用自頂而下的設(shè)計方法,使用ISE+ModelSim軟件進(jìn)行設(shè)計與仿真[7-10]。其邏輯功能框圖如圖2所示。

圖2 FPGA邏輯功能框圖

3.1總線譯碼與轉(zhuǎn)換

PPC405處理器帶有并行局部總線LocalBus,該部分邏輯對LocalBus總線的地址進(jìn)行譯碼分配,為每個通道分配一定的尋址空間,并且又把每個通道訪問空間分為3個區(qū)域,對應(yīng)著內(nèi)部的3條總線,分別是對內(nèi)部雙口RAM緩存的訪問總線HDM,對內(nèi)部功能寄存器的訪問總線HFM,以及對HI6110寄存器的訪問總線HB。

另外,為了便于FPGA內(nèi)部控制及訪問仲裁,將處理器的LocalBus總線[11]進(jìn)行了轉(zhuǎn)換,將讀寫數(shù)據(jù)分離,并將總線實(shí)現(xiàn)為請求/應(yīng)答模式。內(nèi)部總線僅有 ADDR,RDATA,WDATA,BUSREQ,ACK,RW信號。

3.2HI6110接口邏輯與訪問仲裁

HI6110芯片的主機(jī)接口為16位并行總線接口,使用CSn, RnW,STRn,RA[2:0]和D[15:0]信號來實(shí)現(xiàn)外部對HI6110功能寄存器的訪問。與內(nèi)部總RnW,STRn,RA[2:0]和D[15:0]信號來實(shí)現(xiàn)外部對HI6110功能寄存器的訪問。與內(nèi)部總線信號并不完全一致,而且總線讀寫訪問的時序也有較大差異,需要進(jìn)行接口訪問邏輯的轉(zhuǎn)換。

圖3 總線譯碼轉(zhuǎn)換時序圖

圖4 HI6110接口邏輯及仲裁訪問時序圖

另外,當(dāng)HI6110監(jiān)視到有效的消息幀時,F(xiàn)PGA邏輯中的幀獲取與緩存模塊需要占用HI6110的總線接口,對寄存器進(jìn)行訪問。因此需要將PPC處理器的訪問與幀獲取模塊的訪問進(jìn)行仲裁。仲裁原則為:當(dāng)訪問BUSREQ同時發(fā)起時,PPC處理器訪問具有優(yōu)先僅,此時幀獲取模塊的總線請求會被掛起,直到PPC處理器的訪問完成后才能被處理響應(yīng)。

3.3HI6110狀態(tài)監(jiān)控與總線切換

依照HI6110芯片的工作特點(diǎn),當(dāng)1553B總線上出現(xiàn)了有效的幀信號時,芯片會通過有效信號RCVA/B或RCVCMDA/B來表示是AB通道中哪個通道中有信息幀,并指出該幀信號為數(shù)據(jù)幀還是命令幀。此時,主機(jī)應(yīng)根據(jù)RCV 和RCVCMD信號的狀態(tài),對HI6110的控制寄存器操作,寫入正確的控制字,配置好工作通道,才能保證總線上的信號被正確的獲取并解碼。本設(shè)計中,主機(jī)的角色由FPGA來充當(dāng),內(nèi)部采用狀態(tài)機(jī)來實(shí)現(xiàn)。其工作狀態(tài)圖如圖5所示。

圖5 總線監(jiān)視與A/B冗余切換邏輯狀態(tài)圖

當(dāng)FPGA監(jiān)控到RCV或者RCVCMD信號發(fā)生了變化,狀態(tài)機(jī)由IDLE狀態(tài)遷移到RCV后再轉(zhuǎn)變?yōu)镽EAD狀態(tài),發(fā)起對HI6110的讀操作,將控制寄存器值讀出,若當(dāng)前收到的是命令幀,那么還需要遷移到WAIT_RCV狀態(tài)中等待控制器發(fā)出有效的RCV信號,然后將讀回的控制寄存器值的總線選擇位置為正確的值,發(fā)起對HI6110控制寄存器的寫操作,從而完成AB總線的切換工作。接下來,狀態(tài)機(jī)判斷FFEMPTY信號,該信號表示HI6110內(nèi)部的幀緩存是否有數(shù)據(jù)。若不為空,則進(jìn)入RFIFO狀態(tài)將緩存中的數(shù)據(jù)一一讀出,直到緩存被讀空 (FFEMPTY=1)為止,然后狀態(tài)機(jī)轉(zhuǎn)變?yōu)镽EGCAP狀態(tài),等待done=1并回到IDLE狀態(tài),done信號為1表示當(dāng)前總線活動中所有HI6110寄存器的值已經(jīng)全部被讀取并保存完畢。

3.4信息幀獲取與緩存

在FPGA內(nèi)部使用BRAM塊實(shí)現(xiàn)了一個512x16bit的雙口RAM[12],用于完成信息幀的緩存以及PPC主機(jī)與內(nèi)部幀獲取模塊之間的數(shù)據(jù)交換。為了防止雙口RAM數(shù)據(jù)訪問的沖突,避免數(shù)據(jù)出錯,將整個RAM分為8個數(shù)據(jù)塊,形成一個環(huán)形的緩沖區(qū),循環(huán)寫入。每個塊共64字,其數(shù)據(jù)格式定義如表1所示:

幀獲取模塊在監(jiān)測到總線上的每一次總線活動后,將當(dāng)前時間、當(dāng)前HI6110寄存器的值以及數(shù)據(jù)FIFO中的數(shù)據(jù)按上述格式寫入到數(shù)據(jù)塊中,然后將FLAG標(biāo)識置為0x55AA,表示一個信息已準(zhǔn)備好,PPC處理器通過HDM總線把數(shù)據(jù)塊讀取后,將FLAG標(biāo)識置為0x0000,表示該數(shù)據(jù)塊可被再次寫入。內(nèi)部邏輯仍采用有限狀態(tài)機(jī)來實(shí)現(xiàn),狀態(tài)圖如圖如示。

表1 環(huán)形緩存存儲塊數(shù)據(jù)定義與分配

圖6 幀獲取模塊功能狀態(tài)圖

如圖6所示,rcvint信號是工作在MT模式的HI6110芯片監(jiān)測到總線上有幀時產(chǎn)生的,同時該信號還將內(nèi)部的計數(shù)器值記錄下來做為時間戳。內(nèi)部邏輯在 rcvint=1后進(jìn)入CHK_FLG狀態(tài),檢查雙口RAM中是否有可用的空閑數(shù)據(jù)塊。若有的話首先將時間戳寫入,然后是寫入控制字CW,接下來是讀取HI6110的數(shù)據(jù)FIFO,當(dāng)FIFO中有數(shù)據(jù)時就讀出并寫入RAM中,直到當(dāng)valmess=1或者error=1時,才表示總線上信息幀已完成。接下來是讀取其它寄存器,包括狀態(tài)寄存器、錯誤寄存器、信息幀寄存器、子地址寄存器等。最后是寫入HI6110控制器的FIFO中數(shù)據(jù)個數(shù),然后將FLAG置為有效。這樣就完成了一個信息的處理。在對HI6110進(jìn)行寄存器的讀取時,有一點(diǎn)需要注意,讀取的地址順序最好是按照0x00,0x01,0x02,0x06進(jìn)行,模擬主機(jī)軟件的處理流程進(jìn)行,否則可能會造成讀取的寄存器不正確。

3.5內(nèi)部功能寄存器

該功能模塊實(shí)現(xiàn)了幾個功能寄存器,主要用于完成時間戳的初始化,讀取中斷狀態(tài)、復(fù)位HI6110以及對HI6110輸出的信號如RCV、VALMESS、ERROR等信號變化進(jìn)行統(tǒng)計計數(shù),配合PPC405上的軟件完成雙口RAM中數(shù)據(jù)的讀取,并進(jìn)行一定的比對和檢查。

3.6中斷產(chǎn)生及數(shù)據(jù)傳輸

FPGA邏輯產(chǎn)生了2類中斷,第1種是RCV中斷,也即是當(dāng)1553B總線上一旦有了數(shù)據(jù)幀時就產(chǎn)生中斷。第2種是VALMESS或ERROR中斷,這種中斷是在1553B總線上一幀數(shù)據(jù)傳送完畢后才產(chǎn)生。

圖7 VALMESS及ERROR信號產(chǎn)生示意圖

從圖7可以清楚的了解到這2種中斷的差異[3]。在實(shí)際應(yīng)用中,響應(yīng)RCV中斷來操作雙口RAM,以保證有空余的緩沖塊供內(nèi)部幀獲取邏輯使用。而使用VALMESS中斷來讀取最新的幀數(shù)據(jù)。

3.7資源占用

使用Xilinx 9.1進(jìn)行綜合、布局布線,各項(xiàng)設(shè)置為默認(rèn)值default。3通道實(shí)現(xiàn)占用資源如表2所示。

表2 FPGA資源占用情況

4 軟件工作流程

PPC405EP處理器運(yùn)行vxWorks 5.5多任務(wù)實(shí)時操作系統(tǒng)[13-15]。上電進(jìn)入操作系統(tǒng)后,首先進(jìn)行初始化工作,完成如下工作:

1)初始化HI6110,使其工作在MT模式下。

2)對FPGA初始化,對內(nèi)部雙口RAM進(jìn)行初始化;

3)根據(jù)系統(tǒng)時間,設(shè)置時間戳;

4)初始化處理器中斷控制器,掛接中斷服務(wù)函數(shù);

5)初始化PCI接口,完成PCI空間內(nèi)存映射等工作;

6)創(chuàng)建并啟動上位機(jī)命令處理任務(wù);主要實(shí)現(xiàn)對上位機(jī)命令的解析,完成對總線監(jiān)控的啟動、停止、狀態(tài)報告、時間同步等功能;

7)創(chuàng)建數(shù)據(jù)幀處理任務(wù);主要實(shí)現(xiàn)對從雙口RAM讀取數(shù)據(jù)幀,對數(shù)據(jù)幀進(jìn)行處理,打包,傳輸?shù)裙δ堋?/p>

初始化工作完成后,上位機(jī)會通過PCI總線與PPC405處理器交換信息,完成內(nèi)部計時器的初始化,然后啟動總線監(jiān)控。當(dāng)所監(jiān)控的總線有總線活動時,F(xiàn)PGA會自動完成信息幀的讀取并緩存在內(nèi)部雙口RAM中,然后向PPC處理器發(fā)起中斷。中斷服務(wù)程序響應(yīng)中斷,讀取雙口RAM中的數(shù)據(jù),經(jīng)過數(shù)據(jù)幀處理任務(wù)的再次處理,將數(shù)據(jù)包存放在處理器的SDRAM中,然后再通知上位機(jī),利用PCI總線的高速性能將多個通道的1553B監(jiān)控數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中。

5 結(jié) 論

文中實(shí)現(xiàn)了一個CPCI 3U的板卡,PPC405EP處理器運(yùn)行頻率為300 MHz,內(nèi)存容量128 MB,對3路1553B總線同時進(jìn)行了長時間的監(jiān)控,未出現(xiàn)掉幀,錯幀的現(xiàn)象。實(shí)踐證明,使用FPGA和HI6110芯片組建的1553B總線MT模塊,具有成本較低,體積小的特點(diǎn)。另外,利用FPGA內(nèi)部邏輯自動完成總線切換、數(shù)據(jù)緩存等功能,還極大地降低了對處理器性能的要求。

[1]MIL-STD-1553 Designer's Guide.sixth edition[DB/OL]. ILC Data Device Corporation(DDC).1998.http://www.ddcweb.com.

[2]鄧林,戎蒙恬.基于BU-61580的MIL-STD-1553B總線設(shè)計[J].信息技術(shù),2014(2):194-197.

[3]周遠(yuǎn)林,吳忠,丑武勝.基于BU-61580的1553B總線接口設(shè)計[J].計算機(jī)工程與應(yīng)用,2010,46(35):65-68.

[4]HI6110 MIL-STD-1553/MIL-STD-1760 BC/RT/MT Message Processor.Rev.S[DB/OL].HOLT Integrated Circuits Inc.2013. 09.http://www.holtic.com.

[5]陳偉,嚴(yán)發(fā)寶,張京,等.一種基于HI6110的1553B BM板卡設(shè)計方法[J].兵工自動化,2011,30(9):81-82.

[6]Spartan-3 FPGA Family Data Sheet.Xilinx[DB/OL].2013.7. http://www.xilinx.com.

[7]王誠,薛小剛,鐘信潮.FPGA/CPLD設(shè)計工具—Xilinx ISE 5.x使用詳解[M].北京:人民郵電出版社,2003.

[8]邊計年,薛寵熙.用VHDL設(shè)計電子線路[M].北京:清華大學(xué)出版社,2001.

[9]MiChael D.Ciletti,等.Verilog VHDL高級數(shù)字設(shè)計[M].張雅綺,李鏘等,譯.北京:電子工業(yè)出版社,2005.

[10]ModelSim SE User's Manual,v10.2[DB/OL].Mentor Graphics Corporation.2013.2.http://www.mentor.com.

[11]PPC405EP PowerPC 405EP Embedded Processor Data Sheet [DB/OL].AMCC.2007.9.http://www.apm.com.

[12]LogiCORE FIFO Generator v3.2 User Guide[DB/OL].Xilinx. 2006.9.http://www.xilinx.com.

[13]朱江,王耀南,許海霞.PPC405EP在電力監(jiān)測系統(tǒng)中的應(yīng)用[J].電子設(shè)計工程,2007(10):29-33.

[14]師于杰.基于vxWorks實(shí)時系統(tǒng)的CompactPCI平臺高可用系統(tǒng)研究[D].西安電子科技大學(xué),2006.

[15]武華,劉軍偉.基于VxWorks的多任務(wù)程序設(shè)計[J].計算機(jī)技術(shù)與發(fā)展,2011,21(9):88-91.

Design and implementation of multi-channel 1553B MT based on FPGA and HI6110

TANG Jian1,DENG Han2
(1.No.58 Research Institute of China Ordnance Industries,Mianyang 621000,China;2.Southwest University of Science and Technology,Mianyang 621000,China)

According to the traditional MIL-STD-1553B with large volume,high cost of shortcomings,a multi-channel 1553B MT based on FPGA and HI6110 is proposed.The data is cached in SDRAM;external devices read the data in SDRAM,and configuration the module through PCI BUS,which realize monitoring start,stop,RT ID Settings,etc.This paper first introduces the HI6110 chip function characteristics,and then describes in detail BUS decoding and transformation,HI6110 interface logic and access to the arbitration,HI6110 condition monitoring and bus switching,information acquisition and caching,internal function registers such as the FPGA function module and realization method.The application shows that the design has the advantages of low cost,high integration and easy to extend,etc.

1553B;HI6110;FPGA;Monitor Terminal(MT)

TN02

A

1674-6236(2016)16-0001-04

2016-05-08稿件編號:201605065

國家自然科學(xué)基金項(xiàng)目(61133016)

唐 建(1978—),男,四川射洪人,碩士,高級工程師。研究方向:嵌入式計算機(jī)應(yīng)用。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯(lián)鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 亚洲欧美一区二区三区图片 | 日本欧美成人免费| 亚洲大学生视频在线播放 | 国产一区二区三区免费| 久久综合结合久久狠狠狠97色| 欧美午夜视频在线| 在线观看国产精品一区| 久久精品一品道久久精品| 青草视频网站在线观看| 亚洲一级毛片免费看| 免费中文字幕一级毛片| 福利在线不卡一区| 粉嫩国产白浆在线观看| 91毛片网| 欧美国产综合视频| 国产成人区在线观看视频| 久久国产亚洲欧美日韩精品| 久久综合伊人 六十路| 试看120秒男女啪啪免费| 久久 午夜福利 张柏芝| 亚洲综合二区| 久久福利网| 中文字幕日韩久久综合影院| 伊人无码视屏| AV熟女乱| 亚洲国产系列| 亚洲欧美日韩天堂| 国产H片无码不卡在线视频| 最新亚洲人成无码网站欣赏网 | 2020国产在线视精品在| 亚洲成人网在线观看| 亚洲一区精品视频在线| 亚洲成人精品在线| 亚洲最大福利网站| 色哟哟色院91精品网站 | 国产手机在线观看| 无码人中文字幕| 日本91在线| 国产色婷婷视频在线观看| 亚洲一区二区视频在线观看| 成AV人片一区二区三区久久| 色偷偷一区二区三区| 中国一级毛片免费观看| 亚洲an第二区国产精品| 国产制服丝袜91在线| 国产在线观看成人91| 婷婷综合缴情亚洲五月伊| 国产区在线观看视频| 欧美在线伊人| 国产中文在线亚洲精品官网| 中文字幕日韩久久综合影院| 色婷婷色丁香| 免费无码在线观看| 国产天天色| 国产无码精品在线播放| 五月六月伊人狠狠丁香网| 亚洲丝袜第一页| 欧美国产日韩一区二区三区精品影视 | 无遮挡国产高潮视频免费观看 | 国产激情影院| 亚洲成a人片| 在线播放91| 精品国产福利在线| 久久亚洲高清国产| 国产一线在线| 人妻无码中文字幕第一区| 2020国产精品视频| 色综合日本| 国产菊爆视频在线观看| 久久综合色视频| 四虎成人精品在永久免费| 国产男女免费完整版视频| 国产精品久久久久久久久| 国产精品冒白浆免费视频| 欧美日韩精品综合在线一区| 国产精品免费p区| 亚洲一级毛片免费观看| 国产精品七七在线播放| 一本久道久久综合多人 | 日本高清免费不卡视频| 蜜桃臀无码内射一区二区三区 | 97超碰精品成人国产|