CN1855043A - 校验可编程逻辑器件中软件版本的方法 - Google Patents
校验可编程逻辑器件中软件版本的方法 Download PDFInfo
- Publication number
- CN1855043A CN1855043A CN 200510034322 CN200510034322A CN1855043A CN 1855043 A CN1855043 A CN 1855043A CN 200510034322 CN200510034322 CN 200510034322 CN 200510034322 A CN200510034322 A CN 200510034322A CN 1855043 A CN1855043 A CN 1855043A
- Authority
- CN
- China
- Prior art keywords
- pld
- jtag
- software version
- version
- software
- 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.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种校验可编程逻辑器件中软件版本的方法包括如下步骤:1)启动JTAG控制器并利用其采样功能对系统各PLD中软件版本进行采样;2)判断各PLD中软件版本是否与系统软件或其他模块的用以实现通信功能的软件版本具有正确的配套关系;3)如果PLD的软件版本校验正确,则启动系统其他部分;否则,通过JTAG控制器将PLD中软件版本升级到正确的版本。本发明的可编程逻辑器件软件版本校验是在系统启动前完成的,使版本校验和加载过程与被加载的单板或模块相独立,减少了校验过程对其他部分的依赖关系,提高了校验可靠性。
Description
技术领域
本发明涉及电子或通信领域的测试技术,特别涉及一种对可编程逻辑器件(PLD:Programmable Logic Device)的软件版本进行检验的方法。
背景技术
随着电子或通信系统中功能越来越多,为实现所述的功能,电子或通信系统中电路的结构也越来越复杂,多层板的设计越来越普遍,在所述的设计中,会用到大量的可表帖的可编程逻辑器件,所述可编程逻辑器件有的作为控制系统的一部分,有的则分布在系统的不同单板上实现单板的特殊功能。
由于可编程逻辑器件可以通过编程来实现其功能,所以当电子或通信系统中单板需要增加新功能或对原来的功能进行更换时,便需要对所述可编程逻辑器件中的实现功能的软件进行版本升级,而一个实现功能的软件的版本往往与系统软件或其他模块的功能软件版本具有配套关系,不配套的版本可能使系统不能启动或启动后系统工作异常,因此为保证系统的正常工作,提高系统的可靠性,有必要考虑在系统启动前对系统的可编程逻辑器件的实现功能的软件版本进行校验。
现有技术是让系统启动后,通过控制系统读取可编程逻辑器件内的实现功能的软件版本的寄存器,控制系统校验是否是所要求的版本,如果不是则控制部分要对实现功能的软件进行升级。如果控制系统没有正常启动,那么有可能是系统某个实现功能的软件的版本不配套或其他物理原因,这需要一个复杂的定位过程。
但是,现有技术方案却存在以下问题:
首先,要通过控制系统读实现功能的软件的版本寄存器,就须保证控制系统的正常工作、控制通道线路正常,另外,执行命令的管理通道和软件也都要正常工作,可见,此方案牵涉的模块较多,如果某一部分故障都会影响实现功能的软件的版本校验,特别是对控制系统过于依赖,因此其校验可靠性相对不高;
其次,如果可编程逻辑器件内所加载的实现功能的软件的版本与CPU的启动软件有冲突,则可能会使控制系统的CPU不能启动,这样所有实现功能的软件的版本的校验都不能执行,从而导致与CPU启动相关的的校验不能执行;
最后,如果系统中某个可编程逻辑器件没有CPU控制接口,则不能读实现功能的软件的版本寄存器,这样也就无法进行版本校验。
发明内容
本发明提供一种校验可编程逻辑器件中软件版本的方法,以解决现有技术中系统的PLD软件版本校验的可靠性较低、以及有些情况下软件版本不能校验的问题。
为解决上述技术问题,本发明提供的一种校验可编程逻辑器件中软件版本的方法,包括如下步骤:
1)启动JTAG控制器并利用其采样功能对系统各PLD中软件版本进行采样;
2)判断各PLD中软件版本是否与系统软件或其他模块的用以实现通信功能的软件版本具有正确的配套关系;
3)如果PLD的软件版本校验正确,则启动系统其他部分;否则,通过JTAG控制器将PLD中软件版本升级到正确的版本。
所述步骤1)的采样是通过读取PLD中软件版本的寄存器内容完成的。
所述步骤2)的判断具体过程为:是利用JTAG控制器将PLD中软件版本的寄存器内容与系统所要求的软件版本信息内容进行比较。
所述JTAG控制器拥有JTAG总线,所述的PLD拥有JTAG接口,所述的JTAG总线和所述JTAG接口连接。
所述I/O端口与PLD中软件版本寄存器的版本号相对应,并在PLD编程时被定义为输出I/O端口。
所述JTAG控制器还包括具有JTAG接口的IC,通过所述JTAG总线将所述IC连接到PLD,并通过该IC的JTAG接口控制IC模拟出对PLD的软件版本寄存器的读操作时序。
本发明的优点在于,本发明所提供的方法是在系统启动前,通过边界扫描实现版本校验,其能够通过JTAG控制器在系统的被校验单板启动前对可编程逻辑器件的软件版本进行校验,并在版本不一致的情况下对软件版本升级,同时也可以使版本校验和加载过程与被加载的单板或模块相独立,减少了校验过程对其他部分的依赖关系,提高了校验可靠性。此外,还可以进行可编程逻辑器件内所加载的软件版本与CPU的启动软件是否有冲突的校验,同时,对于没有CPU的系统也能实现软件版本校验和升级。
附图说明
图1为JTAG边界扫描工作原理图;
图2为系统中JTAG与PLD的连接关系图;
图3为本发明利用JTAG边界扫描技术实现可编程逻辑器件软件版本校验方法流程图;
图4为JTAG控制器通过JTAG总线直接取样PLD的特定I/O实现版本校验示意图;
图5为JTAG控制器通过具有JTAG接口的IC读取PLD的版本实现版本校验示意图。
具体实施方式
边界扫描测试技术是基于作为解决PCB物理访问问题的JTAG(联合测试行动组)接口发展起来的,这样的问题是新的封装技术导致电路板装配日益拥挤所造成的。1988年,北美一些公司联合成立了联合测试行动组(JTAG:Joint Test Action Group),规范化了最初的边界扫描(Boundary Scan)技术。1990年,IEEE(Institute of Electrical andElectronic Engineers)接受该规范成为标准1149.1。边界扫描在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描工业标准IEEE 1149.1可以对复杂的装配进行测试、调试和在系统设备编程,并诊断出硬件问题。通过对扫描路径I/O的访问,可以消除或极大地减少对电路板上物理测试点的需要。除了可以进行电路板测试外,边界扫描测试允许在PCB贴片之后,在电路板上对几乎所有类型的PLD和闪存进行编程和扫描。IEEE 1149.1标准规定了一个四线串行接口,该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC),例如微处理器、可编程逻辑器件等。具有JTAG接口的芯片内置功能模式寄存器或软件版本寄存器,通过边界扫描通道校验芯片的实现功能的软件的版本状态或使芯片处于某个特定的功能模式。
边界扫描测试有两大优点:一个是方便芯片的故障定位,提高测试效率;另一个是,具有JTAG接口的芯片内置功能模式寄存器或逻辑状态寄存器,通过边界扫描通道校验芯片的逻辑状态或使芯片处于某个特定的功能模式。当前的可编程逻辑器件几乎都有符合IEEE 1149.1的JTAG接口和功能,因此,可以通过JTAG边界扫描技术对可编程逻辑器件的软件版本进行校验。
如图1所示,边界扫描技术通过软件对支持边界扫描的器件的引脚进行完全的控制,设置或读取其状态,其中,逻辑单元(Logic)是可编程逻辑器件内部原本的逻辑功能模块,可编程逻辑器件的每个引脚对应一个边界扫描单元,这些单元内部连接成链状。当可编程逻辑器件正常工作时,边界扫描功能没有打开,边界扫描单元是“透明”的,通过器件引脚可以正常操作可编程逻辑器件内部逻辑功能;当使用测试时钟(TCK)、测试模式选择(TMS)控制可编程逻辑器件内部专用的测试访问接口(TAP)控制器打开边界扫描功能后,则通过内部边界扫描链可以任意读取或设置每一个引脚的状态。这样,配合专用软件就能够完成对可编程逻辑器件内部或外部电路的测试。
如图3所示,本发明利用JTAG边界扫描技术实现可编程逻辑器件的软件版本校验方法的具体步骤如下:
1)首先启动JTAG控制器;
如图2所示,在一个系统中,JTAG与PLD的连线包括带有JTAG控制器的控制板和其他类型单板,各单板都可能有PLD器件(对于小的系统,很可能只有一块单板),通常只有一个主用的JTAG控制器(放在控制板上),它通过JTAG总线把各单板的PLD连起来(包括控制板本身)。控制板上电后,首先启动JTAG控制器,使系统JTAG工作,通过JTAG扫描整个系统各个要做版本校验的PLD软件版本,当版本校验正确后再启动系统其他部分,如果版本校验不正确,则要通过JTAG实现对PLD版本的升级,升级成功后启动系统其他部分。
2)利用JTAG的采样功能对系统各PLD中软件版本进行采样;
PLD版本校验的前提是PLD逻辑已经加载,并有版本标识(寄存器、I/O管脚等)。电路采样是边界扫描提供的一项重要功能,它可以对与边界扫描单元相关的I/O引脚进行采样,本发明是利用JTAG的采样功能实现可编程器件的版本采样,通过读取可编程逻辑器件的软件版本寄存器的内容完成的。
本发明利用JTAG的采样(SAMPLE)指令选通串行连接在测试数据输入(TDI)与测试数据输出(TDO)间的边界扫描寄存器,这个过程对芯片的正常逻辑操作没有影响。JTAG的采样功能在器件正常工作时对其引脚的电平状态进行取样,而且,这些采样的数据可以通过边界扫描寄存器串行移位输出。其工作原理是利用扫描链首先预置采样(Preload/Sample)指令,然后进行捕获数据(Capture-DR)和移位数据(Shift-DR)的操作,通过数据移位可以将采样下来的数据保存起来,以便进行数据分析。
3)判断各PLD中软件版本是否与系统软件或其他模块的用以实现通信功能的软件版本具有正确的配套关系;
本例中,判断是利用JTAG控制器将可编程逻辑器件的软件版本寄存器的内容与系统所要求的软件版本信息内容进行比较完成的,所述系统所要求的版本信息内容存储在CPU外围的寄存器中。
4)如果PLD的软件版本校验正确,则启动系统其他部分;
5)如果PLD的软件版本校验不正确,则通过JTAG将PLD中软件版本升级到正确的版本,升级成功后启动系统其他部分。
通过JTAG实现PLD版本校验有两种情况,一种情况是IC上没有带JTAG接口的,JTAG控制器的JTAG总线可以直接连接到PLD上,通过局部总线访问PLD,通过JTAG的采样指令采样用于标示版本的I/O端口;另一种情况是PLD有局部总线连接到具有JTAG接口的IC上,通过JTAG控制IC仿真出局部总线的读操作访问到PLD的内部寄存器,由该IC的JTAG控制IC模拟出对PLD的软件版本寄存器的读操作时序,这种情况下,PLD也可以在JTAG链中。
如图4所示,对于上述第一种情况的PLD版本校验方法,PLD预留几个I/O脚,该I/O脚与软件版本寄存器的版本号相对应,同时在PLD编程时把这些I/O定义为输出。JTAG控制器启动后,通过JTAG边界扫描的采样指令采样可编程逻辑器件的版本I/O,读取软件版本寄存器的内容,从而获得软件版本信息,与存储在CPU外围寄存器中的系统要求的正确软件版本信息进行比较,如果可编程逻辑器件的软件版本不正确,JTAT控制器通过JTAG接口实现对可编程逻辑器件的软件版本升级。因为JTAG的采样指令不影响可编程逻辑器件的正常逻辑功能,因此在版本校验过程中,不会对可编程逻辑器件的逻辑功能有任何影响。
对于第二种情况,如图5所示,JTAG控制器通过边界扫描使连接PLD的IC模拟出与PLD连接的局部总线,通过模拟的局部总线把PLD的软件版本寄存器的值读上来,并通过JTAG输出,与要求的版本相比较。该方法可以省去定义版本I/O,节省了PLD的I/O资源。
Claims (6)
1、一种校验可编程逻辑器件中软件版本的方法,其特征在于,包括如下步骤:
1)启动JTAG控制器并利用其采样功能对系统各PLD中软件版本进行采样;
2)判断各PLD中软件版本是否与系统软件或其他模块的用以实现通信功能的软件版本具有正确的配套关系;
3)如果PLD的软件版本校验正确,则启动系统其他部分;否则,通过JTAG控制器将PLD中软件版本升级到正确的版本。
2、根据权利要求1所述的方法,其特征在于:所述步骤1)的采样是通过读取PLD中软件版本的寄存器内容完成的。
3、根据权利要求1所述的方法,其特征在于:所述步骤2)的判断具体过程为:是利用JTAG控制器将PLD中软件版本的寄存器内容与系统所要求的软件版本信息内容进行比较。
4、根据权利要求1所述的方法,其特征在于:所述JTAG控制器拥有JTAG总线,所述的PLD拥有JTAG接口,所述的JTAG总线和所述JTAG接口连接。
5、根据权利要求4所述的方法,其特征在于:所述I/O端口与PLD中软件版本寄存器的版本号相对应,并在PLD编程时被定义为输出I/O端口。
6、根据权利要求4所述的方法,其特征在于:所述JTAG控制器还包括具有JTAG接口的IC,通过所述JTAG总线将所述IC连接到PLD,并通过该IC的JTAG接口控制IC模拟出对PLD的软件版本寄存器的读操作时序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005100343229A CN100407143C (zh) | 2005-04-19 | 2005-04-19 | 校验可编程逻辑器件中软件版本的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005100343229A CN100407143C (zh) | 2005-04-19 | 2005-04-19 | 校验可编程逻辑器件中软件版本的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1855043A true CN1855043A (zh) | 2006-11-01 |
CN100407143C CN100407143C (zh) | 2008-07-30 |
Family
ID=37195234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100343229A Expired - Fee Related CN100407143C (zh) | 2005-04-19 | 2005-04-19 | 校验可编程逻辑器件中软件版本的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100407143C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276285B (zh) * | 2008-05-22 | 2010-06-09 | 中兴通讯股份有限公司 | 一种电信系统级的烧结方法及系统 |
CN104572442A (zh) * | 2014-12-10 | 2015-04-29 | 黑龙江真美广播通讯器材有限公司 | 可编程逻辑芯片片内程序校验系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023793A1 (en) * | 2001-07-30 | 2003-01-30 | Mantey Paul J. | Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system |
CN1168019C (zh) * | 2002-08-30 | 2004-09-22 | 清华大学 | 现场可编程门阵列程序在线升级系统及其实现方法 |
KR20040064474A (ko) * | 2003-01-13 | 2004-07-19 | 삼성전자주식회사 | 프로그래머블 로직 업그레이드 장치 및 방법 |
CN1299209C (zh) * | 2003-11-17 | 2007-02-07 | 中兴通讯股份有限公司 | Fpga逻辑程序下载装置及方法 |
-
2005
- 2005-04-19 CN CN2005100343229A patent/CN100407143C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276285B (zh) * | 2008-05-22 | 2010-06-09 | 中兴通讯股份有限公司 | 一种电信系统级的烧结方法及系统 |
CN104572442A (zh) * | 2014-12-10 | 2015-04-29 | 黑龙江真美广播通讯器材有限公司 | 可编程逻辑芯片片内程序校验系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100407143C (zh) | 2008-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020598B1 (en) | Network based diagnostic system and method for software reconfigurable systems | |
US5708773A (en) | JTAG interface system for communicating with compliant and non-compliant JTAG devices | |
US5828825A (en) | Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port | |
US7661048B2 (en) | Apparatus and method for embedded boundary scan testing | |
US6928638B2 (en) | Tool for generating a re-generative functional test | |
US5682392A (en) | Method and apparatus for the automatic generation of boundary scan description language files | |
US7139955B2 (en) | Hierarchically-controlled automatic test pattern generation | |
JP3333036B2 (ja) | 試験装置、試験装置を備えたシステムおよび試験方法 | |
US5819025A (en) | Method of testing interconnections between integrated circuits in a circuit | |
US7137086B2 (en) | Assertion checking using two or more cores | |
JP2006242638A (ja) | 半導体検査装置 | |
US6721923B2 (en) | System and method for generating integrated circuit boundary register description data | |
US6948096B2 (en) | Functional random instruction testing (FRIT) method for complex devices such as microprocessors | |
US7111217B1 (en) | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) | |
US7076708B2 (en) | Method and apparatus for diagnosis and behavior modification of an embedded microcontroller | |
US20070226563A1 (en) | Test Method and Test Device for Testing an Integrated Circuit | |
CN100407143C (zh) | 校验可编程逻辑器件中软件版本的方法 | |
CN1253794C (zh) | 一种非边界扫描器件逻辑簇故障测试方法 | |
Maierhofer | Hierarchical self-test concept based on the JTAG standard | |
CN1463031A (zh) | 一种边界扫描芯片容错测试方法及系统 | |
US7434128B2 (en) | Systems and methods for identifying system links | |
US7284211B2 (en) | Extensible IO testing implementation | |
Wondolowski et al. | Boundary scan: the internet of test | |
KR200221586Y1 (ko) | 전자장비 점검장치 | |
JPH10198717A (ja) | バウンダリスキャン対応集積回路の設計支援装置 |
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 |
Granted publication date: 20080730 Termination date: 20160419 |
|
CF01 | Termination of patent right due to non-payment of annual fee |