CN112527710B - 一种jtag数据捕获分析系统 - Google Patents
一种jtag数据捕获分析系统 Download PDFInfo
- Publication number
- CN112527710B CN112527710B CN202011494906.5A CN202011494906A CN112527710B CN 112527710 B CN112527710 B CN 112527710B CN 202011494906 A CN202011494906 A CN 202011494906A CN 112527710 B CN112527710 B CN 112527710B
- Authority
- CN
- China
- Prior art keywords
- jtag
- communication
- signal
- analysis
- module
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种JTAG数据捕获分析系统,包括JTAG通信信号采集子模块、通信信号分析与通信协议分析子模块、用户交互子模块。JTAG通信信号采集子模块通过ADC采集目标处理器和仿真器之间的JTAG通信信号。通信信号分析与通信协议分析子模块通过分析JTAG调试接口中各个信号的波形和更高层的通信数据,诊断目标处理器和仿真器之间存在的通信故障,确定通信双方之间的故障源。用户交互模块对错误的通信信号、失效的通信协议进行显示,并给出故障的诊断结果。本发明通过分析JTAG调试接口的通信协议诊断JTAG通信中的故障源,从而提高处理器的调试效率。
Description
技术领域
本发明属于计算机系统调试技术领域,特别涉及一种JTAG数据捕获分析系统。
背景技术
计算机处理器一般通过JTAG调试/仿真和下载程序。处理器在FPGA验证阶段、样片测试阶段以及用户板级设计阶段,均需要仿真器和目标处理器之间通过JTAG建立正常通信,然后才能进行后续的硬件调试仿真以及程序下载等工作,如图1所示。JTAG通信电路的正常工作是处理器芯片后续调试的基础,而传统使用示波器等调试方式存在调试效率慢、对硬件工程师调试经验依赖度高等问题。
计算机处理器JTAG电路逻辑设计错误、仿真器信号失真、JTAG时钟频率过高、目标处理器板级电路设计错误均会导致JTAG无法正常通信,软硬件工程师往往需要花费大量时间分析寻找JTAG不能正常通信的原因,影响软硬件的调试效率。现有CPU仿真器一般假设目标板能够提供正常的JTAG通信信号,不会对上述原因引起的通信问题提供错误诊断功能。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种处理器调试接口JTAG数据捕获分析系统,能够在JTAG通信信号层面和通信协议层面两个层面对JTAG通信进行故障诊断,帮助软硬件调试人员准确发现JTAG电路故障,提高调试效率。
为了实现上述目的,本发明采用的技术方案是:
一种JTAG数据捕获分析系统,安装在目标处理器和仿真器之间,独立于目标处理器和仿真器,在外部对二者之间的JTAG通信信号进行采集,并基于采集的信号进行通信故障分析检测。
具体地,本发明的系统包括三个主要模块,如下:
JTAG通信信号采集子模块,连接JTAG调试接口的各个通信信号线,通过ADC采集目标处理器和仿真器之间的JTAG通信信号;
通信信号分析与通信协议分析子模块,通过分析JTAG调试接口中各个信号的波形和更高层的通信数据,诊断目标处理器和仿真器之间存在的通信故障,确定通信双方之间的故障源以及故障原因;
用户交互子模块,对错误的通信信号、失效的通信协议进行显示,并给出故障的诊断结果。
所述JTAG通信信号采集子模块为通信数据捕获电路,通过多路高速ADC采集JTAG调试接口电路的包括VREF、TMS、CLK、TDO、TDI、RST在内的信号。
所述通信信号分析与通信协议分析子模块对采集的信号进行实时处理,分析信号是否正常;如果存在异常,进行提示;其中分析参数包括:信号的幅值、信号的最大值、信号的最小值、信号的上升沿、信号的下降沿、信号的过冲振荡。
所述JTAG通信信号的参考电平为VREF信号,首先对VREF信号的纹波和均值进行采集,如果纹波过大或者均值浮动较大,则提示可能故障。
所述通信信号分析与通信协议分析子模块在信号层面和通信协议层面对JTAG通信进行分析,首先判断JTAG调试接口的通信信号是否正常,然后依据JTAG标准和协议进一步分析JTAG通信协议数据,诊断通信中目标处理器或者仿真器可能存在的故障。
所述信号层面的分析中,在信号参数不满足JTAG标准要求时,提示可能故障;所述通信协议层面的分析中,对JTAG调试接口上的包括EXTEST、SAMPLE/PRELOAD、BYPASS、IDCODE在内的指令进行分析,如果指令格式出现错误,提示可能故障,并对所述指令的操作对象进行分析存储,进行上层协议分析。
所述通信信号分析与通信协议分析子模块设置于嵌入式处理器,所述JTAG通信信号采集子模块由所述嵌入式处理器控制信号采集,嵌入式处理器通过ADC采集到各个信号线数据后,将所述数据保存到嵌入式处理器所接存储器中,并完成通信信号分析与通信协议分析。
所述用户交互子模块集成于上位机,分析结果以及故障信号波形、故障通信协议,均通过USB上传给上位机,上位机完成数据显示,同时,数据捕获分析系统接收来自上位机的控制协命令,完成启动、停止采集分析、参数设置、触发阈值设定。
与现有技术相比,本发明的有益效果是:
1、完整信号采集:本发明中JTAG的数据捕获分析系统采用高速ADC完成JTAG调试接口中所有信号的信号采集,能够准确捕获信号的完整波形,基于此波形,可以准确判断信号层面可能出现的故障。
2、JTAG调试接口信号层面和通信协议层面两个层面的故障诊断:本发明可以分别对每一个JTAG调试接口信号线进行信号分析,也对JTAG通信协议层面进行协议分析,能够发现任一层面出现的故障,找到故障源。
附图说明
图1为本发明所涉及的目标处理器(目标板)与仿真器之间的JTAG通信接口。
图2为本发明JTAG数据捕获分析系统信号捕获部分的电路原理图。
图3为本发明JTAG数据捕获分析系统的设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和实施例详细说明本发明的实施方式。
本发明为一种JTAG数据捕获分析系统,主要用于诊断JTAG调试接口的通信故障。参考图2,在针对目标处理器的调试过程中,其安装在目标处理器和仿真器之间,连接到JTAG调试接口的各个通信信号线,独立于目标处理器和仿真器,在外部对二者之间的JTAG通信信号进行采集,并基于采集的信号进行通信故障分析检测。
具体地,本发明的系统包括三个主要模块,如下:
JTAG通信信号采集子模块,即通信数据捕获电路,通过多路高速ADC连接JTAG调试接口的VREF、TMS、CLK、TDO、TDI、RST等通信信号线,采集通过ADC采集目标处理器和仿真器之间的JTAG通信信号。高速ADC具有高内阻的特点,可以减小本系统对目标处理器与仿真器之间信号的影响。
通信信号分析与通信协议分析子模块,对采集的信号进行实时处理,通过分析JTAG调试接口中各个信号的波形和更高层的通信数据,分析信号电平值、信号上升沿和下降沿时延等信号是否正常,如果存在异常,则进行提示;由此诊断目标处理器和仿真器之间存在的通信故障,确定通信双方之间的故障源以及故障原因。
具体地,该子模块在信号层面和通信协议层面对JTAG通信进行分析,首先判断JTAG调试接口的通信信号是否正常,然后依据JTAG标准和协议进一步分析JTAG通信协议数据,分析各个信号所代表的通信协议,仿真器通过JTAG向目标处理器发送各种控制指令,目标板会进行指令应答,对这些指令和应答进行分析,可诊断通信中目标处理器或者仿真器可能存在的故障以及故障原因,并对应答协议中出现的错误进行故障提示,从而有效提高JTAG调试的效率。
JTAG调试接口由5个信号线构成:
1.Test Clock Input(TCK)
TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。
2.Test Mode Selection Input(TMS)
TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。TMS信号在TCK的上升沿有效。
3.Test Data Input(TDI)
TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的。
4.Test Data Output(TDO)
TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的。
5.Test Reset Input(TRST)
TRST可以用来对TAP Controller进行复位。
在信号层面的分析中,在信号参数不满足JTAG标准要求时,提示可能故障,分析参数包括:信号的幅值、信号的最大值、信号的最小值、信号的上升沿、信号的下降沿、信号的过冲振荡等。其中JTAG通信信号的参考电平为VREF信号,首先对VREF信号的纹波和均值进行采集,如果某些参数出现故障,例如纹波过大或者均值浮动较大,则提示可能故障。以VREF为参考,TMS、CLK、TDO、TDI、RST等信号的参数进行分析,在信号参数不满足JTAG标准要求时,提示可能故障。例如:TDI信号为恒定电平,则仿真器未发送指令,或者目标板短路;如果TDI有电平信号,而TDO为恒定电平,则应该为目标板故障。
信号层面的标准由处理器厂商提供,一般包括信号的直流特性和交流特性。直流特性为信号的高低电平有效范围、引脚输入电流等参数。
表1所示为某处理器的直流特性。直流特性参数需要通过用户交互子模块输入本系统。交流特性为JTAG通信信号的上升沿/下降沿时间、最高时钟频率、信号的建立时间与保持时间等参数。
表2所示为某处理器的交流特性。交流特性参数需要通过用户交互子模块输入本系统。信号层面的分析通过对比实际采集到信号的参数与处理器厂商提供的参数,得到信号层面存在的问题,并进行提示。
表1 JTAG信号的直流特性
表2 JTAG信号的交流特性
在通信协议层面的分析中,对JTAG调试接口上的INTEST、SAMPLE/PRELOAD、BYPASS、IDCODE等指令进行分析,如果指令格式出现错误,提示可能故障,并对所述指令的操作对象进行分析存储,进行上层协议分析。
典型的JTAG指令以及对应的寄存器包括以下:
BYPASS指令和BYPASS寄存器:
Bypass寄存器是一个一位的移位寄存器,通过BYPASS指令,可以将BYPASS寄存器连接到TDI和TDO之间。在不需要进行任何测试的时候,将BYPASS寄存器连接在TDI和TDO之间,在TDI和TDO之间提供一条长度最短的串行路径。这样允许测试数据可以快速的通过当前的芯片送到开发板上别的芯片上去。
IDCODE指令和Device Identification寄存器:
Device identification寄存器中可以包括生产厂商的信息,部件号码,和器件的版本信息等。使用IDCODE指令,就可以通过JTAG读取器件的这些相关信息。
INTEST指令和Boundary-Scan寄存器:
Boundary-Scan寄存器是边界扫描链。通过边界扫描链,可以进行部件间的连通性测试。可以对测试器件的输入输出进行观测和控制,以达到测试器件的内部逻辑的目的。
用户交互子模块,对错误的通信信号、失效的通信协议进行显示,并给出故障的诊断结果。
在实际的硬件实现中,本发明将通信信号分析与通信协议分析子模块设置于嵌入式处理器,所涉及分析计算均由嵌入式处理器完成,JTAG通信信号采集子模块由嵌入式处理器控制信号采集,嵌入式处理器通过ADC采集到各个信号线数据后,将数据保存到嵌入式处理器所接存储器中,并完成通信信号分析与通信协议分析,用户交互子模块则集成于上位机,分析结果以及故障信号波形、故障通信协议,均通过USB上传给上位机,上位机完成数据显示,系统结构图如图3所示,同时,数据捕获分析系统接收来自上位机的控制协命令,完成启动、停止采集分析、参数设置、触发阈值设定等。
Claims (7)
1.一种JTAG数据捕获分析系统,安装在目标处理器和仿真器之间,独立于目标处理器和仿真器,在外部对二者之间的JTAG通信信号进行采集,并基于采集的信号进行通信故障分析检测,其特征在于,系统包括:
JTAG通信信号采集子模块,连接JTAG调试接口的各个通信信号线,通过ADC采集目标处理器和仿真器之间的JTAG通信信号;
通信信号分析与通信协议分析子模块,通过分析JTAG调试接口中各个信号的波形和更高层的通信数据,诊断目标处理器和仿真器之间存在的通信故障,确定通信双方之间的故障源以及故障原因;
用户交互子模块,对错误的通信信号、失效的通信协议进行显示,并给出故障的诊断结果。
2.根据权利要求1所述JTAG数据捕获分析系统,其特征在于,所述JTAG通信信号采集子模块为通信数据捕获电路,通过多路高速ADC采集JTAG调试接口电路的包括VREF、TMS、CLK、TDO、TDI、RST在内的信号。
3.根据权利要求1或2所述JTAG数据捕获分析系统,其特征在于,所述通信信号分析与通信协议分析子模块对采集的信号进行实时处理,分析信号是否正常;如果存在异常,进行提示;其中分析参数包括:信号的幅值、信号的最大值、信号的最小值、信号的上升沿、信号的下降沿、信号的过冲振荡。
4.根据权利要求1所述JTAG数据捕获分析系统,其特征在于,所述通信信号分析与通信协议分析子模块在信号层面和通信协议层面对JTAG通信进行分析,首先判断JTAG调试接口的通信信号是否正常,然后依据JTAG标准和协议进一步分析JTAG通信协议数据,诊断通信中目标处理器或者仿真器可能存在的故障。
5.根据权利要求4所述JTAG数据捕获分析系统,其特征在于,所述信号层面的分析中,在信号参数不满足JTAG标准要求时,提示可能故障;所述通信协议层面的分析中,对JTAG调试接口上的包括EXTEST、SAMPLE /PRELOAD、BYPASS、IDCODE在内的指令进行分析,如果指令格式出现错误,提示可能故障,并对所述指令的操作对象进行分析存储,进行上层协议分析。
6.根据权利要求1所述JTAG数据捕获分析系统,其特征在于,所述通信信号分析与通信协议分析子模块设置于嵌入式处理器,所述JTAG通信信号采集子模块由所述嵌入式处理器控制信号采集,嵌入式处理器通过ADC采集到各个信号线数据后,将所述数据保存到嵌入式处理器所接存储器中,并完成通信信号分析与通信协议分析。
7.根据权利要求1所述JTAG数据捕获分析系统,其特征在于,所述用户交互子模块集成于上位机,分析结果以及故障信号波形、故障通信协议,均通过USB上传给上位机,上位机完成数据显示,同时,数据捕获分析系统接收来自上位机的控制协命令,完成启动、停止采集分析、参数设置、触发阈值设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494906.5A CN112527710B (zh) | 2020-12-17 | 2020-12-17 | 一种jtag数据捕获分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494906.5A CN112527710B (zh) | 2020-12-17 | 2020-12-17 | 一种jtag数据捕获分析系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527710A CN112527710A (zh) | 2021-03-19 |
CN112527710B true CN112527710B (zh) | 2023-07-25 |
Family
ID=75000952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011494906.5A Active CN112527710B (zh) | 2020-12-17 | 2020-12-17 | 一种jtag数据捕获分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527710B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114325357A (zh) * | 2021-11-30 | 2022-04-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种debug系统、方法、装置以及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506210B1 (en) * | 2003-06-26 | 2009-03-17 | Xilinx, Inc. | Method of debugging PLD configuration using boundary scan |
CN101589370A (zh) * | 2007-02-02 | 2009-11-25 | 国际商业机器公司 | 大规模并行计算机系统上的故障恢复以处理节点故障而不结束执行的作业 |
CN102880536A (zh) * | 2012-09-07 | 2013-01-16 | 杭州中天微系统有限公司 | 一种多核处理器的jtag调试方法 |
CN107843828A (zh) * | 2017-10-26 | 2018-03-27 | 电子科技大学 | 一种基于fpga的数字电路边界扫描控制系统 |
CN111404756A (zh) * | 2020-03-25 | 2020-07-10 | 淮阴师范学院 | 一种通信装备故障诊断系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197680B2 (en) * | 2003-04-17 | 2007-03-27 | Arm Limited | Communication interface for diagnostic circuits of an integrated circuit |
-
2020
- 2020-12-17 CN CN202011494906.5A patent/CN112527710B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506210B1 (en) * | 2003-06-26 | 2009-03-17 | Xilinx, Inc. | Method of debugging PLD configuration using boundary scan |
CN101589370A (zh) * | 2007-02-02 | 2009-11-25 | 国际商业机器公司 | 大规模并行计算机系统上的故障恢复以处理节点故障而不结束执行的作业 |
CN102880536A (zh) * | 2012-09-07 | 2013-01-16 | 杭州中天微系统有限公司 | 一种多核处理器的jtag调试方法 |
CN107843828A (zh) * | 2017-10-26 | 2018-03-27 | 电子科技大学 | 一种基于fpga的数字电路边界扫描控制系统 |
CN111404756A (zh) * | 2020-03-25 | 2020-07-10 | 淮阴师范学院 | 一种通信装备故障诊断系统 |
Non-Patent Citations (1)
Title |
---|
基于故障注入的安全计算机通信总线测试方法研究;邱泽宇 等;铁路计算机应用;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112527710A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5937154A (en) | Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port | |
CN101980036B (zh) | 基于fpga实现的jtag测试方法 | |
CN101071155A (zh) | 一种可实现边界扫描多链路测试的装置及方法 | |
US7761751B1 (en) | Test and diagnosis of semiconductors | |
CN107202953A (zh) | 在运行时间期间支持逻辑自测试模式引入的扫描链电路 | |
US7146584B2 (en) | Scan diagnosis system and method | |
KR20080112960A (ko) | 제어 장치 | |
US6785855B2 (en) | Implementation of an assertion check in ATPG models | |
CN114994509A (zh) | 一种芯片可测性设计的方法 | |
CN112527710B (zh) | 一种jtag数据捕获分析系统 | |
JP2017083421A (ja) | 電子システムならびにシステム診断回路およびその動作方法 | |
CN111722968A (zh) | 一种硬件调试方法、装置、系统及可读存储介质 | |
US6260166B1 (en) | Observability register architecture for efficient production test and debug | |
US7607057B2 (en) | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip | |
CN110717307B (zh) | 一种基于边界扫描电路的sip器件可测试性方法 | |
CN113990382B (zh) | 片上系统芯片、测试方法及测试系统 | |
US20230184831A1 (en) | Server jtag component adaptive interconnection system and method | |
Ungar et al. | IEEE-1149. X standards: achievements vs. expectations | |
CN102645609B (zh) | Jtag链路测试装置及其测试方法 | |
Gao et al. | A new post-silicon debug approach based on suspect window | |
KR100672082B1 (ko) | 이종 코아를 가진 시스템 온 칩에서의 연결선 지연 고장점검 테스트 제어기 및 이를 구비한 시스템 온 칩 | |
Lu et al. | A general fault injection method based on jtag | |
JP4714606B2 (ja) | Jtagテストシステム | |
Nandakumar et al. | High Throughput Multiple Device Chain Diagnosis Methodology for Clock and Control Line Defects | |
WO2017011119A1 (en) | Reducing test time and system-on-chip (soc) area reduction using simultaneous clock capture based on voltage sensor input |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |