CN101980036B - 基于fpga实现的jtag测试方法 - Google Patents
基于fpga实现的jtag测试方法 Download PDFInfo
- Publication number
- CN101980036B CN101980036B CN201010516760A CN201010516760A CN101980036B CN 101980036 B CN101980036 B CN 101980036B CN 201010516760 A CN201010516760 A CN 201010516760A CN 201010516760 A CN201010516760 A CN 201010516760A CN 101980036 B CN101980036 B CN 101980036B
- Authority
- CN
- China
- Prior art keywords
- test
- fpga
- data
- jtag
- state machine
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
基于FPGA实现的JTAG测试方法,FPGA通过JTAG接口以及探针与待测电路板连接,在通过JTAG接口进行测试的同时,利用FPGA接出来的探针与待测电路板监测点连接,以读取测试中各个点的数据变化。然后最后由FPGA通过异步串口电路发送给PC或者微处理器进行数据分析和判定。本发明可以准确判断BGA芯片的焊接缺陷以及周围电路的焊接情况。
Description
【技术领域】
本发明涉及电子技术领域,特别涉及一种基于FPGA实现的JTAG测试方法。
【背景技术】
为了解决超大规模集成电路的测试问题,由联合测试行动组(JTAG)提出了边界扫描技术,它通过存在于器件输入输出管脚与内核电路之间的边界扫描单元对器件及其外围电路进行测试,从而提高了器件的可控性和可观察性,解决了现代电子技术发展带来的上述测试问题,可以较方便地完成由现代器件组装的电路板的测试。通常这种测试被称为JTAG链路测试。
基于JTAG标准IEEE1149设计电路板测试的方案已经比较多,其优点是可以进行在线测试。通过软件即可检测到PCB板的部分器件的焊接缺陷。目前现有的方案中,基本上都是用JTAG的通用接口TCK、TMS、TDI、TDO、nTRST几个脚完成测试。
现有的技术中,通常的做法是只利用JTAG的接口TCK、TMS、TDI、TDO、nTRST完成测试,即只能对含有JTAG测试链的芯片进行测试,测试仪器通过操作TCK、TMS、TDI、nTRST时序来控制待测器件进入测试状态,并根据TDO获得的数据来判断当前的JTAG链工作情况,从而判断芯片的焊接是否完善。
但这种测试方法有如下缺点:
1、仅能测试出呆滞0或者呆滞1的具体引脚,但是无法判定呆滞出现在什么位置,比如,出现在与其他的芯片的连接线上,还是出现在BGA下的球状焊接点,该技术很难确定。
2、无法判定开路,由于开路时候,JTAG链自身的数据不被引脚信号影响,因此判断不了开路。
3、仅仅能测试芯片自己的焊接点,因为JTAG链的特点是其内嵌在芯片内部,而与其相连的其他器件是否存在焊接问题则测试不到。
【发明内容】
本发明所要解决的技术问题在于提供一种基于FPGA实现的JTAG测试方法,该方法可以准确判断BGA芯片的焊接缺陷以及周围电路的焊接情况。
本发明采用以下技术方案解决上述技术问题:
基于FPGA实现的JTAG测试方法,包括如下步骤:
步骤一:通过PC或者微处理器配置FPGA的采样接口电路的IO口输入输出方向,来确定各个探针是输入还是输出,并配置需要屏蔽的或者需要忽略的测试点的相关数据;
步骤二:通过PC或者微处理器向FPGA内部的系统控制状态机发送测试指令,FPGA的系统控制状态机经过对指令的接收,分析处理后,再进行执行;
步骤三:在系统控制状态机的控制下,JTAG接口状态机发送JTAG数据;
步骤四:在JTAG接口状态机发送JTAG数据的同时,系统控制状态机将TDO接收到的数据和采样接口电路接收的数据存储到寄存器阵列和数据存储区中;
步骤五:系统控制状态机在完成测试后,向PC机或微处理器发送测试结束状态;
步骤六:由PC或者微处理器发送读取测试数据指令,FPGA的系统控制状态机将存储的数据通过异步串口电路的串口发送给PC或微处理器,从而完成测试;
步骤七:PC或者微处理器根据接收到的测试数据进行逐个分析,分别对短路、开路、呆滞0、呆滞1进行分析,最终形成测试报告。
本发明的优点在于:1、灵活性好,可以根据待测的不同电路板,修改测试参数,即可进行多种板继续测试,由于FPGA的IO口的双向可配置性质,可以灵活配置各个测试点是输入还是输出,并且可以为输出测试点配置高低电平。2、准确性好,可以准确的测试各个焊接点的状态。并且能够精确的定位短路、开路、呆滞1和呆滞0的位置。通过FPGA丰富的IO口资源进行多点数据采集,结合JTAG的TDO数据,可以准确的对故障定位。3、可针对性测试,可以根据检查到的情况进行有针对性的测试。比如专门测试某条连线的状态。由于本方法是通过下传指令方式进行测试控制,因此可以对测试中需要重点测试的路径进行反复测试。4、扩展性好,可以通过在FPGA集成USB接口,替代UART接口,实现更高速的数据传输和分析。还可以采用大量IO口的FPGA实现这个设计,从而可以用于多种复杂电路测试。5、具备FPGA自身的一切优点。如节约成本、便于采购、存储、质检以及维护,便于升级。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是本发明JTAG测试系统的接口示意图。
【具体实施方式】
请参阅图1所示,是本发明JTAG测试系统的接口示意图。图1中,FPGA通过JTAG接口以及探针与待测电路板链接,在通过JTAG接口进行测试的同时,利用FPGA接出来的探针与待测电路板监测点连接,以读取测试中各个点的数据变化。然后最后由FPGA通过异步串口发送给嵌入式处理器或者PC进行数据分析和判定。其中硬件部分用VHDL语言编写整个设计。在LATTICE公司的FPGAEPC1E1-3T144上实现。PC端软件部分则由C++软件开发。
图1中,基于FPGA实现的系统控制状态机,实现对PC机(或者微处理器)指令的分析和执行,这些指令包括配置工作模式类的指令、测试类的指令、读取测试数据类的指令。
由FPGA实现的JTAG接口状态机,实现TCK、TDI、TMS的各信号时序,并采集TDO的状态。
由FPGA实现的异步串口电路,串口负责将测试获得的最终数据上传给PC机或者微处理器,并接受PC机或者微处理器下传的控制指令。
采样接口电路,对电路板上的测试点进行数据采集。
寄存器阵列和数据存储区,用保存各类指令的设置和FPGA接收的各种数据。
本发明基于FPGA实现的JTAG测试方法,具体包括如下步骤:
步骤一:通过PC或者微处理器配置FPGA的采样接口电路的IO口输入输出方向,来确定各个探针是输入还是输出,并配置需要屏蔽的或者需要忽略的测试点的相关数据;
步骤二:通过PC或者微处理器向FPGA内部的系统控制状态机发送测试指令,FPGA的系统控制状态机经过对指令的接收,分析处理后,再进行执行;
步骤三:在系统控制状态机的控制下,JTAG接口状态机发送JTAG数据,并可以根据指令和测试向量进行多次JTAG测试;
步骤四:在JTAG接口状态机发送JTAG数据的同时,系统控制状态机将TDO接收到的数据和采样接口电路接收的数据存储到寄存器阵列和数据存储区中;
步骤五:系统控制状态机在完成测试后,向PC机或微处理器发送测试结束状态;
步骤六:由PC或者微处理器发送读取测试数据指令,FPGA的系统控制状态机将存储的数据通过异步串口电路的串口发送给PC或微处理器,从而完成测试;
步骤七:PC或者微处理器根据接收到的测试数据进行逐个分析,分别对短路、开路、呆滞0、呆滞1进行分析,最终形成测试报告。
在具体实践中,可以根据以上测试步骤,对需要重点测试的待测点进行重复测试。
本发明采用JTAG测试和FPAG的IO接口应用为探针,结合两种测试数据,进行最终判定。
本发明的有益效果在于:1、灵活性好,可以根据待测的不同电路板,修改测试参数,即可进行多种板继续测试,由于FPGA的IO口的双向可配置性质,可以灵活配置各个测试点是输入还是输出,并且可以为输出测试点配置高低电平。2、准确性好,可以准确的测试各个焊接点的状态。并且能够精确的定位短路、开路、呆滞1和呆滞0的位置。通过FPGA丰富的IO口资源进行多点数据采集,结合JTAG的TDO数据,可以准确的对故障定位。3、可针对性测试,可以根据检查到的情况进行有针对性的测试。比如专门测试某条连线的状态。由于本方法是通过下传指令方式进行测试控制,因此可以对测试中需要重点测试的路径进行反复测试。4、扩展性好,可以通过在FPGA集成USB接口,替代UART接口,实现更高速的数据传输和分析。还可以采用大量IO口的FPGA实现这个设计,从而可以用于多种复杂电路测试。5、具备FPGA自身的一切优点。如节约成本、便于采购、存储、质检以及维护,便于升级。
Claims (1)
1.基于FPGA实现的JTAG测试方法,其特征在于:包括如下步骤:
步骤一:通过PC或者微处理器配置FPGA的采样接口电路的IO口输入输出方向,来确定各个探针是输入还是输出,并配置需要屏蔽的或者需要忽略的测试点的相关数据;
步骤二:通过PC或者微处理器向FPGA内部的系统控制状态机发送测试指令,FPGA的系统控制状态机经过对指令的接收,分析处理后,再进行执行;
步骤三:在系统控制状态机的控制下,JTAG接口状态机发送JTAG数据;
步骤四:在JTAG接口状态机发送JTAG数据的同时,系统控制状态机将TDO接收到的数据和采样接口电路接收的数据存储到寄存器阵列和数据存储区中;
步骤五:系统控制状态机在完成测试后,向PC机或微处理器发送测试结束状态;
步骤六:由PC或者微处理器发送读取测试数据指令,FPGA的系统控制状态机将存储的数据通过异步串口电路的串口发送给PC或微处理器,从而完成测试;
步骤七:PC或者微处理器根据接收到的测试数据进行逐个分析,分别对短路、开路、呆滞0、呆滞1进行分析,最终形成测试报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010516760A CN101980036B (zh) | 2010-10-22 | 2010-10-22 | 基于fpga实现的jtag测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010516760A CN101980036B (zh) | 2010-10-22 | 2010-10-22 | 基于fpga实现的jtag测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101980036A CN101980036A (zh) | 2011-02-23 |
CN101980036B true CN101980036B (zh) | 2012-08-29 |
Family
ID=43600552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010516760A Expired - Fee Related CN101980036B (zh) | 2010-10-22 | 2010-10-22 | 基于fpga实现的jtag测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101980036B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102353867A (zh) * | 2011-06-08 | 2012-02-15 | 伟创力电子技术(苏州)有限公司 | 一种互连测试设备及其测试方法 |
CN103217618B (zh) * | 2013-04-16 | 2015-09-09 | 青岛中星微电子有限公司 | 一种测试fpga开发板的装置和方法 |
CN103699044A (zh) * | 2013-09-12 | 2014-04-02 | 中国人民解放军92941部队 | 一种机内测试模块 |
CN103472386B (zh) * | 2013-09-26 | 2017-07-28 | 威海北洋电气集团股份有限公司 | 基于fpga的芯片测试装置及方法 |
CN104897998B (zh) * | 2015-06-16 | 2018-04-20 | 深圳市派捷电子科技有限公司 | 一种ict测试系统 |
WO2017113321A1 (zh) * | 2015-12-31 | 2017-07-06 | 深圳配天智能技术研究院有限公司 | 一种数控主板自动化测试系统 |
CN106057695B (zh) * | 2016-06-14 | 2019-09-20 | 苏州微控智芯半导体科技有限公司 | 一种晶片测试系统及测试方法 |
CN108267681B (zh) * | 2016-12-30 | 2020-07-17 | 上海复旦微电子集团股份有限公司 | 一种可编程电路的模块测试系统 |
CN109416385B (zh) * | 2017-05-19 | 2021-12-07 | 深圳配天智能技术研究院有限公司 | 一种现场可编程门电路及其在线测试方法 |
CN109992546B (zh) * | 2017-12-29 | 2021-03-02 | 深圳市优必选科技有限公司 | 一种串口调试装置及调试方法 |
CN110568341A (zh) * | 2019-08-30 | 2019-12-13 | 深圳三基同创电子有限公司 | 一种自动测试pcba主板io接口功能焊接状态的系统 |
CN111338326B (zh) * | 2020-04-07 | 2022-11-11 | 华北水利水电大学 | 一种fpga通用io接口测试的设备和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007248120A (ja) * | 2006-03-14 | 2007-09-27 | Yokogawa Electric Corp | Jtagテストシステム |
CN101416067A (zh) * | 2004-10-28 | 2009-04-22 | 英特尔公司 | 使用标准可重新配置逻辑器件对ic或电模块的低成本测试 |
CN101639515A (zh) * | 2008-08-01 | 2010-02-03 | 环隆电气股份有限公司 | 测试装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059973A1 (en) * | 2002-09-24 | 2004-03-25 | Sherman Brent M. | Apparatus for testing a device under test using a high speed bus and method therefor |
-
2010
- 2010-10-22 CN CN201010516760A patent/CN101980036B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101416067A (zh) * | 2004-10-28 | 2009-04-22 | 英特尔公司 | 使用标准可重新配置逻辑器件对ic或电模块的低成本测试 |
JP2007248120A (ja) * | 2006-03-14 | 2007-09-27 | Yokogawa Electric Corp | Jtagテストシステム |
CN101639515A (zh) * | 2008-08-01 | 2010-02-03 | 环隆电气股份有限公司 | 测试装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101980036A (zh) | 2011-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101980036B (zh) | 基于fpga实现的jtag测试方法 | |
CN101719088B (zh) | 一种对处理器芯片进行在线检测的装置和方法 | |
US6961885B2 (en) | System and method for testing video devices using a test fixture | |
US7272767B2 (en) | Methods and apparatus for incorporating IDDQ testing into logic BIST | |
CN100425999C (zh) | 一种基于可编程逻辑器件的电路板故障自定位装置及其方法 | |
CN104515947A (zh) | 可编程逻辑器件在系统编程的快速配置与测试方法 | |
CN103675641B (zh) | 芯片故障定位方法、装置及系统 | |
WO2002042949A1 (en) | Multiple device scan chain emulation/debugging | |
US8666690B2 (en) | Heterogeneous multi-core integrated circuit and method for debugging same | |
CN108614205A (zh) | 具自我检测功能的测试电路板及其自我检测方法 | |
CN112015604B (zh) | 一种基于Zynq FPGA的自动化可靠性评估系统及评估方法 | |
JP6297091B2 (ja) | 電子システムならびにシステム診断回路およびその動作方法 | |
CN101713814B (zh) | 基于边界扫描的Flash芯片检测方法 | |
CN105334451A (zh) | 边界扫描测试系统 | |
CN102435929B (zh) | 自动测试装置终测环境下调试晶圆级测试方案的装置 | |
CN110717307B (zh) | 一种基于边界扫描电路的sip器件可测试性方法 | |
CN101144844B (zh) | 一种芯片焊接质量的检测方法 | |
CN105573954A (zh) | 一种jtag接口与内部用户逻辑之间的连接装置 | |
CN103941175A (zh) | 一种边界扫描测试系统及方法 | |
CN112527710B (zh) | 一种jtag数据捕获分析系统 | |
Liu et al. | Research on fault injection technology for embedded software based on JTAG interface | |
CN202916406U (zh) | 一种基于边界扫描的焊点检测系统 | |
CN202362423U (zh) | 自动测试装置终测环境下调试晶圆级测试方案的装置 | |
KR102135131B1 (ko) | Fpga 프로그램 테스트를 위한 시험방법 | |
CN107526027B (zh) | 一种pcba板bga芯片焊点问题快速诊断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20181022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |