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

        ?

        基于USB虛擬技術的FPGA遠程片內調試方法實現

        2016-01-23 18:53:27翟剛毅王靜嬌姜小祥中國船舶重工集團公司第七二四研究所南京211153
        雷達與對抗 2015年2期

        翟剛毅,王靜嬌,姜小祥,楊 陽(中國船舶重工集團公司第七二四研究所,南京211153)

        ?

        基于USB虛擬技術的FPGA遠程片內調試方法實現

        翟剛毅,王靜嬌,姜小祥,楊陽
        (中國船舶重工集團公司第七二四研究所,南京211153)

        摘要:為了方便FPGA調試,針對Xilinx公司的FPGA提出了一種遠程片內調試方法。該方法主要分調試計算機端和測試板卡端兩部?分的實現。調試計算機端開發(fā)上層應用軟件,創(chuàng)建虛擬USB設備;測試板卡端以ARM為核心,具有網絡和USB主機功能,并完成USB到JTAG轉換,最終實現調試計算機上通過網絡進行遠程調試。

        關鍵詞:虛擬USB設備; FPGA遠程調試; ARM; USB主機;網絡傳輸

        0 引言

        雷達研制中大量使用FPGA進行預處理,FPGA系統(tǒng)在使用和調試過程中需要通過USB電纜進行bit流下載、chipscope調試等。而下載電纜傳輸距離有限,在某些狹小空間和無人值守場所急需實現FPGA的遠程加載和調試。

        本文基于USB虛擬技術針對Xilinx公司的FPGA開發(fā)了一種遠程調試方法,利用網絡接口方便、傳輸距離遠的優(yōu)點,在FPGA板卡上嵌入相應電路,直接通過FPGA板卡網口連接到調試計算機實現遠程加載、調試功能。

        1 總體設計

        如圖1所示,本系統(tǒng)主要包括調試計算機和測試板卡兩部分。調試計算機上開發(fā)的應用軟件通過網絡連接板卡,實現FPGA的遠程調試。上層應用軟件基于MFC編寫,并內嵌基于DSF架構的虛擬USB設備。板卡電路核心ARM處理器采用TI公司的TM4C129XNCZAD芯片,USB轉JTAG電路采用FTDI公司的FT232芯片。

        ARM處理器為每一塊板卡分配唯一的IP地址,調試計算機端的應用軟件通過IP地址來選擇不同的板卡。板卡上電后,ARM對USB設備進行枚舉,USB設備信息通過網絡上傳到調試計算機。應用軟件使調試計算機端的Xilinx軟件(如impact和chipscope)與板卡無縫連接,從而進行FPGA的加載、調試,就像本地連接了FPGA下載電纜。

        圖1 系統(tǒng)總體框架

        2 調試計算機端軟件開發(fā)

        調試計算機端主要開發(fā)上層應用軟件,其內嵌虛擬USB設備。在開發(fā)的上層應用軟件中,用戶可以增加或刪除相應板卡的IP地址,工作時選擇某個IP地址的板卡,與其建立連接,并創(chuàng)建下載電纜的虛擬USB設備,其在操作系統(tǒng)層面上與實際設備沒有區(qū)別,可以無縫地和Xilinx軟件交互。

        本文的虛擬設備是基于DSF(Device Simulation Framework)開發(fā)的。DSF提供了通過軟件編程來虛擬USB設備的架構[1]。DSF編程環(huán)境包括一套完成USB虛擬設備中各種組件的COM對象、運行服務和USB2.0 EHCI虛擬控制器,具體架構如圖2所示。微軟已經提供了可用的虛擬USB控制器,本文主要開發(fā)了COM組件。COM組件分為服務器和客戶端兩部分:服務器即一個描述設備功能的動態(tài)鏈接庫,客戶端用于控制虛擬設備行為。

        圖2 DSF架構

        2.1 COM動態(tài)鏈接庫開發(fā)

        COM動態(tài)鏈接庫實際是一個COM實體類(如CJTAGDevice)的實現,USB設備虛擬器主要使用DSF架構提供的SoftUSBDevice COM組件直接和控制器通信,并處理標準USB設備請求和其他事件等。

        圖3 SoftUSB對象結構圖

        SoftUSBDevice對象結構如圖3所示,其下屬包含了USB設備的配置信息,其中SoftUSBConfiguration、SoftUSBInterface、SoftUSBEndpoint對象分別包含了配置描述符、接口描述符、端點描述符特性。SoftUSBEndpoint同時控制USB數據的輸入和輸出,本文設置了一個IN端點和一個OUT端點。端點可以使用事件觸發(fā)(event-driven)或輪詢(polled data)模式傳輸,考慮到傳輸數據量較大,速度要盡量快,所以選用事件觸發(fā)模式。開始事件處理前,在各個端點的ISoftUSBEndpointEvents連接點上分別安裝事件池,其內部定義了數據傳輸的事件:主機向設備傳輸數據時觸發(fā)OnWriteTransfer事件,設備向主機發(fā)送數據時觸發(fā)On-ReadTransfer事件,標準/廠商請求觸發(fā)OnDeviceRequest事件。

        所有事件都由主機先發(fā)起,通知設備,設備再對其作出響應。在事件響應函數中分別添加相應的處理代碼,最后返回ACK、NAK、ERR、STALL狀態(tài)信息,告知主機此次傳輸是否成功。在設備枚舉階段會觸發(fā)OnDeviceRequest事件,向ARM端發(fā)送標準/廠商請求命令,ARM和實際物理設備通信,從而獲取設備信息并反饋給電腦端。枚舉成功后,impact/chipscope軟件調用電腦端的設備驅動,由虛擬控制器向設備發(fā)出讀/寫命令,觸發(fā)數據傳輸事件,實際的數據傳輸由底層ARM端實現。

        2.2 COM控制腳本開發(fā)

        COM控制腳本創(chuàng)建虛擬設備對象實例,調用動態(tài)鏈接庫中的函數,發(fā)出設備插拔等各種控制命令[2]??刂颇_本可以有多種實現方式,最早使用Wscript的腳本語言,考慮到在應用軟件中的內嵌以及界面的美觀,改用C + +語言,具體啟動流程為:創(chuàng)建DSF根設備對象?檢測虛擬控制器是否存在?創(chuàng)建虛擬USB設備對象?從USB根hub中獲取一個端口?將新創(chuàng)建的虛擬USB設備對象插入USB根hub中?開始事件處理。

        3 基于ARM的測試板卡端開發(fā)

        測試板卡的核心是TI公司的TM4C129XNCZAD ARM處理器,連接USB轉JTAG的電路。圖4為ARM的外圍電路框圖,圖5為測試板卡實物圖。TM4C129XNCZAD基于ARM Cortex-M4 MCU,是業(yè)界首批具有以太網MAC + PHY的ARM Cortex-M4,支持10個I2C端口、2個12位ADC、2個正交編碼器輸入、3個片上比較器、外部外設接口以及高級脈寬調制輸出[3],其豐富的外設使其在完成本系統(tǒng)設計外仍能用于板卡上其他輔助功能(故檢、軟件加載等)。

        圖4 ARM外設框圖

        圖5 硬件實物圖

        ARM處理器上移植了TI公司面向MCU平臺、基于搶占式多線程內核的完整實時操作系統(tǒng)RTOS,其組件包括了普及型SYS/BIOS實時內核,網絡開發(fā)套件NDK TCP/IP協議棧,USB、EMAC、MMC/SD主機及器件協議棧以及類驅動器等?;谠揟I-RTOS操作系統(tǒng)設計開發(fā)了多線程下的網絡、USB傳輸通信。

        在系統(tǒng)中FPGA下載器為USB設備,ARM作為USB主機,需要進行ARM的USB主機開發(fā)。

        上電后ARM首先進行USB驅動初始化,將其配置為USB Host CDC類,即主機類型,然后周期性地輪詢監(jiān)聽USB設備的狀態(tài)。當有新設備連接時,通過中斷傳輸通知主機,然后調用枚舉驅動對USB設備進行枚舉。具體枚舉過程如圖6所示。

        圖6 USB枚舉流程

        枚舉成功后,一旦接收到USB傳輸命令即開始數據傳輸。USB有控制傳輸、同步傳輸、中斷傳輸和批量傳輸[4]4種傳輸方式,這里主要涉及控制傳輸和批量傳輸。ARM通過解析網絡命令,從而區(qū)分不同的傳輸類型。具體網絡命令協議如圖7所示。

        圖7 網絡數據協議

        4 結束語

        本文介紹了一種基于USB虛擬技術實現FPGA遠程調試的方法,主要包括調試計算機端的控制軟件

        和虛擬USB設備的開發(fā),以及板卡上的ARM和USB 轉JTAG電路的設計,最后直接通過板卡上的網絡連接到電腦上,即可實現FPGA的加載和調試。

        該方法只需利用FPGA板卡上的ARM處理器,并增加USB轉JTAG部分電路,具有成本低、占用空間小的特點,可以全面替代目前使用的FPGA下載電纜實現其功能,在方便調試的同時節(jié)約了開銷。目前該方法已經應用到數字T/R組件中,大大方便了組件的調試工作,即將廣泛應用于雷達FPGA信號處理板卡。

        參考文獻:

        [1]張帆,史彩成,等.Windows驅動開發(fā)技術詳解[M].北京:電子工業(yè)出版社,2008.

        [2]陳林虎.基于DSF架構的USB設備虛擬[J].計算機系統(tǒng)應用,2011(2),221-222.

        [3]Texas Instruments Incorporated.Tiva TM4C129 XNCZAD Microcontroller Data Sheet.2013,58-61.

        [4]Jan Axelson.USB開發(fā)大全[M].李鴻鵬,等譯.北京:人民郵電出版社,2011.

        Realization of a FPGA remote on-chip debugging method based on USB virtual technology

        ZHAI Gang-yi,WANG Jing-jiao,JIANG Xiao-xiang,YANG Yang
        (No.724 Research Institute of CSIC,Nanjing 211153)

        Abstract:A remote on-chip debugging method for the FPGA of Xilinx is proposed to facilitate the FPGA debugging.This method mainly consists of the PC and the test board.The high-level application software is developed on the PC with the USB virtual device created.The test board with the ARM as its core has the functions of the network and the USB host,and completes the USB-to-JTAG conversion.Finally,the remote debugging is realized via the Ethernet.

        Keywords:USB virtual device; FPGA remote debugging; ARM; USB host; network transmission

        作者簡介:翟剛毅(1978-),男,高級工程師,碩士,研究方向:雷達信息處理;王靜嬌(1990-),女,助理工程師,碩士,研究方向:雷達信息處理;姜小祥(1984-),男,工程師,碩士,研究方向:雷達信息處理;楊陽(1989-),男,助理工程師,碩士,研究方向:雷達信息處理。

        收稿日期:2015-03-15;修回日期:2015-04-02

        文章編號:1009-0401(2015)02-0042-03

        文獻標志碼:A

        中圖分類號:TP31

        中文字幕亚洲一区二区不下| 久久久久99精品国产片| 人妻丰满熟妇AV无码区HD| 无码人妻视频一区二区三区99久久| 国产一区二区丰满熟女人妻| 99精品国产成人一区二区在线| 少妇性l交大片免费1一少| 日本一区二区三区亚洲| 精品无码一区二区三区爱欲| 久久9精品区-无套内射无码| 国产人妻精品一区二区三区不卡| 国产AV边打电话边出轨| 国产成人综合日韩精品无| 国产啪精品视频网站| 中文字幕无码无码专区| 青草热久精品视频在线观看| 91综合久久婷婷久久| 永久免费看黄在线观看| 久久黄色国产精品一区视频| 亚洲av永久无码天堂网小说区| 男女啪啪无遮挡免费网站| 亚洲国产毛片| 国产人妖在线免费观看| 人妻精品一区二区三区蜜桃| 凹凸世界视频a一二三| 在线日本看片免费人成视久网 | 亚洲欧美国产日韩天堂在线视| 91孕妇精品一区二区三区| 国产精品99久久不卡二区| 国产夫妻精品自拍视频| 亚洲国产果冻传媒av在线观看 | 日韩亚洲一区二区三区四区 | 久久中文字幕人妻熟av女蜜柚m| 专区亚洲欧洲日产国码AV| 亚洲av午夜福利精品一区二区| av在线一区二区三区不卡| 亚洲精品人成中文毛片| 亚洲伊人一本大道中文字幕 | 国产精品嫩草99av在线| 国产亚洲av手机在线观看| 黑人巨大精品欧美在线观看|