CN104991862B - 基于jtag虚拟技术的fpga远程在线调测方法 - Google Patents

基于jtag虚拟技术的fpga远程在线调测方法 Download PDF

Info

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
Application number
CN201510358960.XA
Other languages
English (en)
Other versions
CN104991862A (zh
Inventor
翟刚毅
王静娇
杨阳
刘剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
724th Research Institute of CSIC
Original Assignee
724th Research Institute of CSIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 724th Research Institute of CSIC filed Critical 724th Research Institute of CSIC
Priority to CN201510358960.XA priority Critical patent/CN104991862B/zh
Publication of CN104991862A publication Critical patent/CN104991862A/zh
Application granted granted Critical
Publication of CN104991862B publication Critical patent/CN104991862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

基于JTAG虚拟技术的FPGA远程在线调测方法
技术领域
本发明属于在雷达或数字信号处理领域中方法应用的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再和实际硬件交互,最终实现远程在线调测。
CN201510358960.XA 2015-06-25 2015-06-25 基于jtag虚拟技术的fpga远程在线调测方法 Active CN104991862B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 调试处理方法、系统和单板

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