基于NiosⅡ的1553B總線(xiàn)通訊模塊設計與開(kāi)發(fā)

發(fā)布時(shí)間:2015-11-10 13:24    發(fā)布者:designapp
關(guān)鍵詞: NiosⅡ , 1553B , FPGA
  自2005年9月LXI總線(xiàn)推出以來(lái),已經(jīng)顯示出其組建測試系統的眾多優(yōu)點(diǎn);贚XI總線(xiàn)組建測試系統具有易于使用、靈活性高、模塊化和可擴縮性、實(shí)現更快的系統吞吐率、可分布式應用、長(cháng)壽命、低成本、通過(guò)IEEE1588時(shí)鐘同步、機架空間小、合成儀器等諸多優(yōu)點(diǎn)。
  1553B總線(xiàn)的全名為“時(shí)分制指令/響應式多路傳輸數據總線(xiàn)”,國內多型戰斗機、軍艦等武器平臺都采用其作為傳輸總線(xiàn)。因此研制基于LXI總線(xiàn)的1553B通訊模塊,不僅能滿(mǎn)足多型武器裝備對1553B總線(xiàn)的測試需求,也對LXI總線(xiàn)在國內的研究和應用有推動(dòng)作用。
  1 模塊總體方案
  模塊基本設計指標為:滿(mǎn)足LXI規范C類(lèi)儀器標準;支持DHCP、自動(dòng)配置IP地址和手動(dòng)配置IP地址;支持ICMP協(xié)議、TCP/IP協(xié)議和UDP協(xié)議;同步采用網(wǎng)絡(luò )命令方式;能完成1553B在BC模式下的所有功能。
  根據指標要求采用基于SOPC的32位處理器+實(shí)時(shí)多任務(wù)操作系統(Real Time Operation System,RTOS)總體方案,在一塊FPGA芯片上集成了控制器和邏輯單元,既降低了開(kāi)發(fā)的難度、減少了模塊體積,也易于以后的升級。32位處理器有足夠的資源可以擴充利用,RAM和ROM可以做的足夠大,整個(gè)TCP/IP協(xié)議族可以做到系統里面去,甚至可以嵌入一個(gè)帶TCP/IP協(xié)議族的操作系統。
  2 基于SOPC的硬件設計與開(kāi)發(fā)
  片上可編程系統(System on a Programmable Chip,SOPC)將處理器、存儲器、I/O口、LVDS和CDR等系統設計需要的功能模塊集成到一個(gè)PLD器件上構建成一個(gè)可編程的片上系統,是一種靈活高效的SOC解決方案。SOPC結合了SOC和可編程邏輯器件各自的優(yōu)點(diǎn),具有靈活的設計方式、可剪裁、可擴充、可升級,并具備軟硬件在系統可編程的功能,成為SOC設計的新趨勢。
  2.1 模塊硬件架構
  模塊硬件主要由NiosII軟核處理器、以太網(wǎng)組件、1553B總線(xiàn)組件、存儲器、片內RAM、通用I/O接口和調試配置模塊7部分組成,架構示意如圖1所示。
  


  1)NiosII軟核處理器:模塊的CPU,負責系統工作調度。在其內部移植了μC/OSII實(shí)時(shí)操作系統和LwIP協(xié)議;它接受客戶(hù)端通過(guò)以太網(wǎng)發(fā)送過(guò)來(lái)的請求,經(jīng)解析后回復Web界面或控制1553B功能接口;2)以太網(wǎng)組件(DM9000A):完成對以太網(wǎng)控制器的操作,將網(wǎng)絡(luò )上的數據經(jīng)以太網(wǎng)控制器送到網(wǎng)際層,由NioslI軟核處理器內的LwIP協(xié)議處理;或者將網(wǎng)際層送來(lái)的數據經(jīng)以太網(wǎng)接口發(fā)送出去:3)1553B總線(xiàn)組件(BU-61580):受NiosllI軟核處理器控制,完成在BC模式下各類(lèi)消息和命令的發(fā)送及狀態(tài)的讀取;4)Flash存儲器:主要用來(lái)存儲模塊的一些固定參數和靜態(tài)Web界面;5)片內RAM:RAM是在FPGA剩余邏輯中用Quartusll內所帶的MegaWizard管理器生成的,這樣就不需要外加RAM芯片。片內RAM主要是用來(lái)存儲程序運行過(guò)程中所接收和產(chǎn)生的一些數據;6)通用I/O接口:用來(lái)完成對LED或按鍵的控制;7)JTAG調試模塊和EPCS配置模塊:J1TAG模塊用來(lái)完成對程序的調試工作。配置是對FPGA的內容進(jìn)行編程的過(guò)程,每次上電后都需要配置,EPCS配置模塊允許NioslI訪(fǎng)問(wèn)EPCS串行配置器件。
  具體開(kāi)發(fā)主要有3部分工作:1)NiosII軟核處理器及其外設的設計。2)自定義宏功能模塊RAM的開(kāi)發(fā),這部分工作在QuartuslI軟件中完成;3)應用軟件程序的編寫(xiě),在NiosIIIDE軟件開(kāi)發(fā)環(huán)境中完成。
  2.2 模塊硬件設計
  SOPC Builder是Altera公司為用戶(hù)自定義系統而開(kāi)發(fā)的工具。用戶(hù)使用SOPC Builder可以將IP核、存儲器、接口、微處理器和自定義組件等復雜系統組件簡(jiǎn)單又快速的集成到Ahera高密度FPGA芯片上。按照模塊硬件系統的要求,借助SOPC Builder生成的模塊硬件結構,包括:32位標準NiosII軟核處理器:cpu;JTAG調試接口:jtag-debug-module;外部SDRAM存儲器接口:sdram;Avalon三態(tài)橋:tri_state_brid ge;EPCS串行閃存控制器:EPCS_controller;外部FLASH存儲器接口:cfi_flash;定時(shí)/計數器:time0/timel;以太網(wǎng)接口:dm9000a;1553B接口:bu61580;LED接口:led;64KRAM接口:RAM;按鍵接口:key;系統識別模塊:sysid。
  


  2.3 宏功能模塊RAM生成
  CycloneII器件內部的RAM塊只有M4K一種,可用來(lái)實(shí)現真正的雙端口、簡(jiǎn)單雙端口和單端口的RAM,可以支持移位寄存器和ROM方式。用QuartusII內所帶的MegaWizard管理器來(lái)生成RAM,首先運行MegaWizard管理器選擇“創(chuàng )建一個(gè)新的宏功能”,在出現的對話(huà)框內選擇Insta lled Plug-Ins下的memory compiler下的RAM:1-PORT,如圖3所示。
  


  在接下來(lái)的各頁(yè)中選擇如下參數:數據線(xiàn)寬度16位;存儲64個(gè)字;自動(dòng)單時(shí)鐘驅動(dòng);選擇生成*.v,*.bsf,*_inst.v,*_bb.v,*_waveforms.html 5個(gè)文件。其他參數默認即可。
                                
                  2.4 以太網(wǎng)接口設計
  以太網(wǎng)控制器選用DM9000A,芯片為48管腳的LQFP封裝,支持處理器接口以字節/字模式的I/O命令操作內部存儲器數據,集成10/100M帶有AUTO-MDIX的接收器,支持用于全雙工流控制的IEEE802.3x標準,提供IP/TCP/UDP校驗和生成以及校驗過(guò)程,可選的EEPROM配置。
  DM9000A與控制器和RJ45連接器的連接如圖4所示。DM9000A與控制器有兩種數據總線(xiàn)寬度的連接方式,即8位/16位模式,論文選用16位操作模式。DM9000A通過(guò)TX+、TX-、RX+和RX- 4條線(xiàn)與自帶隔離變壓器的RJ45轉換器相連。RESET引腳為DM9000A的復位引腳,低電平有效;X1外接25 Hz時(shí)鐘頻率。
  


  2.5 1553B接口設計
  BU-61580與控制器的接口形式非常靈活,本文根據需求和資源情況選擇16位緩沖連接方式。為了提高本模塊的抗干擾性,論文采用變壓器耦合方式。BU-61580的外圍電路連接圖如圖5所示。
  


  3 模塊軟件設計與開(kāi)發(fā)
  3.1 軟件結構設計
  軟件結構層次由NiosII處理器系統硬件、設備驅動(dòng)程序、HAL API、μC/OSII、LwIP協(xié)議棧、系統初始化和應用程序7部分組成,如圖6所示。
  


  1)NiosII處理器系統硬件:模型的核心,包括在FPGA中實(shí)現的NiosII軟核處理器和硬件外設;2)設備驅動(dòng)程序:管理以太網(wǎng)、1553B組件和其它外設的軟件函數;3)HAL API:硬件抽象層應用程序接口,對設備驅動(dòng)程序提供標準化的接口,對外層提供類(lèi)似于POSIX的API;4)μC /OSII:實(shí)時(shí)操作系統層,為L(cháng)wIP協(xié)議棧、1553B任務(wù)和嵌入式Web任務(wù)提供多任務(wù)和任務(wù)間通訊服務(wù);5)LwIP協(xié)議棧:通過(guò)套接字API為應用程序和應用系統初始化提供網(wǎng)絡(luò )服務(wù);6)系統初始化:包括μC/OSII、LwIP協(xié)議棧和1553B組件初始化函數,也包括所有應用程序的任務(wù)、信號量、隊列和事件性標志等實(shí)時(shí)操作系統任務(wù)間通訊資源的創(chuàng )建;7)應用程序:最外一層是建立的各項應用任務(wù)。
  應用程序工作過(guò)程如下:首先進(jìn)行系統初始化,然后進(jìn)入工作等待狀態(tài)。以太網(wǎng)任務(wù)等待客戶(hù)端通過(guò)以太網(wǎng)發(fā)來(lái)的數據包,當有數包到達時(shí),經(jīng)物理層處理后交于TCP/IP層處理。在TCP/IP協(xié)議層之上,建立了3個(gè)套接字接口來(lái)偵聽(tīng)套接字連接:嵌入式Web端口、PING端口和1553B端口。對于1553B任務(wù),根據客戶(hù)端不同的請求,將啟動(dòng)不同的任務(wù)來(lái)完成相應的數據命令的發(fā)送或狀態(tài)的讀取。
  3.2 基于μC/OSII的LwIP協(xié)議實(shí)現
  輕量型IP(Light Weight IP,LwIP)協(xié)議是用于嵌入式系統開(kāi)放源代碼的TCP/IP協(xié)議棧。LwIP在保持TCP協(xié)議主要功能的基礎上減少對RAM的占用,非常適合在嵌入式系統中使用。
  LwIP協(xié)議棧在設計時(shí)就考慮了移植問(wèn)題,把所有與硬件、OS和編譯器相關(guān)的部分獨立了出來(lái),因此LwIP在μC/OSII上移植只需修改目錄下的文件即可。
  3.3 1553B總線(xiàn)協(xié)議任務(wù)的實(shí)現
  為方便對BU-61580芯片操作,開(kāi)發(fā)了BU-61580的驅動(dòng)程序。驅動(dòng)程序包括BU-61580芯片的初始化函數、BC發(fā)送接收命令函數、BC發(fā)送發(fā)送命令函數、BC發(fā)送接收/發(fā)送命令函數、BC發(fā)送不帶數據字的方式命令函數和BC發(fā)送帶數據字的方式命令函數。
  參考嵌入式Web服務(wù)器的實(shí)現方式,基于LwIP和μC/OSII建立了端口號為8000的1553B套字接口任務(wù),流程如圖7所示。
  


  首先建立1553B任務(wù)接口守護進(jìn)程,創(chuàng )建TCP套接字,綁定端口,將TCP套接字轉換成偵聽(tīng)套接字,進(jìn)入循環(huán)結構,等待接受用戶(hù)的連接請求。當有客戶(hù)端請求連接端口8000時(shí),調用套接字數據接收函數recv()將客戶(hù)端發(fā)送的數據讀取過(guò)來(lái),將數據映射到定義的結構體變量alt_avalon_BU61580*bdev上;用請求解析函數int 1553B_request(alt_avalon BU61580*bdev)根據messagemode判斷需要采取什么操作方式:然后BU-61580的發(fā)送數據函數將數據內容寫(xiě)到相應的寄存器或存儲器內,啟動(dòng)BC發(fā)送;如果調用讀取數據函數,則將存儲器或寄存器地址傳遞給讀取函數,將讀取到的數據調用函數int 1553B_transmit(&bdev[ i],i)經(jīng)以太網(wǎng)打包后發(fā)送給客戶(hù)端。
                                
                  4 儀器驅動(dòng)程序開(kāi)發(fā)
  儀器驅動(dòng)程序是介于上層用戶(hù)應用程序和底層儀器硬件之間的一組函數,用戶(hù)在開(kāi)發(fā)上層應用程序時(shí),可以調用這些基本動(dòng)作函數來(lái)使用儀器,而無(wú)須與底層硬件通訊。
  參閱VPP規范,模塊提供了基于VISA函數的儀器驅動(dòng)程序。通過(guò)調用VISA函數,向模塊發(fā)送命令來(lái)完成模塊的功能。開(kāi)發(fā)環(huán)境為L(cháng)abWindo ws/CVI,而選用Agilent VISA作為VISA函數庫,主要是考慮Agilent是LxI總線(xiàn)的發(fā)起者,而且其提供的Agilent I/O Libraries封裝了許多關(guān)于LxI的功能。VISA函數所用的LxI儀器描述符有兩種:
  1)對于VXI-11規范為:TCPIPO::192.168.4.10::instO::INSTR;
  2)對于Sockets接口為:TCPIPO::192.168.4.10::8000::SOCKET。
  其中192.168.4.10為模塊地址(非固定),8000為1553B接口任務(wù)的端口號。開(kāi)發(fā)的驅動(dòng)程序以動(dòng)態(tài)鏈接庫形式提供給上層應用程序使用。
  儀器驅動(dòng)程的開(kāi)發(fā)步驟、驅動(dòng)函數原形以及發(fā)送的具體命令本文不再贅述。具體的驅動(dòng)程序函數及其功能如下:
  系統函數:
  




  5 結論
  針對基于LxI總線(xiàn)的1553B模塊開(kāi)發(fā)需求,本文提出了一種利用SOPC技術(shù)實(shí)現LxI總線(xiàn)到1553B總線(xiàn)通訊的硬件解決方法。在NioslI軟核處理器上移植了μC/OSII嵌入式實(shí)時(shí)操作系統,實(shí)現了TCP/IP協(xié)議;開(kāi)發(fā)了以太網(wǎng)和1553B自定義組件,并開(kāi)發(fā)了其相應的DM9000A和BU-61580驅動(dòng)程序;最終開(kāi)發(fā)了儀器的驅動(dòng)函數為便于模塊工程應用。
  文中設計方法降低了儀器的開(kāi)發(fā)難度,減少了模塊體積,同時(shí)也便于模塊的升級,具有良好的工程應用和經(jīng)濟價(jià)值。
本文地址:http://selenalain.com/thread-155835-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页