當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

  摘 要: 基于NIOSⅡ處理器搭建了可編程片上系統(tǒng),在該系統(tǒng)中通過(guò)控制HI-6110實(shí)現(xiàn)了MIL-STD-1553B總線協(xié)議,通過(guò)雙口RAM實(shí)現(xiàn)了與PCI總線的通信。重點(diǎn)論述了NIOSⅡ處理器系統(tǒng)的硬件和軟件設(shè)計(jì),雙口RAM的地址空間劃分,PCI9054的驅(qū)動(dòng)軟件設(shè)計(jì)。測(cè)試表明,用本方法設(shè)計(jì)的接口卡能很好地實(shí)現(xiàn)MIL-STD-1553B總線協(xié)議。
  關(guān)鍵詞: 現(xiàn)場(chǎng)可編程門(mén)陣列; NIOSⅡ; MIL-STD-1553B; PCI9054; HI-6110

  MIL-STD-1553B總線(以下簡(jiǎn)稱1553B總線)是美國(guó)制定的一種軍用串行總線標(biāo)準(zhǔn),國(guó)內(nèi)對(duì)應(yīng)為GJB289A-97,它規(guī)定了數(shù)字式時(shí)分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線及其接口電子設(shè)備的技術(shù)要求,同時(shí)規(guī)定了多路傳輸數(shù)據(jù)總線的工作原理和總線上的信息流及需要采用的電氣和功能格式[1]
  目前,國(guó)內(nèi)外的1553B板卡大多數(shù)是基于協(xié)議芯片配以相應(yīng)的處理器和存儲(chǔ)器來(lái)實(shí)現(xiàn),硬件電路復(fù)雜,設(shè)計(jì)難度大。SOPC(System On Programmable Chip)技術(shù)是由Altera公司提出的,它以IP核為基礎(chǔ),以硬件描述語(yǔ)言為主要設(shè)計(jì)手段,包括以32位NIOSⅡ軟核處理器為核心的嵌入式系統(tǒng)的硬件配置、硬件設(shè)計(jì)、硬件仿真、軟件設(shè)計(jì)、軟件調(diào)試等。使得由許多IC組成的電子系統(tǒng)集成到一塊FPGA內(nèi)成為可能,從而大大簡(jiǎn)化了系統(tǒng)的硬件設(shè)計(jì),節(jié)省了大量的系統(tǒng)資源[2]。
1 基于NIOSⅡ處理器的1553B板卡硬件設(shè)計(jì)
  本系統(tǒng)的硬件設(shè)計(jì)主要由三部分構(gòu)成:(1)與主機(jī)通信的PCI控制器PCI9054,主要實(shí)現(xiàn)DPRAM內(nèi)的數(shù)據(jù)與主機(jī)進(jìn)行通信;(2)基于NIOSⅡ處理器的FPGA設(shè)計(jì),實(shí)現(xiàn)NIOSⅡ硬件平臺(tái)的搭建,實(shí)現(xiàn)對(duì)HI-6110的控制,讀出相關(guān)的1553B報(bào)文,將相關(guān)的控制和數(shù)據(jù)按照特定的格式存儲(chǔ)在DPRAM,或者從DPRAM中讀出相關(guān)的控制和數(shù)據(jù),實(shí)現(xiàn)對(duì)HI-6110的控制;(3)1553B接口電路,主要由HI-6110和相應(yīng)的總線耦合器組成。系統(tǒng)總體結(jié)構(gòu)如圖1所示。


  系統(tǒng)硬件配置如下。
  (1) NIOSⅡCPU:它是整個(gè)系統(tǒng)的核心部件,本系統(tǒng)選用的是32位NIOSⅡCPU[3]。
  (2) SDRAM:由于本系統(tǒng)復(fù)雜,軟件代碼比較大,因此必須要擴(kuò)展外部SDRAM。在NIOSⅡ系統(tǒng)工作時(shí),SDRAM主要用來(lái)存放運(yùn)行程序和數(shù)據(jù),由于NIOSⅡ?qū)DRAM的操作速度非???,本系統(tǒng)的SDRAM選擇的是MT48LC4M32B2,可以滿足工作在50MHz的NIOSⅡ系統(tǒng)要求。
  (3) Flash:用來(lái)存放用戶程序,本系統(tǒng)選用的是AM29LV128M。與SDRAM相比較,F(xiàn)lash具有掉電保護(hù)的特性,但它的存取速度遠(yuǎn)遠(yuǎn)低于SDRAM。該芯片可配置成8位或16位,本系統(tǒng)配置為16位。
  (4) DPRAM:主要用于NIOSⅡ處理器與PCI9054之間的數(shù)據(jù)交換。其訪問(wèn)時(shí)序和SRAM一樣,通過(guò)添加SRAM模塊就可以對(duì)DPRAM進(jìn)行訪問(wèn)。本系統(tǒng)采用IDT公司的IDT70V28系列DPRAM,它可以提供64K×16bit的存儲(chǔ)空間。
  (5) PIO:主要完成NIOSⅡ處理器和HI-6110之間的數(shù)據(jù)、地址、控制信息傳輸。其中Pio_DataIn和Pio_DataOut是16位的數(shù)據(jù)總線,Pio_Addr是16位地址總線,Pio_Ctl是8位控制總線,Pio_StatusFlag是8位狀態(tài)標(biāo)志總線。
  (6) 時(shí)鐘模塊:其主要作用是為FPGA模塊提供系統(tǒng)運(yùn)行的工作頻率,并為HI-6110和PCI9054提供時(shí)鐘。本系統(tǒng)選擇的時(shí)鐘頻率是48MHz。
  (7) PCI9054:它是PLX公司生產(chǎn)的PCI總線通用接口芯片,符合PCI V2.1和V2.2規(guī)范;在PCI總線端支持32位數(shù)據(jù)寬度,傳輸速率為33MHz;本地端可以編程實(shí)現(xiàn)8位、16位、32位的數(shù)據(jù)寬度,傳輸速率最高可達(dá)132MB/s。本地總線端時(shí)鐘最高可達(dá)50MHz,支持復(fù)用/非復(fù)用的32位地址/數(shù)據(jù)。PCI9054內(nèi)部有6種可編程的FIFO存儲(chǔ)器,以實(shí)現(xiàn)零等待突發(fā)傳輸以及本地總線和PCI總線之間的異步操作。PCI9054工作方式靈活多樣,包括直接主模式、直接從模式和DMA模式。本地總線可工作在M、C、J三種模式[4]。本設(shè)計(jì)采用直接從模式,本地總線工作在C模式。
  (8) HI-6110:它是由HOLT公司推出的1553B總線協(xié)議處理芯片,該芯片可以配置成BC、RT、MT、帶RT的MT四種工作方式,支持雙冗余總線。內(nèi)含2個(gè)32×16的FIFO。外部時(shí)鐘可選12MHz或24MHz兩種頻率[5]
2 基于NIOSⅡ處理器的1553B板卡底層軟件設(shè)計(jì)
2.1 軟件總體設(shè)計(jì)
  將系統(tǒng)硬件生成并下載完畢后,就可以進(jìn)行系統(tǒng)的軟件設(shè)計(jì)。整個(gè)軟件的體系結(jié)構(gòu)如圖2所示。

  在本系統(tǒng)中,NIOSⅡ作為下位機(jī)來(lái)使用,它通過(guò)PCI總線與上位機(jī)進(jìn)行通信,接收來(lái)自上位機(jī)的命令,并解釋執(zhí)行。NIOSⅡ的軟件需要完成以下任務(wù):讀寫(xiě)DPRAM實(shí)現(xiàn)和PCI總線的通信;控制HI-6110完成1553B數(shù)據(jù)的發(fā)送和接收,實(shí)現(xiàn)1553B總線協(xié)議。
  在圖2中NIOSⅡ上電或復(fù)位后初始化程序完成整個(gè)系統(tǒng)的初始化,包括啟動(dòng)定時(shí)器、初始化中斷向量表,初始化DPRAM內(nèi)容、初始化HI-6110內(nèi)寄存器等。然后判斷當(dāng)前的訪問(wèn)地址,如果訪問(wèn)內(nèi)部寄存器,則根據(jù)地址可以讀寫(xiě)板卡內(nèi)的寄存器,如:控制寄存器、RT地址寄存器、描述表基址寄存器、狀態(tài)寄存器、當(dāng)前處理命令寄存器等;如果是訪問(wèn)數(shù)據(jù)區(qū),則根據(jù)當(dāng)前的工作模式分別進(jìn)入BC、RT、MT工作狀態(tài)進(jìn)行不同的數(shù)據(jù)處理,如果數(shù)據(jù)處理正確則寫(xiě)相應(yīng)的寄存器和數(shù)據(jù)區(qū),轉(zhuǎn)入讀下一條訪問(wèn)地址。
2.2 1553B板卡地址劃分
  1553B板卡的地址分為兩部分:內(nèi)部寄存器和數(shù)據(jù)區(qū)。內(nèi)部寄存器主要包含控制寄存器和狀態(tài)寄存器,通過(guò)控制寄存器的不同內(nèi)容可實(shí)現(xiàn)對(duì)1553B板卡的控制,通過(guò)讀狀態(tài)寄存器的內(nèi)容可以獲得1553B板卡內(nèi)的通信狀態(tài),內(nèi)部寄存器的地址空間為:0x0000~0x00FF;數(shù)據(jù)區(qū)根據(jù)1553B的操作模式不同,分為三種類型,即BC模式、RT模式、MT模式,其地址空間為:0x0100~0xFFFF。下面僅以1553B板卡工作在RT模式下進(jìn)行介紹。本設(shè)計(jì)采用雙緩沖區(qū)的數(shù)據(jù)儲(chǔ)存策略,將數(shù)據(jù)區(qū)地址分為RT控制塊和RT數(shù)據(jù)存儲(chǔ)兩個(gè)區(qū),每個(gè)控制塊含有4個(gè)字,每個(gè)數(shù)據(jù)儲(chǔ)存區(qū)34字節(jié)[6]。具體定義如圖3所示。


3 PCI總線設(shè)計(jì)
3.1 EEPROM設(shè)計(jì)
  PCI9054芯片可以支持有EEPROM和無(wú)EEPROM的啟動(dòng)方式。有EEPROM時(shí),EEDI/DO的管腳必須上拉;無(wú)EEPROM時(shí),EEDI/DO的管腳必須下拉。本系統(tǒng)采用有EEPROM的啟動(dòng)方式。配置芯片選用Microchip Technology公司的93LC46B。EEPROM主要完成對(duì)本地配置寄存器的初始配置以及一些控制寄存器的配置,如本地存儲(chǔ)空間到PCI內(nèi)存空間和I/O空間的映射等。根據(jù)設(shè)計(jì)先將PCI9054的各個(gè)參數(shù)寫(xiě)入93LC46B芯片,系統(tǒng)上電后PCI9054自動(dòng)將EEPROM芯片中的參數(shù)讀入,從而初始化PCI9054[7]
3.2 PCI訪問(wèn)DPRAM設(shè)計(jì)
  本設(shè)計(jì)中,PCI9054使用地址空間0來(lái)訪問(wèn)DPRAM,地址空間0配置為內(nèi)存空間,其地址范圍為1M。PCI9054工作在PCI從模式、本地總線工作在C模式下訪問(wèn)內(nèi)存空間可以有幾種方式:Single Write/Read、Non-Burst Write/Read、Burst Write/Read。另外通過(guò)內(nèi)部Wait State可以添加延時(shí),本地總線通過(guò)Ready#信號(hào)確認(rèn)數(shù)據(jù)讀寫(xiě)操作。為了實(shí)現(xiàn)PCI9054與DPRAM數(shù)據(jù)傳輸無(wú)誤,在FPGA內(nèi)編制了讀寫(xiě)狀態(tài)機(jī)從而實(shí)現(xiàn)兩者之間數(shù)據(jù)傳輸?shù)臅r(shí)序匹配。狀態(tài)機(jī)核心源代碼如下:
  always @ (posedge PCI_CLK)      //時(shí)鐘,本系統(tǒng)為48MHz
  begin
  casex(currentstate)          //讀寫(xiě)狀態(tài)機(jī)
  s0:
  begin
  if (!PCI_ADS && (PCI_ADDR<=16'hFFFF))
                   // PCI_ADS為0表示傳輸
   begin                //開(kāi)始,地址小于128K
   PCI_READY=1'b0;
   Write_DPRAM=PCI_LWDRD;
   ……
   currentstate = s1;
  end
  else
  currentstate = s0;
  end
  s1:
  begin
   if (!PCI_BLAST)            //PCI_BLAST為0,表示停止Burst

                       //Write/Read,轉(zhuǎn)入狀態(tài)0;否則為1,
 begin             //表示Burst Write/Read
  PCI_READY=1'b1;
  ……
  currentstate = s0;
 end
 else if (PCI_BLAST)
 begin
  PCI_READY=1'b0;
  Write_DPRAM=PCI_LWDRD;
  ……
  end
  default:currentstate=s0;
  endcase
3.3 PCI驅(qū)動(dòng)設(shè)計(jì)
  驅(qū)動(dòng)程序采用Jungo公司的WinDriver開(kāi)發(fā)平臺(tái)。該平臺(tái)的優(yōu)點(diǎn)是:用戶不需要了解操作系統(tǒng)內(nèi)部原理及DDK開(kāi)發(fā)工具。另外,WinDriver對(duì)PCI9054提供了專門(mén)的開(kāi)發(fā)框架,可以大大縮短開(kāi)發(fā)周期。
  驅(qū)動(dòng)程序主要由三個(gè)部分組成:初始化硬件、對(duì)硬件資源的訪問(wèn)和函數(shù)庫(kù)的調(diào)用。其中,后面兩個(gè)部分對(duì)于不同的硬件基本一致,不同硬件開(kāi)發(fā)的區(qū)別在于初始化硬件時(shí)對(duì)硬件資源的鎖定。WinDriver庫(kù)函數(shù)是實(shí)現(xiàn)PCI卡驅(qū)動(dòng)的重要模塊,利用這些函數(shù)可以對(duì)PCI接口的擴(kuò)展卡進(jìn)行配置、讀寫(xiě),完成驅(qū)動(dòng)的設(shè)計(jì)。例如:
  (1) 函數(shù)WD_Open( ),用來(lái)獲得WinDriver驅(qū)動(dòng)程序的句柄。該函數(shù)必須在所有其他函數(shù)之前執(zhí)行,用來(lái)打開(kāi)一個(gè)WinDriver支持的硬件PCI設(shè)備。
  (2) 函數(shù)WD_CardRegister( ),負(fù)責(zé)選定設(shè)備,且對(duì)該設(shè)備的項(xiàng)目進(jìn)行注冊(cè)和資源分配。具體完成三個(gè)功能:①映射設(shè)備的物理空間,使之能夠被核心模式的進(jìn)程和用戶模式的應(yīng)用程序所訪問(wèn);②檢查所需存儲(chǔ)器或I/O資源先前是否被注冊(cè)過(guò),以防設(shè)備沖突;③將有關(guān)中斷請(qǐng)求號(hào)、中斷類型(電平觸發(fā)或邊緣觸發(fā))存儲(chǔ)到WinDriver自定義的數(shù)據(jù)結(jié)構(gòu)中。
4 系統(tǒng)調(diào)試
  在實(shí)際調(diào)試中,通過(guò)JTAG端口,使用Quartus II的SignalTap II邏輯分析儀可以測(cè)試板卡的運(yùn)行情況。測(cè)得1553B板卡工作在BC模式下訪問(wèn)HI-6110,如圖4所示;工作在RT模式下訪問(wèn)HI-6110,如圖5所示;PCI9054讀DPRAM,如圖6所示。

 

  以NIOSⅡ處理器為核心設(shè)計(jì)并實(shí)現(xiàn)1553B板卡,采用PCI總線作為主機(jī)和1553B板卡通信。該板卡可實(shí)現(xiàn)BC、RT、MT三種模式,實(shí)現(xiàn)了1553B總線協(xié)議。采用SOPC技術(shù)使得該板卡體積小,節(jié)省了系統(tǒng)資源,而且具有很好的系統(tǒng)升級(jí)性能。目前,該接口卡已成功應(yīng)用于軍隊(duì)某武器控制系統(tǒng)仿真項(xiàng)目中。

參考文獻(xiàn)
[1] 王勇.航空機(jī)載計(jì)算機(jī)與航空電子總線[M].西安:空軍工程大學(xué)工程學(xué)院,2003.
[2] 潘松,黃繼業(yè).SOPC技術(shù)實(shí)用教程[M]. 北京:清華大學(xué)出版社,2005.
[3] Altera Corporation. NIOS Ⅱprocessor reference handbook[DB/OL].http://www.altera.com.cn/literature/hb/qts/n2cpu_nii5v1.pdf. 2007.
[4] Plx Technology. PCI 9054 data book V2.1, 2007[DB/OL].http//www. plxtech. com.2007.
[5] HOLT INC. HI-6110 mil-std-1553/mil-std-1760 BC/RT/MT message processor[DB/OL]. http//www. holtic.com.2007.
[6] 鄧青海,景小寧,劉安. 基于USB的多通道俄制串行總線接口卡設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2006,32(11):55-57.
[7] 顏建峰,吳寧.基于PCI總線的DMA高速數(shù)據(jù)傳輸系統(tǒng)[J].電子科技大學(xué)學(xué)報(bào),2007(10):858-861.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉