首页> 中国专利> 基于JTAG虚拟技术的FPGA远程在线调测方法

基于JTAG虚拟技术的FPGA远程在线调测方法

摘要

本发明涉及一种基于JTAG虚拟技术的FPGA远程在线调测方法,其中包括:通过MFC编写基于DSF架构的远程调测软件,包含FPGA板卡的添加、删除、连接等模块,并实现对JTAG设备功能的模拟;测试板卡以TM4C129XNCZAD ARM处理器为核心,使用实时操作系统实现多线程控制;ARM通过网络和远程调测软件交互,接收其下发的USB命令;并将其转换成USB数据包与JTAG转换电路进行交互。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-28

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150625

    实质审查的生效

  • 2015-10-21

    公开

    公开

说明书

技术领域

本发明属于在雷达或数字信号处理领域中方法应用的FPGA远程在线调测领域,克服了 研发人员在FPGA调测时经常遇到的环境问题,并且方便了雷达数字T/R组件的调测,具有 一定的应用价值。

背景技术

FPGA在雷达信号处理中的使用越来越广泛,目前大部分都需要通过专门的USB JTAG 电缆进行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中的Device Simulation  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内部逻辑数据的 捕捉和分析。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号