CN104991862B - 基于jtag虚拟技术的fpga远程在线调测方法 - Google Patents
基于jtag虚拟技术的fpga远程在线调测方法 Download PDFInfo
- Publication number
- CN104991862B CN104991862B CN201510358960.XA CN201510358960A CN104991862B CN 104991862 B CN104991862 B CN 104991862B CN 201510358960 A CN201510358960 A CN 201510358960A CN 104991862 B CN104991862 B CN 104991862B
- Authority
- CN
- China
- Prior art keywords
- usb
- commissioning
- jtag
- arm
- board
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及一种基于JTAG虚拟技术的FPGA远程在线调测方法,其中包括:通过MFC编写基于DSF架构的远程调测软件,包含FPGA板卡的添加、删除、连接等模块,并实现对JTAG设备功能的模拟;测试板卡以TM4C129XNCZAD ARM处理器为核心,使用实时操作系统实现多线程控制;ARM通过网络和远程调测软件交互,接收其下发的USB命令;并将其转换成USB数据包与JTAG转换电路进行交互。
Description
技术领域
本发明属于在雷达或数字信号处理领域中方法应用的FPGA远程在线调测领域,克服了研发人员在FPGA调测时经常遇到的环境问题,并且方便了雷达数字T/R组件的调测,具有一定的应用价值。
背景技术
FPGA在雷达信号处理中的使用越来越广泛,目前大部分都需要通过专门的USBJTAG电缆进行bit、bin文件下载配置、在线调试等。但是USB JTAG电缆的传输距离有限,在某些狭小空间和无人值守的场所十分不方便;另外在调测雷达数字T/R组件时需要将封闭的盒子打开才能进行调测工作,随着组件个数的增加,无疑加剧了研发人员不必要的工作量,在这种背景下考虑开发FPGA的远程bit流下载和在线调测方法。
目前国内外普遍集中在远程FPGA配置上,对于远程FPGA调测研究较少。
国外只有Xilinx公司本身impact中自带了一个网络调试,但是该方法较落后,需要两台调试计算机,其中一台调试计算机仍然采用USB电缆和FPGA板卡相连,而用网线和另外一台调测计算机相连,进行交互。这种方法并没有解决远程调测的实质,仍然是需要USB电缆,需要打开机壳插入USB下载线。
国内有魂芯国产DSP板的网络调试盒,但是无法满足FPGA的调测。中科海讯公司的板卡也有类似的网络调试,但是其需要加入的电路复杂,且无法满足日益更新的FPGA的需求。
通过对国内外的研究可以得出,目前国内外对FPGA的远程配置调测研究上,多将配置和调测进行分开,对于配置的研究较为成熟,而调测基本上局限于实验室、或者人机在现场,没有一个合适的方案将这两种进行统一。
本发明在调试计算机端基于DSF架构虚拟JTAG设备,在板卡端基于ARM开发USB转JTAG电路,针对Xilinx公司的FPGA,iMpact和ChipScope调试软件开发了FPGA网络在线调测方法。本发明可以替代目前使用的JTAG下载电缆,方便了用户的配置、调测工作。
发明内容
本发明的目的在于提供一种远程在线调测Xilinx FPGA的方法。
本发明利用网络接口方便、传输距离远的优点,在FPGA板卡上嵌入相应电路,直接通过FPGA板卡网口连接到调试计算机实现远程bit流下载、在线调测功能。
实现本发明目的的设计思路为:调试计算机端开发远程调测软件,以供用户选择需要调测的FPGA板卡,从而连接底层硬件。并采用Windows Develop Kit中的dsf架构模拟出可用的虚拟JTAG设备,从而安装设备驱动。在ChipScope或iMpact软件进行USB操作时,即被虚拟设备截获,再通过网络与FPGA板卡交互,从而可以像操作实际硬件一样操作虚拟设备,实现远程操作。
FPGA板卡上增加了一小块嵌入式电路,以基于Cortex-M4的ARM处理器为核心,设计其外围电路和FT2232USB转JTAG电路;
ARM完成网络数据通信和USB数据传输。首先ARM在NDK网络堆栈初始化之后,建立TCP网络连接,接收调试计算机端发送的USB传输命令或数据,将其转换成USB数据包,通过USB2.0PHY芯片和FT2232进行交互,然后把从FT2232得到的USB数据转换为网络数据包发送给调试计算机端。
附图说明
图1系统框图。
图2网络传输流程图。
具体实施方式
本发明采用的技术方案为:采用网线替代传统的USB电缆连接调试计算机和调测板卡,调试计算机端开发的远程调测软件,通过每块板卡分配的IP地址,实现板卡的添加、删除、连接;并模拟出可用的JTAG设备;调测板卡以ARM处理器为核心,通过外部PHY芯片将ARM从USB1.1扩展为USB2.0,并与FT2232进行交互,完成USB2.0和JTAG的转换;ARM作为TCP连接的服务器端,接收客户端设备发送的USB传输命令或数据,根据预定的协议将其转换成USB数据包,同时把从FT2232得到的USB数据转换为网络数据包发送给远程调测软件;虚拟设备截获ChipScope或iMpact软件进行的USB操作,通过网络发送给ARM,ARM再和实际硬件交互,最终实现远程在线调测。
本发明的整体架构如图1,主要包括调试计算机端的调测软件、调测板卡上的嵌入式电路。
调测软件主体为一个对话框,具有板卡添加、删除、连接功能,用户选择对应IP地址的板卡,程序则与对应板卡上的ARM建立TCP网络连接,并获取调测板卡上实际JTAG设备的描述符、端点等信息,从而在计算机端基于DSF架构模拟出JTAG设备,仿佛设备确实连接在计算机的USB端口,并安装设备驱动,设备管理器中出现Digilent Adapt Device设备。
JTAG设备的模拟主要是采用了微软公司驱动开发套件WDK中的DeviceSimulation Framework架构,分为动态链接库和控制脚本两部分。动态链接库dll实现一个设备实体类,控制脚本调用dll创建类对象,发出设备插拔等控制命令,并进一步调用动态链接库函数。动态链接库实现的类中包括设备的设备描述符、配置描述符、设备接口端点信息、设备字符串等结构体,并完成了处理标准USB请求、USB数据输入/输出请求的函数。本方法的设备中有一个控制端点、一个IN端点、一个OUT端点,端点可以使用事件触发或轮询模式传输,由于传输数据量大和速度快,本方法选用事件触发模式。板卡建立网络连接后,进行设备枚举,触发标准USB请求事件,在事件处理函数中将标准/厂商请求命令按协议打包为网络包,通过网络发送给ARM,等待ARM返回获取的实际硬件信息和状态信息。枚举成功则调试计算机发现设备插入,安装设备驱动。ChipScope或iMpact软件则是和设备驱动打交道,设备驱动再触发数据传输事件,其事件处理函数则类似地将命令打包发送给ARM,等待ARM返回实际设备返回的响应数据,再翻译成USB数据返回给驱动,从而完成远程操作。
调测板卡基于FTDI公司的FT2232芯片设计了USB2.0转JTAG的电路,JTAG端连接FPGA形成JTAG链路,USB端挂接在ARM上,ARM则充当USB主机。ARM上开发嵌入式程序,完成网络和USB通信。
本发明选用的ARM芯片内部只实现了USB1.1的PHY,但是其USB控制器支持USB2.0协议,并留有ULPI接口,但是需要外接一个PHY芯片,将其扩展,这里选用USB3320PHY芯片。ARM上电后,首先进行USB2.0驱动初始化,使能ULPI接口,并复位USB3320设备,对其进行工作模式配置。当USB设备通过PHY芯片连接上ARM后,PHY发送RXD CMD,从而产生连接中断事件通知ARM;ARM调用枚举驱动对USB设备进行枚举。枚举的流程为:先复位设备,接着检测设备运行在低速、全速还是高速模式,再获取USB设备的设备描述符并重新分配地址,然后获取配置、字符串描述符等,最后为设备驱动程序选择配置。USB设备枚举成功后,作为TCP服务器端,等待客户端软件连接,网络通信采用NDK网络开发包来进行网络传输开发,具体的网络传输流程如图2。网络传输主要负责接收上层发送的命令包,并按预定的协议解析成USB包,交给USB通信部分和实际设备FT2232进行通信,并反馈给上层软件。
最终将ARM程序固化于芯片中,网线连接测试板卡和调试计算机。调试计算机端运行远程控制软件,选择对应的板卡,与之建立连接,连接成功后在设备管理器中出现Digilent Adapt Device设备。然后,用户通过Xilinx公司的iMPACT软件、ChipScope软件进行FPGA的调测工作,如扫描PGA等JTAG链路、对FPGA芯片加载bit流、FPGA内部逻辑数据的捕捉和分析。
Claims (1)
1.基于JTAG虚拟技术的FPGA远程在线调测方法,其特征在于:采用网线替代传统的USB电缆连接调试计算机和调测板卡,调试计算机端开发的远程调测软件,通过每块板卡分配的IP地址,实现板卡的添加、删除、连接;并虚拟出USB设备;调测板卡以ARM处理器为核心,通过外部PHY芯片将ARM从USB1.1扩展为USB2.0,并与FT2232进行交互,完成USB2.0和JTAG的转换;ARM作为TCP连接的服务器端,接收客户端设备发送的USB传输命令或数据,根据预定的协议将其转换成USB数据包,同时把从FT2232得到的USB数据转换为网络数据包发送给远程调测软件;虚拟设备截获ChipScope或iMpact软件进行的USB操作,通过网络发送给ARM,ARM再和实际硬件交互,最终实现远程在线调测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510358960.XA CN104991862B (zh) | 2015-06-25 | 2015-06-25 | 基于jtag虚拟技术的fpga远程在线调测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510358960.XA CN104991862B (zh) | 2015-06-25 | 2015-06-25 | 基于jtag虚拟技术的fpga远程在线调测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104991862A CN104991862A (zh) | 2015-10-21 |
CN104991862B true CN104991862B (zh) | 2017-11-28 |
Family
ID=54303678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510358960.XA Active CN104991862B (zh) | 2015-06-25 | 2015-06-25 | 基于jtag虚拟技术的fpga远程在线调测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991862B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069681B2 (en) * | 2015-12-31 | 2018-09-04 | Amazon Technologies, Inc. | FPGA-enabled compute instances |
CN107346257A (zh) * | 2017-07-03 | 2017-11-14 | 山东超越数控电子有限公司 | 一种基于申威服务器usb转jtag更新fpga程序的实现方法及装置 |
CN107819656B (zh) * | 2017-11-21 | 2020-04-28 | 上海航天测控通信研究所 | 一种基于rs422和can总线的fpga远程在线调配装置及方法 |
CN110442488A (zh) * | 2019-07-02 | 2019-11-12 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于Zynq平台通过以太网远程调试FPGA的方法 |
CN112055045A (zh) * | 2020-07-22 | 2020-12-08 | 北京杰创永恒科技有限公司 | 基于远程控制的网络虚拟实验室系统 |
CN112230189A (zh) * | 2020-09-15 | 2021-01-15 | 北京无线电测量研究所 | 一种专用雷达阵面远程调试装置和方法 |
CN112255598B (zh) * | 2020-10-14 | 2023-09-26 | 四川九洲空管科技有限责任公司 | 基于光纤通信的fpga远程在线调试方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196557A (zh) * | 2007-12-18 | 2008-06-11 | 上海华为技术有限公司 | 一种现场可编程门阵列测试的方法、装置和系统 |
US8797880B2 (en) * | 2010-02-09 | 2014-08-05 | Juniper Networks, Inc. | Remote network device component testing |
CN102006200A (zh) * | 2010-11-09 | 2011-04-06 | 华为技术有限公司 | 调试处理方法、系统和单板 |
-
2015
- 2015-06-25 CN CN201510358960.XA patent/CN104991862B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104991862A (zh) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991862B (zh) | 基于jtag虚拟技术的fpga远程在线调测方法 | |
CN107704346B (zh) | Soc芯片调试方法及调试系统 | |
US8359384B2 (en) | Method, system, and apparatus for communicating with a computer management device | |
CN204759403U (zh) | 一种基于数据透传实现设备内部模块升级的系统 | |
JPH05506119A (ja) | 回路内エミュレータ | |
KR101788724B1 (ko) | 클라우드 컴퓨팅용 대용량 스토리지 가상화 | |
CN102591756B (zh) | 多接口协议芯片的接口协议兼容性验证方法和系统 | |
CN105824729A (zh) | 一种具备通用性的虚拟验证平台及实现方法 | |
US9665502B1 (en) | Virtual I/O hardware | |
CN112612699A (zh) | 一种hid人机交互场景用例通用自动化测试设备 | |
CN116610590A (zh) | 基于zynq平台实现多片fpga远程调试方法及系统 | |
CN111934931A (zh) | 基于xvc协议的服务器及fpga固件更新调试方法 | |
CN102426548A (zh) | 嵌入式系统的调试方法、调试器和调试系统 | |
CN107403573B (zh) | 一种基于stm32f7的usb实验系统及方法 | |
CN108733871A (zh) | 一种纯软件仿真总线通讯的方法 | |
CN102081455B (zh) | 转接器及计算机管理系统 | |
CN101281507A (zh) | Usb接口型dsp实时仿真开发系统 | |
CN114328349A (zh) | 虚拟串口终端系统及其实现方法、设备及计算机存储介质 | |
CN115903569A (zh) | 一种全数字综合模块化航电系统 | |
CN210807344U (zh) | 一种远程fpga实验系统 | |
CN1084899C (zh) | 一种多路传输数据总线的开发仿真系统 | |
CN100456710C (zh) | 实现Tclsh指令远程调用的方法和系统 | |
CN103246607B (zh) | 航空相机地址位模式通信接口的仿真测试方法 | |
CN111294985A (zh) | 一种基于4g的便携式矿灯通信系统、通信方法及构建方法 | |
CN113608935B (zh) | 一种测试网卡的方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |