CN115524605A - 电子器件、联合测试工作组接口的访问方法及存储介质 - Google Patents

电子器件、联合测试工作组接口的访问方法及存储介质 Download PDF

Info

Publication number
CN115524605A
CN115524605A CN202110715158.7A CN202110715158A CN115524605A CN 115524605 A CN115524605 A CN 115524605A CN 202110715158 A CN202110715158 A CN 202110715158A CN 115524605 A CN115524605 A CN 115524605A
Authority
CN
China
Prior art keywords
pin
data
tdi
gpio
signal
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.)
Pending
Application number
CN202110715158.7A
Other languages
English (en)
Inventor
毛琪
叶继龙
乔立忠
周彦彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110715158.7A priority Critical patent/CN115524605A/zh
Publication of CN115524605A publication Critical patent/CN115524605A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请公开了一种电子器件、JTAG接口的访问方法及存储介质,属于通信技术领域。该电子器件包括:SPI接口、GPIO接口和处理器。SPI接口包括SCK管脚、MISO管脚和MOSI管脚。GPIO接口包括第一GPIO管脚。目标JTAG接口包括TCK管脚、TDI管脚、TDO管脚和TMS管脚。处理器控制SCK管脚向TCK管脚发送TCK信号,控制MISO管脚接收从TDO管脚输出的TDO信号,以及控制MOSI管脚和第一GPIO管脚向TMS管脚输出TMS信号以及向TDI管脚输出TDI信号。该电子器件能够采用SPI接口和GPIO接口模拟JTAG接口,实现对目标JTAG接口的访问。

Description

电子器件、联合测试工作组接口的访问方法及存储介质
技术领域
本申请涉及通信技术领域,特别涉及一种电子器件、联合测试工作组(joint testaction group,JTAG)接口的访问方法及存储介质。
背景技术
JTAG协议是一种国际标准测试协议,主要用于芯片测试。
基于JTAG协议的JTAG接口分为主JTAG接口和从JTAG接口,只有主JTAG接口能够发起对从JTAG接口的访问。对于一些不具备主JTAG接口的电子器件,会采用通用型输入/输出(general purpose input/output,GPIO)接口模拟主JTAG接口,实现对从JTAG接口的访问。用于模拟主JTAG接口的GPIO接口包括四个GPIO管脚,这四个GPIO管脚分别与从JTAG接口的测试时钟(test clock,TCK)管脚、测试数据输入(test data input,TDI)管脚、测试数据输出(test data output,TDO)管脚和测试模式选择(test mode selection,TMS)管脚进行信号传输。
由于需要采用四个GPIO管脚实现对从JTAG接口的访问,而许多电子器件的GPIO管脚的数量不足,导致该方式的应用受限。
发明内容
本申请提供了一种电子器件、JTAG接口的访问方法及存储介质,能够基于串行外设接口(Serial Peripheral Interface,SPI)和GPIO接口实现对目标JTAG接口的访问,需要的GPIO管脚的数量较少。
第一方面,本申请提供了一种电子器件。该电子器件用于访问目标JTAG接口。所述目标JTAG接口包括TCK管脚、TDI管脚、TDO管脚和TMS管脚,所述电子器件包括:SPI接口、GPIO接口和处理器。所述SPI接口包括串行时钟(serial clock,SCK)管脚、主设备输入/从设备输出(Master Input Slave Output,MISO)管脚、主设备输出/从设备输入(MasterOutput Slave Input,MOSI)管脚。GPIO接口包括第一GPIO管脚。处理器分别与SPI接口和GPIO接口连接。处理器被配置为:控制所述SCK管脚向所述TCK管脚发送TCK信号,控制所述MISO管脚接收从所述TDO管脚输出的TDO信号,以及控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚输出TMS信号以及向所述TDI管脚输出TDI信号。
本申请中,采用SPI接口和GPIO接口来模拟JTAG接口,实现了对目标JTAG接口的访问。由于本申请采用了SPI接口的三个管脚模拟JTAG接口的管脚,剩余所需的管脚采用GPIO管脚模拟,相对于JTAG接口的所有管脚都采用GPIO管脚模拟,模拟JTAG接口需要的GPIO管脚的数量较少,有利于本申请的推广应用。
在本申请中,处理器被配置为控制MOSI管脚发送TDI信号的至少一部分,该至少一部分携带例如测试数据中除了最后1比特之外的其他数据,这样大部分测试数据均通过MOSI管脚发送。由于SPI接口支持的数据传输速率高于GPIO接口,因此,与采用GPIO管脚发送测试数据相比,通过MISO管脚发送测试数据能够提升数据传输效率,进而提升芯片测试的效率。
在一种可能的实施方式中,所述处理器被配置为:控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;控制所述MOSI管脚在第二时间段内向所述TMS管脚发送所述TMS信号的第一部分,以及控制所述第一GPIO管脚在所述第二时间段内向所述TDI管脚发送TDI信号的第二部分;其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。在本申请中,TDI信号的第一部分携带测试数据中除最后1比特之外的数据,TDI信号的第二部分携带测试数据的最后1比特数据。TMS信号的第一部分携带模式选择数据的第1比特数据。
由于JTAG标准要求TDI信号的第二部分(例如TDI信号对应的最后1比特)和TMS信号的第一部分(即TMS信号对应的第1比特)要同时生效,因此,需要同时发送TDI信号的第二部分和TMS信号的第一部分。本申请通过在第二时间段内,控制所述MOSI管脚向所述TMS管脚发送所述TMS信号的第一部分并控制所述第一GPIO管脚向所述TDI管脚发送TDI信号的第二部分,可以满足JTAG标准的要求。
在本申请中,处理器还被配置为:控制MOSI管脚在第三时间段内向TMS管脚发送TMS信号的第二部分。也即是,TMS信号通过MOSI管脚发送给TMS管脚。其中,第三时间段在第二时间段之后,且与第二时间段连续。
在一些示例中,所述第一GPIO管脚与所述TDI管脚连接。所述GPIO接口还包括第二GPIO管脚。该电子器件还包括接口控制电路,所述接口控制电路包括第一复用器,所述第一复用器具有一个输入端、一个控制端和两个输出端,所述第一复用器的输入端与所述MOSI管脚连接,所述第一复用器的控制端与所述第二GPIO管脚连接,所述第一复用器的一个输出端与所述TMS管脚连接,所述第一复用器的另一个输出端与所述TDI管脚连接。
所述第一复用器被配置为在所述第二GPIO管脚输出的第一电平的作用下,将所述MOSI管脚与所述TMS管脚导通,以通过所述MOSI管脚向所述TMS管脚发送所述TMS信号,或者,在所述第二GPIO管脚输出的第二电平的作用下,将所述MOSI管脚与所述TDI管脚导通,以通过所述MOSI管脚向所述TDI管脚发送所述TDI信号的第一部分。
所述处理器还被配置为在所述第一时间段内控制所述第二GPIO管脚输出所述第二电平,以及在所述第二时间段内,控制所述第二GPIO管脚输出所述第一电平。
在该示例中,采用一个第一复用器以及一个第二GPIO管脚,即可控制MOSI管脚在第一时间段内发送信号至TDI管脚,以及控制MOSI管脚在第二时间段内发送信号至TMS管脚,电路结构简单,实现方便。
可选地,所述接口控制电路还包括第一下拉电阻和第二下拉电阻,所述第一下拉电阻的一端与所述第一复用器的一个输出端连接,所述第一下拉电阻的另一端接地,所述第二下拉电阻的一端与所述第一复用器的另一个输出端连接,所述第二下拉电阻的另一端接地。
通过第一下拉电阻和第二下拉电阻,能够保证在第一复用器中的通道切换后,被关闭的通道所连接的管脚保持低电平,避免受到噪声干扰。
在另一些示例中,所述GPIO接口还包括第三GPIO管脚和第四GPIO管脚。所述电子器件还包括接口控制电路,所述接口控制电路包括第二复用器和第三复用器。
所述第二复用器具有一个输入端、一个控制端和两个输出端,所述第二复用器的输入端与所述MOSI管脚连接,所述第二复用器的控制端与所述第三GPIO管脚连接,所述第二复用器的一个输出端与所述TMS管脚连接。所述第二复用器被配置为在所述第三GPIO管脚输出的第一电平的作用下,将所述MOSI管脚与所述TMS管脚导通,以通过所述MOSI管脚向所述TMS管脚发送TMS信号,或者,在所述第三GPIO管脚输出的第二电平的作用下,将所述MOSI管脚与所述第三复用器的输入端导通,以通过所述MOSI管脚向所述第三复用器发送TDI信号的第一部分。
所述第三复用器具有两个输入端、一个控制端和一个输出端,所述第三复用器的一个输入端与所述第二复用器的另一个输出端连接,所述第三复用器的另一个输入端与所述第一GPIO管脚连接,所述第三复用器的控制端与所述第四GPIO管脚连接,所述第三复用器的输出端与所述TDI管脚连接。所述第三复用器被配置为在所述第四GPIO管脚输出第三电平时,将所述第一GPIO管脚与所述TDI管脚导通,以通过所述第一GPIO管脚向所述TDI管脚发送所述TDI信号的第二部分,或者,在所述第四GPIO管脚输出第四电平时,将所述第二复用器的另一输出端与所述TDI管脚导通,以将所述第二复用器的另一输出端输出的所述TDI信号的第一部分发送给所述TDI管脚。
所述处理器还被配置为,在所述第一时间段内控制所述第三GPIO管脚输出所述第二电平并控制所述第四GPIO管脚输出所述第四电平;以及在所述第二时间段内控制所述第三GPIO管脚输出所述第一电平并控制所述第四GPIO管脚输出所述第三电平。
在一些示例中,第三GPIO管脚和第四GPIO管脚为同一管脚。在第三GPIO管脚和第四GPIO管脚为同一管脚的情况下,能够对第二复用器和第三复用器进行同步控制。并且,第三GPIO管脚和第四GPIO管脚共用同一个管脚能够减少所需要的GPIO管脚的数量并且简化电路结构。
在另一些示例中,第三GPIO管脚和第四GPIO管脚为两个不同的管脚。
在该示例中,采用两个复用器以及一个或两个GPIO管脚配合,即可控制MOSI管脚在第一时间段内发送信号至TDI管脚,以及控制MOSI管脚在第二时间段内发送信号至TMS管脚,电路结构简单,实现方便。
可选地,所述接口控制电路还包括第三下拉电阻,所述第三下拉电阻的一端与所述第二复用器的与所述TMS管脚连接的输入端连接,所述第三下拉电阻的另一端接地。
当第三复用器的连接第一GPIO管脚和TDI管脚的通道关闭时,第二复用器的连接MOSI管脚和第三复用器的输入端的通道也关闭,因此,能够维持TDI管脚的电平为低电平,所以无需在TDI管脚处连接下拉电阻。而在TMS管脚处连接的第三下拉电阻能够当第二复用器的连接MOSI管脚和TMS管脚的通道关闭时,维持TMS管脚的低电平,从而避免噪声干扰。
在另一种可能的实施方式中,所述处理器被配置为控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;控制所述MOSI管脚在第二时间段内向所述TDI管脚发送所述TDI信号的第二部分;以及控制所述第一GPIO管脚在所述第二时间段内向所述TMS管脚发送所述TMS信号的第一部分。其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
在该实施方式中,始终通过MOSI管脚发送TDI信号,可以避免TDI信号对应的管脚的切换,有利于简化处理器的控制逻辑。
可选地,所述GPIO接口还包括第五GPIO管脚和第六GPIO管脚。所述电子器件还包括接口控制电路,所述接口控制电路包括第四复用器。所述第四复用器具有两个输入端、一个控制端和一个输出端,所述第四复用器的一个输入端与所述SCK管脚连接,所述第四复用器的另一个输入端与所述第五GPIO管脚连接,所述第四复用器的控制端与所述第六GPIO管脚连接,所述第四复用器的输出端与所述TCK管脚连接。
所述第四复用器被配置为在所述第六GPIO管脚输出的第五电平的作用下,导通所述SCK管脚和所述TCK管脚,以将所述SCK管脚输出的SCK信号作为所述TCK信号传输至所述TCK管脚,或者,在所述第六GPIO管脚输出的第六电平的作用下,将所述第五GPIO管脚输出的时钟信号作为所述TCK信号传输至所述TCK管脚。
所述处理器还被配置为在所述第一时间段内控制所述第六GPIO管脚输出所述第五电平,并控制所述SCK管脚向所述TCK管脚发送所述SCK信号;以及在所述第二时间段内控制所述第六GPIO管脚输出所述第六电平,并控制所述第五GPIO管脚向所述TCK管脚发送所述时钟信号。
通过控制第四复用器,可以在MOSI管脚发送TDI信号时,由SCK管脚提供频率较高的SCK信号作为时钟信号发送给TCK管脚,从而使得测试数据的传输效率较高。而在第一GPIO管脚发送TMS信号时,由第五GPIO管脚提供频率较低的时钟信号发送给TCK管脚,使得TMS信号和TCK信号的频率保持一致。
可选地,所述目标JTAG接口还包括测试复位(test reset,TRST),所述GPIO接口还包括第七GPIO管脚,所述处理器还被配置为控制所述第七GPIO管脚向所述TRST管脚发送TRST信号。
SPI接口在通过MOSI管脚发送数据时,对数据传输的单位长度是有要求的。在一些示例中,SPI接口支持的数据传输的单位长度是固定不变的。JTAG接口对数据传输的长度没有要求,但是JTAG协议要求TDI信号的第二部分和TMS信号的第一部分同时生效。为了同时满足这两个要求,处理器需要先判断测试数据的总长度是否满足总长度减X等于Y的整数倍,然后根据判断结果生成TDI信号。如果处理器确定测试数据的总长度减X等于Y的整数倍,则根据所述测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述测试数据中后X比特生成所述TDI信号的第二部分。而如果处理器确定测试数据的总长度减X不等于Y的整数倍,则需要在所述测试数据的高位补0,直至补0后的测试数据的总长度减X不等于Y的整数倍,根据所述补0后的测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述补0后的测试数据中后X比特生成所述TDI信号的第二部分。其中,X为JTAG协议要求的TDI信号的第二部分和TMS信号的第一部分对应的数据长度,Y为SPI接口支持的数据传输的单位长度,且X和Y均为整数。
在一些示例中,X等于1,Y等于8或者16。
在另一些示例中,SPI接口支持的数据传输的单位长度是可以在设定范围内调整的。所述处理器还被配置为:将测试数据中除了后X比特之外的其他数据分为N个数据集合;根据所述N个数据集合中的数据生成所述TDI信号的第一部分,以及根据所述后X比特数据生成所述TDI信号的第二部分。其中,N为大于1的整数,且N不大于SPI接口支持的数据传输的单位长度的数量。所述N个数据集合中的每个数据集合包括至少一个数据,所述N个数据集合中的任一数据集合中的数据的长度相同,所述N个数据集合中的不同数据集合中的数据的长度不同,每个数据集合中的所述数据的长度均在设定范围内,即每个数据集合中数据的长度均为所述SPI接口支持的数据传输的单位长度中的一种。
示例性地,设定范围为4比特~8比特。SPI接口支持的数据传输的单位长度有5种,则SPI接口支持的数据传输的单位长度的数量为5。
一些电子器件支持通过SPI接口发送可变长度的数据,通过根据测试数据的长度对测试数据进行分组,得到N个数据集合,且每个数据集合中的数据的长度均为SPI接口支持的长度,使得处理器通过内部调整即可实现数据长度的切换,进而根据各个数据集合中数据的长度来生成对应的TDI信号,而无需对测试数据进行补0。
可选地,所述处理器还被配置为:根据所述SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,得到补位后的模式选择数据;根据所述补位后的模式选择数据,生成所述TMS信号。
可选地,所述处理器被配置为采用以下至少一种进行补位操作:根据所述单位长度在第一模式选择数据的高位补0,所述第一模式选择数据用于控制测试访问口(testaccess port,TAP)控制器从空闲态转换为选择数据寄存器扫描状态或者选择指令寄存器扫描状态;以及根据所述单位长度在第二模式选择数据的低位补0,所述第二模式选择数据用于控制TAP控制器从更新数据寄存器状态或更新指令寄存器状态转换为空闲态。
第二方面,提供了一种JTAG接口的访问方法,该方法用于访问目标JTAG接口。所述目标JTAG接口包括TCK管脚、TDI管脚、TDO管脚和TMS管脚,所述方法应用于电子器件,所述电子器件包括:串行外设SPI接口、通用型输入/输出GPIO接口和处理器。所述SPI接口包括SCK管脚、MISO管脚和MOSI管脚,所述GPIO接口包括第一GPIO管脚,所述方法包括:控制所述SCK管脚向所述TCK管脚发送TCK信号;控制所述MISO管脚接收从所述TDO管脚输出的TDO信号;以及控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号。
在一种可能的实施方式中,所述控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号,包括:控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;控制所述MOSI管脚在第二时间段内向所述TMS管脚发送所述TMS信号的第一部分;以及在所述第二时间段内控制所述第一GPIO管脚向所述TDI管脚发送所述TDI信号的第二部分,其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
在另一种可能的实施方式中,所述控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号,包括:控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;控制所述MOSI管脚在第二时间段内向所述TDI管脚发送所述TDI信号的第二部分;以及控制所述第一GPIO管脚在所述第二时间段内向所述TMS管脚发送所述TMS信号的第一部分;其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
可选地,所述控制所述SCK管脚向所述TCK管脚发送TCK信号,包括:在所述第一时间段内,控制所述SCK管脚向所述TCK管脚发送所述TCK信号。所述方法还包括:在所述第二时间段内,控制第二GPIO管脚向所述TCK管脚发送所述TCK信号。
可选地,在所述控制MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:响应于确定测试数据的总长度减X等于Y的整数倍,根据所述测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度;或者,响应于确定测试数据的总长度减X不等于Y的整数倍,在所述测试数据的高位补0,直至补0后的测试数据的总长度减X等于Y的整数倍,根据所述补0后的测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述补0后的测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度。
可选地,在所述控制MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:将测试数据中除了后X比特之外的其他数据分为N个数据集合,N为大于1的整数且N不大于所述SPI接口支持的数据传输的单位长度的数量,所述N个数据集合中的每个数据集合包括至少一个数据,所述N个数据集合中的任一数据集合中的数据的长度相同,所述N个数据集合中的不同数据集合中的数据的长度不同,所述任一数据集合中数据的长度均为所述SPI接口支持的数据传输的单位长度中的一种;根据所述N个数据集合中的数据生成所述TDI信号的第一部分,以及根据所述后X比特数据生成所述TDI信号的第二部分。
可选地,在所述控制MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:根据所述SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,得到补位后的模式选择数据;根据所述补位后的模式选择数据,生成所述TMS信号。
可选地,所述根据测试访问口TAP控制器的状态对TMS数据进行补位操作,包括以下至少一种:根据所述单位长度在第一模式选择数据的高位补0,所述第一模式选择数据用于控制测试访问口TAP控制器从空闲态转换为选择数据寄存器扫描状态或者选择指令寄存器扫描状态;以及根据所述单位长度在第二模式选择数据的低位补0,所述第二模式选择数据用于控制TAP控制器从更新数据寄存器状态或更新指令寄存器状态转换为空闲态。
第三方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中的计算机指令被计算机设备执行时,使得计算机设备执行第二方面及其可能的实现方式的方法。
第四方面,提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述第二方面及其可能的实现方式的方法。
附图说明
图1是本申请一个示例性实施例提供的应用场景的网络架构示意图;
图2是本申请一个示例性实施例提供的一种电子器件的结构示意图;
图3是本申请一个示例性实施例提供的另一种电子器件的结构示意图;
图4是本申请一个示例性实施例提供的另一种电子器件的结构示意图;
图5是本申请一个示例性实施例提供的另一种电子器件的结构示意图;
图6是本申请一个示例性实施例提供的另一种电子器件的结构示意图;
图7是本申请一个示例性实施例提供的一种JTAG接口的访问方法的流程图;
图8是本申请一个示例性实施例提供的一种TDI信号和TMS信号的发送过程示意图;
图9是本申请一个示例性实施例提供的另一种TDI信号和TMS信号的发送过程示意图;
图10是TAP控制器的状态变化图;
图11是本申请一个示例性实施例提供的控制数据寄存器位移的指令的时序图;
图12是本申请一个示例性实施例提供的控制指令寄存器位移的指令的时序图;
图13是本申请一个示例性实施例提供的JTAG接口的访问装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请一个示例性实施例提供的应用场景的网络架构示意图。如图1所示,第一电子器件11包括第一JTAG接口11a,第二电子器件12包括第二JTAG接口12a。第一JTAG接口11a与第二JTAG接口12a连接。第一电子器件11通过第一JTAG接口11a访问第二电子器件12的第二JTAG接口12a,以实现对第二电子器件12的测试。
其中,发起访问的第一JTAG接口为主JTAG接口,被访问的第二JTAG接口为从JTAG接口。
示例性地,第一电子器件11和第二电子器件12均选自以下电子器件:中央处理单元(central processing unit,CPU)、微控制器单元(micro controller unit,MCU)(又称单片微型计算机)、数字信号处理器(digital signal processor,DSP)、现场可编程逻辑门阵列(field programmable gate array,FPGA)等。在一些示例中,第一电子器件11和第二电子器件12的类型相同。在另一些示例中,第一电子器件11和第二电子器件12的类型不同。
在本申请实施例中,JTAG接口至少包括TCK管脚、TMS管脚、TDI管脚和TDO管脚。
可选地,除了TCK管脚、TMS管脚、TDI管脚和TDO管脚之外,JTAG接口还可以包括TRST管脚。该TRST管脚用于接收TRST信号,以对TAP控制器进行复位(又称初始化)。由于利用TMS信号也可以实现对TAP控制器进行复位,所以该TRST管脚是可选的。
对于一些没有配置JTAG接口但是需要对目标JTAG接口发起访问的电子器件而言,需要通过其他接口模拟JTAG接口,以实现对目标JTAG接口的访问。在本申请实施例中,电子器件通过SPI接口和GPIO接口来模拟JTAG接口,以访问目标JTAG接口。由于大部分电子器件均具备SPI接口和GPIO接口,所以本申请实施例的应用价值较高。
SPI接口包括:SCK管脚、MISO管脚、MOSI管脚和片选(slave select,SS)管脚。
本申请实施例主要利用SPI接口的SCK管脚、MISO管脚和MOSI管脚作为模拟JTAG接口的管脚。其中,SCK管脚用于发送时钟信号,时钟信号由SPI所属的电子器件产生,不同的电子器件支持的时钟频率不一样。MOSI管脚用于将主设备的数据输出至从设备,即该管脚上数据的传输方向为主设备到从设备。MISO管脚用于接收从设备发送给主设备的数据,即主机从这条信号线读入数据,从机的数据则由这条信号线输出,即MISO管脚上数据的传输方向为从设备到主设备。
示例性地,本申请实施例提供的电子器件包括但不限于CPU、MCU、DSP、FPGA等。
图2是本申请一个示例性实施例提供的一种电子器件的结构示意图。该电子器件用于访问目标JTAG接口。如图2所示,该电子器件200包括:SPI接口210、GPIO接口220和处理器230。其中,SPI接口210包括SCK管脚211、MISO管脚212和MOSI管脚213。GPIO接口220包括第一GPIO管脚221。处理器230被配置为控制SCK管脚211向TCK管脚发送TCK信号,控制MISO管脚212接收从TDO管脚输出的TDO信号,以及控制MOSI管脚213和第一GPIO管脚221向TMS管脚输出TMS信号以及向TDI管脚发送TDI信号。
本申请实施例中,通过SPI接口的部分管脚和GPIO接口的至少部分管脚来模拟JTAG接口,实现了对目标JTAG接口的访问。相对于JTAG接口的所有管脚都采用GPIO管脚模拟,由于本申请实施例采用了SPI接口的三个管脚模拟JTAG接口的管脚,剩余所需的管脚采用GPIO管脚模拟,因此需要的GPIO管脚的数量较少,有利于本申请实施例的推广应用。
在本申请实施例中,处理器230被配置为控制MOSI管脚发送TDI信号的至少一部分,该至少一部分携带例如除了测试数据的最后1比特之外的其他数据,这样大部分测试数据均通过MOSI管脚发送。由于SPI接口支持的数据传输速率高于GPIO接口,因此,与采用GPIO管脚发送测试数据相比,本申请实施例能够提升数据传输效率,进而提升芯片测试的效率。
在一些示例中,处理器被配置为:控制MOSI管脚在第一时间段内向TDI管脚发送TDI信号的第一部分;控制MOSI管脚在第二时间段内向TMS管脚发送TMS信号,以及控制第一GPIO管脚在第二时间段内向TDI管脚发送TDI信号的第二部分;其中,第二时间段在第一时间段之后且与第一时间段连续。
在该示例中,处理器还被配置为:控制MOSI管脚在第三时间段内向TMS管脚发送TMS信号的第二部分。也即是,TMS信号通过MOSI管脚发送给TMS管脚。其中,第三时间段在第二时间段之后且与第二时间段连续。
下面结合图3和图4对此进行详细描述。
图3是本申请一个示例性实施例提供的一种电子器件的结构示意图。如图3所示,该电子器件包括:SPI接口310、GPIO接口320、处理器330和接口控制电路340。其中,SPI接口310包括SCK管脚311、MISO管脚312和MOSI管脚313。GPIO接口320包括第一GPIO管脚321和第二GPIO管脚322。
接口控制电路340包括第一复用器341,第一复用器341具有一个输入端、一个控制端和两个输出端,第一复用器341的输入端与MOSI管脚连接,第一复用器341的控制端与第二GPIO管脚322连接,第一复用器341的一个输出端与目标JTAG接口的TMS管脚连接,第一复用器341的另一个输出端与目标JTAG接口的TDI管脚连接。第一GPIO管脚321与TDI管脚连接。
第一复用器341被配置为在第二GPIO管脚322输出的第一电平的作用下,将MOSI管脚313与TMS管脚导通,以通过MOSI管脚313向TMS管脚发送TMS信号的第一部分,或者,在第二GPIO管脚322输出的第二电平的作用下,将MOSI管脚313与TDI管脚导通,以通过MOSI管脚313向TDI管脚发送TDI信号的第一部分。
其中,第一电平和第二电平分别为高电平和低电平中的一个。例如,第一电平为高电平,则第二电平为低电平。又例如,第一电平为低电平,则第二电平为高电平。本申请实施例对第一电平和第二电平的电平值不做限制,只要能够控制第一复用器切换通道即可。
处理器330还被配置为在第一时间段内控制第二GPIO管脚输出第二电平,以及在第二时间段内,控制第二GPIO管脚输出所述第一电平。
采用一个第一复用器以及一个第二GPIO管脚,即可控制MOSI管脚在第一时间段内输出信号至TDI管脚,以及控制MOSI管脚在第二时间段内输出信号至TMS管脚,电路结构简单,实现方便。
可选地,接口控制电路340还包括第一下拉电阻342和第二下拉电阻343。第一下拉电阻342的一端与第一复用器341的一个输出端连接,第一下拉电阻342的另一端接地。第二下拉电阻343的一端与第一复用器341的另一个输出端连接,第二下拉电阻343的另一端接地。
通过第一下拉电阻和第二下拉电阻,能够保证在第一复用器中的通道切换后,被关闭的通道所连接的管脚保持低电平,避免受到噪声干扰。
图4是本申请一个示例性实施例提供的电子器件的结构示意图。如图4所示,该电子器件包括:SPI接口410、GPIO接口420、处理器430和接口控制电路440。其中,SPI接口410包括SCK管脚411、MISO管脚412和MOSI管脚413。GPIO接口420包括第一GPIO管脚421、第三GPIO管脚422和第四GPIO管脚423,接口控制电路440包括第二复用器441和第三复用器442。
第二复用器441具有一个输入端、一个控制端和两个输出端,第二复用器441的输入端与MOSI管脚413连接,第二复用器441的控制端与第三GPIO管脚422连接,第二复用器441的一个输出端与TMS管脚连接。
第三复用器442具有两个输入端、一个控制端和一个输出端,第三复用器442的一个输入端与第二复用器441的另一个输出端连接,第三复用器442的另一个输入端与第一GPIO管脚421连接,第三复用器442的控制端与第四GPIO管脚423连接,第三复用器442的输出端与TDI管脚连接。
第二复用器441被配置为在第三GPIO管脚422输出的第一电平的作用下,将MOSI管脚413与TMS管脚导通,以通过MOSI管脚413向TMS管脚发送TMS信号的第一部分,或者,在第三GPIO管脚422输出的第二电平的作用下,将MOSI管脚413与第三复用器442的输入端导通,以通过MOSI管脚413向第三复用器442的输入端发送TDI信号的第一部分。
第三复用器442被配置为在第四GPIO管脚423输出第三电平时,将第一GPIO管脚421与TDI管脚导通,以通过第一GPIO管脚421向TDI管脚发送TDI信号的第二部分,或者,在第四GPIO管脚423输出第四电平时,将第二复用器441的另一输出端与TDI管脚导通,以将第二复用器441的另一输出端输出的TDI信号的第一部分发送给TDI管脚。
处理器430还被配置为:在第一时间段内控制第三GPIO管脚422输出第二电平并控制第四GPIO管脚423输出第四电平;以及在第二时间段内控制第三GPIO管脚422输出第一电平并控制第四GPIO管脚423输出第三电平。
可选地,接口控制电路440还包括第三下拉电阻443,第三下拉电阻443的一端与第二复用器441的与TMS管脚连接的输入端连接,第三下拉电阻443的另一端接地。
当第三复用器的连接第一GPIO管脚和TDI管脚的通道关闭时,第二复用器的连接MOSI管脚和第三复用器的输入端的通道也关闭,因此,能够维持TDI管脚的电平为低电平,所以无需在TDI管脚处连接下拉电阻。而在TMS管脚处连接的第三下拉电阻能够当第二复用器的连接MOSI管脚和TMS管脚的通道关闭时,维持TMS管脚的低电平,从而避免噪声干扰。
需要说明的是,在图4所示实施例中,第三GPIO管脚和第四GPIO管脚为同一管脚。在第三GPIO管脚和第四GPIO管脚为同一管脚的情况下,能够对第二复用器和第三复用器进行同步控制。并且,第三GPIO管脚和第四GPIO管脚共用同一个管脚能够减少所需要的GPIO管脚的数量并且简化电路结构。在其他实施例中,第三GPIO管脚和第四GPIO管脚也可以采用两个管脚实现。
在图3和图4所示实施例中,测试数据基本采用MOSI管脚传输,使得数据传输速率基本可以达到SPI接口支持的最高速率。
在另一些实施例中,处理器被配置为控制MOSI管脚在第一时间段内向TDI管脚发送TDI信号的第一部分;控制MOSI管脚在第二时间段内向TDI管脚发送TDI信号的第二部分;以及控制第一GPIO管脚在第二时间段内向TMS管脚发送TMS信号的第一部分。其中,第二时间段在第一时间段之后且与第一时间段连续。
在该示例中,处理器还被配置为:控制第一GPIO管脚在第三时间段内向TMS管脚发送TMS信号的第二部分。也即是,TMS信号通过MOSI管脚发送给TMS管脚。其中,第三时间段在第二时间段之后且与第二时间段连续。
图5是本申请一个示例性实施例提供的电子器件的结构示意图。如图5所示,该电子器件包括:SPI接口510、GPIO接口520、处理器530和接口控制电路540。其中,SPI接口510包括SCK管脚511、MISO管脚512和MOSI管脚513。GPIO接口420包括第一GPIO管脚521、第五GPIO管脚522和第六GPIO管脚523,接口控制电路540包括第四复用器541。
第四复用器541具有两个输入端、一个控制端和一个输出端,第四复用器541的一个输入端与SCK管脚连接,第四复用器541的另一个输入端与第五GPIO管脚连接,第四复用器541的控制端与第六GPIO管脚连接,第四复用器541的输出端与TCK管脚连接。第四复用器541被配置为在第六GPIO管脚523输出的第五电平的作用下,将SCK管脚511输出的SCK信号作为TCK信号输出至TCK管脚,或者,在第六GPIO管脚523输出的第六电平的作用下,将第五GPIO管脚522输出的时钟信号作为TCK信号输出至TCK管脚。
处理器530还被配置为在第一时间段内控制第六GPIO管脚输出第五电平,并控制SCK管脚向TCK管脚发送SCK信号;以及在第二时间段内控制第六GPIO管脚输出第六电平,并控制第五GPIO管脚向TCK管脚发送时钟信号。在该实施例中,处理器530还被配置为在第三时间段内控制第六GPIO管脚输出第六电平,并控制第五GPIO管脚向TCK管脚发送时钟信号。
通过控制第四复用器,可以在MOSI管脚输出TDI信号时,由SCK管脚提供频率较高的SCK信号作为时钟信号发送给TCK管脚,从而使得测试数据的传输效率较高。而在第一GPIO管脚输出TMS信号时,由第五GPIO管脚提供频率较低的时钟信号发送给TCK管脚,使得TMS信号和TCK信号的频率保持一致。由于TMS信号主要用于控制TAP控制器的状态变化,传输的数据量较小,所以采用第一GPIO管脚传输TMS信号对整体数据的传输效率影响较小。
可选地,在一些示例中,目标JTAG接口还包括TRST管脚。为此,本申请实施例还提供了一种适用于该类型目标JTAG接口的电子器件,该电子器件的GPIO接口还包括用于TRST管脚的第七GPIO管脚。
图6是本申请一个示例性实施例提供的另一种电子器件的结构示意图。图6所示的电子器件与图3所示的电子器件的区别在于,GPIO接口320还包括第七GPIO管脚323,处理器340还被配置为控制第七GPIO管脚323向TRST管脚发送TRST信号。
需要说明的是,图6中的第七GPIO管脚323还可以结合至图4或图5所示的电子器件中。
在图2至图6所示实施例中,处理器还用于根据测试数据生成TDI信号。详细生成方式参见下文中的方法实施例。
可选地,在图2至图6所示实施例中,处理器还用于根据TAP控制器的状态,对模式选择数据进行补位操作,参见下文中的方法实施例。
本申请实施例还提供了一种JTAG接口的访问方法。该方法用于访问目标JTAG接口。该方法由电子器件执行,该电子器件例如为图2至6任一所示的电子器件。该电子器件具有SPI接口和GPIO接口,SPI接口包括SCK管脚、MISO管脚和MOSI管脚,GPIO接口包括第一GPIO管脚。该方法可以由电子器件的处理器执行。图7是本申请一个示例性实施例提供的一种JTAG接口的访问方法的流程图。如图7所示,该方法包括如下几个过程。
701:控制SCK管脚向TCK管脚发送TCK信号;
702:控制MISO管脚接收从TDO管脚输出的TDO信号;
703:控制MOSI管脚和第一GPIO管脚向TMS管脚发送TMS信号以及向TDI管脚发送TDI信号。
本申请实施例中,采用SPI接口的部分管脚和GPIO接口的至少部分管脚来模拟JTAG接口,实现了对目标JTAG接口的访问。相对于JTAG接口的所有管脚都采用GPIO管脚模拟,由于本申请实施例采用了SPI接口的三个管脚模拟JTAG接口的管脚,剩余所需的管脚采用GPIO管脚模拟,因此需要的GPIO管脚的数量较少,有利于本申请实施例的推广应用。
在本申请实施例中,处理器230被配置为控制MOSI管脚发送TDI信号的至少一部分,该至少一部分携带例如除了测试数据的最后1比特之外的其他数据,这样大部分测试数据均通过MOSI管脚发送。由于SPI接口支持的数据传输速率高于GPIO接口,因此,与采用GPIO管脚发送测试数据相比,本申请实施例能够提升数据传输效率,进而提升芯片测试的效率。
图8是本申请一个示例性实施例提供的一种TDI信号和TMS信号的发送过程示意图。
如图8所示,在一些示例中,703包括:
7031a:控制MOSI管脚在第一时间段内向TDI管脚发送TDI信号的第一部分;
7032a:控制MOSI管脚在第二时间段内向TMS管脚发送TMS信号的第一部分;以及
7033a:在第二时间段内控制第一GPIO管脚向TDI管脚发送TDI信号的第二部分。
在703中,第二时间段在第一时间段之后且与第一时间段连续。
例如,对于图3所示的电子器件:
7031a包括:在第一时间段内控制第二GPIO管脚322输出第二电平,使得MOSI管脚313与TDI管脚导通,并且控制MOSI管脚输出TDI信号的第一部分。7032a和7033a包括:在第二时间段内控制第二GPIO管脚322输出第一电平,使得MOSI管脚313与TMS管脚导通,并且在第二时间段内控制MOSI管脚向TMS管脚输出TMS信号的第一部分,以及在第二时间段内控制第一GPIO管脚向TDI管脚输出TDI信号的第二部分。
例如对于图4所示的电子器件:
7031a包括:在第一时间段内,控制第三GPIO管脚422输出第二电平使得MOSI管脚413与TDI管脚导通,并控制第四GPIO管脚423输出第四电平,将第一GPIO管脚421与TMS管脚导通,控制MOSI管脚413输出TDI信号的第一部分。7032a和7033a包括:在第二时间段内,控制第三GPIO管脚422输出第一电平使得MOSI管脚413与TMS管脚导通,并控制第四GPIO管脚423输出第三电平,将第一GPIO管脚421与TDI管脚导通,控制MOSI管脚413输出TMS信号的第一部分,以及控制MOSI管脚输出TDI信号的第二部分。
图9是本申请一个示例性实施例提供的一种TDI信号和TMS信号的发送过程示意图。
如图9所示,在另一些示例中,703包括:
7031b:控制MOSI管脚在第一时间段内向TDI管脚发送TDI信号的第一部分;
7032b:控制MOSI管脚在第二时间段内向TDI管脚发送TDI信号的第二部分;以及
7033b:控制第一GPIO管脚在第二时间段内向TMS管脚发送TMS信号的第一部分。
在图9对应的实施例中,控制SCK管脚向TCK管脚发送TCK信号,包括:在第一时间段内,控制SCK管脚向TCK管脚发送TCK信号。该方法还包括在第二时间段内,控制第二GPIO管脚向TCK管脚发送TCK信号。
可选地,在703之前,该方法还包括:根据测试数据生成TDI信号的第一部分和第二部分。其中,第一部分用于通过MOSI管脚发送。第二部分用于通过MOSI管脚或者第一GPIO管脚发送。
TDI信号的生成方式包括以下两种:
第一种、响应于确定测试数据的总长度减X等于Y的整数倍,根据测试数据中除了后X比特之外的数据生成TDI信号的第一部分,根据测试数据中后X比特生成TDI信号的第二部分,其中,Y为SPI接口支持的数据传输的单位长度;或者,响应于确定测试数据的总长度减X不等于Y的整数倍,在测试数据的高位补0,直至补0后的测试数据的总长度减X等于Y的整数倍,根据补0后的测试数据中除了后X比特之外的数据生成TDI信号的第一部分,根据补0后的测试数据中后X比特生成TDI信号的第二部分。
其中,X为JTAG协议要求的TDI信号的第二部分和TMS信号的第一部分对应的数据长度,Y为SPI接口支持的数据传输的单位长度,且X和Y均为整数。
JTAG接口对传输的测试数据和模式选择数据的长度没有限制。同时,JTAG标准中要求TDI信号的第二部分承载的数据和TMS信号的第一部分承载的数据同时生效。也即是,TDI信号的第二部分和TMS信号的第一部分需要同时发送。
在一些实施例中,该具有SPI接口的电子器件支持的数据格式固定,即数据传输的单位长度固定不变。为了同时满足JTAG接口和SPI接口的数据传输要求,需要保证通过MOSI管脚发送的数据的长度减X等于Y的整数倍。因此,当测试数据的总长度减X等于Y的整数倍时,需要对测试数据的高位进行补0。由于TDI信号是串行移位数据,最后移位的才是生效数据,所以在测试数据的高位补0不会对实际的测试数据产生影响。
示例性地,X等于1,Y等于8或者16。
例如,假设测试数据的总长度减1不等于8的整数倍,则在待发送的测试数据前补0,直至测试数据的总长度减1不等于8的整数倍。先采用TDI信号发送补充的0,然后再发送实际的测试数据。
第二种、将测试数据中除了后X比特之外的其他数据分为N个数据集合;根据所述N个数据集合中的数据生成所述TDI信号的第一部分,以及根据所述后X比特数据生成所述TDI信号的第二部分。其中,N为大于1的整数,且N不大于SPI接口支持的数据传输的单位长度的数量。所述N个数据集合中的每个数据集合包括至少一个数据,所述N个数据集合中的任一数据集合中的数据的长度相同,所述N个数据集合中的不同数据集合中的数据的长度不同,每个数据集合中的所述数据的长度均在设定范围内,即每个数据集合中数据的长度均为所述SPI接口支持的数据传输的单位长度中的一种。
示例性地,X等于1,设定范围为4比特~8比特。SPI接口支持的数据传输的单位长度有5种,分别为4bit、5bit、6bit、7bit或8bit,则SPI接口支持的数据传输的单位长度的数量为5。
假设待发送的测试数据的总长度减1等于8M+5+4bit,其中,M为正整数,则测试数据可以分为3个数据集合,一个数据集合包括M个数据长度为8的数据,一个数据集合中包括一个长度为5的数据,另一个数据集合中包括一个长度为4的数据。
SPI接口可以先以8bit为单位生成用于发送第一个数据集合中的数据的TDI信号,再以5bit为单位生成用于发送第二个数据集合中的数据的TDI信号,再以4bit为单位生成用于发送第三个数据集合中的数据的TDI信号。
TAP控制器是JTAG接口内部的一个状态机。通过控制TAP控制器的状态转换,可以实现JTAG接口的各种功能。下面结合图10对TAP控制器的状态转换机制进行简单介绍。
如图10所示,TAP控制器有16个状态,TAP控制器的下一个状态由TMS信号决定,TMS信号在TCK的上升沿被采样生效。
16个状态分别如下:
1、测试逻辑复位Test-Logic-Reset状态:
处于Test-Logic-Reset状态时,测试逻辑被禁止以允许芯片正常操作,读IDCODE寄存器将禁止测试逻辑。无论TAP控制器处于何种状态,只要将TMS信号在5个连续的TCK信号的上升沿保持高电平,TAP控制器就将进入Test-Logic-Reset状态。如果TMS信号一直为高电平,那么TAP控制器将保持在Test-Logic-Reset状态。另外TRST信号也可以强迫TAP进入Test-Logic-Reset状态。对于处于Test-Logic-Reset状态的TAP控制器,如果下一个TCK的上升沿时TMS信号处于低电平,那么TAP控制器将被切换到Run-Test-Idle状态。
2、运行测试空闲Run-Test-Idle状态:
Run-Test-Idle状态是TAP控制器扫描操作空闲状态。如果TMS信号一直处于低电平,那么TAP控制器将保持在Run-Test-Idle状态。当TMS信号在TCK上升沿处于高电平,TAP控制器将进入Select-DR-Scan状态。
3、选择数据寄存器扫描Select-DR-Scan状态:
Select-DR-Scan状态是TAP控制器的一个临时状态,边界扫描寄存器BSR保持它们先前的状态。当TMS信号在下一个TCK上升沿处于低电平,TAP控制器进入Capture-DR状态,一个BSR的扫描操作同时被初始化。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器将进入Select-IR-Scan状态。
4、捕获数据寄存器Capture-DR状态:
如果TAP控制器处于Capture-DR状态,且当前指令是SAMPLE/PRELOAD指令,那么BSR在TCK信号的上升沿捕获TDI管脚的数据。如果此时不是SAMPLE/PRELOAD指令,那么BSR保持它们先前的值,另外BSR的值被放入连接在TDI和TDO管脚之间的移位寄存器中。处于Capture-DR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Exit1-DR状态。如果TMS信号在下一个TCK上升沿处于低电平,则TAP控制器进入Shift-DR状态。
5、移位数据寄存器Shift-DR状态:
在Shift-DR状态下,在每个TCK的上升沿,TDI-移位寄存器-TDO串行通道向右移一位,TDI的数据移入移位寄存器,移位寄存器最靠近TDO的位移到TDO管脚上。处于Shift-DR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit1-DR状态。如果TMS信号处于低电平,则TAP一直进行移位操作。
6、退出数据寄存器Exit1-DR状态1:
Exit1-DR状态是TAP控制器的一个临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态;如果TMS信号在下一个TCK上升沿处于低电平,则TAP进入Pause-DR状态。处于Exit1-DR状态时,指令不会被改变。
7、暂停数据寄存器状态Pause-DR:
Pause-DR状态允许TAP控制器暂时停止TDI-移位寄存器-TDO串行通道的移位操作。处于Pause-DR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit2-DR状态;如果TMS信号处于低电平,则TAP一直保持暂停状态。
8、退出数据寄存器Exit2-DR状态2:
Exit2-DR也是TAP控制器的临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,则TAP重新进入Shift-DR状态。处于Exit2-D状态时,指令不会被改变。
9、更新数据寄存器Update-DR状态:
在正常情况下,边界扫描寄存器BSR的值是被锁存在并行输出管脚中,以免在EXTEST或SAMPLE/PRELOAD命令下执行移位操作时改变BSR的值。当处于Update-DR状态时选择的是BSR寄存器,那么移位寄存器中的值将在TCK的下降沿被锁存到BSR寄存器的并行输出管脚中去。处于Update-DR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Select-DR-Scan状态;如果TMS信号在下一个TCK上升沿处于低电平,则TAP进入Run-Test-Idle状态。
10、选择指令寄存器扫描Select-IR-Scan状态:
Select-IR-Scan是TAP控制器的一个临时状态。
如果TMS信号在下一个TCK上升沿处于低电平,TAP控制器进入Capture-IR状态,一个对指令寄存器的扫描操作同时被初始化。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器将进入Test-Logic-Reset状态。处于Select-IR-Scan状态时,指令不会被改变。
11、捕获指令寄存器Capture-IR状态:
处于Capture-IR状态时,指令寄存器中的值被固定设置成0b0000001,并将它放入连接在TDI与TDO之间的移位寄存器中。处于Capture-DR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Exit1-IR状态;如果TMS信号在下一个TCK上升沿处于低电平,则TAP控制器进入Shift-IR状态。
12、移位指令寄存器Shift-IR状态:
在Shift-IR状态下,在每个TCK信号的上升沿,TDI-移位寄存器-TDO串行通道向右移一位,JTAG指令从TDI管脚上被逐位移入移位寄存器,而移位寄存器中的0b0000001则被逐位从TDO管脚移出。处于Shift-IR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Exit1-IR状态;如果TMS信号处于低电平,则TAP控制器一直进行移位操作。
13、退出指令寄存器Exit1-IR状态1:
Exit1-IR状态是TAP控制器的一个临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Update-IR状态;如果TMS信号在下一个TCK上升沿处于低电平,则TAP控制器进入Pause-IR状态。处于Exit1-IR状态时,指令不会被改变。
14、暂停指令寄存器Pause-IR状态:
Pause-IR状态允许TAP控制器暂时停止TDI-移位寄存器-TDO串行通道的移位操作。处于Pause-IR状态时,指令不会被改变。如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Exit2-IR状态;如果TMS信号处于低电平,则TAP控制器一直处于暂停状态。
15、退出指令寄存器Exit2-IR状态2:
Exit2-IR也是TAP控制器的临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器进入Update-IR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,则TAP控制器重新进入Shift-IR状态。处于Exit2-D状态时,指令不会被改变。
16、更新指令寄存器Update-IR状态:
处于Update-IR状态时,移位寄存器中的值将在TCK的下降沿被锁存到指令寄存器中,一旦锁存成功,新的指令将成为当前的指令。如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Select-DR-Scan状态;如果TMS信号在下一个TCK上升沿处于电平,则TAP进入Run-Test-Idle状态。
如前所述,由于SPI接口对通过MOSI管脚发送的数据的单位长度有要求,因此,采用MOSI管脚发送模式选择数据时,也要考虑模式选择数据的长度是否符合SPI接口的要求。该方法还包括:根据SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,得到补位后的模式选择数据;根据补位后的模式选择数据,生成TMS信号。
在本申请实施例中,模式选择数据用于控制TAP控制器的状态转换。示例性地,模式选择数据包括第一模式选择数据和第二模式选择数据。第一模式选择数据用于控制TAP控制器从空闲态转换为选择数据寄存器扫描状态或者选择指令寄存器扫描状态。第二模式选择数据用于控制TAP控制器从更新数据寄存器状态或更新指令寄存器状态转换为空闲态。
可选地,根据SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,包括以下至少一种:根据该单位长度在第一模式选择数据的高位补0;以及根据该单位长度在第二模式选择数据的低位补0。
在一些实施例中,根据该单位长度在第一模式选择数据的高位补0,包括:在第一模式选择数据的高位补0,直至补0后的第一模式选择数据的长度为SPI接口支持的单位长度。
从图10可以看出,当TAP控制器需要从空闲态跳转到选择DR扫描状态或选择IR扫描状态时,在第一模式选择数据的高位补0,TAP控制器仍然保持在空闲态,因此,在第一模式选择数据的高位补0不会影响TAP控制器的状态转换。
例如,假设SPI接口支持的数据传输的单位长度为8bit,第一模式选择数据用于控制TAP控制器从空闲态转换为选择指令寄存器扫描状态。如图10所示,控制TAP控制器从空闲态转换为选择指令寄存器扫描状态需要2个1,因此,第一模式选择数据为11。在第一模式选择数据的高位补0,补0后的第一模式选择数据为00000011。生成的TMS信号先发送6个0,TAP控制器保持在空闲态,然后TMS信号再发送2个1,使得TAP控制器从空闲态转换到选择指令寄存器扫描状态。
可选地,该第一模式选择数据还用于控制TAP控制器从选择数据寄存器扫描状态跳转到选择数据寄存器扫描状态之后的至少一个数据寄存器相关的状态,例如移位数据寄存器状态,或者,控制TAP控制器从选择指令寄存器扫描状态跳转到选择指令寄存器扫描状态之后的至少一个指令寄存器相关的状态,例如移位指令寄存器状态。例如,第一模式选择数据为1100,高位补0后的第一模式选择数据为00001100。
在本申请实施例中,第一模式选择数据对应的最终TAP控制器的状态由实际流程决定。
在一些实施例中,根据该单位长度在第二模式选择数据的低位补0,包括:在第二模式选择数据的低位补0,直至补0后的第二模式选择数据的长度为SPI接口支持的单位长度。
可选地,该第二模式选择数据还用于控制TAP控制器从更新数据寄存器状态之前的至少一个数据寄存器相关的状态(例如移位数据寄存器状态)转换为更新数据寄存器状态,或者,控制TAP控制器从更新指令寄存器状态之前的至少一个指令寄存器相关的状态(例如移位指令寄存器状态)转换为更新指令寄存器状态。
从图10可以看出,当TAP控制器处于更新DR状态或者更新IR状态时,如果接收到的TMS信号携带的数据为0,TAP控制器将会跳转到空闲态。因此,在第二模式选择数据的低位补0可以保证在每次需要进行DR相关流程或者IR相关流程之前,先控制TAP控制器跳转到空闲态,以保证JTAG接口的可靠运行。
在一些示例中,直接根据补位后的模式选择数据,生成TMS信号。在另一些实施例中,对于连续发送的第二模式选择数据和第一模式选择数据,在第一模式选择数据的高位补0以及在第二模式选择数据的低位补0之后,生成TMS信号之前,该方法还包括:根据高位补充的0的数量和低位补充的0的数量之和,确定是否将补0后的第一模式选择数据和补0后的第二模式选择数据合并以及缩减。
例如,如果高位补充的0的数量和低位补充的0的数量之和大于或等于SPI接口支持的数据传输单位的长度,则将高位补0后的第一模式选择数据拼接在低位补0后的第二模式选择数据之后,然后去除连续的8个0,根据去0之后的模式选择数据生成TMS信号。如果高位补充的0的数量和低位补充的0的数量之和小于SPI接口支持的数据传输单位的长度,则直接根据补位后的模式选择数据生成TMS信号。
示例性地,假设SPI接口支持的单位长度为8bit,当第二模式选择数据用于控制TAP控制器从移位指令寄存器状态切换到空闲态时,第二模式选择数据为110,低位补0后的第二模式选择数据为11000000。接下来,第一模式选择数据用于控制TAP控制器从空闲态切换到移位数据寄存器状态,第一模式选择数据为1100,高位补0后的第一模式选择数据为000011000。高位补充的0的数量为5,低位补充的0的数量为4,两者之和大于8,则将高位补0后的第一模式选择数据拼接在低位补0后的第二模式选择数据之后,然后去除连续的8个0,得到11011000。然后根据11011000生成TMS信号。
图11是本申请一个示例性实施例提供的控制数据寄存器位移的指令的时序图。图11中,上半部分为SPI访问时序和GPIO访问时序,下半部分为JTAG SDR指令时序。该时序用于控制图3所示的电子器件。
如图11所示,TCK管脚发送的信号波形与CLK管脚接收到的信号波形相同,即CLK管脚输出的TCK信号作为时钟信号提供给TCK管脚。
第二GPIO管脚输出的GPIO信号波形如图11中第三个波形所示。当第二GPIO管脚输出的GPIO信号为高电平时,MOSI管脚向TMS管脚发送TMS信号。而当第二GPIO管脚输出的GPIO信号为低电平时,MOSI管脚向TDI管脚发送TDI信号。上升沿和下降沿均为指令切换时间。
当第二GPIO管脚输出第一个高电平时,MOSI管脚发送的信号为00000100,作为TMS信号。结合图10,在该TMS信号中的00000的指示下,TAP控制器状态由TLR转换为RTI并保持RTI状态,直至TMS信号发送1,TAP控制器转换为SDR状态。然后在TMS信号发送0时,TAP控制器状态切换到CDR状态。然后在TMS信号发送0时,切换到SDR状态。在TAP控制器切换到SDR状态之后,第二GPIO管脚输出低电平,MOSI管脚被切换为向TDI管脚输出TDI信号,此时,TMS信号保持为低电平,表示在TMS信号一直发送0,TAP控制器保持SDR状态,直至第二GPIO管脚再次输出高电平,MOSI管脚被切换为向TMS管脚输出TMS信号且TMS信号为11000000。TMS信号发送第1个1时,TAP控制器切换为EDR状态,TMS信号发送第2个1时,TAP控制器切换为UDR状态。最后,TMS信号发送一串0,TAP控制器切换为RTI状态,并保持在RTI状态。
当第二GPIO管脚输出低电平时,MOSI管脚发送的TDI信号为10011111。然后,第二GPIO管脚输出的信号由低电平切换为高电平,同时,第一GPIO管脚输出最后1bitTDI信号,即0,与TMS信号的第1个bit同时生效。也即是,电子器件输出的完整的TDI信号为100111110。
MOSI管脚接收到的信号波形与TDO管脚发送的信号波形相同,即TDO管脚输出的TDO信号提供给MOSI管脚。
图12是本申请一个示例性实施例提供的控制指令寄存器位移的指令的时序图。图12中,上半部分为SPI访问时序和GPIO访问时序,下半部分为JTAG SIR指令时序。该时序用于控制图3所示的电子器件。
如图12所示,TCK管脚发送的信号波形与CLK管脚接收到的信号波形相同,即CLK管脚输出的TCK信号作为时钟信号提供给TCK管脚。
第二GPIO管脚输出的GPIO信号波形如图12中第三个波形所示。当第二GPIO管脚输出的GPIO信号为高电平时,MOSI管脚向TMS管脚发送TMS信号。而当第二GPIO管脚输出的GPIO信号为低电平时,MOSI管脚向TDI管脚发送TDI信号。上升沿和下降沿均为指令切换时间。
当第二GPIO管脚输出第一个高电平时,MOSI管脚发送的信号为00001100,作为TMS信号。结合图10,在该TMS信号中的0000的指示下,TAP控制器状态由TLR转换为RTI并保持RTI状态,直至TMS信号发送1,TAP控制器转换为SDR状态。然后,TMS信号再发送一个1,TAP控制器切换为SIR状态。然后TMS信号发送0,TAP控制器切换到CIR状态。然后TMS信号发送0,TAP控制器切换到SIR状态。在TAP控制器切换到SIR状态之后,第二GPIO管脚输出低电平,MOSI管脚被切换为向TDI管脚输出TDI信号,此时,TMS信号保持为低电平,表示在TMS信号一直发送0,TAP控制器保持SIR状态,直至第二GPIO管脚再次输出高电平,MOSI管脚被切换为向TMS管脚输出TMS信号且TMS信号为11000000。TMS信号发送第1个1时,TAP控制器切换为EIR状态,TMS信号发送第2个1时,TAP控制器切换为UIR状态。最后,TMS信号发送一串0,TAP控制器切换为RTI状态,并保持在RTI状态。
当第二GPIO管脚输出低电平时,MOSI管脚发送的TDI信号为10011111。然后,第二GPIO管脚输出的信号由低电平切换为高电平,同时,第一GPIO管脚输出最后1bitTDI信号,即0,与TMS信号的第1个bit同时生效。也即是,电子器件输出的完整的TDI信号为100111110。
MOSI管脚接收到的信号波形与TDO管脚发送的信号波形相同,即TDO管脚输出的TDO信号提供给MOSI管脚。
从图11和图12可以看出,本申请实施例能够采用SPI接口和GPIO接口模拟JTAG接口,实现对目标JTAG接口的访问。
本申请实施例中还提供了一种计算机设备,例如前述电子芯片。图13示例性的提供了计算机设备1300的一种可能的架构图。
计算机设备1300包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。
存储器1301可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302和通信接口1303用于执行JTAG接口的访问方法。存储器1301还可以存储数据集合,例如:存储器1301中的一部分存储资源被划分成一个数据集存储模块,用于存储测试数据等。
处理器1302可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。
处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的JTAG接口的访问装置的部分或全部功能可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1302还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑、分立门或者晶体管逻辑、分立硬件组件。可以实现或者执行本申请上述实施例中的公开的各方法。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本申请实施例的JTAG接口的访问装置的部分功能。
通信接口1303至少包括SPI接口、GPIO接口。通信接口1303使用例如但不限于收发器一类的收发模块,来实现计算机设备1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303发送TDI信号、TMS信号和TCK信号,通过通信接口1303接收TDO信号等。
总线1304可包括在计算机设备1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算机设备执行时,使得计算机设备执行上述所提供的JTAG接口的访问方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述所提供的JTAG接口的访问方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。

Claims (22)

1.一种电子器件,其特征在于,所述电子器件用于访问目标联合测试工作组JTAG接口,所述目标JTAG接口包括测试时钟TCK管脚、测试数据输入TDI管脚、测试数据输出TDO管脚和测试模式选择TMS管脚,所述电子器件包括:串行外设SPI接口、通用型输入/输出GPIO接口和处理器;
所述SPI接口包括串行时钟SCK管脚、主设备输入/从设备输出MISO管脚和主设备输出/从设备输入MOSI管脚;
所述GPIO接口包括第一GPIO管脚;
所述处理器被配置为:控制所述SCK管脚向所述TCK管脚发送TCK信号,控制所述MISO管脚接收从所述TDO管脚输出的TDO信号,以及控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚输出TMS信号以及向所述TDI管脚输出TDI信号。
2.根据权利要求1所述的电子器件,其特征在于,所述处理器被配置为:
控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;
控制所述MOSI管脚在第二时间段内向所述TMS管脚发送所述TMS信号的第一部分,以及控制所述第一GPIO管脚在所述第二时间段内向所述TDI管脚发送所述TDI信号的第二部分;
其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
3.根据权利要求2所述的电子器件,其特征在于,所述第一GPIO管脚与所述TDI管脚连接,所述GPIO接口还包括第二GPIO管脚,所述电子器件还包括接口控制电路,所述接口控制电路包括第一复用器,所述第一复用器具有一个输入端、一个控制端和两个输出端,所述第一复用器的输入端与所述MOSI管脚连接,所述第一复用器的控制端与所述第二GPIO管脚连接,所述第一复用器的一个输出端与所述TMS管脚连接,所述第一复用器的另一个输出端与所述TDI管脚连接;
所述第一复用器被配置为在所述第二GPIO管脚输出的第一电平的作用下,将所述MOSI管脚与所述TMS管脚导通,以通过所述MOSI管脚向所述TMS管脚发送所述TMS信号的第一部分,或者,在所述第二GPIO管脚输出的第二电平的作用下,将所述MOSI管脚与所述TDI管脚导通,以通过所述MOSI管脚向所述TDI管脚发送所述TDI信号的第一部分;
所述处理器还被配置为在所述第一时间段内控制所述第二GPIO管脚输出所述第二电平,以及在所述第二时间段内,控制所述第二GPIO管脚输出所述第一电平。
4.根据权利要求3所述的电子器件,其特征在于,所述接口控制电路还包括第一下拉电阻和第二下拉电阻,所述第一下拉电阻的一端与所述第一复用器的一个输出端连接,所述第一下拉电阻的另一端接地,所述第二下拉电阻的一端与所述第一复用器的另一个输出端连接,所述第二下拉电阻的另一端接地。
5.根据权利要求2所述的电子器件,其特征在于,所述GPIO接口还包括第三GPIO管脚和第四GPIO管脚,所述电子器件还包括接口控制电路,所述接口控制电路包括第二复用器和第三复用器,
所述第二复用器具有一个输入端、一个控制端和两个输出端,所述第二复用器的输入端与所述MOSI管脚连接,所述第二复用器的控制端与所述第三GPIO管脚连接,所述第二复用器的一个输出端与所述TMS管脚连接;
所述第二复用器被配置为在所述第三GPIO管脚输出的第一电平的作用下,将所述MOSI管脚与所述TMS管脚导通,以通过所述MOSI管脚向所述TMS管脚发送TMS信号的第一部分,或者,在所述第三GPIO管脚输出的第二电平的作用下,将所述MOSI管脚与所述第三复用器的输入端导通,以通过所述MOSI管脚向所述第三复用器发送TDI信号的第一部分;
所述第三复用器具有两个输入端、一个控制端和一个输出端,所述第三复用器的一个输入端与所述第二复用器的另一个输出端连接,所述第三复用器的另一个输入端与所述第一GPIO管脚连接,所述第三复用器的控制端与所述第四GPIO管脚连接,所述第三复用器的输出端与所述TDI管脚连接;
所述第三复用器被配置为在所述第四GPIO管脚输出第三电平时,将所述第一GPIO管脚与所述TDI管脚导通,以通过所述第一GPIO管脚向所述TDI管脚发送所述TDI信号的第二部分,或者,在所述第四GPIO管脚输出第四电平时,将所述第二复用器的另一输出端与所述TDI管脚导通,以将所述第二复用器的另一输出端输出的所述TDI信号的第一部分发送给所述TDI管脚;
所述处理器还被配置为,在所述第一时间段内控制所述第三GPIO管脚输出所述第二电平并控制所述第四GPIO管脚输出所述第四电平;以及在所述第二时间段内控制所述第三GPIO管脚输出所述第一电平并控制所述第四GPIO管脚输出所述第三电平。
6.根据权利要求5所述的电子器件,其特征在于,所述接口控制电路还包括第三下拉电阻,所述第三下拉电阻的一端与所述第二复用器的与所述TMS管脚连接的输入端连接,所述第三下拉电阻的另一端接地。
7.根据权利要求1所述的电子器件,其特征在于,所述处理器被配置为:
控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;
控制所述MOSI管脚在第二时间段内向所述TDI管脚发送所述TDI信号的第二部分;以及
控制所述第一GPIO管脚在所述第二时间段内向所述TMS管脚发送所述TMS信号的第一部分;
其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
8.根据权利要求7所述的电子器件,其特征在于,所述GPIO接口还包括第五GPIO管脚和第六GPIO管脚,所述电子器件还包括接口控制电路,所述接口控制电路包括第四复用器,
所述第四复用器具有两个输入端、一个控制端和一个输出端,所述第四复用器的一个输入端与所述SCK管脚连接,所述第四复用器的另一个输入端与所述第五GPIO管脚连接,所述第四复用器的控制端与所述第六GPIO管脚连接,所述第四复用器的输出端与所述TCK管脚连接;
所述第四复用器被配置为在所述第六GPIO管脚输出的第五电平的作用下,导通所述SCK管脚和所述TCK管脚,以将所述SCK管脚输出的SCK信号作为所述TCK信号传输至所述TCK管脚,或者,在所述第六GPIO管脚输出的第六电平的作用下,将所述第五GPIO管脚输出的时钟信号作为所述TCK信号输出至所述TCK管脚;
所述处理器还被配置为在所述第一时间段内控制所述第六GPIO管脚输出所述第五电平,并控制所述SCK管脚向所述TCK管脚发送所述SCK信号;以及在所述第二时间段内控制所述第六GPIO管脚输出所述第六电平,并控制所述第五GPIO管脚向所述TCK管脚发送所述时钟信号。
9.根据权利要求1至8任一项所述的电子器件,其特征在于,所述目标JTAG接口还包括TRST管脚,所述GPIO接口还包括第七GPIO管脚,
所述处理器还被配置为控制所述第七GPIO管脚向所述TRST管脚发送TRST信号。
10.根据权利要求2至9任一项所述的电子器件,其特征在于,所述处理器还被配置为:
响应于确定测试数据的总长度减X等于Y的整数倍,根据所述测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度;或者,
响应于确定测试数据的总长度减X不等于Y的整数倍,在所述测试数据的高位补0,直至补0后的测试数据的总长度减X等于Y的整数倍,根据所述补0后的测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述补0后的测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度。
11.根据权利要求2至9任一项所述的电子器件,其特征在于,所述处理器还被配置为:
将测试数据中除了后X比特之外的其他数据分为N个数据集合,N为大于1的整数且N不大于所述SPI接口支持的数据传输的单位长度的数量,所述N个数据集合中的每个数据集合包括至少一个数据,所述N个数据集合中的任一数据集合中的数据的长度相同,所述N个数据集合中的不同数据集合中的数据的长度不同,所述任一数据集合中数据的长度均为所述SPI接口支持的数据传输的单位长度中的一种;
根据所述N个数据集合中的数据生成所述TDI信号的第一部分,以及根据所述后X比特数据生成所述TDI信号的第二部分。
12.根据权利要求1至11任一项所述的电子器件,其特征在于,所述处理器还被配置为:
根据所述SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,得到补位后的模式选择数据;
根据所述补位后的模式选择数据,生成所述TMS信号。
13.根据权利要求12所述的电子器件,其特征在于,所述处理器被配置为采用以下至少一种进行补位操作:
根据所述单位长度在第一模式选择数据的高位补0,所述第一模式选择数据用于控制测试访问口TAP控制器从空闲态转换为选择数据寄存器扫描状态或者选择指令寄存器扫描状态;以及
根据所述单位长度在第二模式选择数据的低位补0,所述第二模式选择数据用于控制TAP控制器从更新数据寄存器状态或更新指令寄存器状态转换为空闲态。
14.一种JTAG接口的访问方法,其特征在于,所述方法用于访问目标JTAG接口,所述目标JTAG接口包括TCK管脚、TDI管脚、TDO管脚和TMS管脚,所述方法应用于电子器件,所述电子器件包括:串行外设SPI接口、通用型输入/输出GPIO接口和处理器,所述SPI接口包括SCK管脚、MISO管脚和MOSI管脚,所述GPIO接口包括第一GPIO管脚,所述方法包括:
通过所述处理器控制所述SCK管脚向所述TCK管脚发送TCK信号;
通过所述处理器控制所述MISO管脚接收从所述TDO管脚输出的TDO信号;以及
通过所述处理器控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号。
15.根据权利要求14所述的方法,其特征在于,所述控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号,包括:
控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;
控制所述MOSI管脚在第二时间段内向所述TMS管脚发送所述TMS信号的第一部分;以及
在所述第二时间段内控制所述第一GPIO管脚向所述TDI管脚发送所述TDI信号的第二部分,
其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
16.根据权利要求14所述的方法,其特征在于,所述控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号,包括:
控制所述MOSI管脚在第一时间段内向所述TDI管脚发送所述TDI信号的第一部分;
控制所述MOSI管脚在第二时间段内向所述TDI管脚发送所述TDI信号的第二部分;以及
控制所述第一GPIO管脚在所述第二时间段内向所述TMS管脚发送所述TMS信号的第一部分;
其中,所述第二时间段在所述第一时间段之后且与所述第一时间段连续。
17.根据权利要求16所述的方法,其特征在于,所述控制所述SCK管脚向所述TCK管脚发送TCK信号,包括:
在所述第一时间段内,控制所述SCK管脚向所述TCK管脚发送所述TCK信号;
所述方法还包括:
在所述第二时间段内,控制第二GPIO管脚向所述TCK管脚发送所述TCK信号。
18.根据权利要求15至17任一项所述的方法,其特征在于,在所述控制所述MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:
响应于确定测试数据的总长度减X等于Y的整数倍,根据所述测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度;或者,
响应于确定测试数据的总长度减X不等于Y的整数倍,在所述测试数据的高位补0,直至补0后的测试数据的总长度减X等于Y的整数倍,根据所述补0后的测试数据中除了后X比特之外的数据生成所述TDI信号的第一部分,根据所述补0后的测试数据中后X比特生成所述TDI信号的第二部分,其中,Y为所述SPI接口支持的数据传输的单位长度。
19.根据权利要求15至17任一项所述的方法,其特征在于,在所述控制MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:
将测试数据中除了后X比特之外的其他数据分为N个数据集合,N为大于1的整数且N不大于所述SPI接口支持的数据传输的单位长度的数量,所述N个数据集合中的每个数据集合包括至少一个数据,所述N个数据集合中的任一数据集合中的数据的长度相同,所述N个数据集合中的不同数据集合中的数据的长度不同,所述任一数据集合中数据的长度均为所述SPI接口支持的数据传输的单位长度中的一种;
根据所述N个数据集合中的数据生成所述TDI信号的第一部分,以及根据所述后X比特数据生成所述TDI信号的第二部分。
20.根据权利要求14至19任一项所述的方法,其特征在于,在所述控制MOSI管脚和所述第一GPIO管脚向所述TMS管脚发送TMS信号以及向所述TDI管脚发送TDI信号之前,所述方法还包括:
根据所述SPI接口支持的数据传输的单位长度,对模式选择数据进行补位操作,得到补位后的模式选择数据;
根据所述补位后的模式选择数据,生成所述TMS信号。
21.根据权利要求20所述的方法,其特征在于,所述根据测试访问口TAP控制器的状态对TMS数据进行补位操作,包括以下至少一种:
根据所述单位长度在第一模式选择数据的高位补0,所述第一模式选择数据用于控制测试访问口TAP控制器从空闲态转换为选择数据寄存器扫描状态或者选择指令寄存器扫描状态;以及
根据所述单位长度在第二模式选择数据的低位补0,所述第二模式选择数据用于控制TAP控制器从更新数据寄存器状态或更新指令寄存器状态转换为空闲态。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机可读存储介质中的计算机指令被计算机设备执行时,使得所述计算机设备执行所述权利要求14至21中任一项权利要求所述的方法。
CN202110715158.7A 2021-06-26 2021-06-26 电子器件、联合测试工作组接口的访问方法及存储介质 Pending CN115524605A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110715158.7A CN115524605A (zh) 2021-06-26 2021-06-26 电子器件、联合测试工作组接口的访问方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110715158.7A CN115524605A (zh) 2021-06-26 2021-06-26 电子器件、联合测试工作组接口的访问方法及存储介质

Publications (1)

Publication Number Publication Date
CN115524605A true CN115524605A (zh) 2022-12-27

Family

ID=84693811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110715158.7A Pending CN115524605A (zh) 2021-06-26 2021-06-26 电子器件、联合测试工作组接口的访问方法及存储介质

Country Status (1)

Country Link
CN (1) CN115524605A (zh)

Similar Documents

Publication Publication Date Title
US11639963B2 (en) Test compression in a JTAG daisy-chain environment
US11231463B2 (en) Programmable test compression architecture input/output shift register coupled to SCI/SCO/PCO
US6006343A (en) Method and apparatus for streamlined testing of electrical circuits
US11041905B2 (en) Combinatorial serial and parallel test access port selection in a JTAG interface
US5606566A (en) Method and apparatus for streamlined concurrent testing of electrical circuits
JP6544772B2 (ja) スキャンテスト用のテストモード制御信号を生成可能な集積回路
JPH07167914A (ja) 低い帯域幅の試験装置およびプローブステーションによりデジタルマイクロ回路のサンプルおよび正確なac試験を行う組込まれた試験回路
US6643811B1 (en) System and method to test internal PCI agents
WO2007140366A2 (en) Testing components of i/o paths of an integrated circuit
CN110954808A (zh) 具有模拟测试总线的有限引脚测试接口
EP0515677A1 (en) Diagnostic circuit
CN115524605A (zh) 电子器件、联合测试工作组接口的访问方法及存储介质
CN112462245A (zh) 边界扫描互联线路的生成方法与装置
US7610532B2 (en) Serializer/de-serializer bus controller interface
CN116324439A (zh) 基于高速功能协议的测试和调试
CN113946937A (zh) 同步方法及仿真器
CN112825063B (zh) 联合测试工作群组传输***
CN117234831B (zh) 一种基于多核cpu的芯片功能测试方法及***
CN107729191B (zh) 测试图形翻译方法及芯核测试壳装置
CN117572206A (zh) 可跨周期比较的测试***及方法
JP2001021619A (ja) Lsiリセット回路およびこれを用いた電子機器

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