CN1230743C - 一种电路板设计方法 - Google Patents
一种电路板设计方法 Download PDFInfo
- Publication number
- CN1230743C CN1230743C CN 02125596 CN02125596A CN1230743C CN 1230743 C CN1230743 C CN 1230743C CN 02125596 CN02125596 CN 02125596 CN 02125596 A CN02125596 A CN 02125596A CN 1230743 C CN1230743 C CN 1230743C
- Authority
- CN
- China
- Prior art keywords
- flash chip
- cpu
- circuit board
- loading
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及电路板设计方法。一种电路板设计方法,其将启动程序和应用程序合并到同一个FLASH芯片中,通过与FLASH芯片相邻的CPU完成对FLASH芯片中应用程序的加载。由于取消插装的FLASH芯片,并且通过CPU的JTAG接口加载FLASH芯片,而不是在CPU执行BOOTROM中的启动代码后再由CPU加载FLASH芯片,因此,可以将电路板上用于FLASH芯片加载的以太网口或串口取消,减小PCB面积,大大降低了物料成本。
Description
技术领域
本发明涉及通信领域,尤其是指一种电路板的设计方法。
技术背景
在电路板设计中,一般包含有CPU、放置启动程序的FLASH芯片(称为BOOTROM放置启动程序的存储器)和放置应用程序的FLASH芯片。其中BOOTROM芯片中的启动程序一般是通过编程器写入,而应用程序一般是执行BOOTROM程序后再由CPU加载到FLASH芯片中。
通常情况下,BOOTROM一般选用插装的FLASH芯片。由于插装器件在安装、加工、运输等过程中经常有毁损情况发生,给产品带来了不稳定性和不可靠性,因此客户都希望在产品上取消插装BOOTROM,而将启动程序和应用程序同时写入到一片FLASH芯片中。
在一个包含了CPU的电路板上,通常还包含存放程序的载体,也就是程序存储器。在现有技术中,如果程序比较大,则一般采取以下技术:在一片小容量FLASH芯片(通常为插装器件)存放一个比较小的启动程序,这个FLASH芯片里面的程序一般是通过编程器写入并插入电路板上的插座中;应用程序代码一般较大,通常将其存放在一片大容量的FLASH芯片中。由于CPU执行BOOTROM代码后已经处于正常工作状态,所以,这时候CPU可以实现对FLASH芯片的读写,从而实现软件的加载和升级。一个典型的CPU小系统如图1所示。图1中,FLASH芯片1用于存放启动程序,其中包括CPU的启动代码和数据搬移程序,FLASH芯片2用于存放应用程序,其中包括各种业务软件。FLASH芯片1一般采用PLCC封装的器件,其中的软件预先在软件车间写好,在组装时再将FLASH芯片1插在制成板(是)相应的IC插座上。业务软件由于有在线升级的要求,所以一般通过CPU实现加载。现有技术中,应用程序加载的途径有以下几种:
a、通过电路板间的总线获得,通常情况下这需要应用程序运行后才能进行;
b、通过本板的以太网口,在BOOTROM中启动代码的配合下根据一定的协议获得;
c、通过本板的串口,在BOOTROM中启动代码的配合下根据一定的协议获得。
由于常见的用于存放BOOTROM的小容量FLASH芯片均为插装器件,而在实际应用中由于PLCC插座而引起的问题非常多,主要是PLCC插座因批次质量、加工、运输等环节引起接触不良而导致电路板故障,甚至有因插拔操作不当引起FLASH芯片芯片失效的现象。这些故障大大降低了产品的稳定性和可靠性,是困扰产品质量的重要因素。
发明内容
本发明就是针对以上问题,提出省去用于存放BOOTROM的FLASH芯片的电路板设计方法。一种电路板设计方法,其特征在于将启动程序和应用程序合并到同一个FLASH芯片中,通过与FLASH芯片相邻的CPU完成对FLASH芯片中应用程序的加载。
所述的对FLASH芯片中应用程序的加载过程为:
a,通过由CPU内部边界扫描单元组成一个边界扫描链去设置CPU的I/O引脚状态;
b,通过命令扫描将与FLASH芯片相邻的CPU设置为EXTEST状态,以保证所述CPU可以通过所述边界扫描链输出命令和数据;
c,通过所述JTAG接口在所述CPU的所述I/O引脚上模拟FLASH芯片的读写时序,由此通过所述I/O引脚来输入数据和读取数据,进而完成应用程序的加载。
所述步骤a中的相邻,可以是直接相邻,也可以是间隔有非边界扫描器件的间接相邻。
所述的步骤c进一步包括:
b1、进行数据移位,将数据刷新输出至FLASH芯片;
b2、从FLASH芯片回读数据;
b3、重复步骤b1和b2,向FLASH芯片发出需要命令和数据,直到完成FLASH芯片的加载。
所述的电路板设计方法,步骤b1中所述的数据移位是在进行一次命令移位,将EXTEST命令装入命令寄存器后才进行的,如果在加载的过程中对命令进行了更改,则在下一次进行数据移位之前,要进行一次命令移位,将EXTEST命令装入命令寄存器。
所述的JTAG接口在CPU引脚上模拟FLASH芯片的读写时序,是通过在CPU的JTAG接口上连接JTAG控制器,通过与该控制器相连的终端输入的。
所述的电路板设计方法,是通过读写器完成启动程序的加载。在本发明中,由于取消插装的FLASH芯片器件,并且通过CPU的JTAG接口加载FLASH芯片,而不是在CPU执行BOOTROM中的启动代码后再由CPU加载FLASH芯片,因此,除了能省掉一个插装FLASH芯片外,还可以将电路板上用于FLASH芯片加载的以太网口或串口取消,减小PCB面积,大大降低了物料成本。
附图说明
图1是一个电路板的系统结构图;
图2是边界扫描器件的结构图;
图3是通过JTAG接口加载FLASH芯片的原理示意图;
图4是FLASH芯片的JTAG加载系统连接图;
图5是本发明加载流程图;
图6是本发明实施后的电路板设计图。
具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
JTAG(Joint Test Action Group)是指边界扫描技术,JTAG接口是内置调试工具,通过该JTAG接口,设计人员能够观察到该处理器中待处理信息的一个有限的子集,比如该处理器中寄存器的内容。
本发明的核心思想,是将启动程序与应用程序合并放置在FLASH芯片中,与传统的将启动程序放置于插装的FLASH芯片相区别,这样,省去插装件带来的弊端,减少加工、运输等过程中存在的不稳定性。
但将BOOTROM和应用程序同时写入到一片FLASH芯片中,则存在如何实现程序第一次加载的问题,以及如何升级的问题。本发明是通过在电路板上与FLASH芯片相邻的CPU来完成该应用程序的加载的。
一般来说,CPU是一个带有边界扫描结构的芯片,如图2所示,是现有技术中一个边界扫描器件的结构图,带边界扫描结构的芯片和不带边界扫描结构的芯片相比较,主要是多了5个测试访问端口TAP引脚:测试时钟信号TCK、测试数据输入信号TDI、测试数据输出信号TDO、测试模式选择信号TMS和测试复位TRST,其中测试复位引脚可选,同时多了一个TAP控制器、一个指令寄存器和一组数据寄存器,其中,数据寄存器又包括边界扫描单元寄存器、旁路(BYPASS)寄存器,还可能包括器件代码(IDCODE)寄存器、用户代码(USERCODE)寄存器或其余用户自定义寄存器。
在电路板上,与FLASH芯片相邻的CPU内部的边界扫描单元连接成一个边界扫描链,本发明就是通过这一系列的扫描链串行移位来完成FLASH芯片的加载的。
如图3所示,是通过JTAG接口加载FLASH芯片的原理示意图,图中黑色部分为扫描寄存器单元,从图中可以看出,FLASH的地址线、数据线和控制信号都直接或者间接连接到边界扫描器件上,例如本发明中的CPU。因此,可以通过JTAG接口在CPU的引脚上模拟FLASH的读写时序,实现FLASH加载。
如图4所示,在本发明中,通过CPU上的JTAG接口连接有一个PC终端,通过该终端的输入部分,来模拟FLASH芯片的读写时序,进而通过该扫描链来设置CPU的I/O引脚状态,通过I/O引脚来输入数据和读取数据,进而完成加载。
如图5所示,是本发明加载的一个流程图,从图中可以看到,加载的过程包括:
首先在终端上通过命令扫描使得与欲加载FLASH芯片相邻的CPU处于EXTEST状态,以保证可以通过该CPU内部的边界扫描链向外输出数据和命令;
关于EXTEST命令,它是器件厂家必须提供的公用命令,外部测试命令EXTEST将选择串行连接在TDI与TDO之间的边界扫描寄存器构成的扫描链,同时器件内核逻辑从输入/输出管脚中隔离出来。利用EXTEST命令可以完成的功能:
1)进行芯片之间的互连测试;
2)可以控制边界扫描器件对其余器件进行读写等操作。
其中2是本发明所创新,在本发明的加载方法中,该EXTEST命令是用来完成对FLASH芯片进行读写等操作。
然后就是数据移位,将数据刷新输出;
然后从FLASH芯片上回读数据和命令;
再进行数据移位,重新刷新并输出;......,就这样反复进行数据扫描和数据输出,向FLASH芯片输入各种命令和数据,以及从FLASH芯片读回数据,一直到完成FLASH芯片加载为止。
在加载过程中,每次数据移位完毕,所有数据均已经准备好,在进入Update-DR状态时CPU的边界扫描单元将数据打入FLASH芯片,此时命令寄存器中的命令要求是EXTEST。所以在执行数据移位之前,还要进行一次命令移位,将EXTEST命令装入命令寄存器。但是完成命令装载以后,只要不更改命令,就不再需要进行命令移位了,此时只需要进行数据移位,所以数据移位是编程的主要操作。
在加载过程中,当扫描链由多个边界扫描器件组成时,系统会自动将不相关的边界扫描器件旁路掉。
采用上述加载方法后,电路板的BOOTROM和应用程序就可以写入到同一片FLASH芯片中,而且,在电路板的调试加载和生产加载过程中,都可以使用这种方法。
如图6所示,可以看到,取消BOOTROM芯片而将启动代码和应用程序写入到同一片FLASH芯片的设计后,电路板系统结构中,少了一个以太网接口,同时,还少了一个BOOTROM芯片。
本发明提出的电路板设计方法和以前的常规的电路板设计方法相比较有以下优点:
1、省去了BOOTROM芯片,节省了电路板成本;
2、省去了网口及其接口芯片,节省了电路板成本;
3、省去了PLCC插座,消除了产品的不稳定因素,提高了产品的可靠性。
本发明在节省了一个用于存储启动程序的FLASH的同时,还因取消PLCC插座,使得系统的稳定性大大提高。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (6)
1、一种电路板设计方法,其特征在于:通过与FLASH芯片相邻的CPU的JTAG接口完成对FLASH芯片中应用程序的加载,其包括如下步骤:
a.通过由CPU内部边界扫描单元组成一个边界扫描链设置CPU的I/O引脚状态;
b.通过命令扫描将与FLASH芯片相邻的CPU设置为EXTEST状态,以保证所述CPU可以通过所述边界扫描链输出命令和数据;
c.通过所述JTAG接口在所述CPU的所述I/O引脚上模拟FLASH芯片的读写时序,实现通过所述I/O引脚的数据的输入和读取,进而完成应用程序的加载,从而将启动程序和应用程序合并到同一个FLASH芯片中。
2、如权利要求1所述的电路板设计方法,其特征在于所述步骤a中的相邻,可以是直接相邻,也可以是间隔有非边界扫描器件的间接相邻。
3、如权利要求1所述的电路板设计方法,其特征在于所述的步骤c进一步包括:
b1、进行数据移位,将数据刷新输出至FLASH芯片;
b2、从FLASH芯片回读数据;
b3、重复步骤b1和b2,向FLASH芯片发出需要命令和数据,直到完成FLASH芯片的加载。
4、如权利要求3所述的电路板设计方法,其特征在于:步骤b1中所述的数据移位是在进行一次命令移位,将EXTEST命令装入命令寄存器后才进行的,如果在加载的过程中对命令进行了更改,则在下一次进行数据移位之前,要进行一次命令移位,将EXTEST命令装入命令寄存器。
5、如权利要求1所述的电路板设计方法,其特征在于所述的JTAG接口在CPU引脚上模拟FLASH芯片的读写时序,是通过在CPU的JTAG接口上连接JTAG控制器,通过与该控制器相连的终端输入的。
6、如权利要求1所述的电路板设计方法,其特征在于所述步骤c中的加载还包括启动程序的加载,该加载是通过读写器完成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125596 CN1230743C (zh) | 2002-07-23 | 2002-07-23 | 一种电路板设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02125596 CN1230743C (zh) | 2002-07-23 | 2002-07-23 | 一种电路板设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1495606A CN1495606A (zh) | 2004-05-12 |
CN1230743C true CN1230743C (zh) | 2005-12-07 |
Family
ID=34231156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02125596 Expired - Fee Related CN1230743C (zh) | 2002-07-23 | 2002-07-23 | 一种电路板设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1230743C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178661B (zh) * | 2007-12-14 | 2010-06-02 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
-
2002
- 2002-07-23 CN CN 02125596 patent/CN1230743C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1495606A (zh) | 2004-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6256760B1 (en) | Automatic test equipment scan test enhancement | |
US5852617A (en) | Jtag testing of buses using plug-in cards with Jtag logic mounted thereon | |
US5617430A (en) | Testing system interconnections using dynamic configuration and test generation | |
US4601034A (en) | Method and apparatus for testing very large scale integrated memory circuits | |
US7353440B2 (en) | Multicore processor test method | |
US6826100B2 (en) | Push button mode automatic pattern switching for interconnect built-in self test | |
CN1828553A (zh) | 片上系统与应用于其中的测试/除错方法 | |
US6324657B1 (en) | On-clip testing circuit and method for improving testing of integrated circuits | |
CN1949723A (zh) | 一种atca中jtag器件远程维护的方法及系统 | |
US7844867B1 (en) | Combined processor access and built in self test in hierarchical memory systems | |
CN112463243B (zh) | 基于边界扫描的在线级联加载固件系统及其方法 | |
CN101303708B (zh) | 一种芯片引脚复用的代码编码的方法及装置 | |
JPH1183956A (ja) | 集積回路 | |
CN1222909C (zh) | 一种flash芯片的加载方法和jtag控制器 | |
US7078929B1 (en) | Interface controller using JTAG scan chain | |
CN1230885C (zh) | 一种边界扫描芯片容错测试方法及系统 | |
CN1230743C (zh) | 一种电路板设计方法 | |
Ratiu et al. | Pseudorandom built-in self-test methodology and implementation for the IBM RISC System/6000 processor | |
US7313745B1 (en) | Decoder for pin-based scan test | |
US20100100786A1 (en) | Serial test mode of an integrated circuit (ic) | |
CN110109708A (zh) | 一种控制器NandBoot机制的方法及其系统 | |
CN1253786C (zh) | 一种数字信号处理器程序的加载方法 | |
US7526691B1 (en) | System and method for using TAP controllers | |
CN100442254C (zh) | 对多个可编程逻辑器件进行在线加载的方法和装置 | |
Jone et al. | An efficient BIST method for distributed small buffers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051207 Termination date: 20160723 |