亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于XVC協(xié)議的FPGA調(diào)試模塊設(shè)計(jì)

        2019-09-10 02:00:30
        艦船電子對(duì)抗 2019年4期
        關(guān)鍵詞:板卡以太網(wǎng)數(shù)據(jù)包

        趙 赟

        (中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225101)

        0 引 言

        隨著現(xiàn)代艦船電子設(shè)備的高度集成化,相關(guān)的分機(jī)板卡也越來(lái)越多。傳統(tǒng)的USB-JTAG調(diào)試方式通信有效距離短,在艦船現(xiàn)場(chǎng)調(diào)試FPGA時(shí),由于內(nèi)外部環(huán)境復(fù)雜,調(diào)試人員可能需要攀爬,或者擁擠在狹小空間內(nèi),同時(shí)多塊板卡對(duì)應(yīng)單獨(dú)的調(diào)試電纜,調(diào)試不同板卡還需要不停插拔,給調(diào)試工作帶來(lái)極大不便。

        針對(duì)此現(xiàn)象,本文基于Xilinx公司提出的XVC協(xié)議[1],設(shè)計(jì)了一種PTMP以太網(wǎng)調(diào)試模塊,它通過(guò)高速背板同各個(gè)板卡連接,以Xilinx公司推出的Zynq7000芯片為處理芯片,以Realtek公司的RTL8305NB-CG交換芯片作為網(wǎng)絡(luò)橋接,調(diào)試人員通過(guò)單個(gè)以太網(wǎng)口就能調(diào)試所有板卡,有效調(diào)試距離為100 m,還能支持多人在艦船不同地點(diǎn)同時(shí)調(diào)試,大大提升了艦船現(xiàn)場(chǎng)調(diào)試的便捷性和安全性。

        1 模塊原理框圖設(shè)計(jì)

        本模塊系統(tǒng)原理框圖如圖1所示,調(diào)試電腦(PC)通過(guò)以太網(wǎng)和網(wǎng)絡(luò)交換芯片相連,網(wǎng)絡(luò)交換芯片將數(shù)據(jù)包分發(fā)到各個(gè)Zynq7000芯片,Zynq7000的處理系統(tǒng)(PS)部分接收到調(diào)試PC的以太網(wǎng)數(shù)據(jù)包后通過(guò)AXI4-Lite總線發(fā)送到可編程邏輯(PL)部分,PL部分將其解析并轉(zhuǎn)化為聯(lián)合測(cè)試工作組(JTAG)時(shí)序信號(hào)發(fā)送至需要調(diào)試的FPGA芯片,完成調(diào)試工作。

        圖1 系統(tǒng)原理框圖

        1.1 處理芯片選用

        本文選用Zynq7000系列芯片作為模塊的處理芯片,該芯片是Xilinx公司推出的片上系統(tǒng)(Soc)解決方案,該方案將ARM公司Cortex-A9和FPGA集成在一個(gè)芯片上,通過(guò)內(nèi)部總線連接,從而讓內(nèi)部通信速度大大提升。它分為PS和PL兩大部分,PS部分包括2個(gè)ARM Cortex-A9處理器、AXI總線、內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器及外設(shè)接口(這些外設(shè)包括USB總線、以太網(wǎng)接口、SD卡接口、I2C總線接口、CAN總線接口、串口、GPIO等等);而PL部分則包括Xilinx 7系列的FPGA[2],Zynq7000的具體架構(gòu)如圖2所示。

        圖2 Zynq7000芯片內(nèi)部結(jié)構(gòu)框圖

        1.2 AXI總線選用

        Zynq7000作為Xilinx首款將ARM Cortex-A和7系列FPGA集成的Soc,其優(yōu)勢(shì)在于ARM處理器和FPGA之間的高速通信,而AXI(Advanced Extensible Interface)總線就是連接這兩者的高速通道。AXI屬于ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture),是一種高性能的片內(nèi)總線,AMBA-AXI協(xié)議主要用用于高帶寬、低延遲的系統(tǒng)設(shè)計(jì),描述主從設(shè)備之間的數(shù)據(jù)傳輸方式[3]。主設(shè)備和從設(shè)備之間用握手信號(hào)建立連接。當(dāng)從設(shè)備準(zhǔn)備要接收數(shù)據(jù)時(shí),會(huì)向主設(shè)備發(fā)送READY信號(hào)。而當(dāng)主設(shè)備的數(shù)據(jù)準(zhǔn)備好后,會(huì)發(fā)出和維持一個(gè)VALID信號(hào),表示數(shù)據(jù)有效,VALID和READY信號(hào)都有效的時(shí)候,握手完成,主從設(shè)備之間開(kāi)始傳輸數(shù)據(jù)。

        Zynq7 000支持AXI4-Lite、AXI4和AXI4-Stream 3種總線模式,表1列舉了3種AXI總線的特性。

        表1 3種AXI總線比較

        本模塊的設(shè)計(jì)需求是將以太網(wǎng)數(shù)據(jù)包轉(zhuǎn)化為JTAG命令,用于調(diào)試和下載FPGA,屬于低速應(yīng)用,而 AXI-Lite總線結(jié)構(gòu)簡(jiǎn)單,適合這種小批量、簡(jiǎn)單控制的場(chǎng)合,所以本模塊使用AXI4-Lite總線來(lái)傳輸ARM和FPGA之間的數(shù)據(jù)。

        1.3 網(wǎng)絡(luò)交換設(shè)計(jì)

        本模塊為Zynq7000設(shè)計(jì)的以太網(wǎng)接口,為簡(jiǎn)化的千兆比特介質(zhì)獨(dú)立接口(RGMII),該接口由IEEE 802.3-2000定義,支持10/100/1 000 Mbps傳輸速率,同時(shí)采用4位數(shù)據(jù)接口,有效減少了芯片接口管腳數(shù)目,通過(guò)Zynq7000 PS部分設(shè)計(jì)了支持AXI4-Lite總線的以太網(wǎng)MAC架構(gòu)[4]。

        為了交換對(duì)應(yīng)不同板卡的以太網(wǎng)數(shù)據(jù)包,本模塊還在PC機(jī)和Zynq7000芯片設(shè)計(jì)了一個(gè)網(wǎng)絡(luò)交換模塊,該模塊的核心芯片選用了Realtek公司的RTL8305NB-CG芯片,它有5個(gè)端口,每個(gè)端口有獨(dú)立的媒體訪問(wèn)控制地址(MAC)和物理層接口(PHY),支持10/100 M以太網(wǎng)交換,從調(diào)試PC發(fā)送的以太網(wǎng)數(shù)據(jù)包會(huì)通過(guò)接入端口向所有端口廣播,而對(duì)應(yīng)的Zynq7000芯片收到廣播信息后,會(huì)根據(jù)對(duì)應(yīng)信息選擇接收還是丟棄所收到的以太網(wǎng)數(shù)據(jù)包[5],從而完成本模塊設(shè)計(jì)的PTMP功能。

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

        2.1 XVC協(xié)議

        本模塊軟件是基于Xilinx XVC協(xié)議設(shè)計(jì),XVC協(xié)議是Xilinx公司推出的基于TCP/IP的虛擬線纜協(xié)議,允許用戶不使用傳統(tǒng)的USB線纜,而是通過(guò)以太網(wǎng)來(lái)遠(yuǎn)程訪問(wèn)FPGA的JTAG接口并對(duì)其進(jìn)行調(diào)試,支持多種平臺(tái)。

        2.2 Lwip協(xié)議

        本模塊的網(wǎng)絡(luò)硬件接口為RGMII接口,同時(shí)通過(guò)Lwip協(xié)議實(shí)現(xiàn)以太網(wǎng)連接,Lwip協(xié)議是一種TCP/IP協(xié)議的小型化實(shí)現(xiàn),最初由Adam Dunkels在瑞典計(jì)算機(jī)科學(xué)研究所的計(jì)算機(jī)和網(wǎng)絡(luò)架構(gòu)(CNA)實(shí)驗(yàn)室編寫。它實(shí)現(xiàn)的重點(diǎn)是在保持TCP/IP協(xié)議的主要功能情況下同時(shí)減少硬件RAM使用。這使得Lwip適用于小容量RAM或者ROM的嵌入式系統(tǒng)?,F(xiàn)在Lwip已被移植到多個(gè)平臺(tái)和操作系統(tǒng),無(wú)需底層操作系統(tǒng)都可以運(yùn)行[6]。

        Zynq7000通過(guò)Xilinx Vivado軟件的軟件開(kāi)發(fā)工具(SDK)來(lái)實(shí)現(xiàn)Lwip協(xié)議,在Vivado軟件中通過(guò)一個(gè)知識(shí)產(chǎn)權(quán)(IP)核集成工具完成基于Zynq的硬件平臺(tái)設(shè)計(jì),在搭建好硬件平臺(tái)后直接發(fā)送到SDK,然后再通過(guò)該平臺(tái)加載軟件程序。

        2.3 系統(tǒng)軟件流程圖

        本文基于Zynq7000芯片設(shè)計(jì)的軟件流程圖如圖3所示。

        Processing_system7_0k模塊為Zynq7000的PS部分,首先負(fù)責(zé)所有外設(shè)驅(qū)動(dòng)編寫,包括以太網(wǎng)、串口、DDR等,在設(shè)備啟動(dòng)后首先將外設(shè)初始化,然后開(kāi)始通過(guò)RGMII網(wǎng)口接收由調(diào)試PC發(fā)送的XVC協(xié)議以太網(wǎng)數(shù)據(jù)包,該數(shù)據(jù)包主要由以下3種命令組成:

        l getinfo:

        l shift:[number of bits][TMS vector][TDI vector]

        l settck:[period in nanoseconds]

        其中,getinfo命令檢索XVC服務(wù)的版本和TMS及TDI信號(hào)位移的最大指針長(zhǎng)度,目前Xilinx使用的XVC服務(wù)為v1.0,TMS和TDI的最大指針長(zhǎng)度和軟件應(yīng)用定義的緩存深度有關(guān),本模塊定義的最大長(zhǎng)度為2 048,所以getinfo命令返回的字符串為xvcServer_v1.0∶2048 。

        shift命令是XVC協(xié)議的主要命令,它由三部分組成,共6個(gè)字節(jié),前4個(gè)字節(jié)指示TMS和TDI的指針長(zhǎng)度,后面2個(gè)字節(jié)則是發(fā)送的TMS和TDI數(shù)據(jù),該指令會(huì)返回同TMS指針向量同樣長(zhǎng)度的TDO指針,代表從JTAG接口返回的全部TDO數(shù)據(jù)[7]。

        圖3 系統(tǒng)軟件流程圖

        settck命令主要用來(lái)設(shè)置TCK信號(hào)的時(shí)鐘周期,基本單位為ns,具體通過(guò)ASCII碼來(lái)定義。比如十進(jìn)制100 對(duì)應(yīng)的ASCII字符為D,將settck命令值設(shè)為D(即設(shè)置TCK信號(hào)的周期為100ns[8])。

        另外2個(gè)模塊rst_processing_system7_0_100 M負(fù)責(zé)軟件模塊的復(fù)位,而processing_system7_0_axi_periph模塊則在解析PC機(jī)通過(guò)XVC服務(wù)發(fā)送的以太網(wǎng)包后,將解析過(guò)的命令通過(guò)AXI4-Lite總線寫入PL部分的寄存器,然后通過(guò)axi_jtag_0模塊轉(zhuǎn)換為JTAG時(shí)序連接到目標(biāo)FPGA,從而完成調(diào)試。

        3 調(diào)試測(cè)試

        本文的測(cè)試環(huán)境軟件為Xilinx Vivado軟件,打開(kāi)Vivado軟件進(jìn)入硬件管理界面,在TCL控制臺(tái)輸入指令,連接目標(biāo)FPGA對(duì)應(yīng)的IP地址,連接成功后開(kāi)始對(duì)目標(biāo)FPGA進(jìn)行下載調(diào)試。如圖4所示,通過(guò)Vivado軟件的現(xiàn)場(chǎng)測(cè)試,將一個(gè)5 M的bit文件在線加載進(jìn)FPGA所需時(shí)間為20 s左右,而通過(guò)Bpi模式燒錄mcs文件進(jìn)入對(duì)應(yīng)Flash時(shí)間大約為25 min。和傳統(tǒng)JTAG相比,調(diào)試下載速度基本一致,但對(duì)于現(xiàn)實(shí)設(shè)備上的板卡調(diào)試而言,該方法更加靈活方便。

        圖4 目標(biāo)FPGA連接成功

        4 結(jié)束語(yǔ)

        在本模塊中,調(diào)試PC通過(guò)網(wǎng)絡(luò)交換芯片,利用單網(wǎng)口可以訪問(wèn)所有板卡對(duì)應(yīng)的Zynq7000芯片,通過(guò)XVC協(xié)議將以太網(wǎng)數(shù)據(jù)包解析為JTAG命令,從而完成調(diào)試板載FPGA的目的。在實(shí)際設(shè)備應(yīng)用中,僅需要一個(gè)交換芯片模塊,而將Zynq7000芯片集成在各塊板卡上,用來(lái)代替?zhèn)鹘y(tǒng)的上電控制芯片。

        猜你喜歡
        板卡以太網(wǎng)數(shù)據(jù)包
        基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        SmartSniff
        談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        一種通用模擬量及開(kāi)關(guān)量信號(hào)采集板卡的設(shè)計(jì)
        国产精品白浆视频免费观看| 加勒比色老久久爱综合网| 亚洲熟女综合色一区二区三区| 欧美中日韩免费观看网站| 精品性高朝久久久久久久| 国产精品反差婊在线观看| 免费av在线视频播放| 久久久麻豆精亚洲av麻花| 欧美a级在线现免费观看| 久久综合国产乱子伦精品免费| 久草午夜视频| 妇女自拍偷自拍亚洲精品| 精品国产乱子伦一区二区三| 亚洲av无码偷拍在线观看| 看av免费毛片手机播放| 免费看国产成年无码av| 国产精品一区二区久久精品蜜臀| 国产av剧情久久精品久久 | 亚洲国产日韩欧美综合a| 亚洲精品黑牛一区二区三区| 国产69口爆吞精在线视频喝尿| 粗大挺进孕妇人妻在线| 水蜜桃精品视频在线观看| 99精品国产在热久久无码 | 国产成a人亚洲精品无码樱花| 亚洲精品午睡沙发系列| 99精品久久久中文字幕| 久久综合久中文字幕青草| 日韩精品视频免费网站| 窝窝午夜看片| 无码久久流水呻吟| 国产一区二区三区涩涩| 中国人在线观看免费的视频播放| 亚洲精品无码久久久| 免费jjzz在线播放国产| 国产69精品久久久久999小说| 亚洲一区二区欧美色妞影院| 国产午夜激情视频在线看| 日本护士xxxxhd少妇| 亚洲国产美女精品久久久| 日韩亚洲欧美精品|