0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探究NIOS II的1553B總線測試系統(tǒng)設(shè)計(jì)

電子工程師 ? 來源:微型機(jī)與應(yīng)用第18期 ? 作者:黃 正,王健軍,劉 ? 2021-05-05 17:24 ? 次閱讀

0 引言

MIL-STD-1553B由美國在20世紀(jì)70年代提出,具有可靠性高、實(shí)時(shí)性好、靈活性強(qiáng)的特點(diǎn),已經(jīng)發(fā)展成國際公認(rèn)的數(shù)據(jù)總線標(biāo)準(zhǔn),廣泛應(yīng)用于現(xiàn)代飛機(jī)、導(dǎo)彈、衛(wèi)星、艦艇、坦克等航空、航天、兵器領(lǐng)域,并且逐漸擴(kuò)展到地鐵交通控制等民用領(lǐng)域。我國從20世紀(jì)90年代初開始引進(jìn)1553B數(shù)據(jù)總線,經(jīng)過十多年的發(fā)展,1553B已經(jīng)成為國內(nèi)航空航天的主要航電總線之一。

國內(nèi)一些研究機(jī)構(gòu)也通過不斷努力,已經(jīng)有能力研制生產(chǎn)出符合1553B標(biāo)準(zhǔn)的接口芯片,本文在設(shè)計(jì)中即采用了中國電子科技集團(tuán)公司第58研究所自主研發(fā)的JBU61580作為1553B總線通信控制器,其與DDC公司的同型號(hào)芯片BU61580完全兼容,支持插拔替換,具有總線控制(BC)、遠(yuǎn)程終端(RT)和監(jiān)測終端(MT)三大功能[1]。

1 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)采用Altera公司Cyclone Ⅱ系列的FPGA(EP2C8Q208C8)作為主控芯片,內(nèi)嵌NIOS Ⅱ軟核處理器,輸入時(shí)鐘為20 MHz,由PLL倍頻出兩個(gè)100 MHz時(shí)鐘分別提供給NIOS Ⅱ軟核處理器和外接的SDRAM使用。USB接口部分采用CH375芯片,1553B接口部分采用JBU61580芯片,均利用SoPC Builder支持的用戶自定義元件定制時(shí)序轉(zhuǎn)換邏輯,以提高接口芯片的讀寫速度,而NIOS Ⅱ則負(fù)責(zé)兩者之間的數(shù)據(jù)解析和交換。

1.1 總體設(shè)計(jì)思想

6359150525794400004509120.jpg

硬件原理框圖如圖1所示,整個(gè)系統(tǒng)可以分為5個(gè)部分:(1)系統(tǒng)核心模塊:NIOS Ⅱ處理器;(2)處理器外圍支持電路:時(shí)鐘單元及SDRAM控制器;(3)程序下載調(diào)試模塊:JTAG接口控制器和異步通信接口UART用于打印調(diào)試信息);(4)系統(tǒng)內(nèi)部外設(shè)模塊:諸如系統(tǒng)ID、定時(shí)器、用戶自定制邏輯等;(5)系統(tǒng)外圍設(shè)備:EPCS存儲(chǔ)器、CH375、JBU61580。

1.2 系統(tǒng)外圍接口設(shè)計(jì)

1.2.1 EPCS接口

系統(tǒng)采用Altera專用的配置芯片EPCS4存儲(chǔ)FPGA的配置數(shù)據(jù)和NIOS Ⅱ的程序,EPCS4總共有4 Mbit的存儲(chǔ)空間,分成8個(gè)64 KB的塊,并通過專用電路接口與FPGA連接[2]。FPGA的配置數(shù)據(jù)從EPCS4中偏移地址為0的地方開始存放,緊接著FPGA的配置數(shù)據(jù)就是NIOS Ⅱ的程序,也就是說FPGA的配置數(shù)據(jù)和NIOS Ⅱ的程序從EPCS4的低端地址開始存放,而在本設(shè)計(jì)中只占用了不到4個(gè)塊的存儲(chǔ)空間,所以高端塊的存儲(chǔ)空間可以用來存放JBU61580的配置數(shù)據(jù)。

1.2.2 CH375接口

CH375是一個(gè)USB總線的通用設(shè)備接口芯片,工作在全速模式,兼容USB2.0,其內(nèi)置了USB通信中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式[3]。在內(nèi)置固件模式下,屏蔽了相關(guān)的USB協(xié)議,自動(dòng)完成標(biāo)準(zhǔn)的USB枚舉配置過程,完全不需要本地端控制器作任何處理,簡化了NIOS Ⅱ的固件編程。本設(shè)計(jì)中CH375芯片只負(fù)責(zé)數(shù)據(jù)的交換,接收上位機(jī)下傳的數(shù)據(jù)和NIOS Ⅱ上傳的數(shù)據(jù)。CH375的8位數(shù)據(jù)總線、4線控制信號(hào)讀選通、寫選通、片選輸入、中斷輸出通過SoPC自定制邏輯連接到Avalon系統(tǒng)互連結(jié)構(gòu)。

1.2.3 JBU61580接口

JBU61580工作在16位緩沖非零等待模式下,工作電壓為5 V,在3.3 V電壓下工作的FPGA不能與其直接相連,中間需要接總線驅(qū)動(dòng)器245芯片進(jìn)行電平轉(zhuǎn)換。JBU61580的寄存器和存儲(chǔ)器的讀寫控制有兩種方法:一是用PIO口來模擬JBU61580的讀寫時(shí)序,此方法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,擴(kuò)展性強(qiáng),但讀寫速度比較慢,不利于系統(tǒng)的模塊化與集成;二是根據(jù)HDL語言定制符合JBU61580的時(shí)序控制邏輯,以訪問內(nèi)存的方式來讀寫JBU61580的寄存器和存儲(chǔ)器,此方法實(shí)現(xiàn)稍微復(fù)雜,但是可以極大地提高JBU61580的數(shù)據(jù)讀寫速度。本設(shè)計(jì)中即采用了第二種方法。

2 軟件系統(tǒng)設(shè)計(jì)

由于JBU61580工作在16位緩沖模式,而CH375只有8位數(shù)據(jù)總線,因此上位機(jī)程序要與NIOS Ⅱ約定相同的數(shù)據(jù)封裝格式。上位機(jī)將JBU61580的16位地址和數(shù)據(jù)信息以及一些傳輸控制指令拆分成8位數(shù)據(jù),經(jīng)過USB總線傳輸,NIOS Ⅱ收到之后再重新解析成16位的地址和數(shù)據(jù)。在配置數(shù)據(jù)全部傳送完成之后,NIOS Ⅱ再根據(jù)控制指令來配置JBU61580,使其工作在指令要求的模式(BC、RT或MT)下。另外NIOS Ⅱ還將根據(jù)上位機(jī)的指令決定是否將配置數(shù)據(jù)寫入EPCS中,使得單板在上電復(fù)位之后不需要再從上位機(jī)獲得配置數(shù)據(jù),從而可以離線工作。處于離線工作狀態(tài),NIOS Ⅱ還應(yīng)實(shí)時(shí)監(jiān)測CH375的中斷信號(hào),以便接收上位機(jī)的控制指令進(jìn)入聯(lián)機(jī)工作模式。同樣,若NIOS Ⅱ需要上傳JBU61580的通信數(shù)據(jù),也要將讀取的16位數(shù)據(jù)拆分成兩個(gè)8位數(shù)據(jù),再寫入CH375的上傳端點(diǎn)中,上位機(jī)取走數(shù)據(jù)之后同樣按照約定的封裝格式將解析成16位的數(shù)據(jù)顯示出來。

軟件系統(tǒng)設(shè)計(jì)分為NIOS Ⅱ固件程序和上位機(jī)程序。NIOS Ⅱ固件程序又分為固件主程序、中斷處理程序、數(shù)據(jù)包解析程序。上位機(jī)程序則包括BC模式接口及傳輸控制、RT模式接口及傳輸控制、MT接口及傳輸控制3個(gè)部分。

2.1 NIOS Ⅱ固件程序

2.1.1 固件主程序

固件主程序主要負(fù)責(zé)系統(tǒng)初始化及流程控制。初始化主要包括CH375的工作狀態(tài)測試、工作模式選擇,JBU61580的初始復(fù)位,讀取并判斷EPCS4配置存儲(chǔ)器的高位地址特征字符以確認(rèn)是否需要單板離線工作等。在初始化之后進(jìn)入主循環(huán),實(shí)時(shí)監(jiān)視USB接口和1553B接口的中斷信號(hào)。

2.1.2 中斷處理程序

中斷處理程序包括CH375中斷處理程序和JBU61580中斷處理程序。由于1553B接口的實(shí)時(shí)要求性高,因此在SoPC系統(tǒng)搭建過程中,JBU61580的中斷優(yōu)先級(jí)要高于CH375的中斷優(yōu)先級(jí)。

在CH375中斷處理程序中首先讀取中斷狀態(tài),判斷中斷類型,再進(jìn)入相對應(yīng)的中斷類型處理程序。如果是批量端點(diǎn)接收到數(shù)據(jù),則讀取緩沖區(qū)的數(shù)據(jù),并置位中斷下傳標(biāo)志,退出中斷[4]。如果是批量端點(diǎn)發(fā)送完數(shù)據(jù),則應(yīng)置位中斷上傳標(biāo)志,退出中斷。其流程如圖2所示。

pIYBAGB1ZRKABxGGAABSyEEv4b8351.png

在JBU61580的中斷處理程序中,由于存在BC、RT、MT 3種不同的工作模式[5],則分別對應(yīng)了不同的中斷處理程序。以RT模式為例,當(dāng)JBU61580接收到來自1553B總線的與本地址相關(guān)的消息時(shí),若符合中斷條件,將產(chǎn)生中斷。由NIOS Ⅱ進(jìn)行處理,中斷處理程序中首先讀取JBU61580的中斷狀態(tài)寄存器,判斷是否是干擾引起的誤中斷,讀消息描述符中的消息塊狀態(tài)字,判斷是否是非法指令;讀RT狀態(tài)字寄存器,判斷是否是子地址忙;讀取RT上次命令寄存器,獲取命令字;根據(jù)消息描述符中的數(shù)據(jù)塊指針,找到數(shù)據(jù)塊并保存數(shù)據(jù)至消息塊的結(jié)構(gòu)體中[6]。其流程如圖3所示。

o4YBAGB1ZR6AadO5AACCkSzrcLs958.png

2.1.3 數(shù)據(jù)包解析程序

數(shù)據(jù)包解析程序負(fù)責(zé)解析上位機(jī)下傳的8位數(shù)據(jù)及傳輸控制指令,遵從上位機(jī)封裝數(shù)據(jù)的協(xié)定,解析出配置JUB61580的16位地址和對應(yīng)的數(shù)據(jù),以及一些如啟動(dòng)、復(fù)位等必要的控制指令。另外數(shù)據(jù)包解析程序還要將從JBU61580讀取的16位通信數(shù)據(jù)分拆封裝成8位數(shù)據(jù)寫到CH375的批量上傳端口,等待上位機(jī)取走。數(shù)據(jù)包解析程序如圖4所示。

o4YBAGB1ZTCAOmexAACT2PsxP_s661.png

2.2 上位機(jī)設(shè)計(jì)

CH375在計(jì)算機(jī)端提供了應(yīng)用層接口,應(yīng)用層接口是由CH375動(dòng)態(tài)鏈接庫DLL提供的面向功能應(yīng)用的API。用戶可以在上位機(jī)軟件中直接調(diào)用這些API,極大地減少了編寫USB設(shè)備驅(qū)動(dòng)的工作量。CH375動(dòng)態(tài)鏈接庫提供的API包括:設(shè)備管理API、數(shù)據(jù)傳輸API、中斷處理API。上位機(jī)的程序可以分成下傳數(shù)據(jù)和上傳數(shù)據(jù)兩部分,下傳數(shù)據(jù)調(diào)用CH375WriteData()函數(shù)來實(shí)現(xiàn),上傳數(shù)據(jù)調(diào)用CH375ReadData()函數(shù)來實(shí)現(xiàn)。由于CH375芯片的上傳緩沖區(qū)和下傳緩沖區(qū)只有64 B,故一次的數(shù)據(jù)傳輸不能超過64 B。整個(gè)上位機(jī)軟件采用VB2008編寫,圖5是RT控制接口界面。

o4YBAGB1ZT6Abl_zAAGPTbTLyZ4813.png

3 結(jié)論

按照本文的方法已經(jīng)成功實(shí)現(xiàn)了通過USB實(shí)時(shí)控制JBU61580的1553B總線接口測試系統(tǒng),整個(gè)系統(tǒng)硬件設(shè)計(jì)簡單,軟件設(shè)計(jì)穩(wěn)定可靠,可應(yīng)用于1553B系統(tǒng)調(diào)試和測試以及各種仿真實(shí)驗(yàn)中。

參考文獻(xiàn)

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

[2] 任承志,宋克非,王淑榮.基于BU65170與單片機(jī)系統(tǒng)的RT設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006,22(6-2):18-20.

[3] 雷勇,吳勇,潘莉.基于USB的1553總線通用接口研究[J].計(jì)算機(jī)測量與控制,2010,18(4):861-864.

[4] DDC. MIL-STD-1553B Designer′s Guide[S]. 1998.

[5] Condor Engineering Inc. MIL-STD-1553 Protocol Tutorial[S]. 2004

[6] 黃長春,徐抒巖.基于DSP的1553B總線系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2010(8):4-7.

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7773

    瀏覽量

    262385
  • NIOS
    +關(guān)注

    關(guān)注

    2

    文章

    104

    瀏覽量

    52755
  • 軟核處理器
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    8418
收藏 人收藏

    評論

    相關(guān)推薦

    深入解析MIL-STD-1553B模塊卡

    MIL-STD-1553B模塊
    發(fā)表于 09-06 11:43 ?0次下載

    如何對MIL-STD-1553B進(jìn)行選型

    MIL-STD-1553B產(chǎn)品選型是一個(gè)復(fù)雜而細(xì)致的過程,?需要綜合考慮多個(gè)因素以確保所選產(chǎn)品能夠滿足特定應(yīng)用場景的需求。一、?引言MIL-STD-1553B作為一種廣泛應(yīng)用于航空航天領(lǐng)域的數(shù)據(jù)總線
    的頭像 發(fā)表于 09-05 17:37 ?193次閱讀
    如何對MIL-STD-<b class='flag-5'>1553B</b>進(jìn)行選型

    重磅新品 | 高速數(shù)據(jù)測試的可靠連接方案

    才是考驗(yàn)產(chǎn)品的主要因素。今天給大家介紹一款由騰方中科推出的的TPDC系列高速解決方案,它恰好可以滿足上述三個(gè)要求。支持1553B,ARINC429,AFDX,DV
    的頭像 發(fā)表于 08-13 08:37 ?86次閱讀
    重磅新品 | 高速數(shù)據(jù)<b class='flag-5'>測試</b>的可靠連接方案

    航電綜合測試連接方案

    應(yīng)用場景:在系統(tǒng)集成環(huán)境中,客戶需要模擬與航電各子系統(tǒng)總線信號(hào)交聯(lián)關(guān)系的模擬量、離散量、同步器、頻率量、RS232/422/485、1553B、CAN、ARINC429、1394
    的頭像 發(fā)表于 07-10 08:39 ?456次閱讀
    航電綜合<b class='flag-5'>測試</b>連接方案

    Altera SOPC 嵌入式系統(tǒng)設(shè)計(jì)(一)

    系統(tǒng)在硬件結(jié)構(gòu)、功能特點(diǎn)、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計(jì)的要求。Nios II 核在同一FPGA 中的植入數(shù)量沒有限制,只要 FPGA 資源足夠即可。 另外,在開發(fā)工具的完備性方面
    發(fā)表于 06-25 20:39

    解讀1553B總線可靠性量化指標(biāo)

    289A規(guī)范對通訊誤碼率的規(guī)定是小于10-7的字差錯(cuò)率,一個(gè)1553B字由20個(gè)比特構(gòu)成,當(dāng)實(shí)際設(shè)計(jì)的1553B終端的誤比特率小于10-7/20=5×10-9時(shí),是否可以認(rèn)為符合規(guī)范的字差錯(cuò)率要求?
    的頭像 發(fā)表于 12-08 10:57 ?944次閱讀
    解讀<b class='flag-5'>1553B</b><b class='flag-5'>總線</b>可靠性量化指標(biāo)

    基于ARM9平臺(tái)和FPGA的1553B總線測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9平臺(tái)和FPGA的1553B總線測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 10:10 ?0次下載
    基于ARM9平臺(tái)和FPGA的<b class='flag-5'>1553B</b><b class='flag-5'>總線</b><b class='flag-5'>測試</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與實(shí)現(xiàn)

    基于NIOS II的SD卡讀寫控制設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于NIOS II的SD卡讀寫控制設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-06 10:06 ?7次下載
    基于<b class='flag-5'>NIOS</b> <b class='flag-5'>II</b>的SD卡讀寫控制設(shè)計(jì)

    車輛LIN總線仿真測試服務(wù)

    ,能為您的車輛電子系統(tǒng)提供性能與運(yùn)行保障,幫助您高效完成系統(tǒng)集成設(shè)計(jì)與項(xiàng)目的快速開發(fā)。 一、LIN總線仿真測試服務(wù)的作用和價(jià)值 1.虹科LIN仿真
    的頭像 發(fā)表于 10-30 10:38 ?634次閱讀
    車輛LIN<b class='flag-5'>總線</b>仿真<b class='flag-5'>測試</b>服務(wù)

    基于NIOS II的多串口數(shù)據(jù)通信的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于NIOS II的多串口數(shù)據(jù)通信的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-27 10:19 ?0次下載
    基于<b class='flag-5'>NIOS</b> <b class='flag-5'>II</b>的多串口數(shù)據(jù)通信的實(shí)現(xiàn)

    1553B總線監(jiān)控器的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《1553B總線監(jiān)控器的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:42 ?0次下載
    <b class='flag-5'>1553B</b><b class='flag-5'>總線</b>監(jiān)控器的設(shè)計(jì)與實(shí)現(xiàn)

    基于LXI總線1553B通訊模塊設(shè)計(jì)與開發(fā)

    電子發(fā)燒友網(wǎng)站提供《基于LXI總線1553B通訊模塊設(shè)計(jì)與開發(fā).pdf》資料免費(fèi)下載
    發(fā)表于 10-24 11:01 ?0次下載
    基于LXI<b class='flag-5'>總線</b>的<b class='flag-5'>1553B</b>通訊模塊設(shè)計(jì)與開發(fā)

    基于DSP的1553B總線接口電路設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于DSP的1553B總線接口電路設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-19 10:59 ?2次下載
    基于DSP的<b class='flag-5'>1553B</b><b class='flag-5'>總線</b>接口電路設(shè)計(jì)

    基于NIOS的無中心電話系統(tǒng)中噪聲的分析與抑制

    電子發(fā)燒友網(wǎng)站提供《基于NIOS的無中心電話系統(tǒng)中噪聲的分析與抑制.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 14:35 ?0次下載
    基于<b class='flag-5'>NIOS</b>的無中心電話<b class='flag-5'>系統(tǒng)</b>中噪聲的分析與抑制

    基于NIOS II的數(shù)字音頻采集系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于NIOS II的數(shù)字音頻采集系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 10:58 ?0次下載
    基于<b class='flag-5'>NIOS</b> <b class='flag-5'>II</b>的數(shù)字音頻采集<b class='flag-5'>系統(tǒng)</b>