當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:針對(duì)基于LXI儀器總線的1553B通訊模塊開發(fā)需求,提出了一種基于SOPC的1553B總線通訊解決方法。以SOPC技術(shù)為支撐,在一塊FPGA上嵌入NiosⅡ軟核處理器、以太網(wǎng)控制組件、1553B控制組件和RAM模塊;通過移植嵌入式實(shí)

摘要:針對(duì)基于LXI儀器總線的1553B通訊模塊開發(fā)需求,提出了一種基于SOPC的1553B總線通訊解決方法。以SOPC技術(shù)為支撐,在一塊FPGA上嵌入NiosⅡ軟核處理器、以太網(wǎng)控制組件、1553B控制組件和RAM模塊;通過移植嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSⅡ和LwIP協(xié)議,實(shí)現(xiàn)了TCP/IP協(xié)議和1553B總線協(xié)議;最后開發(fā)了模塊的儀器驅(qū)動(dòng)程序。本文設(shè)計(jì)方法開發(fā)難度低,設(shè)計(jì)模塊體積小、便于升級(jí),具有較強(qiáng)的工程應(yīng)用和經(jīng)濟(jì)價(jià)值。
關(guān)鍵詞:可編程片上系統(tǒng);LXI總線;1553B總線;嵌入式實(shí)時(shí)操作系統(tǒng)

    自2005年9月LXI總線推出以來,已經(jīng)顯示出其組建測試系統(tǒng)的眾多優(yōu)點(diǎn)?;贚XI總線組建測試系統(tǒng)具有易于使用、靈活性高、模塊化和可擴(kuò)縮性、實(shí)現(xiàn)更快的系統(tǒng)吞吐率、可分布式應(yīng)用、長壽命、低成本、通過IEEE1588時(shí)鐘同步、機(jī)架空間小、合成儀器等諸多優(yōu)點(diǎn)。
    1553B總線的全名為“時(shí)分制指令/響應(yīng)式多路傳輸數(shù)據(jù)總線”,國內(nèi)多型戰(zhàn)斗機(jī)、軍艦等武器平臺(tái)都采用其作為傳輸總線。因此研制基于LXI總線的1553B通訊模塊,不僅能滿足多型武器裝備對(duì)1553B總線的測試需求,也對(duì)LXI總線在國內(nèi)的研究和應(yīng)用有推動(dòng)作用。

1 模塊總體方案
    模塊基本設(shè)計(jì)指標(biāo)為:滿足LXI規(guī)范C類儀器標(biāo)準(zhǔn);支持DHCP、自動(dòng)配置IP地址和手動(dòng)配置IP地址;支持ICMP協(xié)議、TCP/IP協(xié)議和UDP協(xié)議;同步采用網(wǎng)絡(luò)命令方式;能完成1553B在BC模式下的所有功能。
    根據(jù)指標(biāo)要求采用基于SOPC的32位處理器+實(shí)時(shí)多任務(wù)操作系統(tǒng)(Real Time Operation System,RTOS)總體方案,在一塊FPGA芯片上集成了控制器和邏輯單元,既降低了開發(fā)的難度、減少了模塊體積,也易于以后的升級(jí)。32位處理器有足夠的資源可以擴(kuò)充利用,RAM和ROM可以做的足夠大,整個(gè)TCP/IP協(xié)議族可以做到系統(tǒng)里面去,甚至可以嵌入一個(gè)帶TCP/IP協(xié)議族的操作系統(tǒng)。

2 基于SOPC的硬件設(shè)計(jì)與開發(fā)
    片上可編程系統(tǒng)(System on a Programmable Chip,SOPC)將處理器、存儲(chǔ)器、I/O口、LVDS和CDR等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個(gè)PLD器件上構(gòu)建成一個(gè)可編程的片上系統(tǒng),是一種靈活高效的SOC解決方案。SOPC結(jié)合了SOC和可編程邏輯器件各自的優(yōu)點(diǎn),具有靈活的設(shè)計(jì)方式、可剪裁、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程的功能,成為SOC設(shè)計(jì)的新趨勢(shì)。
2.1 模塊硬件架構(gòu)
    模塊硬件主要由NiosII軟核處理器、以太網(wǎng)組件、1553B總線組件、存儲(chǔ)器、片內(nèi)RAM、通用I/O接口和調(diào)試配置模塊7部分組成,架構(gòu)示意如圖1所示。


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


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


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


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

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


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


    首先建立1553B任務(wù)接口守護(hù)進(jìn)程,創(chuàng)建TCP套接字,綁定端口,將TCP套接字轉(zhuǎn)換成偵聽套接字,進(jìn)入循環(huán)結(jié)構(gòu),等待接受用戶的連接請(qǐng)求。當(dāng)有客戶端請(qǐng)求連接端口8000時(shí),調(diào)用套接字?jǐn)?shù)據(jù)接收函數(shù)recv()將客戶端發(fā)送的數(shù)據(jù)讀取過來,將數(shù)據(jù)映射到定義的結(jié)構(gòu)體變量alt_avalon_BU61580*bdev上;用請(qǐng)求解析函數(shù)int 1553B_request(alt_avalon BU61580*bdev)根據(jù)messagemode判斷需要采取什么操作方式:然后BU-61580的發(fā)送數(shù)據(jù)函數(shù)將數(shù)據(jù)內(nèi)容寫到相應(yīng)的寄存器或存儲(chǔ)器內(nèi),啟動(dòng)BC發(fā)送;如果調(diào)用讀取數(shù)據(jù)函數(shù),則將存儲(chǔ)器或寄存器地址傳遞給讀取函數(shù),將讀取到的數(shù)據(jù)調(diào)用函數(shù)int 1553B_transmit(&bdev[i],i)經(jīng)以太網(wǎng)打包后發(fā)送給客戶端。

4 儀器驅(qū)動(dòng)程序開發(fā)
    儀器驅(qū)動(dòng)程序是介于上層用戶應(yīng)用程序和底層儀器硬件之間的一組函數(shù),用戶在開發(fā)上層應(yīng)用程序時(shí),可以調(diào)用這些基本動(dòng)作函數(shù)來使用儀器,而無須與底層硬件通訊。
    參閱VPP規(guī)范,模塊提供了基于VISA函數(shù)的儀器驅(qū)動(dòng)程序。通過調(diào)用VISA函數(shù),向模塊發(fā)送命令來完成模塊的功能。開發(fā)環(huán)境為LabWindo ws/CVI,而選用Agilent VISA作為VISA函數(shù)庫,主要是考慮Agilent是LxI總線的發(fā)起者,而且其提供的Agilent I/O Libraries封裝了許多關(guān)于LxI的功能。VISA函數(shù)所用的LxI儀器描述符有兩種:
    1)對(duì)于VXI-11規(guī)范為:TCPIPO::192.168.4.10::instO::INSTR;
    2)對(duì)于Sockets接口為:TCPIPO::192.168.4.10::8000::SOCKET。
    其中192.168.4.10為模塊地址(非固定),8000為1553B接口任務(wù)的端口號(hào)。開發(fā)的驅(qū)動(dòng)程序以動(dòng)態(tài)鏈接庫形式提供給上層應(yīng)用程序使用。
    儀器驅(qū)動(dòng)程的開發(fā)步驟、驅(qū)動(dòng)函數(shù)原形以及發(fā)送的具體命令本文不再贅述。具體的驅(qū)動(dòng)程序函數(shù)及其功能如下:
    系統(tǒng)函數(shù):


   

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

本站聲明: 本文章由作者或相關(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日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

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

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

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)日本游戲市場的投資。

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

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

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

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

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

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

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

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

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

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

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