CN101645055B - 逻辑器件在线加载的方法、***和处理器 - Google Patents

逻辑器件在线加载的方法、***和处理器 Download PDF

Info

Publication number
CN101645055B
CN101645055B CN2009100929036A CN200910092903A CN101645055B CN 101645055 B CN101645055 B CN 101645055B CN 2009100929036 A CN2009100929036 A CN 2009100929036A CN 200910092903 A CN200910092903 A CN 200910092903A CN 101645055 B CN101645055 B CN 101645055B
Authority
CN
China
Prior art keywords
logical device
interface
jtag
link
enable
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
Application number
CN2009100929036A
Other languages
English (en)
Other versions
CN101645055A (zh
Inventor
童兵兵
李玉森
石磊
陈永宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009100929036A priority Critical patent/CN101645055B/zh
Publication of CN101645055A publication Critical patent/CN101645055A/zh
Priority to PCT/CN2010/076704 priority patent/WO2011029385A1/zh
Application granted granted Critical
Publication of CN101645055B publication Critical patent/CN101645055B/zh
Priority to US13/416,808 priority patent/US20120173941A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/10Current supply arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例公开了一种逻辑器件在线加载的方法、***和处理器,所述逻辑器件在线加载的方法,包括:接收在线加载命令;根据所述在线加载命令,通过处理器与所述逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。本发明实施例在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。另外,本发明实施例同样适用于对不包括处理器但包括总线接口的单板上的逻辑器件进行在线加载。

Description

逻辑器件在线加载的方法、***和处理器
技术领域
本发明实施例涉及通信技术领域,特别涉及一种逻辑器件在线加载的方法、***和处理器。
背景技术
复杂可编程逻辑器件(Complex Programmable Logical Device;以下简称:CPLD)是电可擦除逻辑器件,在掉电情况下仍能保持所编程序的逻辑功能,在现有的各种单板中得到广泛应用。目前,现有技术主要使用联合测试行动小组(Joint Test Action Group;以下简称:JTAG)链,通过外部编程设备对CPLD进行程序下载。但这种方式有其不足之处,由于单板及业务处理的复杂性,有时可能由于原代码有问题需要更改,或是由于需求的变化需要更改代码,常常要求能对逻辑器件,如CPLD中的代码进行在线升级,以增强可升级可维护的能力,减少维护成本。但是,如果CPU在JTAG链中,一旦JTAG链开始工作,待加载单板的CPU就会进入JTAG状态,无法对CPLD实现在线加载;当整个***为低端设备,不包括外部主控板时,待加载单板的CPLD的更新必须使用JTAG加载线进行,对于已经发货的单板,在后续使用过程中需要更新代码时,必须把单板返回工厂进行更新或由专人进行加载,成本高。
现有技术采用的另一种加载方式是使用中央处理器(Central ProcessingUnit;以下简称:CPU)的通用输入(Input;以下简称:I)/输出(Output;以下简称:O)接口模拟JTAG来实现对CPLD的在线加载,并且CPLD也可以使用外部编程设备连接JTAG加载线到JTAG插座来实现加载。但是,这种方式中,CPU使用了通用I/O接口来模拟JTAG,额外地占用了I/O接口;并且,对于不包括CPU的一些插卡,这类插卡的连接器已固定且连接器接口上无连接到母板CPU的I/O接口,因此无法利用上述方案实现CPLD的在线加载。现有技术中也有待加载单板上的CPU通过扩展I/O器件模拟JTAG加载,以解决通用CPU没有I/O接口而无法实现在线加载的问题。但是,扩展I/O器件不仅为单板增加了一个可编程器件,还需要对该扩展I/O器件进行加载,增加了生产和维护的成本。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:使用JTAG链进行加载的方式无法实现在线加载;使用CPU的通用I/O接口模拟JTAG的方式,额外地占用了CPU的I/O接口,并且不适用于不包括CPU的单板;虽然可以通过扩展I/O器件模拟JTAG加载,但是却会增加生产和维护的成本。
发明内容
本发明实施例提供一种逻辑器件在线加载的方法、***和处理器,以实现对逻辑器件进行在线加载,但不额外占用I/O接口,并可以实现对不包括处理器但包括总线接口的单板上的逻辑器件进行在线加载。
本发明实施例提供一种逻辑器件在线加载的方法,包括:
接收在线加载命令;
根据所述在线加载命令,通过处理器与所述逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
本发明实施例还提供一种处理器,包括:
接收模块,用于接收在线加载命令;
使能/去使能模块,用于根据所述接收模块接收的在线加载命令,通过所述处理器与逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
控制模块,用于通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
本发明实施例还提供一种逻辑器件在线加载的***,包括处理器和逻辑器件,
所述处理器,用于接收在线加载命令,根据所述在线加载命令,通过所述处理器和所述逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载;
所述逻辑器件,用于在所述处理器控制下,通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
通过本发明实施例,处理器在接收到在线加载命令之后,通过该处理器和逻辑器件之间的总线去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路,通过该逻辑器件的I/O接口与JTAG接口之间的链路对逻辑器件进行在线加载,从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。另外,本发明实施例同样适用于对不包括处理器但包括总线接口的单板上的逻辑器件进行在线加载。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明逻辑器件在线加载的方法一个实施例的流程图;
图2为本发明逻辑器件在线加载的方法另一个实施例的流程图;
图3为本发明应用场景一个实施例的示意图;
图4为本发明应用场景另一个实施例的示意图;
图5为本发明处理器一个实施例的结构示意图;
图6为本发明处理器另一个实施例的结构示意图;
图7为本发明逻辑器件在线加载的***一个实施例的结构示意图;
图8为本发明逻辑器件在线加载的***另一个实施例的结构示意图;
图9为本发明逻辑器件在线加载的***一个具体实施例的结构示意图;
图10为本发明逻辑器件在线加载的***另一个具体实施例的结构示意图;
图11为本发明逻辑器件在线加载的***再一个具体实施例的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种逻辑器件在线加载的方法,将逻辑器件本身的I/O接口连接至该逻辑器件的JTAG接口,处理器通过总线连接至逻辑器件的总线接口,并通过总线控制该逻辑器件实现逻辑器件的在线加载。本发明实施例中的总线可以为处理器与逻辑器件之间的任意总线,例如:控制总线。
图1为本发明逻辑器件在线加载的方法一个实施例的流程图,如图1所示,该实施例包括:
步骤101,接收在线加载命令。
步骤102,根据该在线加载命令,通过处理器和逻辑器件之间的总线去使能该逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路。具体地,可以通过上述总线去使能该逻辑器件所在单板的JTAG链路上的第一缓冲器,并使能该逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器。
步骤103,通过上述总线控制该逻辑器件,使该逻辑器件通过该逻辑器件的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载。
本实施例中的逻辑器件为可编程逻辑器件,例如CPLD等;本实施例中的执行主体可以为处理器,例如:CPU等。
上述实施例中,处理器在接收到在线加载命令之后,通过该处理器与逻辑器件之间的总线去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路,通过该逻辑器件的I/O接口与JTAG接口之间的链路对逻辑器件进行在线加载,从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。
图2为本发明逻辑器件在线加载的方法另一个实施例的流程图,本实施例以处理器为CPU、逻辑器件为CPLD为例进行说明,如图2所示,该实施例包括:
步骤201,CPU接收在线加载命令,清空在线加载完成事件。
步骤202,根据该在线加载命令,CPU通过该CPU与CPLD之间的总线去使能CPLD所在单板的JTAG链路,并使能该CPLD的I/O接口与JTAG接口之间的链路。具体地,CPU可以通过上述总线去使能CPLD所在单板的JTAG链路上的第一缓冲器(Buffer),并使能CPLD的I/O接口与JTAG接口之间链路上的第二Buffer。本实施例中,JTAG链路包括CPLD,可选地,该JTAG链路还可以包括至少一个JTAG器件;当JTAG链路仅包括CPLD时,第一Buffer位于该CPLD的JTAG接口与外部加载设备之间;当JTAG链路包括CPLD和至少一个JTAG器件时,第一Buffer位于CPLD的JTAG接口与JTAG器件之间。
本实施例中,单板加工出来之后,可以连接JTAG加载线到JTAG插座,通过外部加载设备对CPLD进行首次加载,该JTAG加载线可以为JTAG下载电缆。首次加载之后,CPLD的逻辑功能正常运行,CPLD的寄存器默认控制CPLD所在单板的JTAG链路使能,CPLD的I/O接口与JTAG接口之间的链路去使能。
在CPU接收到在线加载命令之后,该CPU通过该CPU与CPLD之间的总线去使能CPLD所在单板的JTAG链路,并使能该CPLD的I/O接口与JTAG接口之间的链路。
步骤203,CPU通过上述总线控制CPLD通过该CPLD的I/O接口与JTAG接口之间的链路,对该CPLD进行在线加载。
在使能CPLD的I/O接口与JTAG接口之间的链路之后,CPU通过上述总线控制CPLD通过该CPLD的I/O接口与JTAG接口之间的链路,对该CPLD进行在线加载,此时CPLD的逻辑功能正常运行,不影响CPLD所在单板的其他功能。
步骤204,判断在线加载是否完成。如果在线加载已完成,则执行步骤205;如果在线加载尚未完成,则返回执行步骤203。
步骤205,CPU通过上述总线使能CPLD所在单板的JTAG链路,并去使能该CPLD的I/O接口与JTAG接口之间的链路;记录在线加载完成事件。具体地,CPU可以通过上述总线使能CPLD所在单板的JTAG链路上的第一Buffer,并去使能该CPLD的I/O接口与JTAG接口之间链路上的第二Buffer。此时,新程序已加载到CPLD的片上闪存(Flash),CPU可以在任意合适时间控制CPLD所在单板重新上电,对CPLD进行逻辑更新。
本实施例中,在线加载完成之后,CPU记录在线加载完成事件,CPU在每次接收到在线加载命令之后,均需清空在线加载完成事件,因此步骤201~步骤205可以在单板重新上电之前反复进行,有效程序为单板重新上电之前最后一次加载的程序。
步骤206,CPU通过上述总线控制CPLD所在单板重新上电,对CPLD进行逻辑更新。
本实施例中,在线加载完成之后,CPLD运行的逻辑功能还是未更新之前的逻辑功能,在完成在线加载后的任意合适时间,CPU可以通过该CPU与CPLD之间的总线控制CPLD所在单板重新上电,对该CPLD进行逻辑更新。
上述实施例中,CPU在接收到在线加载命令之后,通过该CPU和CPLD之间的总线去使能CPLD所在单板的JTAG链路,并使能该CPLD的I/O接口与JTAG接口之间的链路,通过该CPLD的I/O接口与JTAG接口之间的链路对该CPLD进行在线加载,从而在不额外占用I/O接口的前提下,实现了CPLD的在线加载,并且无需外扩额外的逻辑器件。另外,上述实施例提供的方法同样适用于对不包括处理器但包括总线接口的单板上的逻辑器件进行在线加载。
本发明图1或图2所示实施例中,提供了“去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路”,以及“使能逻辑器件所在单板的JTAG链路,并去使能该逻辑器件的I/O接口与JTAG接口之间的链路”的一种实现方式,但本发明实施例并不仅限于此,也可以采用一个缓冲器,该缓冲器中的两条通道分别连接上述两条链路,处理器通过该处理器和逻辑器件之间的总线控制该缓冲器的两条通道,达到“去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路”,以及“使能逻辑器件所在单板的JTAG链路,并去使能该逻辑器件的I/O接口与JTAG接口之间的链路”的目的;本发明实施例对“去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路”,以及“使能逻辑器件所在单板的JTAG链路,并去使能该逻辑器件的I/O接口与JTAG接口之间的链路”的实现方式不作限定,任何可以实现上述目的的方式均应落入本发明实施例的保护范围。
本发明实施例提供的逻辑器件在线加载的方法可以用于对包括CPU的单板上的CPLD进行在线加载,图3为本发明应用场景一个实施例的示意图,图3中,CPU通过总线与CPLD连接,该总线可以为控制总线或其他任意一种总线。由于本发明实施例提供的逻辑器件在线加载的方法不会影响单板上的CPLD和其他器件的正常工作,因此CPU可以通过总线与CPLD直接连接,也可以经过其他器件与CPLD连接。在图3所示的场景中,只要CPU有总线连接到了CPLD上面,就可以应用本发明图1或图2所示实施例提供的方法对CPLD进行在线加载,并且不会额外占用CPU的I/O接口。
本发明实施例提供的逻辑器件在线加载的方法还可以用于对不包括CPU但包括总线接口的单板,例如:插卡上的CPLD进行在线加载,图4为本发明应用场景另一个实施例的示意图,图4中,插卡上包括需要在线加载的CPLD,但不包括CPU,并且母板上没有通用I/O接口通过连接器连接到该插卡上。正常情况下,CPLD均有总线连接到母板的CPU上,因此可以应用本发明图1或图2实施例提供的方法对CPLD进行在线加载,并且不会额外占用CPU的I/O接口,该总线可以为控制总线或其他任意一种总线。这里,CPLD与母板的CPU的连接同样可以是直接连接,也可以是经过其他器件连接。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明处理器一个实施例的结构示意图,本实施例的处理器可以作为CPU,或CPU的一部分,实现本发明图1所示实施例的流程。如图5所示,该处理器包括:接收模块51、使能/去使能模块52和控制模块53。
其中,接收模块51可以接收在线加载命令;使能/去使能模块52可以根据接收模块51接收的在线加载命令,通过处理器与逻辑器件之间的总线去使能该逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路;控制模块53可以通过上述总线控制该逻辑器件,使该逻辑器件通过该逻辑器件的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载。
本实施例中的逻辑器件包括可编程逻辑器件,例如:CPLD等。
上述实施例中,接收模块51在接收到在线加载命令之后,使能/去使能模块52通过该处理器与逻辑器件之间的总线去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路,控制模块53通过上述总线控制该逻辑器件通过该逻辑器件的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载,从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。
图6为本发明处理器另一个实施例的结构示意图,本实施例的处理器可以是CPU,或CPU的一部分,实现本发明图1或图2所示实施例的流程。如图6所示,该处理器包括:接收模块61、使能/去使能模块62、控制模块63、记录模块64和清空模块65。
其中,接收模块61可以接收在线加载命令;使能/去使能模块62可以根据接收模块61接收的在线加载命令,通过处理器与逻辑器件之间的总线去使能该逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路;具体地,使能/去使能模块62可以通过上述总线去使能逻辑器件所在单板的JTAG链路上的第一缓冲器,并使能该逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器。本实施例中,该JTAG链路包括上述逻辑器件,可选地,该JTAG链路还可以包括至少一个JTAG器件;当JTAG链路仅包括逻辑器件时,第一缓冲器位于该逻辑器件的JTAG接口与外部加载设备之间;当JTAG链路包括逻辑器件和至少一个JTAG器件时,第一缓冲器位于该逻辑器件的JTAG接口与JTAG器件之间。
控制模块63可以通过上述总线控制该逻辑器件,使该逻辑器件通过该逻辑器件的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载。
本实施例中,使能/去使能模块62还可以在在线加载完成之后,通过该总线使能该逻辑器件所在单板的JTAG链路,并去使能该逻辑器件的I/O接口与JTAG接口之间的链路;具体地,使能/去使能模块62可以在在线加载完成之后,通过上述总线去使能逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器,并使能该逻辑器件所在单板的JTAG链路上的第一缓冲器。
控制模块63还可以在在线加载完成之后,通过上述总线控制该逻辑器件所在单板重新上电,对该逻辑器件进行逻辑更新。
记录模块64可以在在线加载完成之后,记录在线加载完成事件;清空模块65用于在接收模块61接收到在线加载命令之后,清空记录模块64记录的在线加载完成事件。本实施例中,在线加载完成之后,记录模块64记录在线加载完成事件,接收模块61在每次接收到在线加载命令之后,清空模块65均需清空在线加载完成事件,因此在单板重新上电之前可以反复对逻辑器件进行加载,有效程序为单板重新上电之前最后一次加载的程序
上述实施例中,接收模块61在接收到在线加载命令之后,使能/去使能模块62通过该处理器与逻辑器件之间的总线去使能逻辑器件所在单板的JTAG链路,并使能该逻辑器件的I/O接口与JTAG接口之间的链路,控制模块63通过上述总线控制该逻辑器件通过该逻辑器件的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载,从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。另外,上述实施例提供的处理器同样适用于对不包括处理器但包括总线接口的单板上的逻辑器件进行在线加载。
图7为本发明逻辑器件在线加载的***一个实施例的结构示意图,如图7所示,该逻辑器件在线加载的***包括:处理器71和逻辑器件72;逻辑器件72的I/O接口环回到该逻辑器件72的JTAG接口,逻辑器件72与处理器71通过总线连接,该总线可以为控制总线或其他任意一种总线。
其中,处理器71可以接收在线加载命令,根据该在线加载命令,通过处理器71和逻辑器件72之间的总线去使能逻辑器件72所在单板的JTAG链路,并使能逻辑器件72的I/O接口与JTAG接口之间的链路;通过上述总线控制逻辑器件72,使逻辑器件72通过逻辑器件72的I/O接口与JTAG接口之间的链路,对该逻辑器件72进行在线加载;具体地,处理器71可以通过本发明图5或图6所示实施例的处理器实现。
逻辑器件72可以在处理器71控制下,通过该逻辑器件72的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载。
本实施例中,逻辑器件72可以为可编程逻辑器件,例如CPLD等。
本实施例中,逻辑器件72的I/O接口与该逻辑器件72的JTAG接口连接,处理器71通过处理器71和逻辑器件72之间的总线控制逻辑器件72通过该逻辑器件72的I/O接口与JTAG接口之间的链路,对该逻辑器件72进行在线加载。从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。
图8为本发明逻辑器件在线加载的***另一个实施例的结构示意图,如图8所示,该逻辑器件在线加载的***包括:处理器81、逻辑器件82和外部加载设备83;逻辑器件82的I/O接口环回到该逻辑器件82的JTAG接口,逻辑器件82与处理器81通过总线连接,该总线可以为控制总线或其他任意一种总线。
其中,处理器81可以接收在线加载命令,根据该在线加载命令,通过处理器81和逻辑器件82之间的总线去使能逻辑器件82所在单板的JTAG链路,并使能逻辑器件82的I/O接口与JTAG接口之间的链路;通过上述总线控制逻辑器件82,使逻辑器件82通过逻辑器件82的I/O接口与JTAG接口之间的链路,对该逻辑器件82进行在线加载;具体地,处理器81可以通过本发明图5或图6所示实施例的处理器实现。
逻辑器件82可以在处理器81控制下,通过该逻辑器件82的I/O接口与JTAG接口之间的链路,对该逻辑器件进行在线加载。
本实施例中,逻辑器件82可以为可编程逻辑器件,例如CPLD等。
外部加载设备83可以通过JTAG加载线对逻辑器件82进行加载。
本实施例中,逻辑器件82的I/O接口与该逻辑器件82的JTAG接口连接,处理器81通过处理器81和逻辑器件82之间的总线控制逻辑器件82通过该逻辑器件82的I/O接口与JTAG接口之间的链路,对该逻辑器件82进行在线加载。从而在不额外占用I/O接口的前提下,实现了逻辑器件的在线加载,并且无需外扩额外的逻辑器件。
下面以处理器为CPU,逻辑器件为CPLD为例介绍本发明实施例提供的逻辑器件在线加载的***在具体实现时的结构示意图。
图9为本发明逻辑器件在线加载的***一个具体实施例的结构示意图,如图9所示,该***可以包括:外部加载设备91、CPU 92、CPLD 93和JTAG器件94。其中,CPU 92、CPLD 93和JTAG器件94位于同一块单板上;CPLD 93的I/O接口环回到该CPLD 93的JTAG接口,CPU 92与CPLD 93通过总线连接,这里的总线可以为控制总线或其他任意一种总线。本实施例中,该***还可以包括第一Buffer 95和第二Buffer 96,其中,第一Buffer 95位于CPLD 93的JTAG接口与JTAG器件94之间,第二Buffer 96位于CPLD 93的JTAG接口与I/O接口之间。图9所示的***结构仅是本发明实施例提供的逻辑器件在线加载的***的一种实现方式,本发明实施例并不仅限于此,该逻辑器件在线加载的***也可以不包括JTAG器件94,这时第一Buffer 95位于CPLD 93的JTAG接口与外部加载设备91之间。
单板加工出来后,CPLD 93中无程序,所有的I/O接口处于三态状态,即输入、输出和高阻状态。此时通过电路中默认的下拉电阻R2和上拉电阻R3,CPLD 93作为一个JTAG器件连接在单板的JTAG链路中,该JTAG链路包括CPLD 93和至少一个JTAG器件94。这时可以由外部加载设备91通过JTAG加载线对CPLD 93进行首次加载,例如:可以连接JTAG下载电缆到JTAG插座,通过外部加载设备91对CPLD 93进行首次加载,首次加载之后,CPLD 93的逻辑功能正常运行,CPLD 93的寄存器默认控制I/O输出接口CTL0和CTL1,使能CPLD 93所在单板的JTAG链路上的第一Buffer 95,去使能CPLD 93的I/O接口与JTAG接口之间链路上的第二Buffer 96,从而使能CPLD 93所在单板的JTAG链路,去使能CPLD 93的I/O接口与JTAG接口之间的链路。这时也可以由外部加载设备91通过JTAG加载线对CPLD93进行再次加载。
在CPU 92接收到在线加载命令之后,CPU 92通过该CPU 92与CPLD 93之间的总线去使能CPLD 93所在单板的JTAG链路,并使能该CPLD 93的I/O接口与JTAG接口之间的链路。具体地,CPU 92可以通过上述总线去使能CPLD 93所在单板的JTAG链路上的第一Buffer 95,并使能CPLD的I/O接口与JTAG接口之间链路上的第二Buffer 96。之后,CPU 92通过上述总线控制CPLD 93通过该CPLD 93的I/O接口与JTAG接口之间的链路,对该CPLD 93进行在线加载。加载完成之后,CPU 92控制CPLD 93的I/O输出接口CTL0和CTL1将第一Buffer 95和第二Buffer 96恢复为默认状态,即使能第一Buffer 95,去使能第二Buffer 96。此时,新程序已经加载到CPLD 93的片上Flash,CPU 92可以在任意合适时间控制CPLD 93所在单板重新上电,对CPLD 93进行逻辑更新。
另外,为了防止用户程序的编写错误造成两个Buffer的控制冲突,可以在控制I/O的输出端串两个电阻R1、R4,这样可以在发生Buffer的控制冲突时,将其断开,使CPLD 93与单板的JTAG链路连通,重新加载;也可以使用一个I/O输出加一个非门的电路来控制两个Buffer实现单板的JTAG链路和CPLD的I/O接口与JTAG接口之间的链路互斥。以上仅提供了两种实现链路互斥的方式,本发明实施例并不仅限于此,任何可以实现单板的JTAG链路和CPLD的I/O接口与JTAG接口之间的链路互斥的方式均应落入本发明实施例的保护范围。
图10为本发明逻辑器件在线加载的***另一个具体实施例的结构示意图,如图10所示,该***可以包括:CPLD 1001和JTAG器件1002。其中,CPLD 1001和JTAG器件1002位于一块插卡上;CPLD 1001的I/O接口环回到该CPLD 1001的JTAG接口;CPLD 1001通过总线连接到母板的CPU,这里的总线可以为控制总线或其他任意一种总线。
图10为针对插卡设计的一种***结构,在母板与插卡连接器接口已经固定,没有多余I/O接口的情况下,图10所示的***同样可以支持单板的JTAG链路和CPLD 1001的I/O接口与JTAG接口之间的链路这两条链路,可以实现插卡上的JTAG器件成链和CPLD在线加载这两个基本功能。具体的实现过程与本发明图9所示实施例中的实现过程类似,在此不再赘述。
图11为本发明逻辑器件在线加载的***再一个具体实施例的结构示意图,如图11所示,该***可以包括:CPLD 1101和JTAG器件1102。其中,CPLD 1101和JTAG器件1102位于一块插卡上;CPLD 1101的I/O接口环回到该CPLD 1101的JTAG接口;CPLD 1101通过总线连接到母板的CPU,这里的总线可以为控制总线或其他任意一种总线。
图11所示的***结构适用于母板到插卡无多余的I/O接口,又没有JTAG接口的情形。由于这时不会有两条JTAG链路互斥的情况,因此取消了Buffer,只需要由CPU通过总线控制CPLD 1101的不同I/O接口模拟两条JTAG链路,其中一条JTAG链路为CPLD 1101的I/O接口与JTAG接口之间的链路,用于实现CPLD 1101的在线加载;另一条JTAG链路为单板的JTAG链路,包括CPLD 1101与JTAG器件1102。
在图11所示***中,实现CPLD 1101在线加载的过程与本发明图9所示实施例中描述的过程类似,在此不再赘述。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

Claims (12)

1.一种逻辑器件在线加载的方法,其特征在于,包括:
处理器接收在线加载命令;
所述处理器根据所述在线加载命令,通过所述处理器与所述逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
所述处理器通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述在线加载完成之后,所述处理器通过所述总线使能所述逻辑器件所在单板的JTAG链路,并去使能所述逻辑器件的I/O接口与JTAG接口之间的链路;记录在线加载完成事件;
所述处理器通过所述总线控制所述逻辑器件所在单板重新上电,对所述逻辑器件进行逻辑更新。
3.根据权利要求2所述的方法,其特征在于,在所述接收在线加载命令之后,还包括:清空所述在线加载完成事件。
4.根据权利要求1所述的方法,其特征在于,所述通过所述处理器与所述逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路包括:
所述处理器通过所述总线去使能所述逻辑器件所在单板的JTAG链路上的第一缓冲器,并使能所述逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器。
5.根据权利要求2所述的方法,其特征在于,所述处理器通过所述总线使能所述逻辑器件所在单板的JTAG链路,并去使能所述逻辑器件的I/O接口与JTAG接口之间的链路包括:
所述处理器通过所述总线使能逻辑器件所在单板的JTAG链路上的第一缓冲器,并去使能所述逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器。
6.一种处理器,其特征在于,包括:
接收模块,用于接收在线加载命令;
使能/去使能模块,用于根据所述接收模块接收的在线加载命令,通过所述处理器与逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
控制模块,用于通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
7.根据权利要求6所述的处理器,其特征在于,所述使能/去使能模块还用于在所述在线加载完成之后,通过所述总线使能所述逻辑器件所在单板的JTAG链路,并去使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
所述控制模块还用于在所述在线加载完成之后,通过所述总线控制所述逻辑器件所在单板重新上电,对所述逻辑器件进行逻辑更新。
8.根据权利要求6所述的处理器,其特征在于,还包括:
记录模块,用于在所述在线加载完成之后,记录在线加载完成事件;
清空模块,用于在所述接收模块接收到在线加载命令之后,清空所述记录模块记录的在线加载完成事件。
9.根据权利要求6所述的处理器,其特征在于,所述使能/去使能模块通过所述总线去使能所述逻辑器件所在单板的JTAG链路上的第一缓冲器,并使能所述逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器。
10.根据权利要求7所述的处理器,其特征在于,所述使能/去使能模块在所述在线加载完成之后,通过所述总线去使能所述逻辑器件的I/O接口与JTAG接口之间链路上的第二缓冲器,并使能所述逻辑器件所在单板的JTAG链路上的第一缓冲器。
11.一种逻辑器件在线加载的***,其特征在于,包括处理器和逻辑器件,
所述处理器包括:
接收模块,用于接收在线加载命令;
使能/去使能模块,用于根据所述接收模块接收的在线加载命令,通过所述处理器与逻辑器件之间的总线去使能所述逻辑器件所在单板的联合测试行动小组JTAG链路,并使能所述逻辑器件的I/O接口与JTAG接口之间的链路;
控制模块,用于通过所述总线控制所述逻辑器件,使所述逻辑器件通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载;
所述逻辑器件,用于在所述控制模块控制下,通过所述逻辑器件的I/O接口与JTAG接口之间的链路,对所述逻辑器件进行在线加载。
12.根据权利要求11所述的***,其特征在于,还包括:
外部加载设备,用于通过JTAG加载线对所述逻辑器件进行加载。
CN2009100929036A 2009-09-10 2009-09-10 逻辑器件在线加载的方法、***和处理器 Expired - Fee Related CN101645055B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2009100929036A CN101645055B (zh) 2009-09-10 2009-09-10 逻辑器件在线加载的方法、***和处理器
PCT/CN2010/076704 WO2011029385A1 (zh) 2009-09-10 2010-09-08 在线加载逻辑器件的方法、***和处理器
US13/416,808 US20120173941A1 (en) 2009-09-10 2012-03-09 Method, system and processor for loading logical devices online

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100929036A CN101645055B (zh) 2009-09-10 2009-09-10 逻辑器件在线加载的方法、***和处理器

Publications (2)

Publication Number Publication Date
CN101645055A CN101645055A (zh) 2010-02-10
CN101645055B true CN101645055B (zh) 2011-09-07

Family

ID=41656944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100929036A Expired - Fee Related CN101645055B (zh) 2009-09-10 2009-09-10 逻辑器件在线加载的方法、***和处理器

Country Status (3)

Country Link
US (1) US20120173941A1 (zh)
CN (1) CN101645055B (zh)
WO (1) WO2011029385A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645055B (zh) * 2009-09-10 2011-09-07 成都市华为赛门铁克科技有限公司 逻辑器件在线加载的方法、***和处理器
TW201221981A (en) * 2010-11-24 2012-06-01 Inventec Corp Multi-chip testing system and testing method thereof
CN102130951B (zh) * 2011-03-14 2014-12-17 浪潮(北京)电子信息产业有限公司 一种服务器及其可编程逻辑器件的远程升级方法
US9026688B2 (en) 2012-06-21 2015-05-05 Breakingpoint Systems, Inc. Systems and methods for programming configurable logic devices via USB
US8856600B2 (en) * 2012-06-21 2014-10-07 Breakingpoint Systems, Inc. JTAG-based programming and debug
CN105988516B (zh) * 2015-02-12 2020-08-04 中兴通讯股份有限公司 处理器子卡、适配其的电源板及***板
CN105024884A (zh) * 2015-07-28 2015-11-04 深圳市同创国芯电子有限公司 一种可编程逻辑器件pld调试***及方法
CN105068482B (zh) * 2015-08-11 2017-12-19 上海斐讯数据通信技术有限公司 实现cpld在线编程和离线编程的控制方法和控制电路
CN106597265B (zh) * 2016-12-15 2019-08-02 盛科网络(苏州)有限公司 一种jtag链路自动实现通道切换的方法及***
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电***以及非暂态电脑可读取媒体
US20230171099A1 (en) * 2021-11-27 2023-06-01 Oracle International Corporation Methods, systems, and computer readable media for sharing key identification and public certificate data for access token verification

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571364B2 (en) * 2005-08-09 2009-08-04 Texas Instruments Incorporated Selectable JTAG or trace access with data store and output
US7155711B2 (en) * 1999-12-10 2006-12-26 Sedna Patent Services, Llc Method and apparatus providing remote reprogramming of programmable logic devices using embedded JTAG physical layer and protocol
US20020065646A1 (en) * 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
CN1249604C (zh) * 2002-06-28 2006-04-05 华为技术有限公司 一种对现场可编程门阵列的在线加载方法
KR20040064474A (ko) * 2003-01-13 2004-07-19 삼성전자주식회사 프로그래머블 로직 업그레이드 장치 및 방법
CN100495954C (zh) * 2003-01-27 2009-06-03 华为技术有限公司 对逻辑器件进行加载或升级的方法及***
US7081771B2 (en) * 2004-02-20 2006-07-25 Lattice Semiconductor Corporation Upgradeable and reconfigurable programmable logic device
US7191372B1 (en) * 2004-08-27 2007-03-13 Xilinx, Inc. Integrated data download
US7454556B1 (en) * 2005-02-02 2008-11-18 Xilinx, Inc. Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
JP4388903B2 (ja) * 2005-02-09 2009-12-24 富士通マイクロエレクトロニクス株式会社 Jtag試験方式
US7345502B1 (en) * 2006-01-17 2008-03-18 Xilinx, Inc. Design security for configurable devices
CN100373359C (zh) * 2006-01-24 2008-03-05 华为技术有限公司 一种jtag成链方法及利用该方法的装置
US7375549B1 (en) * 2006-02-09 2008-05-20 Lattice Semiconductor Corporation Reconfiguration of programmable logic devices
WO2008008629A2 (en) * 2006-06-28 2008-01-17 Achronix Semiconductor Corporation Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics
US7669102B1 (en) * 2006-09-01 2010-02-23 Xilinx, Inc. JTAG to SPI PROM conduit
US20080082879A1 (en) * 2006-09-29 2008-04-03 Amar Guettaf JTAG boundary scan compliant testing architecture with full and partial disable
US7818641B2 (en) * 2006-10-18 2010-10-19 Texas Instruments Incorporated Interface to full and reduce pin JTAG devices
US7930162B1 (en) * 2008-05-05 2011-04-19 Xilinx, Inc. Accelerating hardware co-simulation using dynamic replay on first-in-first-out-driven command processor
CN101464806A (zh) * 2008-12-29 2009-06-24 华为技术有限公司 加载可编程逻辑器件的方法、装置和***
CN101645055B (zh) * 2009-09-10 2011-09-07 成都市华为赛门铁克科技有限公司 逻辑器件在线加载的方法、***和处理器
US8174287B2 (en) * 2009-09-23 2012-05-08 Avaya Inc. Processor programmable PLD device

Also Published As

Publication number Publication date
US20120173941A1 (en) 2012-07-05
CN101645055A (zh) 2010-02-10
WO2011029385A1 (zh) 2011-03-17

Similar Documents

Publication Publication Date Title
CN101645055B (zh) 逻辑器件在线加载的方法、***和处理器
US6009496A (en) Microcontroller with programmable embedded flash memory
CN103559053B (zh) 一种板卡***及通信接口卡fpga在线升级方法
CN102999350B (zh) 一种数字信号处理平台中fpga程序升级在线下载方法
CN100383737C (zh) 单片机在线加载升级方法及***
CN113434162B (zh) 远程在线更新fpga多版本程序的方法
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和***
EP3518097B1 (en) Firmware updating method and electronic device using the same
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、***和方法
GB2257538A (en) Air conditioning control.
CN107832078B (zh) 基于dsp的fpga程序在线更新电路
CN101211266A (zh) 一种实现fpga自动下载和在线升级的方法
CN103345407A (zh) 控制电路、连通控制器、连通控制方法及主板
CN113867836B (zh) 用于fpga的装置、程序动态加载方法及数据传输方法
US11579977B2 (en) Data storage device restoring method
CN104407882A (zh) 一种板卡装置
CN100585554C (zh) 经由私有操作访问控制寄存器的***和方法
CN103064695A (zh) 现场可编程门阵列的动态加载***及其加载方法
CN114546453A (zh) Fpga配置项在线升级方法、***、设备及存储介质
CN112925569A (zh) 一种固件数据处理方法、装置、设备及存储介质
CN111813432A (zh) 一种fpga配置升级方法和fpga平台
CN102043636B (zh) 现场可编程门阵列位文件下载的方法及装置
CN101667133A (zh) 固件更新方法和使用该方法更新固件的芯片
US7036005B2 (en) Method and apparatus for modifying the contents of revision identification register
CN102880574A (zh) 利用gpio模拟低速并行接口的方法

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
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20190910

CF01 Termination of patent right due to non-payment of annual fee