当前位置: 首页 > 专利查询>山东大学专利>正文

一种FPGA/CPLD 远程调试系统及方法技术方案

技术编号:13323428 阅读:86 留言:0更新日期:2016-07-11 10:25
本发明专利技术涉及一种FPGA/CPLD远程调试系统及方法,通过在PC端上位机设置目标FPGA/CPLD型号,经互联网对目标FPGA/CPLD板级系统进行远程配置、激励加载和边界扫描,无需额外使用存储介质或配置芯片,实时完成目标FPGA/CPLD系统的远程升级、调试和维护。提升了调试效率,降低了维护成本,且兼顾简易性和高效性。

【技术实现步骤摘要】


本专利技术涉及一种FPGA/CPLD远程调试系统及方法,属于远程智能测控


技术介绍

目前,现场可编程门阵列/复杂可编程逻辑器件(FPGA/CPLD)因其资源丰富、使用灵活等优点,广泛应用于电子信息众多行业领域。通常对FPGA/CPLD的配置和调试需在现场借助PC完成。对于周围无法架设PC的狭小空间或人力不易到达的工作环境来说,对FPGA/CPLD系统进行升级维护将消耗巨大成本且效率较低。因此,若采用通过互联网远程对FPGA/CPLD系统进行配置与调试的方法,将有效降低维护成本,提升调试效率。
此外,在FPGA/CPLD实验教学中,若能实现实验仪器设备的网络化,使学生可以通过互联网远程对实验室内的FPGA/CPLD开发板进行操作使用,可以有效提升学生学习开发积极性,提高教学资源利用率,降低实验室建设维护成本。
目前,市面上用于FPGA/CPLD远程配置或调试的装置方法大多功能单一,如仅能完成远程配置功能;且结构冗余,需要用到专用USB转JTAG或并口转JTAG等芯片来完成边界扫描;普适性低,仅能完成特定型号的FPGA/CPLD边界扫描。
基于此,本专利技术提供了一种便捷高效的FPGA/CPLD远程调试系统及方法,可通过互联网对带有JTAG接口的FPGA/CPLD板级系统进行升级、调试和维护。

技术实现思路

针对现有技术的不足,本专利技术提供了一种FPGA/CPLD远程调试系统;
本专利技术还提供了利用上述FPGA/CPLD远程调试系统实现远程调试的方法;
本专利技术通过在PC端上位机设置目标FPGA/CPLD型号,经互联网对目标FPGA/CPLD板级系统进行远程配置、激励加载和边界扫描,无需额外使用存储介质或配置芯片,实时完成目标FPGA/CPLD系统的远程升级、调试和维护。提升了调试效率,降低了维护成本,且兼顾简易性和高效性。
本专利技术的技术方案为:
一种FPGA/CPLD远程调试系统,包括通过互联网连接的PC端上位机与硬件电路装置,所述PC端上位机包括流程控制模块及与所述流程控制模块分别连接的图形用户接口模块、网络参数设置模块、目标FPGA/CPLD参数设置模块、网络通信模块一、数据分析模块;所述硬件电路装置包括调试控制模块及与所述调试控制模块分别连接的网络通信模块二、参数更新模块、JTAG配置模块、模拟激励模块、边界扫描模块,所述硬件电路装置连接目标FPGA/CPLD板级系统;
所述图形用户接口模块用于:根据目标FPGA/CPLD的型号及其所处的网络环境,以图形界面的方式引导调试者输入参数、指令集,将与目标FPGA/CPLD匹配的配置数据发送至流程控制模块;并对所述边界扫描模块输出的边界扫描结果输出显示;所述参数包括网络参数及目标FPGA/CPLD参数;所述网络参数包括硬件电路装置的IP地址、子网掩码、端口号、所在网络网关地址;所述目标FPGA/CPLD参数包括:目标FPGA/CPLD生产厂家、型号、模拟激励格式、边界扫描指令集格式、边界扫描链长度、边界扫描时钟频率;
所述指令集包括:启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令及FPGA/CPLD边界扫描指令集,所述FPGA/CPLD边界扫描指令集包括:BYPASS指令、SAMPLE指令、EXTEST指令、ERASE指令、PROGRAM指令、VERIFY指令,BYPASS指令用于将目标FPGA/CPLD边界扫描链设置为旁路模式;SAMPLE指令用于在目标FPGA/CPLD正常工作时取出管脚信号;EXTEST指令用于获取目标FPGA/CPLD管脚输入信号;ERASE指令用于擦除目标FPGA/CPLD编程存储器中的配置数据;PROGRAM指令用于启动配置;VERIFY指令用于验证配置数据;
所述网络参数设置模块用于:验证通过所述图形用户接口模块输入的参数中的网络参数的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入网络参数;
所述目标FPGA/CPLD参数设置模块用于:验证通过所述图形用户接口模块输入的参数中的目标FPGA/CPLD参数的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入目标FPGA/CPLD参数;
所述流程控制模块用于:发送网络参数、目标FPGA/CPLD参数、配置数据及所述指令集中的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令、FPGA/CPLD边界扫描指令集至所述网络通信模块一;并接收到达响应及边界扫描结果;
所述数据分析模块用于:根据调试者需求,对边界扫描结果进行选取以供分析。
所述网络通信模块一用于:将验证通过后的网络参数、验证通过后的目标FPGA/CPLD参数、与目标FPGA/CPLD匹配的配置数据、所述指令集中的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令、FPGA/CPLD边界扫描指令集通过互联网发送至所述硬件电路装置;接收到达指令集到达响应及边界扫描结果;
所述参数更新模块用于:根据从PC端上位机接收到的网络参数、目标FPGA/CPLD参数更新响应数据参数;
所述调试控制模块用于:响应PC端上位机发送的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令,启动所述模拟激励模块、启动边界扫描模块、启动所述JTAG配置模块;
所述模拟激励模块用于:模拟出目标FPGA/CPLD板级系统的管脚输入信号;输入所述模拟激励格式的激励信号至目标FPGA/CPLD板级系统,反馈完成模拟激励响应;
所述边界扫描模块用于:根据从PC端上位机接收到的FPGA/CPLD边界扫描指令集,对目标FPGA/CPLD进行边界扫描,获取边界扫描结果;
所述JTAG配置模块用于:按照JTAG的时序,将所述配置数据发送至目标FPGA/CPLD,完成配置,并反馈完成配置响应;
所述网络通信模块二用于:实现硬件电路装置接入互联网;接收PC端上位机传来的参数、指令集、与目标FPGA/CPLD匹配的配置数据;发送指令集到达响应及边界扫描结果至PC端上位机;指令集到达响应包括完成配置响应及模拟激励响应。
根据本专利技术优选的,所述JTAG配置模块、所述边界扫描模块通过JTAG接口连接目标FPGA/CPLD板级系统,所述模拟激励模块通过通用IO口连接目标FPGA/CPLD板级系统。
利用上述FPGA/CPLD远程调试系统实现远程调试的方法,具体步骤包括:
(1)根据目标FPGA/CPLD的型号及其所处的网络环境,通过所述图形用户接口模块以图形界面的方式引导调试者输入所述参数、所述指令集;并将与目标FPGA/CPLD匹配的配置数据导入至所述图形用户接口模块;
(2)所述网络参数设置模块验证通过所述图形用户接口模块输入的参数中的网络参数的格式,通过验证后将其发送至所述流程控制模块,否则,返回步骤(1);
(3)所述目标FPGA/CPLD参数设置模块验证通过所述图形用户接口模块输入的参数中的目标FPGA/CPLD参数的格式,通过验证后将其发送至本文档来自技高网
...

【技术保护点】
一种FPGA/CPLD远程调试系统,其特征在于,包括通过互联网连接的PC端上位机与硬件电路装置,所述PC端上位机包括流程控制模块及与所述流程控制模块分别连接的图形用户接口模块、网络参数设置模块、目标FPGA/CPLD参数设置模块、网络通信模块一、数据分析模块;所述硬件电路装置包括调试控制模块及与所述调试控制模块分别连接的网络通信模块二、参数更新模块、JTAG配置模块、模拟激励模块、边界扫描模块,所述硬件电路装置连接目标FPGA/CPLD板级系统;所述图形用户接口模块用于:根据目标FPGA/CPLD的型号及其所处的网络环境,以图形界面的方式引导调试者输入参数、指令集,将与目标FPGA/CPLD匹配的配置数据发送至流程控制模块;并对所述边界扫描模块输出的边界扫描结果输出显示;所述参数包括网络参数及目标FPGA/CPLD参数;所述网络参数包括硬件电路装置的IP地址、子网掩码、端口号、所在网络网关地址;所述目标FPGA/CPLD参数包括:目标FPGA/CPLD生产厂家、型号、模拟激励格式、边界扫描指令集格式、边界扫描链长度、边界扫描时钟频率;所述指令集包括:启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令及FPGA/CPLD边界扫描指令集,所述FPGA/CPLD边界扫描指令集包括:BYPASS指令、SAMPLE指令、EXTEST指令、ERASE指令、PROGRAM指令、VERIFY指令,BYPASS指令用于将目标FPGA/CPLD边界扫描链设置为旁路模式;SAMPLE指令用于在目标FPGA/CPLD正常工作时取出管脚信号;EXTEST指令用于获取目标FPGA/CPLD管脚输入信号;ERASE指令用于擦除目标FPGA/CPLD编程存储器中的配置数据;PROGRAM指令用于启动配置;VERIFY指令用于验证配置数据;所述网络参数设置模块用于:验证通过所述图形用户接口模块输入的参数中的网络参数的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入网络参数;所述目标FPGA/CPLD参数设置模块用于:验证通过所述图形用户接口模块输入的参数中的目标FPGA/CPLD参数的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入目标FPGA/CPLD参数;所述流程控制模块用于:发送网络参数、目标FPGA/CPLD参数、配置数据及所述指令集中的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令、FPGA/CPLD边界扫描指令集至所述网络通信模块一;并接收到达响应及边界扫描结果;所述数据分析模块用于:根据调试者需求,对边界扫描结果进行选取以供分析;所述网络通信模块一用于:将验证通过后的网络参数、验证通过后的目标FPGA/CPLD参数、与目标FPGA/CPLD匹配的配置数据、所述指令集中的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令、FPGA/CPLD边界扫描指令集通过互联网发送至所述硬件电路装置;接收到达指令集到达响应及边界扫描结果;所述参数更新模块用于:根据从PC端上位机接收到的网络参数、目标FPGA/CPLD参数更新响应数据参数;所述调试控制模块用于:响应PC端上位机发送的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令,启动所述模拟激励模块、启动边界扫描模块、启动所述JTAG配置模块;所述模拟激励模块用于:模拟出目标FPGA/CPLD板级系统的管脚输入信号;输入所述模拟激励格式的激励信号至目标FPGA/CPLD板级系统,反馈完成模拟激励响应;所述边界扫描模块用于:根据从PC端上位机接收到的FPGA/CPLD边界扫描指令集,对目标FPGA/CPLD进行边界扫描,获取边界扫描结果;所述JTAG配置模块用于:按照JTAG的时序,将所述配置数据发送至目标FPGA/CPLD,完成配置,并反馈完成配置响应;所述网络通信模块二用于:实现硬件电路装置接入互联网;接收PC端上位机传来的参数、指令集、与目标FPGA/CPLD匹配的配置数据;发送指令集到达响应及边界扫描结果至PC端上位机;指令集到达响应包括完成配置响应及模拟激励响应。...

【技术特征摘要】
1.一种FPGA/CPLD远程调试系统,其特征在于,包括通过互联网连接的PC端上位机与
硬件电路装置,所述PC端上位机包括流程控制模块及与所述流程控制模块分别连接的图形用
户接口模块、网络参数设置模块、目标FPGA/CPLD参数设置模块、网络通信模块一、数据分
析模块;所述硬件电路装置包括调试控制模块及与所述调试控制模块分别连接的网络通信模
块二、参数更新模块、JTAG配置模块、模拟激励模块、边界扫描模块,所述硬件电路装置连
接目标FPGA/CPLD板级系统;
所述图形用户接口模块用于:根据目标FPGA/CPLD的型号及其所处的网络环境,以图形
界面的方式引导调试者输入参数、指令集,将与目标FPGA/CPLD匹配的配置数据发送至流程
控制模块;并对所述边界扫描模块输出的边界扫描结果输出显示;所述参数包括网络参数及
目标FPGA/CPLD参数;所述网络参数包括硬件电路装置的IP地址、子网掩码、端口号、所在
网络网关地址;所述目标FPGA/CPLD参数包括:目标FPGA/CPLD生产厂家、型号、模拟激励
格式、边界扫描指令集格式、边界扫描链长度、边界扫描时钟频率;所述指令集包括:启动
所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指令及
FPGA/CPLD边界扫描指令集,所述FPGA/CPLD边界扫描指令集包括:BYPASS指令、SAMPLE
指令、EXTEST指令、ERASE指令、PROGRAM指令、VERIFY指令,BYPASS指令用于将目标
FPGA/CPLD边界扫描链设置为旁路模式;SAMPLE指令用于在目标FPGA/CPLD正常工作时取出
管脚信号;EXTEST指令用于获取目标FPGA/CPLD管脚输入信号;ERASE指令用于擦除目标
FPGA/CPLD编程存储器中的配置数据;PROGRAM指令用于启动配置;VERIFY指令用于验证配
置数据;
所述网络参数设置模块用于:验证通过所述图形用户接口模块输入的参数中的网络参数
的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入网络参数;
所述目标FPGA/CPLD参数设置模块用于:验证通过所述图形用户接口模块输入的参数中
的目标FPGA/CPLD参数的格式,通过验证后将其发送至所述流程控制模块,否则,重新输入
目标FPGA/CPLD参数;
所述流程控制模块用于:发送网络参数、目标FPGA/CPLD参数、配置数据及所述指令集
中的启动所述模拟激励模块的指令、启动边界扫描模块的指令、启动所述JTAG配置模块的指
令、FPGA/CPLD边界扫描指令集至所述网络通信模块一;并接收到达响应及边界扫描结果;
所述数据分析模块用于:根据调试者需求,对边界扫描结果进行选取以供分析;
所述网络通信模块一用于:将验证通过后的网络参数、验证通过后的目标FPGA/CPLD参
数、与目标FPGA/CPLD匹配的配置数据、所述指令集中的启动所述模拟激励模块的指令、启
动边界扫描模块的指令、启动所述JTAG配置模块的指令、FPGA/CPLD边界扫描指令集通过互
联网发送至所述硬件电路装置;接收到达指令集到达响应及边界扫描结果;
所述参数更新模块用于:根据从PC端上位机接收到的网络参数、目标FPGA/CPLD参数
更新响应数据参数;
所述调试控制模块用于:响应PC端上位机发送的启动所述模拟激励模块的指令、启动边
界扫描模块的指令、启动所述JTAG配置模块的指令,启动所述模拟激励模块、启动边界扫描
模块、启动所述JTAG配置模块;
所述模拟激励模块用于:模拟出目标FPGA/CPLD板级系统的管脚输入信号;输入所述模
拟激励格式的激...

【专利技术属性】
技术研发人员:王祖强王子彤由芸朱苏雁
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1