一种JTAG接口功能复用电路的制作方法

文档序号:17695850发布日期:2019-05-17 21:30阅读:802来源:国知局
一种JTAG接口功能复用电路的制作方法

本发明涉及jtag电路设计技术领域,特别涉及一种jtag接口功能复用电路。



背景技术:

近年来,电子信息技术迅速发展,并在为人们的日常生活中发挥着越来越重要的作用,为人们的日常生活带来了极大的便利。随着电子信息技术的快速发展,普通的电子芯片早已无法满足现阶段的需求,集成电子芯片渐渐成为主流。然而,集成电子芯片不仅使芯片功能越来越强大,同时因为电子芯片的集成化设计和加工工艺也使得电子芯片的集成度和复杂度越来越高。

jtag(jointtestactiongroup;联合测试行动小组)是一种国际标准测试协议(ieee1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持jtag协议,如dsp、fpga器件等。

通常所说的jtag大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于debug,一般支持jtag的cpu内都包含了这两个模块。

一个含有jtagdebug接口模块的cpu,只要时钟正常,就可以通过jtag接口访问cpu的内部寄存器和挂在cpu总线上的设备,如flash,ram,soc(比如4510b,44box,at91m系列)内置模块的寄存器,像uart,timers,gpio等等的寄存器。

标准的jtag接口是4线:tms、tck、tdi、tdo,分别为模式选择、时钟、数据输入和数据输出线。具有jtag口的芯片都有如下jtag引脚定义:

tck——测试时钟输入;

tdi——测试数据输入,数据通过tdi输入jtag口;

tdo——测试数据输出,数据通过tdo从jtag口输出;

tms——测试模式选择,tms用来设置jtag口处于某种特定的测试模式。

可选引脚trst——测试复位,输入引脚,低电平有效。

jtag最初是用来对芯片进行测试的,jtag的基本原理是在器件内部定义一个tap(testaccessport;测试访问口)通过专用的jtag测试工具对内部节点进行测试。jtag测试允许多个器件通过jtag接口串联在一起,形成一个jtag链,能实现对各个器件分别测试。

多个器件的硬件连接成菊花链结构,连接jtag接口tdo的器件为菊花链上的第一个器件,连接jtag接口tdi的器件为菊花链上的最后一个器件。前一个器件的tdi和后一个器件的tdo连接在一起,菊花链上所有arm器件的tms、tck信号连接在一起。通过jtag链,就可以看到被仿真芯片哪个管脚不正常,可以加载不同的仿真文件,测试io管脚,ddr连接,nandflash连接等。

含有jtag口的芯片种类较多,如cpu、dsp、cpld等。

jtag内部有一个状态机,称为tap控制器。tap控制器的状态机通过tck和tms进行状态的改变,实现数据和指令的输入。

jtag标准定义了一个串行的移位寄存器。寄存器的每一个单元分配给ic芯片的相应引脚,每一个独立的单元称为bsc(boundary-scancell)边界扫描单元。这个串联的bsc在ic内部构成jtag回路,所有的bsr(boundary-scanregister)边界扫描寄存器通过jtag测试激活,平时这些引脚保持正常的ic功能。

jtag烧写程序维护两个扫描链表缓冲区,一个对应输入,一个对应输出。一个扫描链缓冲区就是一个int型整数数组,数组的长度为cpu的管脚(pin)数,数组中的每个元素对应一个管脚的状态。一个管脚的状态只有两种:0或者1,事实上用1位就可以描述这两种状态,而程序中用一个int整数来描述是很浪费的。输入扫描链表数组用来保存刚从cpu扫描出来的每个管脚的状态,而输出扫描链表数组用来保存将扫描到cpu的管脚中的状态。

对flash芯片编程首先必须将flash芯片擦除,然后再对其进行写操作。擦除flash芯片可以逐个扇区擦除,也可以一次擦除整个芯片,对flash芯片进行擦写的时序和命令可以查看具体flash芯片型号的datasheet。

通过简易jtag线缆读写flash芯片数据必须逐个字节进行读写,操作过程都很类似,以读flash为例,操作过程如下:

1)把cpu各管脚的安全状态写入到输出扫描链表数组中;

2)将“sample”命令扫描到cpu的tap控制器中;

3)将输出扫描链表数组中的状态扫描到cpu的tap控制器中;

4)再次将“sample”命令扫描到cpu的tap控制器中;

5)将“extest”命令扫描到cpu的tap控制器中;

6)执行for循环逐个字节读取数据,循环次数等于要读取的数据长度:先将要读取的flash的地址的地址管脚状态写入输出扫描链表数组对应的元素中,然后将输出扫描链表数组中的状态扫描到cpu的tap控制器中,与此同时将cpu管脚的状态同步输入到输入扫描链表数组中,然后从输入链表数组中提取flash数据。

当芯片jtag接口同时接调试接口和边界扫描接口时,经常会因为jtag信号分叉而使烧写程序信号质量出现问题。

基于上述情况,本发明提出了一种jtag接口功能复用电路。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的jtag接口功能复用电路。

本发明是通过如下技术方案实现的:

一种jtag接口功能复用电路,其特征在于:包括电源模块,具有jtag接口的芯片,拨码开关和两个插针底座;所述电源模块连接到具有jtag接口的芯片,为电路供电;所述拨码开关分别通过数据总线连接具有jtag接口的芯片和两个插针底座,将具有jtag接口的芯片信号分别接入两个插针底座。

将所述具有jtag接口的芯片的引脚trst/tms/tck/tdi/tdo信号分别分叉成两路,得到两组jtag信号;两组jtag信号分别与拨码开关一端引脚相连,并分别接入两个插针底座。

两个插针底座分别连接烧写器和测试器。

将所述具有jtag接口的芯片分出的两组jtag信号中,第一组jtag信号与拨码开关一端引脚相连,烧写器通过对应的插针底座的引脚连接到拨码开关另一端引脚。

当所述拨码开关控制第一组jtag信号连接,第二组jtag信号断开时,jtag烧写功能开启,烧写器可以通过对应的插针底座向具有jtag接口的芯片中烧录程序。

将所述具有jtag接口的芯片分出的两组jtag信号中,第二组jtag信号与拨码开关一端引脚相连,测试器通过对应的插针底座的引脚连接到拨码开关另一端引脚。

当所述拨码开关控制第一组jtag信号断开,第二组jtag信号连接时,测试器可以通过对应的插针底座实现jtag边界扫描功能。

所述电源模块连接到具有jtag接口的芯片的电源引脚。

本发明的有益效果是:该jtag接口功能复用电路,结构简单,改造成本低,应用范围广泛,可以在实现jtag边界扫描与烧写功能的同时避免由于信号分叉产生的程序烧写质量问题。

附图说明

附图1为本发明jtag接口功能复用电路示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该jtag接口功能复用电路,包括电源模块,具有jtag接口的芯片,拨码开关和两个插针底座;所述电源模块连接到具有jtag接口的芯片,为电路供电;所述拨码开关分别通过数据总线连接具有jtag接口的芯片和两个插针底座,将具有jtag接口的芯片信号分别接入两个插针底座。

将所述具有jtag接口的芯片的引脚trst/tms/tck/tdi/tdo信号分别分叉成两路,得到两组jtag信号;两组jtag信号分别与拨码开关一端引脚相连,并分别接入两个插针底座。

两个插针底座分别连接烧写器和测试器。

将所述具有jtag接口的芯片分出的两组jtag信号中,第一组jtag信号与拨码开关一端引脚相连,烧写器通过对应的插针底座的引脚连接到拨码开关另一端引脚。

当所述拨码开关控制第一组jtag信号连接,第二组jtag信号断开时,jtag烧写功能开启,烧写器可以通过对应的插针底座向具有jtag接口的芯片中烧录程序。

将所述具有jtag接口的芯片分出的两组jtag信号中,第二组jtag信号与拨码开关一端引脚相连,测试器通过对应的插针底座的引脚连接到拨码开关另一端引脚。

当所述拨码开关控制第一组jtag信号断开,第二组jtag信号连接时,测试器可以通过对应的插针底座实现jtag边界扫描功能。

所述电源模块连接到具有jtag接口的芯片的电源引脚。

该jtag接口功能复用电路,结构简单,改造成本低,应用范围广泛,可以在实现jtag边界扫描与烧写功能的同时避免由于信号分叉产生的程序烧写质量问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1