嵌入式系统中的JTAG接口编程技术.doc
《嵌入式系统中的JTAG接口编程技术.doc》由会员分享,可在线阅读,更多相关《嵌入式系统中的JTAG接口编程技术.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流嵌入式系统中的JTAG接口编程技术.精品文档.嵌入式系统中的JTAG接口编程技术 2006.05.07 中国科学院声学研究所(100084) 何希顺 清华大学自动化系(100084) 张 跃 何荣森来自:电子技术应用 摘要:分析发嵌入式系统开发中常用的三种芯片编程方法,介绍了JTAG接口的标准,工作原理及在芯片中的实现,根据JTAG接口所提供的边界扫描功能 ,通过PC机并行接口模拟JTAG接口的时序,实现了使用目标系统中微处理器的JTAG接口对系统程序存储器FLASH的编程。 关键词:嵌入式系统JTAG(Joint test action G
2、roup)联合测试行为组织 编程器StrongARM手持设备随着手持式电子设备的迅猛发展,手机,PDA、掌上电脑,电子书和数码相机等正在快步走进人们的日常生活,这一类电子产品同属于嵌入式系统的范畴,都是以高性能的微机处理器为核心扩展相应的应用程序,实现电子设备的各种功能。由于是手持设备,因而要求体积小、重量轻,耗电少,这些特点决定了设备内部的印刷板的尺寸比常规的电子设备小的多,而且元器件密度大,双面贴装。这给设计人员带来了若干问题,如操作系统代码和应用程序的写入,板上芯片的测试等。本文作者结合实际工作,就嵌入式系统中如何通过JTAG接口进行FLASH芯片编程作了探讨。1 几种常用字芯片编程方法
3、在嵌入式系统开发和产品生产过程中,对系统程序存储器编程主要使用三种编程方法,通过编程器编程、使用板上编程器编程和在系统编程。1.1 通过编程器编程这是在PROM、EPROM、PQL等芯片游行时常用的编程方法。即在可编程芯片焊装到电路板之前,使用专门的编程器对芯片进行代码或数据的写入,然后将已编程的芯片安装到电路板上。使用编程器编程特别适用于DIP封装的芯片。如是是其它类型的封装,则必须使用相应的适配器。这种方法的缺点滴是零要手工进行待编程芯片的插入,锁定等工作,容易造成芯片的方向错误、引脚错位等,导致编程效率降低。1.2 使用板上编程器编程 (OBP)这种方法是在电路板上所有的芯片都已经焊接完
4、毕后,再对电路板上的可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由于计算机的应用程序进行板上可编程芯片的代码或数据写入。芯片擦除编程所需用的电源、控制信号、地址、数据和相关的命令都由板外的编程控制器提供,在进行板上编程时,需要通过专门的辅助电路关断目标板上CPU的电源或将其外部接口信号设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。在板上编程可以克服芯片引脚错位,方向插反等问题,避免烧毁芯片,编程错误,保证了芯片编程的高成功率和可靠性。另一个优点就是及时软件升级,可以做到在产品出厂之时系统使用最新版本的固化软件。这对于日新月异的手持电子设备而言是必须的。这种方法的缺点
5、是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或FET开关时进编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造成产品成本的增加。1.3 在系统编程(ISP、ISW)这种方法直接利用系统中带有JTAG接口的器件,如CPU、CPLD、FPGA等,执行对系统程序存储芯片的内容和擦除和编程操作。一般而言,高档的微处理器都带有JTAG接口,系统程存储器的数据总线,地址总线和控制接口直接接在微处理器上。编程时,使用PC机内插卡或并行的接口通过专用电缆将系统电路板与PC机联系起来,在PC机上运行相关的程序,将编程数据及控制信号传送到JTAG接口的芯片上,利用相应的指令从微处理
6、器的引脚按照FLASH芯片的编程时序输出到FLASH存储器。这种编程方法的条件是系统中必须存在带有JTAG接口或与之兼容的芯片如微处理器。优点是系统板上不需要增加其它于编程有关的辅助电路。减小了电路板的尺寸,避免了对微小封装芯片的手工处理,特别适用于电路板尺寸有严格限制的手持设备。2 JGAG接口介绍面对复杂电路的设计、整版测试的难度及表面的贴装技术带来的有限测试引脚下等问题,业界不得不寻找一个标准加以解决。JTAG边界扫描即IEEE1149。1标准,该测试标准定义了用于解决上述问题的硬件结构和工作机制。其优点在于将极其复杂的电路板测试转弯成具有良好的结构性、可以通过软件简单而灵活处理。它虽然
7、是一个主要用于片上电路的测试标准,但却打开了各种相关应用的大门。这个标准定义了可用于完成功能和互连测试以及内建自测过程的各种指令。芯片生产厂商如ALTERA、XILINX、ATMEL、AMD、TI等对标准进行了扩充,使用专用的扩展指令执行维护和诊断应用及对可配置器件的可编程算法,使JTAG接口广泛用于FLASH系列芯片的编程。概括起来,JTAG接口主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。21 JTAG的结构在硬件结构上,JTAG的接口包括两个部分,JTAG端口和控制器。与JTAG接口兼容的器件可以是微处理器(MPU)微控制器(MCU)PLD CPL FPGA ASIC或其它符合
8、IEEE1149。1规范的芯片。IEEE1149。1标准中规定对应数字集成电路的每个引脚都设有一个移动存寄单元。称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来,同时隔离内核电路和芯片引脚。由集成电路的所有边界扫描构成单元扫描寄存器BSR。边界扫描寄存器仅在进行JTAG测试时有效,在集成电路工作正常无效,不影响集成电路的功能 。具有JTAG接口的芯片内部结构如图1所示: 测试逻辑的最高电路包括3个主要内容测试访问端口(TAP)控制器TAP控制器提供在嵌入在JTAG兼容器件内部的测试功能电路的访问控制,是一个同步状态机。每个JTAG兼容的器件都有自己的TAP控制器。通过测试模式选择
9、TMS和时钟信号TCK控制其状态转移,实现由IEEE149。1标准确定的测试逻辑电路的工作时序。指令寄存器指令寄存器是基于电路的移动寄存器,通过它可以串行输入执行各种操作的指令。数据寄存组。数据寄存器组是一组基于电路的移位寄存器。操作指令被串行装入由当前的指令所选择的数据寄存器。随着操作的执行,测试结果被移出。22 JTAG引脚定义JTAG接口主要包括四个引脚下:TMS TCK TDI 和TCO及一个可选配的引脚TRST,用于驱动电路模块和控制执行规定的操作。各引脚的功能如下:TCK:JTAG测试时钟,为TAP控制器和寄存器提供测试参考。在TCK的同步作用下通过TDI和TDO引脚下串行移入或移
10、出数据及指令。同时,TCK为TAP控制器状态机提供时钟。TMS:TAP控制器的三项式输入信号。TCK的上升沿时刻TMS的状态确定TAP控制器即将进入的工作状态。通常TMS引脚具有内部上拉电阻 ,以保证该引脚在没有驱动时处于逻辑1状态。TDI:JTAG指令和数据寄存器的串行数据输入端。TAP控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作由TDI装入哪个寄存器。在TCK的上升沿时刻,TDI引脚状态被除数采样,结果送到JTAG寄存器组。TDO:JTAG指令和数据寄存器的串行输出端。TAP控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作哪个寄存器的内容送到
11、TDO输出。对于任何已知的操作,在TDI和TDO之间只能有一个寄存器(指令或数据)处于有效连接状态。TDO在TCKR的下降沿改变状态,并且只在数据通过器件移动过程中有效。该引脚在其它的时间处于三状态下。 TRST:测试复位输入信号,低电平有效,为TAP控制器提供异步初始化信号。23 JTAG测试访问端口(TAP)控制器TAP控制器是一个16状态的有限状态机,为JTAG提供控制逻辑,控制进入到JTAG结构中各种寄存器内数据通信的扫描与操作。TAP状态转移图如图2所示,由TCK同步时钟上升沿时刻TMS引脚的逻辑电平决定状态转移的过程,(高电平TMS=1,低电平TMS=0)。对于由TDI端输入到器件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 中的 JTAG 接口 编程 技术
限制150内