欢迎来到天天文库
浏览记录
ID:10664584
大小:54.00 KB
页数:4页
时间:2018-07-07
《基于jtag技术的flash加载》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于JTAG技术的Flash加载
2、第1摘 要:主要介绍了目前世界上主要流行的一种Flash加载技术利用JTAG技术加载Flash。文章分为3个部分。首先描述了JTAG加载Flash的原理。然后对JTAG加载Flash的优点做了说明。最后对实验性能做了详细分析。关键词:边界扫描;边界扫描国际标准;在板编程;在线编程;系统编程1 引言 一般而言,电路板上的Flash芯片本身不带边界扫描(BoundaryScan,BS)结构,但是Flash的周围存在BS器件,从而可以利用周围的BS器件(一般为CPU)实现Flash加
3、载。利用BS技术(也称为JTAG技术)进行对Flash加载是一项比较新的有效编程方式。Flash器件的编程方式分为2大类:在板编程(On-BoardProgramming,OBP)和离板(Off-Board)编程。 离板编程是指在Flash器件被安装到PCB之前对其进行编程。这一般是采用编程器来完成的,常见的编程器有ALL-07,ALL-11等。 在板编程是指在Flash器件被焊接到PCB上以后对其进行编程。常见的方法有利用ICT进行再线编程(ICP),利用CPU进行系统编程(ISP)和利用JTAG进行的在板
4、编程(OBP)等。在线编程ICP(In-CurcuitProgramming)或ILDP(In-LineDeviceProgramming)是指通过ICP夹具把ICT设备的测试通道连接到PCB上Flash器件的各个管脚,把PCB上和Flash器件相连的其他器件进行电气隔离,直接对Flash器件进行编程。可以在ICT测试的同时完成Flash器件的编程,但是在PCB设计时必须保证Flash器件的每一个管脚设计ICT测试点,而且需要占用单板的ICT测试时间。ICT加载Flash适宜在单板量产时采用,速度比较快,生产效率
5、比较高。但是采用ICT加载Flash要占用昂贵的ICT设备资源,而且在单板开发阶段单板没有ICT,测试无法采用,也不适宜于现场维护与升级。系统编程ISP(In-SystemProgramming)是指通过系统上的CPU来执行Flash器件的擦除和编程来实现Flash器件的编程。这种方式要求CPU能够正常工作,并且需要提供额外的网口、串口等硬件接口进行软件下载。 利用BS技术的在板编程(OBP)既不需要占用额外的设备,也不需要增加额外的硬件,他只需要将相关的BS器件连接成一条扫描链,并将边界扫描接口引出来即可。2
6、 JTAG加载Flash的原理 边界扫描加载系统通过一系列的扫描串行移位来完成Flash的在板编程。首先是通过指令扫描使得BS器件处于Extest状态,这样BS器件可以通过边界扫描链向外输出数据,然后就是数据移位,将数据刷新输出;再进行数据移位,再刷新数据;……,就这样反复进行数据扫描和数据输出,向Flash输入各种指令和数据,以及从Flash读回数据,一直到完成Flash编程为止。由于都是一些串行移位的过程,所以利用JTAG加载Flash的速度就成为一个重要性能指标。 如图1所示。一个Flash芯片可以通过
7、一个BS器件完成控制。当在边界扫描链中装载了适当的数据后,在器件有224个边界扫描单元BSC(以Intel486DX2为例),系统必须使用224个CLK时钟完成在每一个BSC中装载预定的数据,称为一次数据移位(DR-Shift)。500)this.style.ouseg(this)">每次数据移位完毕,所有数据均已经准备好,在进入Update-DR状态时BSC将数据打入Flash,此时指令寄存器中的指令要求是Extest。所以在执行数据移位之前,还要进行一次指令移位,将Extest指令装入指令寄存器。但是完成指令
8、装载以后,只要不更改指令,就不再需要进行指令移位了,此时只需要进行数据移位,所以数据移位是编程的主要操作,扫描链的长度是影响Flash编程速度的关键因素之一。3 Flash加载的性能分析(结论)以下一些因素影响JTAG进行Flash编程的速度。(1)边界扫描链的长度 扫描链越长意味着编程时间越长,当扫描链由多个BS器件组成,系统会自动将不相关的BS器件旁路(BYPASS)。(2)数据扫描的次数 完成每个地址单元(Byte/bitIntelFlashMemory(以芯片PA28F400BV为例)所需要的理论时间
9、。①一次数据移位时间:TCK=80nsCycleTime(12.5MHzTCK)224BSCbits·80ns=17.92μs②编程一个Byte/bit的Flash所需要的时间: 262144emprydensity)·71.68μs=18.79s ④编程8-kouseg(this)"> 其中8b的Bootrom用来烧制搬移程序和BIOS程序,16b的Flashro
此文档下载收益归作者所有