• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      趙 赟

      (中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)

      0 引 言

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

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

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

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

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

      1.1 處理芯片選用

      本文選用Zynq7000系列芯片作為模塊的處理芯片,該芯片是Xilinx公司推出的片上系統(tǒng)(Soc)解決方案,該方案將ARM公司Cortex-A9和FPGA集成在一個芯片上,通過內(nèi)部總線連接,從而讓內(nèi)部通信速度大大提升。它分為PS和PL兩大部分,PS部分包括2個ARM Cortex-A9處理器、AXI總線、內(nèi)部存儲器、外部存儲器及外設(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)勢在于ARM處理器和FPGA之間的高速通信,而AXI(Advanced Extensible Interface)總線就是連接這兩者的高速通道。AXI屬于ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture),是一種高性能的片內(nèi)總線,AMBA-AXI協(xié)議主要用用于高帶寬、低延遲的系統(tǒng)設(shè)計,描述主從設(shè)備之間的數(shù)據(jù)傳輸方式[3]。主設(shè)備和從設(shè)備之間用握手信號建立連接。當(dāng)從設(shè)備準(zhǔn)備要接收數(shù)據(jù)時,會向主設(shè)備發(fā)送READY信號。而當(dāng)主設(shè)備的數(shù)據(jù)準(zhǔn)備好后,會發(fā)出和維持一個VALID信號,表示數(shù)據(jù)有效,VALID和READY信號都有效的時候,握手完成,主從設(shè)備之間開始傳輸數(shù)據(jù)。

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

      表1 3種AXI總線比較

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

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

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

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

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

      2.1 XVC協(xié)議

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

      2.2 Lwip協(xié)議

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

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

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

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

      Processing_system7_0k模塊為Zynq7000的PS部分,首先負(fù)責(zé)所有外設(shè)驅(qū)動編寫,包括以太網(wǎng)、串口、DDR等,在設(shè)備啟動后首先將外設(shè)初始化,然后開始通過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信號位移的最大指針長度,目前Xilinx使用的XVC服務(wù)為v1.0,TMS和TDI的最大指針長度和軟件應(yīng)用定義的緩存深度有關(guān),本模塊定義的最大長度為2 048,所以getinfo命令返回的字符串為xvcServer_v1.0∶2048 。

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

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

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

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

      3 調(diào)試測試

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

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

      4 結(jié)束語

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

      猜你喜歡
      板卡以太網(wǎng)數(shù)據(jù)包
      基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
      基于PCI9054的多總線通信板卡的研制
      基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
      SmartSniff
      談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
      一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
      英山县| 鄂伦春自治旗| 卫辉市| 许昌县| 湄潭县| 井陉县| 垣曲县| 句容市| 高阳县| 内乡县| 颍上县| 玉环县| 朝阳县| 承德县| 宽城| 苏尼特右旗| 天镇县| 梁平县| 吉隆县| 界首市| 潍坊市| 来安县| 小金县| 章丘市| 蒲江县| 绥阳县| 舞钢市| 阿瓦提县| 洛扎县| 额敏县| 德格县| 彩票| 东乡族自治县| 布尔津县| 济源市| 临汾市| 麻阳| 黑水县| 大余县| 永福县| 大渡口区|