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

文档序号:9274637阅读:771来源:国知局
基于jtag虚拟技术的fpga远程在线调测方法
【技术领域】
[0001]本发明属于在雷达或数字信号处理领域中方法应用的FPGA远程在线调测领域,克服了研发人员在FPGA调测时经常遇到的环境问题,并且方便了雷达数字T/R组件的调测,具有一定的应用价值。
【背景技术】
[0002]FPGA在雷达信号处理中的使用越来越广泛,目前大部分都需要通过专门的USBJTAG电缆进行bit、bin文件下载配置、在线调试等。但是USB JTAG电缆的传输距离有限,在某些狭小空间和无人值守的场所十分不方便;另外在调测雷达数字T/R组件时需要将封闭的盒子打开才能进行调测工作,随着组件个数的增加,无疑加剧了研发人员不必要的工作量,在这种背景下考虑开发FPGA的远程bit流下载和在线调测方法。
[0003]目前国内外普遍集中在远程FPGA配置上,对于远程FPGA调测研宄较少。
[0004]国外只有Xilinx公司本身impact中自带了一个网络调试,但是该方法较落后,需要两台调试计算机,其中一台调试计算机仍然采用USB电缆和FPGA板卡相连,而用网线和另外一台调测计算机相连,进行交互。这种方法并没有解决远程调测的实质,仍然是需要USB电缆,需要打开机壳插入USB下载线。
[0005]国内有魂芯国产DSP板的网络调试盒,但是无法满足FPGA的调测。中科海讯公司的板卡也有类似的网络调试,但是其需要加入的电路复杂,且无法满足日益更新的FPGA的需求。
[0006]通过对国内外的研宄可以得出,目前国内外对FPGA的远程配置调测研宄上,多将配置和调测进行分开,对于配置的研宄较为成熟,而调测基本上局限于实验室、或者人机在现场,没有一个合适的方案将这两种进行统一。
[0007]本发明在调试计算机端基于DSF架构虚拟JTAG设备,在板卡端基于ARM开发USB转JTAG电路,针对Xilinx公司的FPGA,iMpact和ChipScope调试软件开发了 FPGA网络在线调测方法。本发明可以替代目前使用的JTAG下载电缆,方便了用户的配置、调测工作。

【发明内容】

[0008]本发明的目的在于提供一种远程在线调测Xilinx FPGA的方法。
[0009]本发明利用网络接口方便、传输距离远的优点,在FPGA板卡上嵌入相应电路,直接通过FPGA板卡网口连接到调试计算机实现远程bit流下载、在线调测功能。
[0010]实现本发明目的的设计思路为:调试计算机端开发远程调测软件,以供用户选择需要调测的FPGA板卡,从而连接底层硬件。并采用Windows Develop Kit中的dsf架构模拟出可用的虚拟JTAG设备,从而安装设备驱动。在ChipScope或iMpact软件进行USB操作时,即被虚拟设备截获,再通过网络与FPGA板卡交互,从而可以像操作实际硬件一样操作虚拟设备,实现远程操作。
[0011]FPGA板卡上增加了一小块嵌入式电路,以基于Cortex-M4的ARM处理器为核心,设计其外围电路和FT2232USB转JTAG电路;
[0012]ARM完成网络数据通信和USB数据传输。首先ARM在NDK网络堆栈初始化之后,建立TCP网络连接,接收调试计算机端发送的USB传输命令或数据,将其转换成USB数据包,通过USB2.0PHY芯片和FT2232进行交互,然后把从FT2232得到的USB数据转换为网络数据包发送给调试计算机端。
【附图说明】
[0013]图1系统框图。
[0014]图2网络传输流程图。
【具体实施方式】
[0015]本发明采用的技术方案为:采用网线替代传统的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再和实际硬件交互,最终实现远程在线调测。
[0016]本发明的整体架构如图1,主要包括调试计算机端的调测软件、调测板卡上的嵌入式电路。
[0017]调测软件主体为一个对话框,具有板卡添加、删除、连接功能,用户选择对应IP地址的板卡,程序则与对应板卡上的ARM建立TCP网络连接,并获取调测板卡上实际JTAG设备的描述符、端点等信息,从而在计算机端基于DSF架构模拟出JTAG设备,仿佛设备确实连接在计算机的USB端口,并安装设备驱动,设备管理器中出现Digilent Adapt Device设备。
[0018]JTAG设备的模拟主要是采用了微软公司驱动开发套件WDK中的DeviceSimulat1n Framework架构,分为动态链接库和控制脚本两部分。动态链接库dll实现一个设备实体类,控制脚本调用dll创建类对象,发出设备插拔等控制命令,并进一步调用动态链接库函数。动态链接库实现的类中包括设备的设备描述符、配置描述符、设备接口端点信息、设备字符串等结构体,并完成了处理标准USB请求、USB数据输入/输出请求的函数。本方法的设备中有一个控制端点、一个IN端点、一个OUT端点,端点可以使用事件触发或轮询模式传输,由于传输数据量大和速度快,本方法选用事件触发模式。板卡建立网络连接后,进行设备枚举,触发标准USB请求事件,在事件处理函数中将标准/厂商请求命令按协议打包为网络包,通过网络发送给ARM,等待ARM返回获取的实际硬件信息和状态信息。枚举成功则调试计算机发现设备插入,安装设备驱动。ChipScope或iMpact软件则是和设备驱动打交道,设备驱动再触发数据传输事件,其事件处理函数则类似地将命令打包发送给ARM,等待ARM返回实际设备返回的响应数据,再翻译成USB数据返回给驱动,从而完成远程操作。
[0019]调测板卡基于FTDI公司的FT2232芯片设计了 USB2.0转JTAG的电路,JTAG端连接FPGA形成JTAG链路,USB端挂接在ARM上,ARM则充当USB主机。ARM上开发嵌入式程序,完成网络和USB通信。
[0020]本发明选用的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进行通信,并反馈给上层软件。
[0021]最终将ARM程序固化于芯片中,网线连接测试板卡和调试计算机。调试计算机端运行远程控制软件,选择对应的板卡,与之建立连接,连接成功后在设备管理器中出现Digilent Adapt Device 设备。然后,用户通过 Xilinx 公司的 iMPACT 软件、ChipScope 软件进行FPGA的调测工作,如扫描PGA等JTAG链路、对FPGA芯片加载bit流、FPGA内部逻辑数据的捕捉和分析。
【主权项】
1.基于JTAG虚拟技术的FPGA远程在线调测方法,其特征在于:采用网线替代传统的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再和实际硬件交互,最终实现远程在线调测。
【专利摘要】本发明涉及一种基于JTAG虚拟技术的FPGA远程在线调测方法,其中包括:通过MFC编写基于DSF架构的远程调测软件,包含FPGA板卡的添加、删除、连接等模块,并实现对JTAG设备功能的模拟;测试板卡以TM4C129XNCZAD ARM处理器为核心,使用实时操作系统实现多线程控制;ARM通过网络和远程调测软件交互,接收其下发的USB命令;并将其转换成USB数据包与JTAG转换电路进行交互。
【IPC分类】G06F11/36
【公开号】CN104991862
【申请号】CN201510358960
【发明人】翟刚毅, 王静娇, 杨阳, 刘剑
【申请人】中国船舶重工集团公司第七二四研究所
【公开日】2015年10月21日
【申请日】2015年6月25日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1