CN1996244A - 一种通过个人计算机进行固件下载的方法及装置 - Google Patents

一种通过个人计算机进行固件下载的方法及装置 Download PDF

Info

Publication number
CN1996244A
CN1996244A CN 200610011101 CN200610011101A CN1996244A CN 1996244 A CN1996244 A CN 1996244A CN 200610011101 CN200610011101 CN 200610011101 CN 200610011101 A CN200610011101 A CN 200610011101A CN 1996244 A CN1996244 A CN 1996244A
Authority
CN
China
Prior art keywords
interface controller
interface
flash memory
download
execution
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
Application number
CN 200610011101
Other languages
English (en)
Other versions
CN100498708C (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2006100111014A priority Critical patent/CN100498708C/zh
Publication of CN1996244A publication Critical patent/CN1996244A/zh
Application granted granted Critical
Publication of CN100498708C publication Critical patent/CN100498708C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种通过个人计算机进行固件下载的方法及装置,方法包括:通过并口转接头将个人计算机与单板上的下载接口进行连接,所述计算机通过所述下载接口读写一接口控制器的内部寄存器,实现对JTAG时序以及闪存的接口读写时序的模拟,以完成对工作的可编程逻辑器件的逻辑的下载以及所述闪存的内容更新。本发明使得闪存内容和可编程逻辑器件的升级可以通过PC机来完成,降低了复杂程度,在生产线上和现场都可以轻松地完成升级或烧写,使得维护手段多样化,极大地提高了生产效率,增强了产品的可维护性。

Description

一种通过个人计算机进行固件下载的方法及装置
技术领域
本发明涉及通讯及网络领域,特别是涉及一种可以通过普通计算机(PC)对业务板的硬件存储器和逻辑器件进行动态下载和更新的设计方法和实现装置。
背景技术
随着通讯产业的发展,通讯产品功能和性能的完善。人们在实践中总是要不断地改进和更新自己的设计,这就要涉及到BOOT文件(单板启动的引导文件)的升级更新和CPLD(复杂的可编程逻辑器件,其内部逻辑可以多次烧写)的逻辑升级等维护和升级工作。在以前的电子产品中BOOT的升级和维护只好通过更换存放BOOT文件的FLASH(闪存,一种大容量的,非易失性的,可多次烧写的硬件存储器)器件或是用编程器重新烧结FLASH来完成,逻辑器件也必须通过专用的下载软件和下载线来烧结,这样会大大影响工作效率和产品的可维护性。
为了提高产品的可维护性,人们提出了一些针对FLASH和CPLD的在线下载技术,其实现方式主要是通过单板上的微控制器或者CPU实现FLASH和CPLD的下载时序来对其进行实时更新。具体如下:当系统完成正常上电后,CPU通过网口或其他方式得到需要更新的文件,然后通过CPU的GPIO(通用输入输出管脚)实现FLASH和CPLD的下载控制信号,将文件下载到FLASH和CPLD中。其前提是系统必须能够完成正常上电,也就是说,当单板生产完成后,进行FLASH的第一次烧结必须依靠传统的离线烧结方式。针对第一次FLASH烧结,目前的主要解决方式是在焊接芯片之前先完成对FLASH器件的烧结,然后再进行焊接。
发明内容
本发明所要解决的技术问题是提供一种通过个人计算机进行固件下载的方法及装置,解决现有技术不能对CPLD和FLASH进行统一升级,CPLD和FLASH烧结的复杂程度较高的技术问题。
为达到上述目的,本发明提供了一种通过个人计算机进行固件下载的方法,其特点在于,通过并口转接头将个人计算机与单板上的下载接口进行连接,所述计算机通过所述下载接口读写一接口控制器的内部寄存器,实现对JTAG时序以及闪存的接口读写时序的模拟,以完成对工作的可编程逻辑器件的逻辑的下载以及所述闪存的内容更新。
上述的方法,其特点在于,还包括:读出所述可编程逻辑器件的逻辑以及所述闪存的内容并进行校验。
上述的方法,其特点在于,进行所述闪存的内容更新进一步包括如下步骤:
步骤a,建立所述计算机到所述接口控制器的正确连接;
步骤b,判断所述接口控制器是否能够正常工作,是则执行步骤d,否则执行步骤c;
步骤c,流程异常结束;
步骤d,把业务板置为可编程状态,同时识别所述闪存器件的规格;
步骤e,进行所述闪存的内容文件的下载;
步骤f,下载完成后再读出所述内容文件与源文件进行校验,判断校验是否成功,是则执行步骤g,否则执行步骤c;
步骤g,校验成功后要把下载线拔除,结束。
上述的方法,其特点在于,在所述步骤b中,通过读写所述接口控制器内部特定的寄存器来判断所述接口控制器是否能够正常工作。
上述的方法,其特点在于,进行所述可编程逻辑器件的逻辑的下载,进一步包括如下步骤:
步骤A,建立所述计算机到所述接口控制器的正确连接;
步骤B,判断所述接口控制器是否能够正常工作,是则执行步骤D,否则执行步骤C;
步骤C,流程异常结束;
步骤D,把业务板置为可编程状态;
步骤E,对工作的所述可编程逻辑器件的逻辑进行下载;
步骤F,下载完成后再读出所述逻辑与源文件进行校验,判断校验是否成功,是则执行步骤G,否则执行步骤C;
步骤G,校验成功后要把下载线拔除,结束。
上述的方法,其特点在于,在所述步骤B中,通过读写所述接口控制器内部特定的寄存器来判断所述接口控制器是否能够正常工作。
为了更好的实现本发明的目的,本发明还提供了一种通过个人计算机进行固件下载的装置,其特点在于,包括:个人计算机、接口控制器、闪存和可编程逻辑器件;通过并口转接头将所述计算机与单板上的下载接口进行连接,所述计算机通过所述下载接口读写所述接口控制器的内部寄存器,实现对JTAG时序以及闪存的接口读写时序的模拟,以完成对工作的所述可编程逻辑器件的逻辑的下载以及所述闪存的内容更新。
上述的装置,其特点在于,所述接口控制器中还包括:总线数据交互接口、闪存时序实现模块;所述总线数据交互接口连接所述计算机、所述闪存时序实现模块和所述内部寄存器;所述闪存时序实现模块连接所述闪存,所述内部寄存器连接所述可编程逻辑器件。
上述的装置,其特点在于,所述接口控制器与所述可编程逻辑器件之间通过JTAG接口连接。
本发明的技术效果在于:
本发明提出了一种新的解决方法,使得FLASH内容和CPLD逻辑的升级可以通过PC机来完成,实现了PC机通过单板上的接口控制器对FLASH或CPLD进行升级的方法。同时,本发明将不同厂家CPLD的不同烧结环境合并为一个统一的编程环境,并将CPLD和FLASH原本两种不同的烧结方式合二为一,提供了统一的编程环境。与现有技术相比较,本发明对CPLD和FLASH的烧结方法进行了统一封装,可以在PC机上通过接口控制器对CPLD和FLASH进行统一升级,降低了CPLD和FLASH烧结的复杂程度,在生产线上和现场都就可以轻松地完成对CPLD逻辑和FLASH内容的升级或烧写,使得维护手段多样化,极大地提高了生产效率,增强了产品的可维护性。
附图说明
图1是动态下载装置示意图;
图2足PPB总线(Parallel Program Bus并行编程总线)接口时序图;
图3是接口控制器内部模块示意图;
图4是通过PC机对业务板的FLASH进行更新的流程。
具体实施方式
下面结合附图对本发明方法进行具体的说明。
图1是本实施方法所基于的动态下载装置。接口控制器110是本发明的主要部分,其功能是完成PC机120与工作CPLD 130以及FLASH 140之间的下载接口转换并实现对CPLD逻辑的下载以及FLASH内容的更新。接口控制器在物理上可以是CPLD,也可以是ASIC。图中的PC是指的普通的个人计算机,工作CPLD是业务板上的逻辑器件,它主要用于实现单板相关功能,该CPLD逻辑是本发明下载的对象。图中的FLASH与工作CPLD同为本发明下载的对象。接口控制器是下载操作的管理者,它把PC机与单板的FLASH器件、工作CPLD有机地连为一体,组成动态下载装置。
通过以上装置,可以实现外接PC机对业务板上的FLASH内容和工作CPLD的逻辑进行下载与升级,在这个操作过程中不需要业务板CPU参与。
从PC机到接口控制器的总线采用了自定义的PPB总线,PC机通过该总线实现与接口控制器之间的数据交换。该总线包括FRMAE信号(帧传输起始)、CLK信号(时钟)、AD信号(4BIT数据、地址信号),典型的读写时序如图2所示,图中FRAME信号高电平有效;CLK在下降沿采样数据,上升沿发送数据。第一个周期传送的是4bit命令字,命令字定义了本周期的访问对象(FLASH空间或者接口控制器内部寄存器)及操作方式(读或写)。然后依次传送6个周期的地址,接口控制器获得本次操作的操作地址,并根据访问对象及操作方式对数据进行相应的发送或者存储的操作。通过该总线实现一次读写操作共需要11个时钟周期。
图3显示的是接口控制器内部模块组成。接口控制器110由PPA总线数据交互接口111,FLASH时序实现模块112,寄存器模块113组成。PPA总线数据交互接口111通过下载转换接头实现与PC机之间的数据交互,并将PC更新FLASH或者CPLD的操作发送给FLASH时序实现模块和寄存器模块。FLASH时序实现模块根据不同的FLASH信号实现其对应的接口时序(如ISA总线时序等),完成对FLASH的内容进行升级。接口控制器与工作CPLD的接口是标准的由4根线组成的JTAG接口(JTAG:Joint Test Action Group,联合测试行动小组,是一种国际标准测试协议)。对工作CPLD的逻辑进行下载是通过PPA总线数据交互接口读写寄存器模块内部的寄存器,实现JTAG工作时序完成的,无需总线转换。
本发明动态下载方法主要包括以下内容:
若是下载FLASH文件,则需要通过如下步骤:PC机通过PPB总线将要下载的FLASH文件数据和写入地址传送给接口控制器,接口控制器实现FLASH接口编程时序(如ISA总线时序),将FLASH文件数据写入FLASH器件的对应地址空间中,完成对FLASH器件内容的更新。
若是更新工作CPLD的逻辑,则需要通过如下步骤:PC机通过PPB总线读写接口控制器的内部寄存器,控制接口控制器工作CPLD的JTAG下载口相连接的一些IO管脚,实现CPLD下载的JTAG时序,将CPLD下载文件下载到工作CPLD中。逻辑更新后,需要重新启动业务单板。
下面具体说明本发明的工作流程。首先要说明的是本发明只是针对业务板上的FLASH器件和工作CPLD器件,接口控制器不是动态下载的对象,它是动态下载的组织者。
当需要对单板FLASH的内容或是工作CPLD的逻辑进行更新时,首先通过下载线建立PC机的并口与接口控制器之间的连接,然后PC机检测连接是否正常建立,如果正常连接,接口控制器会控制业务板处于可编程状态。这就保证了此时只有PC机对FLASH或是工作CPLD进行操作。
图4显示的是通过PC机对业务板FLASH的内容进行更新的流程。包括:
步骤401,指建立PC到接口控制器的正确连接;
步骤402,判断接口控制器是否能够正常工作,是则执行步骤404,否则执行步骤403;
步骤403,流程异常结束;
步骤404,把业务板置为可编程状态,同时判断FLASH器件的规格
步骤405,然后进行文件的下载;
步骤406,下载完成后再读出来与源文件进行校验,判断校验是否成功,是则执行步骤407,否则执行步骤403;
步骤407,校验成功后要把下载线拔除;
步骤408,结束。
下面具体说明该流程:标记A是指建立PC到接口控制器的正确连接,准备对业务板进行操作。然后通过读写接口控制器内部特定的寄存器来判断接口控制器是否能够正常工作,如果接口控制器异常流程就走到标记E,标记E是指接口控制器不能正常工作,流程异常结束。如果正常那么就可以进行下一步。把业务板置为可编程状态,同时判断FLASH器件的规格,然后进行文件的下载。下载完成后再读出来与源文件进行校验(此步可选),校验成功后要把下载线拔除,这个流程标志B结束。
通过PC机对业务板的CPLD的逻辑进行更新的流程与对FLASH的内容进行更新的流程类似。参照图4,具体说明该流程:标记A是指建立PC到接口控制器的正确连接,准备对业务板进行操作。然后通过读写接口控制器内部特定的寄存器来判断接口控制器是否能够正常工作,如果接口控制器异常流程就走到标记E,标记E是指接口控制器不能正常工作,流程异常结束。如果正常那么就可以进行下一步。把业务板置为可编程状态,然后对工作CPLD进行下载。下载完成后再读出来进行校验(此步可选),校验成功后要把下载线拔除,这个流程标志B结束。
由上可知,与现有技术相比较,本发明对CPLD和FLASH的烧结方法进行了统一封装,可以在PC机上通过接口控制器对CPLD和FLASH进行统一升级,降低了CPLD和FLASH烧结的复杂程度,在生产线上和现场都就可以轻松地完成对CPLD逻辑和FLASH内容的升级或烧写,使得维护手段多样化,极大地提高了生产效率,增强了产品的可维护性。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被本发明的专利范围所涵盖。

Claims (9)

1、一种通过个人计算机进行固件下载的方法,其特征在于,通过并口转接头将个人计算机与单板上的下载接口进行连接,所述计算机通过所述下载接口读写一接口控制器的内部寄存器,实现对JTAG时序以及闪存的接口读写时序的模拟,以完成对工作的可编程逻辑器件的逻辑的下载以及所述闪存的内容更新。
2、根据权利要求1所述的方法,其特征在于,还包括:读出所述可编程逻辑器件的逻辑以及所述闪存的内容并进行校验。
3、根据权利要求1所述的方法,其特征在于,进行所述闪存的内容更新进一步包括如下步骤:
步骤a,建立所述计算机到所述接口控制器的正确连接;
步骤b,判断所述接口控制器是否能够正常工作,是则执行步骤d,否则执行步骤c;
步骤c,流程异常结束;
步骤d,把业务板置为可编程状态,同时识别所述闪存器件的规格;
步骤e,进行所述闪存的内容文件的下载;
步骤f,下载完成后再读出所述内容文件与源文件进行校验,判断校验是否成功,是则执行步骤g,否则执行步骤c;
步骤g,校验成功后要把下载线拔除,结束。
4、根据权利要求3所述的方法,其特征在于,在所述步骤b中,通过读写所述接口控制器内部特定的寄存器来判断所述接口控制器是否能够正常工作。
5、根据权利要求1所述的方法,其特征在于,进行所述可编程逻辑器件的逻辑的下载,进一步包括如下步骤:
步骤A,建立所述计算机到所述接口控制器的正确连接;
步骤B,判断所述接口控制器是否能够正常工作,是则执行步骤D,否则执行步骤C;
步骤C,流程异常结束;
步骤D,把业务板置为可编程状态;
步骤E,对工作的所述可编程逻辑器件的逻辑进行下载;
步骤F,下载完成后再读出所述逻辑与源文件进行校验,判断校验是否成功,是则执行步骤G,否则执行步骤C;
步骤G,校验成功后要把下载线拔除,结束。
6、根据权利要求5所述的方法,其特征在于,在所述步骤B中,通过读写所述接口控制器内部特定的寄存器来判断所述接口控制器是否能够正常工作。
7、一种通过个人计算机进行固件下载的装置,其特征在于,包括:个人计算机、接口控制器、闪存和可编程逻辑器件;
通过并口转接头将所述计算机与单板上的下载接口进行连接,所述计算机通过所述下载接口读写所述接口控制器的内部寄存器,实现对JTAG时序以及闪存的接口读写时序的模拟,以完成对工作的所述可编程逻辑器件的逻辑的下载以及所述闪存的内容更新。
8、根据权利要求7所述的装置,其特征在于,所述接口控制器中还包括:总线数据交互接口、闪存时序实现模块;所述总线数据交互接口连接所述计算机、所述闪存时序实现模块和所述内部寄存器;所述闪存时序实现模块连接所述闪存,所述内部寄存器连接所述可编程逻辑器件。
9、根据权利要求7所述的装置,其特征在于,所述接口控制器与所述可编程逻辑器件之间通过JTAG接口连接。
CNB2006100111014A 2006-01-04 2006-01-04 一种通过个人计算机进行固件下载的方法及装置 Expired - Fee Related CN100498708C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100111014A CN100498708C (zh) 2006-01-04 2006-01-04 一种通过个人计算机进行固件下载的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100111014A CN100498708C (zh) 2006-01-04 2006-01-04 一种通过个人计算机进行固件下载的方法及装置

Publications (2)

Publication Number Publication Date
CN1996244A true CN1996244A (zh) 2007-07-11
CN100498708C CN100498708C (zh) 2009-06-10

Family

ID=38251344

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100111014A Expired - Fee Related CN100498708C (zh) 2006-01-04 2006-01-04 一种通过个人计算机进行固件下载的方法及装置

Country Status (1)

Country Link
CN (1) CN100498708C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110035B (zh) * 2007-08-20 2010-04-14 中兴通讯股份有限公司 具有jtag接口终端的程序下载方法
CN101826025A (zh) * 2010-03-22 2010-09-08 太仓市同维电子有限公司 现场可编程逻辑器件固件升级装置及其方法
WO2012097695A1 (zh) * 2011-01-20 2012-07-26 中兴通讯股份有限公司 一种烧写闪存的系统及方法
CN101510179B (zh) * 2009-03-17 2013-01-16 中兴通讯股份有限公司 信号传输装置及方法
WO2013078792A1 (zh) * 2011-11-29 2013-06-06 中兴通讯股份有限公司 智能终端协同处理器的固件更新方法和装置
CN105259834A (zh) * 2015-10-28 2016-01-20 华中科技大学 一种固件可重构的手机数据采集控制器及方法
CN109189404A (zh) * 2018-07-17 2019-01-11 芯启源(上海)半导体科技有限公司 数据烧写装置、烧写方法及计算机存储介质
CN116204450A (zh) * 2023-04-28 2023-06-02 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298959B (zh) * 2010-06-24 2015-10-21 中兴通讯股份有限公司 可编程逻辑器件及其访问方法
CN103106161A (zh) * 2012-12-22 2013-05-15 中国船舶重工集团公司第七0九研究所 一种基于io访问方式的显卡bios更新方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110035B (zh) * 2007-08-20 2010-04-14 中兴通讯股份有限公司 具有jtag接口终端的程序下载方法
CN101510179B (zh) * 2009-03-17 2013-01-16 中兴通讯股份有限公司 信号传输装置及方法
CN101826025A (zh) * 2010-03-22 2010-09-08 太仓市同维电子有限公司 现场可编程逻辑器件固件升级装置及其方法
WO2012097695A1 (zh) * 2011-01-20 2012-07-26 中兴通讯股份有限公司 一种烧写闪存的系统及方法
WO2013078792A1 (zh) * 2011-11-29 2013-06-06 中兴通讯股份有限公司 智能终端协同处理器的固件更新方法和装置
CN105259834A (zh) * 2015-10-28 2016-01-20 华中科技大学 一种固件可重构的手机数据采集控制器及方法
CN105259834B (zh) * 2015-10-28 2017-09-12 华中科技大学 一种固件可重构的手机数据采集控制器
CN109189404A (zh) * 2018-07-17 2019-01-11 芯启源(上海)半导体科技有限公司 数据烧写装置、烧写方法及计算机存储介质
CN116204450A (zh) * 2023-04-28 2023-06-02 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质
CN116204450B (zh) * 2023-04-28 2023-08-18 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质

Also Published As

Publication number Publication date
CN100498708C (zh) 2009-06-10

Similar Documents

Publication Publication Date Title
CN100498708C (zh) 一种通过个人计算机进行固件下载的方法及装置
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
CN102999350A (zh) 一种数字信号处理平台中fpga程序升级在线下载方法
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和系统
CN105373407A (zh) 嵌入式系统dsp和fpga在线升级方法
WO2016188344A1 (zh) 一种基于软处理器的图像信号源及其处理图像信号的方法
CN101673202A (zh) 一种程序烧写方法和系统以及一种待烧写装置和烧写装置
CN101826025A (zh) 现场可编程逻辑器件固件升级装置及其方法
CN101271396A (zh) 电子装置及其在线更新固件的方法
CN102339242A (zh) 计算机系统数据修复装置
CN102053850A (zh) 一种在线升级fpga逻辑的方法
CN104077166B (zh) 基于fpga中ip核的epcs与epcq存储器在线升级方法
CN104679559A (zh) 单片机在线编程的方法
CN102520961B (zh) 片外在线可编程的soc系统及其控制方法
CN104077204A (zh) 可重构的8位rsic单片机仿真器
WO2007056343A2 (en) Networked linux machine and windows software development system
CN109408924B (zh) 基于dsp芯片的fpga配置方法
CN110196726A (zh) 一种基于cpu+cpld实现fpga程序远程升级加载的方法
CN106708586A (zh) 一种用于嵌入式系统程序自动在线更新的手持式仪器及方法
CN102880479B (zh) 一种远程修改bios属性参数的方法及装置
CN102591752A (zh) 一种基于高通平台外围设备的在线调试方法
CN101753672B (zh) 一种对无线终端快速修复的系统和方法
CN108536458A (zh) 一种fpga在线升级方法、装置、设备及存储介质
CN102375749B (zh) 一种采用i2c总线快速下载和更新固件的方法
CN111208753A (zh) 一种基于arm的fpga启动及在线升级方法

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: 20090610

Termination date: 20150104

EXPY Termination of patent right or utility model