一种flash加载的方法

文档序号:6378189阅读:252来源:国知局
专利名称:一种flash加载的方法
技术领域
本发明涉及电子领域的测试技术,尤指一种FLASH加载的方法。
背景技术
随着集成电路的密度越来越大,利用传统方法对电路板进行测试的难度也越来越大。1985年,由IBM、AT&T、Texas Instruments、PhilipsElectronics NV、Siemens、Alcatel和Ericsson等公司成立的JETAG(JointEuropean Test Action Group)提出了边界扫描技术,该技术通过器件输入输出管脚与内核电路之间的BSC(Boundary-Scan Cell,边界扫描单元)对器件及其外围电路进行测试。1986年,由于其它地区的一些公司的加入,JETAG改名为JTAG(Joint Test Action Group)。1990年,IEEE正式承认了JTAG标准,经过补充和修订以后,命名为IEEE1149.1-90。
每一个边界扫描器件的测试端口都有四个必须具备的信号线测试时钟(Test Clock)、测试模式选择(Test Mode Select)、测试数据输入(Test DataInput)、测试数据输出(Test Data Output)以及一个可选的测试复位信号(Test RESET)。在电路板内将各个边界扫描器件的测试数据输出信号与测试数据输入信号相级联后组成菊花链就可以实现对电路板的测试。
在进行边界扫描测试的过程中,测试工具可以读写边界扫描器件的输入/输出引脚。以CPU(Centre Process Unit,中央处理器)为例,它们一般都具有边界扫描测试端口。在进行边界扫描测试的过程中,测试工具可以通过CPU的边界扫描测试端口在其输入/输出引脚上读取/设置逻辑状态。由于CPU一般都有存储器与其相连,因此,可以在存储器的引脚上模拟产生读、写时序波形。一个包含CPU的菊花链的示例如图1所示。图中,FLASH的所有引脚均与器件2(CPU)相连,通过边界扫描菊花链可以读、写CPU的输入、输出引脚,控制FLASH的地址线、数据线以及控制信号线,实现读、写操作,完成对FLASH的编程。
通常在一个系统内具有多个电路板,如果每个电路板内部都有如图1所示的边界扫描链,将这些不同电路板内部的菊花链信号连接成测试总线并进行统一的控制,就可以实现对各个电路板内部边界扫描器件的控制,从而实现对图中所示的FLASH的编程操作。
现有技术的技术方案FLASH的编程方式分为两大类在板编程(OBP,On-Board Programming)和离板(Off-Board)编程。
在板编程是指在FLASH器件被焊接到电路板上以后对其进行编程。在板编程的常见方法有利用专用设备进行的在线编程、利用CPU进行的在系统编程。
ICP(In-Circuit Programming)或ILDP(In-Line Device Programming)是常用的在线编程方法,它利用夹具把加载设备的测试信号连接到电路板上FLASH的各个管脚,并将所有和FLASH有连接关系的其它器件进行电气隔离,直接对FLASH器件进行编程。
在线编程还有另外一种方式,即通过单板内部的边界扫描测试口实现FLASH的编程,其原理如图2所示。
利用边界扫描测试端口实现FLASH编程,实际上是通过测试存取端口(TAP)控制边界扫描器件的I/O引脚,在FLASH器件的引脚上产生读写时序,实现FLASH的编程。
通过边界扫描测试端口对FLASH进行编程属于在板编程的一种方式,它只要求FLASH的所有地址线、数据线和控制线都要与边界扫描器件相连。
在系统编程ISP(In-System Programming)是指通过CPU执行FLASH器件的读写操作实现编程。这种方法需要CPU能够正常工作。
目前常用的FLASH编程方法中,离板编程一般是指专用的编程器对插装的FLASH进行编程,FLASH在编程后再装配到电路板上。
现有技术的缺点1、离板编程一般只适用于插装的、小容量的FLASH,不适用于贴片封装的、大容量的FLASH;2、在线编程需要在专用的设备,无法在运行现场对电路板进行加载;3、在系统编程需要在CPU正常工作的情况下才能加载,因此,当发生硬件故障(如,代码丢失)或软件故障从而导致CPU无法正常工作时,电路板将无法加载FLASH。

发明内容
本发明提供一种FLASH加载的方法,不需要专门的加载设备,无论电路板上的CPU是否工作正常,无论电路板上的FLASH是贴片封装还是插装方式,都可实现对FLASH的加载。
本发明的方法包括使用一具有CPU的主控板,在该主控板上设置边界扫描测试总线,将需要实现FLASH加载的电路板内的边界扫描器件的测试端口信号线对应连接到测试总线上,主控板通过该测试总线发送加载命令和数据来设置各边界扫描器引脚的状态,从而在FLASH的引脚上模拟产生读写时序,实现FLASH加载。
所述主控板上设置有嵌入式测试总线控制器,该控制器接收加载命令和数据并转换成测试总线的信号输出,同时接收从各电路板返回的加载结果并保存下来供CPU读取。
所述控制器接收的加载数据预先存储在主控板上的存储器内。
所述控制器接收的加载数据是主控板从外部的加载终端接收的。
所述测试总线上可连接复数个需要实现FLASH加载的电路板,每个电路板上都设置有一个可寻址扫描端口,通过给该可寻址扫描端口设置不同的硬件地址来区分不同的电路板。
当连接的复数个电路板中的一部分为相同的电路板时,所述控制器可以通过发出一个特殊的地址选通命令,同时选通该些相同的电路板,以实现组播加载。
当连接的复数个电路板全部相同时,所述控制器可以通过发出一个特殊的地址选通命令,同时选通全部电路板,以实现广播加载。
所述可寻址扫描端口含有地址选通逻辑,所述控制器通过一组特定的数据选通某一地址的可寻址扫描端口。
所述测试总线包括复位总线、时钟总线、模式输入总线、数据输出总线和数据输入总线。
所述需要实现FLASH加载的各电路板内部的边界扫描器件组成一个菊花链。
本发明的优点1、不需要专门的加载工具就可以进行加载,即使是在电路板的运行现场也可以加载;2、加载操作不依赖电路板上的CPU,当FLASH中数据丢失引起电路板故障或者发生软件故障时均可以对电路板进行加载;3、不论是插装的FLASH,还是贴片封装的FLASH,只要其引脚与边界扫描器件相连,就可以进行加载;4、当系统内具有多个相同的电路板时,可以实现对这些电路板进行组播或广播加载。


图1为现有技术中包含CPU的边界扫描菊花链示意图。
图2为现有技术中通过电路板内部的边界扫描测试端口实现FLASH编程的原理方框图。
图3为本发明的利用边界扫描测试总线实现FLASH加载的接线示意图。
图4为本发明方法中的主控板结构示意图之一。
图5为本发明方法中的主控板结构示意图之二。
图6为本发明方法中具有可寻址扫描端口的电路板硬件结构示意图。
具体实施例方式
本发明方法通过在系统内部布置边界扫描测试总线,并将所有电路板均连接到测试总线之上,实现对各个电路板内的FLASH的加载。硬件实现的示意图如图3所示。
图3中,PTRST(Primary Test Reset,初级测试复位)、PTCK(Primary TestClock input,初级测试时钟输入)、PTMS(Primary Test Mode Select input,初级测试模式输入)、PTDO(Primary Test Data Output,初级测试数据输出)和PTDI(Primary Test Data Input,初级测试数据输入)是边界扫描测试总线的五个信号线。各电路板内部的边界扫描器件组成一个菊花链。
在主控板上设计有一个嵌入式测试总线控制器(eTBC,Embedded Test BusController),该控制器根据主控板上的CPU的命令向其它电路板发送数据。在每个从电路板上都设计有一个可寻址扫描端口(ASP,Addressable ScanPort),它通过设置不同的硬件地址来区别不同的电路板。主控板通过eTBC向从电路板发送加载数据,引起从电路板上的边界扫描器件的测试存取端口(TAP,Test Access Port)的状态发生改变,进而读取或者设置这些边界扫描器件引脚的状态,在FLASH的引脚上模拟产生读写时序,实现FLASH的编程。
eTBC在主控板的CPU控制下实现对测试总线的控制。当不启动加载操作时,eTBC和ASP不影响系统的工作。在加载过程中,主控板既可以在本板上产生数据并通过eTBC发送到测试总线上,也可以从外部的终端接收命令与数据再通过eTBC发送到测试总线上。
包含eTBC并从外部终端接收加载数据的主控板的结构示意图如图4所示主控板的CPU根据加载终端发出的命令和数据,向eTBC发出数据,这些数据被eTBC转换成测试总线的信号输出(PTRST、PTCK、PTMS和PTDO)。eTBC在输出信号的同时也接收测试总线上的信号输入(PTDI),并将该信号的值保存起来供CPU读取,终端根据主控板返回的数据获取FLASH的加载结果。
主控板也可以不从加载终端接收加载数据,而是将保存于本板的待加载数据转换为发送到eTBC的命令与数据,eTBC再将这些命令与数据转换为测试总线的信号输出。
加载数据不从终端获取而保存于板内时,主控板的结构示意图如图5所示。
从eTBC发出的数据会被所有从电路板接收到,在ASP的控制下,eTBC可以实现只对其中一个从电路板进行加载。在加载开始时,eTBC通过一组特定的数据选通某一个地址的ASP,该ASP相当于一个开关,当它被选通后,从电路板的扫描链就可以被eTBC直接控制,从而实现加载操作。
如果在一个系统内具有多个相同的从电路板,那么,在加载这部分电路板上的FLASH时,eTBC向测试总线发出的信号流是相同的。因此,eTBC可以发出一个特殊的地址选通命令,同时选通这部分从电路板,同时对这些电路板上的FLASH进行加载,即实现组播加载功能。如果系统内的所有从电路板都相同,则可以通过eTBC同时加载所有的从电路板,即实现广播加载功能。
一个通过测试总线加载FLASH并具有ASP的从电路板的硬件结构示意图如图6所示测试总线一侧的数据通道被称为初级扫描通道(PSP,Primary ScanPaths),该通道上的信号被称为初级测试信号。本板ASP的初级扫描通道与主控板的eTBC相连,次级扫描通道的五个信号(STRST、STCK、STMS、STDO和STDI)与本板内的边界扫描菊花链相连。在ASP内部包含有一个地址选通逻辑,当主控板通过eTBC访问本板时先在测试总线上传送特定的数据来选通本板的ASP,使eTBC能够直接操作从电路板内部的边界扫描菊花链,达到对与边界扫描器相连的FLASH进行加载的目的。
权利要求
1.一种FLASH加载的方法,包括使用一具有CPU的主控板,在该主控板上设置边界扫描测试总线,将需要实现FLASH加载的电路板内的边界扫描器件的测试端口信号线对应连接到测试总线上,主控板通过该测试总线发送加载命令和数据来设置各边界扫描器引脚的状态,从而在FLASH的引脚上模拟产生读写时序,实现FLASH加载。
2.如权利要求1所述的FLASH加载的方法,其特征在于所述主控板上设置有嵌入式测试总线控制器,该控制器接收加载命令和数据并转换成测试总线的信号输出,同时接收各从电路板返回的加载结果并保存下来供CPU读取。
3.如权利要求2所述的FLASH加载的方法,其特征在于所述控制器接收的加载数据预先存储在主控板上的存储器内。
4.如权利要求2所述的FLASH加载的方法,其特征在于所述控制器接收的加载数据是主控板从外部的加载终端接收的。
5.如权利要求2、3或4所述的FLASH加载的方法,其特征在于所述测试总线上可连接复数个需要实现FLASH加载的电路板,每个电路板上都设置有一个可寻址扫描端口,通过给该可寻址扫描端口设置不同的硬件地址来区分不同的电路板。
6.如权利要求5所述的FLASH加载的方法,其特征在于当连接的复数个电路板中的一部分为相同的电路板时,所述控制器可以通过发出一个特殊的地址选通命令,同时选通该些相同的电路板,以实现组播加载。
7.如权利要求5所述的FLASH加载的方法,其特征在于当连接的复数个电路板全部相同时,所述控制器可以通过发出一个特殊的地址选通命令,同时选通全部电路板,以实现广播加载。
8.如权利要求5所述的FLASH加载的方法,其特征在于所述可寻址扫描端口含有地址选通逻辑,所述控制器通过一组特定的数据选通某一地址的可寻址扫描端口。
9.如权利要求8所述的FLASH加载的方法,其特征在于所述测试总线包括复位总线、时钟总线、模式输入总线、数据输出总线和数据输入总线。
10.如权利要求9所述的FLASH加载的方法,其特征在于所述需要实现FLASH加载的各电路板内部的边界扫描器件组成一个菊花链。
全文摘要
本发明说明一种FLASH加载的方法,包括使用一具有CPU的主控板,在该主控板上设置边界扫描测试总线,将需要实现FLASH加载的电路板内的边界扫描器件的测试端口信号线对应连接到测试总线上,主控板通过该测试总线发送加载命令和数据来设置各边界扫描器引脚的状态,从而在FLASH的引脚上模拟产生读写时序,实现FLASH加载。本发明方法不需要专门的加载设备,无论电路板上的CPU是否工作正常,无论电路板上的FLASH是贴片封装还是插装方式,都可实现对FLASH的加载。
文档编号G06F11/22GK1591346SQ0315645
公开日2005年3月9日 申请日期2003年8月28日 优先权日2003年8月28日
发明者袁标, 李颖悟, 游志强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1