CN101853173A - 一种分布式系统的可编程逻辑器件的软件升级方法和设备 - Google Patents
一种分布式系统的可编程逻辑器件的软件升级方法和设备 Download PDFInfo
- Publication number
- CN101853173A CN101853173A CN201010183655A CN201010183655A CN101853173A CN 101853173 A CN101853173 A CN 101853173A CN 201010183655 A CN201010183655 A CN 201010183655A CN 201010183655 A CN201010183655 A CN 201010183655A CN 101853173 A CN101853173 A CN 101853173A
- Authority
- CN
- China
- Prior art keywords
- pld
- master control
- control borad
- jtag controller
- board
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种分布式系统的可编程逻辑器件的软件升级方法和设备,在分布式通信系统中,实现主控板和各业务板的PLD自动检测和匹配,保证了PLD在被主CPU控制使用后软件版本和逻辑电路是正确的,提升了复杂的分布式通信系统的可靠性,并且,通过自匹配方式保证了所有PLD软件与系统软件之间的匹配关系,简化了系统维护操作过程,给维护管理带来便利。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种分布式系统的可编程逻辑器件的软件升级方法和设备。
背景技术
在现在电子产品设计中,电子产品功能和设计越来越复杂,可编程逻辑器件(Programmable Logic Device,PLD)被广泛应用。
目前,在数据通信等产品的单板设计中,PLD帮助CPU(Central ProcessingUnit,中央处理单元)控制外围芯片和设备,以及收集外围芯片、电路中断和其它状态等信息,CPU可以轻而易举的通过对可编程逻辑器件内部控制/状态寄存器的读写操作,完成对外设的控制和状态访问。
可编程逻辑器件可以通过编程来实现其功能,当通信系统需要增加或者修改某些功能时,需要对可编程逻辑器件的程序进行更新,即对可编程逻辑器件中的软件进行版本升级。由于可编程逻辑器件是CPU外围非常重要的控制芯片,其功能是否正常将直接影响到整块单板的使用。
可编程逻辑器件功能错误主要有两大原因:
一是芯片逻辑电路有问题;
二是PLD的写入的程序错误,与CPU运行的系统软件不匹配。
一旦可编程逻辑器件功能错误,将导致系统软件无法正常工作,整个通信系统瘫痪。所以,在存在PLD的通信系统中,需要一种检测手段,检测以上两大错误。
目前,对PLD进行检测主要是通过JTAG(Joint Test Action Group,联合测试行为组织)边界扫描(Boundary Scan)技术,JTAG边界扫描是在芯片级层次上嵌入测试电路,以形成全面的电路板级测试协议。利用边界扫描工业标准可以对复杂的单板装配进行测试、调试和在系统设备编程,并诊断出硬件问题。除了可以进行电路板测试外,还能对可编程逻辑PLD进行编程和扫描。
JTAG接口是一个四线串行接口,用于访问复杂的集成电路,例如:微处理器、可编程逻辑器件等。
边界扫描技术通过JTAG接口对支持边界扫描的器件的引脚进行完全的控制、设置和读取其状态,其中,可编程逻辑器件的每个引脚对应一个边界扫描单元,这些单元内部连接成链状。
当使用测试时钟、测试模式选择控制可编程逻辑器件内部专用的测试访问接口控制器打开边界扫描功能后,则通过内部边界扫描链可以任意读取或设置每一个引脚的状态。这样,配合专用软件就能够完成对可编程逻辑器件内部或外部电路的测试,并且能够通过该方式检测PLD的软件版本。
另外,随着网络技术的发展,对于较为大型的网络设备,已经发展为分布式处理系统。分布式架构的网络设备一般由主控板和多个业务板构成,其结构示意图如图1所示。其中,主控板用于整个网络设备的管理和网络协议的处理,业务板用于完成各种业务的数据转发处理。
在由主控板和业务板组成的分布式架构系统中,可编程逻辑器件分布在主控板和业务板上;不同的业务板上可编程逻辑器件软件各不相同,需要保证所有单板上PLD软件版本与系统软件版本的配套关系。为了保证整个分布式系统通信设备正常工作,需要进行所有PLD的I/O(Input/Output,输入/输出)接口功能测试和软件版本匹配检测。
在现有通信设备里,对于PLD的检测主要是通过CPU来实现部分检测或者设备管理员参与使用专用软件进行一些手动检测。
方案一、单板上电,单板上各芯片均正常启动后(包括PLD正常工作),通过CPU来完成对PLD的检测,CPU通过I/O管脚或者JTAG总线对PLD进行边界扫描电路检测。然后通过CPU去读取可编程逻辑器件里标明软件版本的寄存器来获取PLD的版本号,与软件里标注的PLD软件版本号进行比较,如果不一致,则通过CPU的I/O管脚或者JTAG总线利用JTAG边界扫描协议对可编程逻辑器件进行编程升级PLD版本。
方案二、通过JTAG总线将单板上PLD都连接起来,并在单板上留出JTAG线的外接头。利用外接头与计算机相连,设备管理员参与使用专用软件进行JTAG链路检测和PLD版本升级。
方案三、如图2所示,在单板上增加一个JTAG控制器装置,与单板上所有PLD通过JTAG总线连接起来。当单板上电后,单板上各芯片均正常启动后(包括PLD正常工作和JTAG控制器正常工作),系统CPU给JTAG控制器下发电路检测指令,利用JTAG边界扫描技术对单板上PLD进行电路检测,JTAG控制器给系统返回检测结果;同样,系统CPU通过JTAG控制器利用JTAG总线的采样功能对系统各可编程逻辑专用I/O接口进行采样获取PLD软件版本,由CPU来进行PLD软件版本的比较;如果不配套,则通过JTAG控制器的JTAG总线对可编程逻辑器件进行版本升级。
方案四、在单板上启动J T A G控制器对P L D中软件版本进行采样;判断各P L D中软件版本是否与系统软件或其他模块的用以实现通信功能的软件版本具有正确的配套关系;如果P L D的软件版本校验正确,则启动系统其他部分;否则,通过J T A G控制器将P L D中软件版本升级到正确的版本。如申请号为200510034322.9的中国专利申请中提供了这样的一种方案。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
方案一和方案三的缺点:必须要CPU主机系统能够正常启动,而往往当可编程器件的版本不配套或者可编程器件里内容不正确时,主机系统启动不成功,无法达到自检和版本检测升级的目的。
方案二的缺点:单板上电后,需要人工参与版本识别;需要通过JTAG线外接计算机进行人工干预,一块单板的PLD升级需要送交到专用设备处理升级操作。
方案一、二、三的共同缺点:只能较为方便的处理本板上的PLD的检测和版本升级。而对于如图1所示的分布式系统,对于各业务单板无法做到PLD的自动检测和版本自匹配。
方案四的缺点:虽然可以在单块单板上通过JTAG控制器进行PLD检测,但是,这样的技术只能是由单板自身的JTAG控制器对自身的PLD进行检测,而且,这样的技术方案的前提是需要在每块单板上都存储全部的PLD更新数据或者让每块单板都可以与一个管理PLD信息的服务器建立连接,一方面用于匹配PLD版本,另一方面还需要在不匹配时进行PLD更新的数据传输,这样的处理需要占用大量的系统资源,而且,对于在每块单板上都存储全部的PLD更新数据的情况,一旦发生PLD版本的更新,还需要对每块单板进行逐一的数据更新,耗费大量的维护成本。
发明内容
本发明提供一种分布式系统的可编程逻辑器件的软件升级方法和设备,能够主控板和业务板通过各JTAG控制器协同完成PLD自检和版本匹配。
为达到上述目的,本发明一方面提供了一种分布式系统的可编程逻辑器件的软件升级方法,该分布式系统的主控板和业务板均具有可编程逻辑器件PLD,所述主控板与所述业务板分别设有主JTAG控制器和从JTAG控制器,所述方法包括以下步骤:
所述主JTAG控制器存储打包安装文件,其中,打包安装文件至少包括所述单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件;
所述主JTAG控制器接收所述从JTAG控制器通过数据总线传送的所述业务板的单板类型和PLD软件版本号,并判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号是否匹配,如果不匹配,则将所述业务板的单板类型对应的最新PLD软件通过所述数据总线传送给所述从JTAG控制器;
所述从JTAG控制器接收的最新PLD软件,对所述业务板的PLD进行升级,并在升级完成时通知所述业务板的其他控制器运行系统软件。
优选的,在所述主JTAG控制器存储单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件之后,所述方法还包括,
所述主JTAG控制器通过边界扫描获取所述主控板的单板类型和PLD软件版本号并判断所述主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号是否匹配;如果匹配,通知所述主控板的其他控制器运行系统软件。
优选的,所述主JTAG控制器判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号匹配时,将匹配通知传送给所述从JTAG控制器;
所述从JTAG控制器接收所述匹配通知,并通知所述业务板的其他控制器运行系统软件。
优选的,所述主JTAG控制器判断所述主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号不匹配时,所述方法还包括:
所述主JTAG控制器根据所述主控板对应的最新PLD软件对所述主控板的PLD进行升级,并在升级完成时通知所述主控板的所述其他控制器运行系统软件。
优选的,所述方法还包括,在所述主JTAG控制器存储打包安装文件之前,通过下载的方式获取所述打包安装文件;
在所述主JTAG控制器接收所述从JTAG控制器通过数据总线传送的所述业务板的单板类型和PLD软件版本号的步骤之前,所述从JTAG控制器通过边界扫描获取所述业务板的单板类型以及PLD软件版本号,并通过所述数据总线将获取的所述业务板的单板类型以及PLD软件版本号传送给所述JTAG控制器。
另一方面,本发明还提供了一种主控板,应用于包含主控板和业务板的分布式系统中,所述主控板和所述业务板均设有可编程逻辑器件PLD,所述主控板上设有主JTAG控制器,所述主JTAG控制器至少设有:
存储单元,用于存储打包安装文件;其中,所述打包安装文件至少含有单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件;
第一接收单元,用于接收所述业务板的从JTAG控制器通过数据总线发送的所述业务板的单板类型和PLD软件版本号;
匹配单元,用于判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号是否匹配,以输出业务板PLD匹配结果;
第一更新单元,若所述业务板PLD匹配结果为不匹配时,则将所述业务板的单板类型对应的最新PLD软件通过所述数据总线传送给所述从JTAG控制器,以使所述从JTAG控制器根据接收的最新PLD软件升级所述业务板的PLD,并在升级完成时通知所述业务板的其他控制器运行系统软件。
优选的,所述主JTAG控制器还设有:
第一扫描单元,用于通过边界扫描获取所述主控板的单板类型和PLD软件版本号;
下载单元,用于下载所述打包安装文件;
其中,
所述匹配单元,还用于判断主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号是否匹配,以输出主控板匹配结果;
所述更新单元,还用于在所述主控板匹配结果为匹配时通知所述主控板的其他控制器运行系统软件,以及还用于在所述主控板匹配结果不为匹配时,根据所述主控板的单板类型对应的最新PLD软件升级所述主控板的PLD,并在升级完成时通知所述主控板的其他控制器运行系统软件。
优选的,所述第一更新单元,还用于在所述业务板匹配结果为匹配时,将匹配通知传送给所述从JTAG控制器,以使所述从JTAG控制器根据接收的所述匹配通知,通知所述业务板的其他控制器运行系统软件。
另一方面,本发明还提供了一种业务板,应用于包含主控板和业务板的分布式系统中,所述主控板和所述业务板均设有可编程逻辑器件PLD,其特征在于,所述业务板上设有从JTAG控制器,所述从JTAG控制器至少设有,
第二扫描单元,用于通过边界扫描获取所述业务板的单板类型和PLD软件版本号;
上报单元,用于将所述第二扫描单元获取的所述业务板的单板类型和PLD软件版本号传送给所述主控板的主JTAG控制器;
第二接收单元,用于接收所述主JTAG控制器通过数据总线传送的所述业务板的单板类型对应的最新PLD软件;
第二更新单元,用于根据所述第二接收单元所接收的最新PLD软件升级所述业务板的PLD,并在升级完成时通知所述业务板的其他控制器运行系统软件。
优选的,所述第二接收单元,还用于接收所述主JTAG控制器通过数据总线传送的匹配通知;
第二更新单元,用于根据所述第二接收单元所接收的所述匹配通知,通知所述业务板的其他控制器运行系统软件。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,在分布式通信系统中,实现主控板和各业务板的PLD自动检测和匹配,保证了PLD在被主CPU控制使用后软件版本和逻辑电路是正确的,提升了复杂的分布式通信系统的可靠性,并且,通过自匹配方式保证了所有PLD软件与系统软件之间的匹配关系,简化了系统维护操作过程,给维护管理带来便利。
附图说明
图1为现有技术中的一种分布式系统网络系统的结构示意图;
图2为现有技术中的一种增加JTAG控制器的网络系统结构示意图;
图3为本发明所提出的一种分布式系统的可编程逻辑器件的软件升级方法的流程示意图;
图4为本发明所提出的一种分布式系统的可编程逻辑器件的软件升级方法的应用场景的结构示意图
图5为本发明所提出的一种分布式系统的可编程逻辑器件的软件升级方法中主控板PLD版本匹配的流程示意图;
图6为本发明所提出的一种分布式系统的可编程逻辑器件的软件升级方法中业务板PLD版本匹配的流程示意图;
图7为本发明所提出的一种主控板的结构示意图;
图8为本发明所提出的一种业务板的结构示意图。
具体实施方式
如背景技术所述,在当前的复杂的多单板通信系统里,PLD分布在主控板和各业务板上,除了保证PLD逻辑功能正常外,更要保证主机软件与单板PLD软件版本严格配套。对于如图1所示分布式架构的系统里,有完全不同类型的各类业务板,业务板的启动是从主控板获取软件版本进行自启动的,如果业务板的PLD软件版本不配套,将会导致业务板无法正常启动。则需要将单板回厂升级可编程逻辑器件软件,从而造成大量的人力和物力成本,更麻烦的是造成了客户损失。由于每种类型的单板的PLD软件均不同,系统升级时,需要对每种单板进行区分升级,也带来维护管理的不便。
针对背景技术中所存在的问题,本发明提出了一种分布式系统的可编程逻辑器件的软件升级方法,该分布式系统的主控板和业务板均具有可编程逻辑器件PLD,主控板与业务板分别设有主JTAG控制器和从JTAG控制器。
如图3所示,为本发明所提出的一种分布式系统的可编程逻辑器件的软件升级方法的流程示意图,具体包括以下步骤:
步骤S301、主JTAG控制器存储打包安装文件。
其中,打包安装文件至少包括单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件。
在本步骤完成之后,还包括主JTAG控制器通过边界扫描获取主控板的单板类型和PLD软件版本号并判断主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号是否匹配。
如果匹配,通知主控板的其他控制器运行系统软件;
如果不匹配,主JTAG控制器根据主控板对应的最新PLD软件对主控板的PLD进行升级,并在升级完成时通知主控板的其他控制器(例如,主控板的CPU)运行系统软件。
步骤S302、主JTAG控制器接收从JTAG控制器通过数据总线传送的业务板的单板类型和PLD软件版本号,并判断业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号是否匹配。
如果不匹配,则执行步骤S303;
如果匹配,则执行步骤S305。
步骤S303、将业务板的单板类型对应的最新PLD软件通过数据总线传送给从JTAG控制器。
步骤S304、从JTAG控制器接收的最新PLD软件,对业务板的PLD进行升级,并在升级完成时通知业务板的其他控制器运行系统软件。
步骤S305、主JTAG控制器将匹配通知传送给从JTAG控制器。
步骤S306、从JTAG控制器接收匹配通知,并通知业务板的其他控制器运行系统软件。
需要进一步指出的是,在步骤S301中的主JTAG控制器存储打包安装文件之前,主JTAG控制器通过下载的方式获取打包安装文件;
而在步骤S302中的主JTAG控制器接收从JTAG控制器通过数据总线传送的业务板的单板类型和PLD软件版本号的步骤之前,从JTAG控制器通过边界扫描获取业务板的单板类型以及PLD软件版本号,并通过数据总线将获取的业务板的单板类型以及PLD软件版本号传送给JTAG控制器。
需要进一步指出的是,上述的主控板的单板类型和PLD版本信息与业务板的单板类型和PLD版本信息的获取是相对独立的过程。
在实际操作中,主控板初始化后,主JTAG控制器即可进行自身的单板类型和PLD版本信息的获取,而业务板在自身初始化后,从JTAG控制器也可以完成自身的单板类型和PLD版本信息的获取,但是,业务板的从JTAG控制器向主控板的主JTAG控制器上报自身的单板类型和PLD版本信息则是需要在主JTAG控制器和从JTAG控制器之间的通信连接建立完成之后才能进行,因此,主JTAG控制器获取主控板的单板类型和PLD版本信息的时间与主JTAG控制器接收业务板的单板类型和PLD版本信息的时间之间并没有一定的先后关系,甚至可能因为通信连接迟迟无法建立而不能接收业务板的单板类型和PLD版本信息,因此,可以认为主控板和业务板的PLD版本匹配过程是相对独立的两个过程,两者之间互不影响,这样的变化并不会影响本发明的保护范围。
通过上述处理,在分布式通信系统中,实现了主控板和业务板的PLD自动检测和版本匹配,由于PLD的自动检测和版本匹配是在CPU或其它控制器运行系统软件前运行,使PLD自检和版本自匹配过程与系统其它软件和硬件模块独立开来,提高了整个分布式系统PLD检测的可靠性和正确性,由此,也保证了运行系统软件后由于没有针对PLD的检测和软件改写的过程而更加可靠稳定。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,在分布式通信系统中,实现主控板和各业务板的PLD自动检测和匹配,保证了PLD在被主CPU控制使用后软件版本和逻辑电路是正确的,提升了复杂的分布式通信系统的可靠性,并且,通过自匹配方式保证了所有PLD软件与系统软件之间的匹配关系,简化了系统维护操作过程,给维护管理带来便利。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
为了实现本发明的技术方案,首先,需要构建如图4所示分布式系统。
具体说明如下:
1、在分布式系统上的主控板和业务板上均增添一个JTAG控制器。
其中,其中,主控板上设置的JTAG控制器为主JTAG控制器,业务板上设置的JTAG控制器为从JTAG控制器。
上述的JTAG控制器可以是单片机,也可以是嵌入式CPU,其所具有的特征是具有JTAG的I/O接口,与自身所归属的主控板或业务板上的PLD组成一个JTAG链。
2、每块业务板的从JTAG控制器均通过CAN(Controller Area Network,控制器局域网)总线与主控板的主JTAG控制器连接。
其中,CAN总线也可以是其他的通信链路,只要能够实现主JTAG控制器和从JTAG控制器之间的通信,通信链路类型的变化并不会影响本发明的保护范围。
为了方便说明,后续以CAN总线为例进行说明。
主控板的JTAG控制器通过CAN总线,能够与各业务板的JTAG控制器之间进行通信,传递PLD版本号和PLD软件版本。
基于上述的系统设置,对本发明提供的一种分布式系统的可编程逻辑器件的软件升级方法进行具体说明如下:
为了便于说明,分别针对主控板的PLD版本匹配和业务板的PLD版本匹配进行说明。
首先,如图5所示,为本发明所提供的一种分布式系统中的主控板中PLD版本匹配方法的流程示意图,具体包括以下步骤:
步骤S501、主控板下载PLD数据包。
在现有的技术方案中,在复杂的通信系统进行版本发布时,除了发布各单板主CPU运行的系统软件外,还需要发布各不同单板PLD的软件版本并且需要严格保证这些版本之间配套关系。在以往的操作过程中,需要将各个不同的软件同时发布,设备使用人员一一检查版本配套关系,利用专用设备进行PLD的版本升级。
本发明提供的方法简化了现有技术中复杂并且容易出错的操作环节,在发布软件版本时,将系统软件和不同单板的PLD软件绑定在一起,生成一个安装文件,及上述的PLD数据包。对外仅发布这一个安装文件,无需另外发布零散的硬件PLD版本,只需要下载这一个安装文件即可。。
PLD的版本信息与单板类型的配套关系在构建PLD数据包的时候一并写入,此后,对外发布新的版本时,仅发布一个包含最新的配套关系的PLD数据包文件,无需针对每一块单板发布单独的数据包。
在设备使用过程中,尤其是在开发测试阶段,系统需要多次升级版本,在升级时,主控板将包含PLD软件和系统软件的安装文件下载到主控板的存储空间上,并通过后续流程由主JTAG控制器进行PLD版本的自识别和匹配即可。
系统软件进行升级时,主控板统一将包含PLD数据包的安装文件下载到主控板的存储空间上,这样的下载可以在主控板的一次正常运转时完成,也可以是在每次主控板启动时进行更新校验,如果更新则进行下载,这样的变化并不影响本发明的保护范围,同时,安装文件的更新下载方式并非本发明技术方案的核心,本领域技术人员可以通过现有方式实现。
步骤S502、主JTAG控制器获取主控板的单板类型和当前PLD版本信息。
主控板上电启动并完成初始化后,首先是主控板上主JTAG控制器启动,利用JTAG边界扫描技术进行所有PLD的电路检测。
具体的,主JTAG控制器使用JTAG链探测主控板的当前PLD版本信息,并获取主控板的单板类型,其中,单板类型的具体获取方法并不会影响本发明的保护范围。
步骤S503、主JTAG控制器根据主控板的单板类型,在PLD数据包中查询该单板类型所匹配的最新PLD版本信息。
步骤S504、主JTAG控制器判断在PLD数据包中所查询到的最新PLD版本信息与获取的主控板的当前最新PLD版本信息是否一致。
如果不一致,则执行步骤S505;
如果一致,则执行步骤S506。
步骤S505、主JTAG控制器根据PLD数据包中所包含的PLD软件程序,对主控板中的PLD升级。
具体的,主JTAG控制器根据PLD数据包中所包含的PLD软件程序,利用JTAG总线对PLD进行版本更新。
升级完成后,执行步骤S506。
步骤S506、主JTAG控制器通知主控板的CPU开始对主控板进行控制。
主控板中的其它模块启动,主JTAG控制器将PLD的控制权交给主CPU,主控板的CPU运行系统软件。
上述的流程可以实现主控板的PLD版本匹配,相对应的,如图6所示,为本发明所提供的一种分布式系统中的业务板中PLD版本匹配方法的流程示意图,具体包括以下步骤:
步骤S601、主控板下载PLD数据包。
相应的说明与步骤S501中相一致,在此不再重复说明。
步骤S602、业务板上的从JTAG控制器获取业务板的单板类型和当前PLD版本信息。
业务板上电启动,首先是业务板上从JTAG控制器启动,利用JTAG边界扫描技术进行所有PLD的电路检测。
具体的,从JTAG控制器使用JTAG链探测业务板的PLD版本,并获取业务板的单板类型,其中,单板类型的具体获取方法并不会影响本发明的保护范围。
步骤S603、从JTAG控制器通过CAN总线向主JTAG控制器发送业务板的单板类型和当前PLD版本信息。
本步骤的执行前提是CAN总线可以实现从JTAG控制器和主JTAG控制器之间的通信。
在具体的应用场景中,可以通过相应的判断流程进行CAN总线是否能够使用的判断,具体的判断方式的内容并不影响本发明的保护范围,可以由现有方式实现。
步骤S604、主JTAG控制器根据接收到的业务板的单板类型,在PLD数据包中查询该单板类型所匹配的最新PLD版本信息。
需要指出的是,上述的步骤S601和步骤S602-S603之间没有必然的先后关系,序号只是为了说明方便,并不代表执行时间的先后,两者均执行完成后,执行步骤S604
步骤S605、主JTAG控制器判断在PLD数据包中所查询到的最新PLD版本信息与业务板的当前PLD版本信息是否一致。
如果不一致,则执行步骤S606;
如果一致,则执行步骤S608。
步骤S606、主JTAG控制器将PLD数据包中所包含的PLD软件程序发送给从JTAG控制器。
具体的,主JTAG控制器可以将PLD数据包中所包含的PLD软件程序,通过CAN总线发送给相应的从JTAG控制器。
步骤S607、业务板的从JTAG控制器将新得到的PLD软件通过JTAG链升级业务板中的PLD。
升级完成后,重启业务板,返回步骤S602。
步骤S608、主JTAG控制器通知从JTAG控制器PLD版本已经匹配成功。
步骤S609、业务板启动业务板其它模块,PLD的控制权交给业务板的CPU控制,业务板的CPU运行系统软件。
上述的主控板和业务板的PLD版本匹配过程是分别说明的,但在实际的应用场景中,主控板和业务板的PLD版本匹配过程可以同时或交叉进行,两者之间没有必然的先后关系,因此,可能会出现由于CAN总线当前不能传输通信,而导致主控板在启动后等待业务板的单板类型和当前PLD版本信息通信,或业务板在单板类型和当前PLD版本信息获取完毕后等待向主控板发送的情况,这样的变化并不影响本发明的保护范围。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,在分布式通信系统中,实现主控板和各业务板的PLD自动检测和匹配,保证了PLD在被主CPU控制使用后软件版本和逻辑电路是正确的,提升了复杂的分布式通信系统的可靠性,并且,通过自匹配方式保证了所有PLD软件与系统软件之间的匹配关系,简化了系统维护操作过程,给维护管理带来便利。
为了实现本发明的技术方案,本发明还提出了一种主控板,其结构示意图如图7所示,该主控板应用于包含主控板和业务板的分布式系统中,主控板设有PLD71,主控板上设有主JTAG控制器72,该主JTAG控制器72具体包括:
存储单元721,用于存储打包安装文件,其中,该打包安装文件至少含有单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件,及系统软件;
第一接收单元722,用于接收业务板的从JTAG控制器通过数据总线发送的业务板的单板类型和PLD软件版本号;
匹配单元723,用于判断存储单元721中所存储的打包安装文件中的业务板的单板类型对应的最新PLD软件版本号与第一接收单元722所接收的PLD软件版本号是否匹配,以输出业务板PLD匹配结果;
第一更新单元724,若匹配单元723所输出的业务板PLD匹配结果为不匹配时,则将业务板的单板类型对应的最新PLD软件通过数据总线传送给从JTAG控制器,以使从JTAG控制器根据接收的最新PLD软件升级业务板的PLD,并在升级完成时通知业务板的其他控制器运行系统软件。
进一步的,主JTAG控制器还设有:
第一扫描单元725,用于通过边界扫描获取主控板的单板类型和PLD软件版本号;
下载单元726,用于下载打包安装文件;
其中,
匹配单元723,还用于判断存储单元721中所存储的打包安装文件中的主控板的单板类型对应的最新PLD软件版本号与第一扫描单元725所获取的PLD软件版本号是否匹配,以输出主控板匹配结果;
更新单元724,还用于在匹配单元723所输出的主控板匹配结果为匹配时通知主控板的其他控制器运行系统软件,以及还用于在主控板匹配结果不为匹配时,根据主控板的单板类型对应的最新PLD软件升级主控板的PLD,并在升级完成时通知主控板的其他控制器运行系统软件。
其中,第一更新单元724,还用于在匹配单元723所输出的业务板匹配结果为匹配时,将匹配通知传送给从JTAG控制器,以使从JTAG控制器根据接收的匹配通知,通知业务板的其他控制器运行系统软件。
另一方面,本发明还提供了一种业务板,其结构示意图如图8所示,该主控板应用于包含主控板和业务板的分布式系统中,业务板设有PLD81,业务板上设有从JTAG控制器82,从JTAG控制器82至少设有:
第二扫描单元821,用于通过边界扫描获取业务板的单板类型和PLD软件版本号;
上报单元822,用于将第二扫描单元821获取的业务板的单板类型和PLD软件版本号传送给主控板的主JTAG控制器;
第二接收单元823,用于接收主JTAG控制器通过数据总线传送的业务板的单板类型对应的最新PLD软件;
第二更新单元824,用于根据第二接收单元823所接收的最新PLD软件升级业务板的PLD,并在升级完成时通知业务板的其他控制器运行系统软件。
进一步的,第二接收单元823,还用于接收主JTAG控制器通过数据总线传送的匹配通知;
第二更新单元824,用于根据第二接收单元823所接收的匹配通知,通知业务板的其他控制器运行系统软件。
与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,在分布式通信系统中,实现主控板和各业务板的PLD自动检测和匹配,保证了PLD在被主CPU控制使用后软件版本和逻辑电路是正确的,提升了复杂的分布式通信系统的可靠性,并且,通过自匹配方式保证了所有PLD软件与系统软件之间的匹配关系,简化了系统维护操作过程,给维护管理带来便利。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种分布式系统的可编程逻辑器件的软件升级方法,该分布式系统的主控板和业务板均具有可编程逻辑器件PLD,其特征在于,所述主控板与所述业务板分别设有主JTAG控制器和从JTAG控制器,所述方法包括以下步骤:
所述主JTAG控制器存储打包安装文件,其中,打包安装文件至少包括所述单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件;
所述主JTAG控制器接收所述从JTAG控制器通过数据总线传送的所述业务板的单板类型和PLD软件版本号,并判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号是否匹配,如果不匹配,则将所述业务板的单板类型对应的最新PLD软件通过所述数据总线传送给所述从JTAG控制器;
所述从JTAG控制器接收的最新PLD软件,对所述业务板的PLD进行升级,并在升级完成时通知所述业务板的其他控制器运行系统软件。
2.如权利要求1所述的方法,其特征在于,在所述主JTAG控制器存储单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件之后,所述方法还包括,
所述主JTAG控制器通过边界扫描获取所述主控板的单板类型和PLD软件版本号并判断所述主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号是否匹配;如果匹配,通知所述主控板的其他控制器运行系统软件。
3.如权利要求1所述的方法,其特征在于,所述主JTAG控制器判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号匹配时,将匹配通知传送给所述从JTAG控制器;
所述从JTAG控制器接收所述匹配通知,并通知所述业务板的其他控制器运行系统软件。
4.如权利要求1所述的方法,其特征在于,所述主JTAG控制器判断所述主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号不匹配时,所述方法还包括:
所述主JTAG控制器根据所述主控板对应的最新PLD软件对所述主控板的PLD进行升级,并在升级完成时通知所述主控板的所述其他控制器运行系统软件。
5.如权利要求4所述的方法,其特征在于,所述方法还包括,在所述主JTAG控制器存储打包安装文件之前,通过下载的方式获取所述打包安装文件;
在所述主JTAG控制器接收所述从JTAG控制器通过数据总线传送的所述业务板的单板类型和PLD软件版本号的步骤之前,所述从JTAG控制器通过边界扫描获取所述业务板的单板类型以及PLD软件版本号,并通过所述数据总线将获取的所述业务板的单板类型以及PLD软件版本号传送给所述JTAG控制器。
6.一种主控板,应用于包含主控板和业务板的分布式系统中,所述主控板和所述业务板均设有可编程逻辑器件PLD,其特征在于,所述主控板上设有主JTAG控制器,所述主JTAG控制器至少设有:
存储单元,用于存储打包安装文件;其中,所述打包安装文件至少含有单板类型以及单板类型对应的最新PLD软件版本号和最新PLD软件;
第一接收单元,用于接收所述业务板的从JTAG控制器通过数据总线发送的所述业务板的单板类型和PLD软件版本号;
匹配单元,用于判断所述业务板的单板类型对应的最新PLD软件版本号与接收的PLD软件版本号是否匹配,以输出业务板PLD匹配结果;
第一更新单元,若所述业务板PLD匹配结果为不匹配时,则将所述业务板的单板类型对应的最新PLD软件通过所述数据总线传送给所述从JTAG控制器,以使所述从JTAG控制器根据接收的最新PLD软件升级所述业务板的PLD,并在升级完成时通知所述业务板的其他控制器运行系统软件。
7.如权利要求6所述的主控板,其特征在于,所述主JTAG控制器还设有:
第一扫描单元,用于通过边界扫描获取所述主控板的单板类型和PLD软件版本号;
下载单元,用于下载所述打包安装文件;
其中,
所述匹配单元,还用于判断主控板的单板类型对应的最新PLD软件版本号与获取的PLD软件版本号是否匹配,以输出主控板匹配结果;
所述更新单元,还用于在所述主控板匹配结果为匹配时通知所述主控板的其他控制器运行系统软件,以及还用于在所述主控板匹配结果不为匹配时,根据所述主控板的单板类型对应的最新PLD软件升级所述主控板的PLD,并在升级完成时通知所述主控板的其他控制器运行系统软件。
8.如权利要求7所述的主控板,其特征在于,所述第一更新单元,还用于在所述业务板匹配结果为匹配时,将匹配通知传送给所述从JTAG控制器,以使所述从JTAG控制器根据接收的所述匹配通知,通知所述业务板的其他控制器运行系统软件。
9.一种业务板,其特征在于,应用于包含主控板和业务板的分布式系统中,所述主控板和所述业务板均设有可编程逻辑器件PLD,其特征在于,所述业务板上设有从JTAG控制器,所述从JTAG控制器至少设有,
第二扫描单元,用于通过边界扫描获取所述业务板的单板类型和PLD软件版本号;
上报单元,用于将所述第二扫描单元获取的所述业务板的单板类型和PLD软件版本号传送给所述主控板的主JTAG控制器;
第二接收单元,用于接收所述主JTAG控制器通过数据总线传送的所述业务板的单板类型对应的最新PLD软件;
第二更新单元,用于根据所述第二接收单元所接收的最新PLD软件升级所述业务板的PLD,并在升级完成时通知所述业务板的其他控制器运行系统软件。
10.如权利要求9所述的业务板,其特征在于,所述第二接收单元,还用于接收所述主JTAG控制器通过数据总线传送的匹配通知;
第二更新单元,用于根据所述第二接收单元所接收的所述匹配通知,通知所述业务板的其他控制器运行系统软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010183655A CN101853173A (zh) | 2010-05-27 | 2010-05-27 | 一种分布式系统的可编程逻辑器件的软件升级方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010183655A CN101853173A (zh) | 2010-05-27 | 2010-05-27 | 一种分布式系统的可编程逻辑器件的软件升级方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101853173A true CN101853173A (zh) | 2010-10-06 |
Family
ID=42804681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010183655A Pending CN101853173A (zh) | 2010-05-27 | 2010-05-27 | 一种分布式系统的可编程逻辑器件的软件升级方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101853173A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618136A (zh) * | 2014-12-25 | 2015-05-13 | 曙光信息产业(北京)有限公司 | 用于刀片服务器的配置管理方法和装置 |
CN104702423A (zh) * | 2013-12-04 | 2015-06-10 | 北京信威通信技术股份有限公司 | 一种分布式系统的版本动态管理方法和装置 |
CN105549945A (zh) * | 2015-09-25 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种音频传输管理方法及用户终端 |
CN106411540A (zh) * | 2015-07-27 | 2017-02-15 | 中兴通讯股份有限公司 | 软件版本管理方法及装置 |
CN108196988A (zh) * | 2017-11-28 | 2018-06-22 | 北京中天星控科技开发有限公司 | 一种航天测试设备板卡自动识别方法 |
CN108418707A (zh) * | 2018-01-31 | 2018-08-17 | 武汉虹信通信技术有限责任公司 | 通信系统中双cpld互相在线备份升级方法及业务单板 |
CN109032635A (zh) * | 2018-07-16 | 2018-12-18 | 新华三技术有限公司 | 软件升级方法、装置和网络设备 |
EP2961097B1 (en) * | 2013-02-21 | 2019-05-15 | ZTE Corporation | Firmware upgrade method and system |
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
CN110208683A (zh) * | 2019-07-05 | 2019-09-06 | 江苏迈库通信科技有限公司 | 一种音视频板的检测方法 |
CN113485168A (zh) * | 2020-03-16 | 2021-10-08 | 莱卡微系统Cms有限责任公司 | 用于操作系统的控制系统和方法 |
CN113641606A (zh) * | 2021-08-09 | 2021-11-12 | 国家计算机网络与信息安全管理中心 | 一种业务板的访问方法、装置、设备及可读存储介质 |
CN113721932A (zh) * | 2020-05-25 | 2021-11-30 | 北京映翰通网络技术股份有限公司 | 一种自动售货机软件的在线部署方法 |
CN113985726A (zh) * | 2021-12-23 | 2022-01-28 | 昆山帝森华途工业物联网科技有限公司 | 一种apf控制系统的主从控制器通信方法 |
CN113641606B (zh) * | 2021-08-09 | 2024-04-19 | 国家计算机网络与信息安全管理中心 | 一种业务板的访问方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862512A (zh) * | 2005-10-25 | 2006-11-15 | 华为技术有限公司 | 单板信息的读写系统与方法 |
CN101105782A (zh) * | 2007-08-22 | 2008-01-16 | 中兴通讯股份有限公司 | 基于高性能计算通讯架构的边界扫描系统及方法 |
US20090177459A1 (en) * | 2008-01-08 | 2009-07-09 | Eric Durand | Fault support in an emulation environment |
CN101695027A (zh) * | 2009-09-29 | 2010-04-14 | 北京星网锐捷网络技术有限公司 | 一种分布式通信系统软件升级方法、装置和网络设备 |
-
2010
- 2010-05-27 CN CN201010183655A patent/CN101853173A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862512A (zh) * | 2005-10-25 | 2006-11-15 | 华为技术有限公司 | 单板信息的读写系统与方法 |
CN101105782A (zh) * | 2007-08-22 | 2008-01-16 | 中兴通讯股份有限公司 | 基于高性能计算通讯架构的边界扫描系统及方法 |
US20090177459A1 (en) * | 2008-01-08 | 2009-07-09 | Eric Durand | Fault support in an emulation environment |
CN101695027A (zh) * | 2009-09-29 | 2010-04-14 | 北京星网锐捷网络技术有限公司 | 一种分布式通信系统软件升级方法、装置和网络设备 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2961097B1 (en) * | 2013-02-21 | 2019-05-15 | ZTE Corporation | Firmware upgrade method and system |
CN104702423A (zh) * | 2013-12-04 | 2015-06-10 | 北京信威通信技术股份有限公司 | 一种分布式系统的版本动态管理方法和装置 |
CN104618136B (zh) * | 2014-12-25 | 2018-11-06 | 曙光信息产业(北京)有限公司 | 用于刀片服务器的配置管理方法和装置 |
CN104618136A (zh) * | 2014-12-25 | 2015-05-13 | 曙光信息产业(北京)有限公司 | 用于刀片服务器的配置管理方法和装置 |
CN106411540A (zh) * | 2015-07-27 | 2017-02-15 | 中兴通讯股份有限公司 | 软件版本管理方法及装置 |
CN105549945A (zh) * | 2015-09-25 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种音频传输管理方法及用户终端 |
CN108196988A (zh) * | 2017-11-28 | 2018-06-22 | 北京中天星控科技开发有限公司 | 一种航天测试设备板卡自动识别方法 |
CN108196988B (zh) * | 2017-11-28 | 2021-02-12 | 北京中天星控科技开发有限公司 | 一种航天测试设备板卡自动识别方法 |
CN108418707A (zh) * | 2018-01-31 | 2018-08-17 | 武汉虹信通信技术有限责任公司 | 通信系统中双cpld互相在线备份升级方法及业务单板 |
CN108418707B (zh) * | 2018-01-31 | 2020-12-01 | 武汉虹信科技发展有限责任公司 | 通信系统中双cpld互相在线备份升级方法及业务单板 |
CN109032635A (zh) * | 2018-07-16 | 2018-12-18 | 新华三技术有限公司 | 软件升级方法、装置和网络设备 |
CN110096291A (zh) * | 2019-04-15 | 2019-08-06 | 新华三技术有限公司 | 电源管理芯片升级电路、方法及网络设备 |
CN110208683A (zh) * | 2019-07-05 | 2019-09-06 | 江苏迈库通信科技有限公司 | 一种音视频板的检测方法 |
CN113485168A (zh) * | 2020-03-16 | 2021-10-08 | 莱卡微系统Cms有限责任公司 | 用于操作系统的控制系统和方法 |
CN113721932A (zh) * | 2020-05-25 | 2021-11-30 | 北京映翰通网络技术股份有限公司 | 一种自动售货机软件的在线部署方法 |
CN113721932B (zh) * | 2020-05-25 | 2024-03-19 | 北京映翰通网络技术股份有限公司 | 一种自动售货机软件的在线部署方法 |
CN113641606A (zh) * | 2021-08-09 | 2021-11-12 | 国家计算机网络与信息安全管理中心 | 一种业务板的访问方法、装置、设备及可读存储介质 |
CN113641606B (zh) * | 2021-08-09 | 2024-04-19 | 国家计算机网络与信息安全管理中心 | 一种业务板的访问方法、装置、设备及可读存储介质 |
CN113985726A (zh) * | 2021-12-23 | 2022-01-28 | 昆山帝森华途工业物联网科技有限公司 | 一种apf控制系统的主从控制器通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853173A (zh) | 一种分布式系统的可编程逻辑器件的软件升级方法和设备 | |
US11169867B2 (en) | System and method for identifying operational disruptions in mobile computing devices via a monitoring application that repetitively records multiple separate consecutive files listing launched or installed applications | |
CN100582799C (zh) | 电子设备诊断方法和系统 | |
CN104899055B (zh) | 一种基于bios控制的me更新系统及其更新方法 | |
US20080098380A1 (en) | System, method, and device for updating programmable electronic equipment with a transport device from a deployment server via the internet or other communication medium | |
US9158723B2 (en) | Expanded protocol adapter for in-vehicle networks | |
CN108008914B (zh) | 一种arm设备中磁盘管理的方法、装置和arm设备 | |
JP2004527826A (ja) | 自動車整備において使用される共通プラットフォーム | |
CN105094877B (zh) | 一种固件升级的方法和主机端装置及系统 | |
CN107678949B (zh) | 实现嵌入式设备不同通信方式的自动化测试方法 | |
CN109426613A (zh) | 在uefi中检索调试数据的方法及其电脑系统 | |
CN101295255B (zh) | 固件更新系统及方法 | |
CN105653306A (zh) | 显示启动设置界面的方法和装置 | |
CN102253845B (zh) | 服务器系统 | |
US20060026462A1 (en) | Apparatus for recovering BIOS in computer system | |
CN104125504A (zh) | 一种基于持续集成的部署方法、装置及系统 | |
CN114138644A (zh) | Bmc调试方法及监控方法、系统、装置、设备、介质 | |
CN108932134B (zh) | 服务器bios远程更新方法 | |
US11494289B2 (en) | Automatic framework to create QA test pass | |
JP2002208886A (ja) | 携帯端末装置、記憶データ更新方法及びファームウェア更新方法 | |
CN111309353A (zh) | 一种基于服务器控制板更新运算板fpga固件的方法及设备 | |
CN101211268A (zh) | 可通过不同接口加载启动程序以启动主板的系统及其方法 | |
KR19980082109A (ko) | 무인 기지국을 감시 및 제어하기 위한 원격제어방법 | |
CN101436139A (zh) | Fpga下载方法和装置 | |
US20100037240A1 (en) | Non Intrusive Application Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20101006 |