CN113168318A - 模块和包括该模块的信息处理装置以及更新模块的程序数据的程序数据更新方法 - Google Patents
模块和包括该模块的信息处理装置以及更新模块的程序数据的程序数据更新方法 Download PDFInfo
- Publication number
- CN113168318A CN113168318A CN201980079435.0A CN201980079435A CN113168318A CN 113168318 A CN113168318 A CN 113168318A CN 201980079435 A CN201980079435 A CN 201980079435A CN 113168318 A CN113168318 A CN 113168318A
- Authority
- CN
- China
- Prior art keywords
- program data
- microprocessor
- module
- update
- electronic component
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Abstract
本发明提供程序数据更新方法、模块和包括该模块的信息处理装置。本发明的目的在于在包含于光模块的微处理器的控制程序的运用中,也能够更新包含在光模块内的可编程电子元件的控制程序。本发明在通过使电子元件(122)动作而发挥功能的模块(112)中,位于该模块(112)内且通过通信单元与上位设备(111)连接的微处理器(121)使用利用该通信单元从上位设备(111)下载的S记录格式的数据,更新电子元件(122)的控制程序。
Description
技术领域
本发明涉及一种信息处理装置中包含的模块的电子元件的程序数据更新方法。
背景技术
如非专利文献1的6页“整体概要”的章所记载的那样,摩托罗拉(注册商标)S记录格式(以下称为S记录格式)的数据用于从外部的主计算机向微处理器内部的非易失性存储器写入程序数据。S记录格式的规格记载于摩托罗拉(注册商标)的非专利文献2的APPENDIXC。微处理器参照S记录格式数据中包含的从S0到S9的记录类型,基于S1、S2至S3的记录中包含的地址信息,将程序数据复原到存储器上。
设置在光传输装置内的光模块,作为在运用中对同一模块中包含的微处理器的控制程序进行更新的单元,具有从通过通信单元连接的上位设备利用S记录格式的数据将程序数据下载并更新的功能。
但是,该程序数据的更新单元的目的在于,对通过通信单元与上位设备连接的微处理器的控制程序的程序数据进行更新,而未考虑光模块内包含的其他可编程电子元件的控制程序的程序数据的更新。因此,为了对未与上位设备连接的可编程电子元件的控制程序的程序数据进行更新,需要通过对这些电子元件单独准备的其他通信单元进行,因此存在的问题是在光传输装置的运用中难以进行更新。
现有技术文献
非专利文献1:“Renesas SynergyTM内置闪存器内的应用程序更新的事例”,瑞萨电子,Rev.1.01,2017
非专利文献2:“S-RECORD OUTPUT FORMAT”,“MOTOROLA M68000 FAMILYProgrammer’s Reference Manual”Appendix C,MOTOROLA,1992
发明内容
本发明的目的在于在光模块中包含的微处理器的控制程序的运用中也能够对光模块内包含的可编程电子元件的控制程序的程序数据进行更新。
本发明的模块通过使电子元件动作而发挥功能,所述模块包括经由通信单元与所述电子元件连接的微处理器,所述电子元件内置有控制程序,所述微处理器通过经由所述通信单元向所述电子元件发送控制数据而使所述电子元件动作,在所述微处理器接收到更新信息的情况下,从所述更新信息中选择与所述电子元件相应的程序数据,并且经由所述通信单元下载到所述电子元件。
具体地说,本发明的程序数据更新方法在通过使电子元件动作而发挥功能的模块中,更新控制所述电子元件的动作的微处理器和所述电子元件的控制程序,所述微处理器取得包含块的更新信息,将所述更新信息中包含的程序数据按照每个块复原到存储器上,所述块依次记载有表示记录的开始且包含识别更新对象的识别信息的头记录、用于更新与记载于所述头记录的所述识别信息对应的所述更新对象的所述控制程序的程序数据、以及表示记录的末端的结束记录,所述微处理器使用记载于所述头记录的所述识别信息,判断所述更新对象是所述微处理器和所述电子元件中的哪一个,所述微处理器使用与所述更新对象对应的复原到所述存储器上的所述程序数据,更新所述更新对象的控制程序。
具体地说,本发明的模块通过使电子元件动作而发挥功能,其特征在于,所述模块包括存储程序数据的存储器和控制所述电子元件的动作的微处理器,所述微处理器取得包含块的更新信息,将所述更新信息中包含的程序数据按照每个块复原到所述存储器上,所述块依次记载有表示记录的开始且包含更新对象的识别信息的头记录、用于更新与记载于所述头记录的所述识别信息对应的更新对象的控制程序的程序数据、以及表示记录的末端的结束记录,所述微处理器使用记载于所述头记录的所述识别信息,判断所述更新对象是所述微处理器和所述电子元件中的哪一个,所述微处理器使用连接所述微处理器和所述电子元件之间的通信单元,更新所述电子元件的程序数据。
具体地说,本发明的信息处理装置包括:至少一个本发明的模块;通信部,从外部接收所述更新信息;以及上位设备,将所述通信部接收到的所述更新信息传送到所述模块所具备的各微处理器。
按照本发明,在光模块中包含的微处理器的控制程序的运用中,也能够更新光模块内包含的可编程电子元件的控制程序的程序数据。
附图说明
图1是利用关联技术向光模块下载程序数据的方法的一例。
图2是利用关联技术从上位设备下载的S记录格式数据的一例。
图3是本发明的信息处理装置的一例。
图4是第一技术的程序数据的更新方法的一例。
图5是利用第一技术从上位设备下载的S记录格式数据的一例。
图6是本发明的S0记录的记载例。
图7是包含模块可插拔的子模块时的光模块结构例。
图8是利用第一技术更新不同结构的光模块的程序数据的方法的一例。
图9是利用第二技术更新程序数据的方法的一例。
图10是利用第二技术从上位设备下载的S记录格式数据的一例。
图11是利用第三技术更新程序数据的方法的一例。
图12是利用第三技术从上位设备下载的S记录格式数据的一例。
图13是利用第四技术在光模块内的非易失性存储器中保存程序数据的方法的一例。
图14是将正常动作的版本的程序数据再次下载到PSoC的方法的一例。
图15是基于第四技术的非易失性存储器的存储器映射的一例。
具体实施方式
下面,参照附图对本发明的实施方式进行详细说明。另外,本发明不限定于如下所述的实施方式。这些实施例仅为例示,本发明能够基于本领域技术人员的知识以实施了各种变更、改良的方式实施。另外,在本说明书和附图中,附图标记相同的构成要素表示相互相同的构成要素。
(关联技术)
图1表示利用S记录格式的数据的基于关联技术的程序数据的更新方法。在该图中,粗箭头表示通过通信单元下载更新的程序数据的路径。
光传输装置包括上位设备和光模块,上位设备和安装在光模块内的微处理器#1通过通信单元连接。光模块除了微处理器#1以外,还安装有多个光器件#1、#2、驱动它们的驱动电路#1、#2、以及分别控制驱动电路#1、#2的可编程电子元件#1、#2。
可编程电子元件#1、#2和微处理器#1通过通信单元连接。在更新光模块的程序数据时,从上位设备向光模块内的微处理器#1以S记录格式发送新的程序数据。在S记录格式的数据中仅包含上述微处理器#1的程序数据,微处理器#1通过将该程序数据复原到存储器上并执行,能够切换为新的控制程序的程序数据。
图2表示此时发送到光模块的S记录的结构。分别由方形表示的记录由S0、S1至S9这样的以ASCII代码开始的字符串构成。这些记录的规格记载于非专利文献2。
在S记录格式数据中参照的记录类型如下所示。
S0记录:是表示S记录的开始的头记录(Header record)。
S1~S3记录:是指定数据的写入位置的数据记录,S1由2字节(byte)的地址指定,S2由3字节的地址指定,S3由4字节的地址指定。
S7~S9记录:是表示S记录的末端的结束记录(End record),S7表示4字节的地址指定的结束,S8表示3字节的地址指定的结束,S9表示2字节的地址指定的结束。
以S0、S1和S9的组合、S0、S2和S8的组合或S0、S3和S7的组合来使用。在本实施方式中,作为一例,使用由2字节的地址指定的S0、S1和S9的组合进行说明。
但是,在该程序数据的更新方法中,微处理器#1以外的可编程电子元件所需的程序数据,在光模块设置于光传输装置之前的阶段,通过对各可编程电子元件#1、#2设置的其他通信路径从光传输装置以外的电子设备下载。因此,在该程序数据的更新方法中,存在的问题是,在光传输装置的运用中,对不具有和上位设备的通信单元的可编程电子元件#1、#2的控制程序的程序数据无法进行更新。
(本发明的构成例)
图3表示本发明的信息处理装置的一例。本发明的信息处理装置100包括上位设备111、模块112和通信部113。上位设备也可以包括存储器114。模块112包括微处理器121和电子元件122。模块112也可以包括器件124和存储器125。本发明的模块112可以通过由微处理器121执行存储于存储器125的程序来实现。
模块112是通过使器件124进行如下一系列的动作来实现任意功能的模块,相当于图4以后所示的光模块12。首先,微处理器121通过内置的控制程序,向电子元件122发送控制数据。接着,电子元件122通过内置的控制程序,按照上述控制数据使器件124动作。
通信部113从信息处理装置100的外部取得更新信息和其他任意信息。上位设备111具有进行模块112的执行、停止等模块112的控制的功能,相当于图4以后所示的上位设备11。上位设备111将通信部113取得的更新信息和其他任意信息传送到微处理器121。上位设备111可以将上述信息记录于存储器114。构成模块112的电子元件122和器件124等构成部件可以分别是多个。此外,上位设备111也可以包括多个模块112。
器件124是模块112所具备的任意器件,相当于图4以后所示的光器件24。电子元件122具有对器件124的动作进行控制的功能,相当于图4以后所示的可编程电子元件22和驱动电路23。微处理器121具有对模块112所具备的电子元件122进行控制的功能,相当于图4以后所示的微处理器21。存储器125具有存储微处理器121的数据的功能,可以设置在微处理器121内。
作为模块112例如可以例示光发送模块、光接收模块、光放大模块、光开关模块。在模块112为光发送模块的情况下,器件124例如是光源、光调制器。在模块112为光接收模块的情况下,器件124例如是受光器、放大器。在模块112为光放大模块的情况下,器件124例如是光放大器。在模块112为光开关模块的情况下,器件124例如是光开关。
在本发明中,通过应用S记录格式数据,微处理器121也执行电子元件122的更新。由此,本发明在模块112中包含的微处理器121的控制程序的运用中,也能够对在模块112内包含的电子元件122的程序数据和其他数据进行更新。
(本发明的第一技术)
图4表示本发明的第一技术的程序数据的更新方法。在此,也由粗箭头表示下载更新的程序数据的路径。在该例子中,在光模块12中包括光器件24#1和光器件24#2,为了按照微处理器21#1的指示对它们进行驱动,分别安装有可编程电子元件22#1和可编程电子元件22#2以及驱动电路23#1和驱动电路23#2。驱动电路23#1在可编程电子元件22#1的控制下使光器件24#1动作,驱动电路23#2在可编程电子元件22#2的控制下使光器件24#2动作。
在通过通信部113从外部取得的程序数据来更新光模块12所具备的微处理器21#1、可编程电子元件22#1、22#2的控制程序的情况下,上位设备11将包含微处理器21#1、可编程电子元件22#1和可编程电子元件22#2的更新用程序数据的S记录格式的数据作为更新信息下载到微处理器21#1。接着,微处理器21#1在将这些程序数据复原到存储器25上之后,更新自身的程序数据,对于与可编程电子元件22#1、可编程电子元件22#2对应的控制程序数据,其也以粗箭头的路径将更新用程序数据D#1、D#2下载到可编程的各电子元件22#1、#2并进行更新。在此,D#1是可编程电子元件22#1的程序数据,D#2是可编程电子元件22#2的程序数据。以下,使用S记录格式的数据的结构例来说明该更新方法的详细情况。
图5表示在本发明的更新方法中使用的S记录格式的数据的结构例。本发明所使用的S记录格式的数据是结合了多个块的(B1~B4),该块由以S0记录开始、将S1记录夹在中间、并以S9记录终止的一系列的S记录构成。这些块的顺序是任意的。此外,关于块内的S记录,程序数据和结束记录的两个组合也可以使用S2记录和S8记录以及S3记录和S7记录的两个组合来代替在此处所示的例子中使用的S1记录和S9记录的组合,两个组合是任意的。
在本发明的程序数据的更新方法中,在S记录格式的数据中,在各块的S0记录中记载了仅一个更新对象的识别信息,在该更新对象的识别信息中,记载了应用包含该更新对象的识别信息的块的程序数据的微处理器21和可编程电子元件22所固有的识别码。作为微处理器21和可编程电子元件22的识别码,例如可以例示对光模块12内的微处理器21和可编程电子元件22不重复地赋予的序列号或产品型号。
在各块的S0记录中记载的识别信息中,除了上述识别码以外,优选还记载有微处理器21#1将程序数据下载到可编程电子元件22时所需的参数等信息。作为该所需的参数例如可以例示可编程电子元件22的种类(CPU、PSoC(Programmable system on chip可编程片上系统)、FPGA(Field programmable gate array现场可编程门阵列)等)、程序数据的版本。
在本发明中,可以采用如下构成:在上述识别信息中包含的信息中的上述识别码以外的下载时所需的参数等信息的一部分或全部不记载于S0记录中。例如,可以将微处理器21和可编程电子元件22之间的接口的规格的对应表预先存储于微处理器21或存储器,并对其进行参照。该对应表可以使用预先保持的、光模块12的启动时制作的、或微处理器21的程序数据的更新时存储的。另外,微处理器21和可编程电子元件22之间的接口的规格包含可编程电子元件22的程序数据更新单元的任意的规格。例如,程序数据更新单元不限于硬件,也包括控制程序等软件的规格。
作为识别信息的记载方法,作为S记录格式的S0记录的规格,利用能够记入任意字符串的功能。例如,根据所述非专利文献2,S0记录由如下的ASCII字符串构成。
S00600004844521B
在此,开头的S0表示该字符串为S0记录,接着的06表示其以后的字节数是6字节,0000表示加载地址,484452表示基于ASCII代码的字符串“HDR”。最后的1B是以上的字符串的校验和。字符串“HDR”的区域根据S记录的规格,最大可以使用到252字节。因此,在本发明中,在该例子中的“HDR”的字符串的部分,记载更新对象的识别信息。
例如,微处理器21和可编程电子元件22#1、22#2的识别码为序列号,依次定义为01~03,在程序版本为Rev.1.0.3的情况下,S0记录能够以图6的方式表示。
(1)的“S0”表示记录类型为S0。
(2)的“08”表示(3)以后的字节数是8字节。
(3)的“0000”表示加载地址。
(4)是更新对象的识别信息,包含以下内容。
(4-1)的“3033”表示识别码是“03”、即更新对象是可编程电子元件22#2。
(4-2)的“313033”表示程序版本是Rev.1.0.3。
(5)的“00”表示(2)~(4)的范围的校验和。
接收到上述S记录格式的数据的微处理器21#1按照包含于S记录的地址,将各块的程序数据复原到存储器(例如图4所示的存储器25)上的区域中。接着,微处理器21#1基于从各块的S0记录读取到的信息,识别复原到存储器上的各区域的数据分别是与#1和#2中的哪一个可编程电子元件22对应的程序数据。并且,对于包含于光模块12的可编程电子元件22,微处理器21#1对相应的可编程电子元件22通过通信单元将程序数据从微处理器21#1下载到可编程电子元件22并执行更新。此时,如第三技术中说明的那样,微处理器21#1按照各可编程电子元件22的规格来执行下载和更新的步骤。
在图5所示的S记录格式数据中,接收数据的微处理器21#1的程序数据记载于块B1,包含于光模块12的两个可编程电子元件22的程序数据记载于块B2、B3,在此基础上,未与光模块12连接的可编程电子元件22#3的程序数据包含于块B4。
由此,光模块12的微处理器21识别其控制下的可编程电子元件22,从包含于S记录的各块的程序数据中选择适合的,并下载到控制下的可编程电子元件22,因此上位设备11能够仅将需要更新程序数据的可编程电子元件22的块下载到包括该可编程电子元件22的光模块12。此外,也能够将光模块12未包含的可编程电子元件22的块下载到光模块12。在后者的情况下,对于由不同的可编程电子元件22构成的多个光模块12,能够下载同时包含这些不同的可编程电子元件22的程序数据的块的相同的S记录格式的数据。
作为上位设备11仅将需要更新程序数据的可编程电子元件22的块下载到包括该可编程电子元件22的光模块12时的具体的例子,信息处理装置的通信部113有时仅接收到信息处理装置中包含的光模块12上安装的多个可编程电子元件22中的程序数据具有变更的可编程电子元件22的程序数据。此时,上位设备11可以从记录于存储器114的过去的程序数据中读出程序数据没有变更的可编程电子元件22的程序数据,重新制作包含安装于光模块12的所有可编程电子元件22的程序数据的S记录,但是光模块12的微处理器21能够从包含于从上位设备11下载的块的S0记录中选择作为对象的可编程电子元件22,因此上位设备11能够仅将通信部113接收到的程序数据具有变更的可编程电子元件22的块直接下载到光模块12。
微处理器21#1按照位于各块的开头的S0记录中所记载的信息,从包含于光模块12的可编程电子元件22中选择更新程序数据的可编程电子元件22,因此对可编程电子元件22#1下载块B2的程序数据。另一方面,对于可编程电子元件22#2,由于不包括相应的块,所以不进行下载。由此,需要更新的可编程电子元件22#1的程序数据被更新,而不需要更新的可编程电子元件22#2的程序数据不被更新。按照该方法,由于从上位设备11仅下载需要更新的可编程电子元件22#1的程序数据并进行更新,所以能够削减S记录格式的数据的大小,因此,还具有缩短因通信而占用通信单元的时间的优点。
作为上位设备11将光模块12中未包含的可编程电子元件22的块下载到光模块12的具体的例子,在图4的光模块结构中,有时对包括可插拔的子模块的光模块12下载程序数据。此时,可以是上位设备11向微处理器11询问在该时点已安装的可编程电子元件22的信息,制作仅包含在该时点已安装的可编程电子元件22的块的S记录,但是也可以是微处理器11能够根据各块的S0记录来选择与块对应的可编程电子元件22,因此可以不询问微处理器,只要下载包含具有插拔可能性的所有可编程电子元件22的程序数据的S记录即可。即,在图7的结构中,能够从上位设备11下载包含可编程电子元件22#1以及可插拔的子模块中包含的22#2、22#3的程序数据的S记录。
在可插拔的子模块中包含可编程电子元件22#2、驱动电路23#2、光器件24#2,在运用中更换为包含可编程电子元件22#3、驱动电路23#3、光器件24#3的其他子模块的情况下,由于其他子模块被新置于微处理器21#1的控制下,所以微处理器21#1从相同的S记录中选择适当的程序代码并下载到可编程电子元件22#3。
或者有时在光传输装置10内包括始终安装有可编程电子元件22#2、驱动电路23#2、光器件24#2的光模块12#1、以及始终安装有可编程电子元件22#3、驱动电路23#3、光器件24#3的光模块12#2(图8)。在两种光模块12安装在光传输装置10内的情况下,只要对这些光模块12从上位设备11下载图5所示的S记录格式的数据,则各微处理器21#1、21#2能够与各光模块12的构成配合,从接收到的S记录格式的数据中选择应当对光模块12内的可编程电子元件22进行更新的程序数据(块),因此上位设备11能够不依赖于包含于光模块12的可编程电子元件22的组合,而使用相同的S记录格式数据来更新这些光模块12的程序数据。
从上位设备11将图5所示的共同的S记录格式的数据下载到这些光模块12#1、12#2。微处理器21#1按照包含于光模块12#1的可编程电子元件22,选择必要的程序数据(D#1、D#2)并下载到可编程电子元件22#1、22#2,微处理器21#2按照包含于光模块12#2的可编程电子元件22,选择必要的程序数据(D#1、D#3)并下载到可编程电子元件22#1、22#3,并进行更新。在此,D#1是可编程电子元件22#1的程序数据,D#3是可编程电子元件22#3的程序数据。由此,上位设备11能够利用由相同的S记录格式的数据构成的更新信息,对构成不同的光模块12#1、12#2的程序数据进行更新。
如上所述,本发明的第一技术提供一种方法,在包括多个可编程电子元件22的光模块12中,在该光模块12内且通过通信单元与上位设备11连接的微处理器21使用利用该通信单元从上位设备11下载的相同的S记录格式的更新信息,对包含于上述光模块12的多个可编程电子元件22的控制程序进行更新。
按照本发明,上述S记录格式的更新信息由多个程序数据的块结合而构成,各块由从S0记录开始到以S7记录、S8记录至S9记录中的任意一个记录终止为止的一系列的S记录构成,在S0记录中记述了能够应用包含该S0记录的块的可编程电子元件22的属性和可编程电子元件22的程序数据的更新所需的参数等。
此外,在本发明的S记录格式的更新信息所包含的各块中,除了包含能够应用于包含于光模块12的可编程电子元件22的程序数据以外,还可以包含能够应用于在程序数据的更新时未包含于光模块12的可编程电子元件22的程序数据。
按照以上说明的程序数据更新方法,从上位设备11接收到S记录格式的更新信息的微处理器21使用包含于数据的各块的S0记录中所记述的信息,从各程序数据的块中仅选择能够应用于包含于光模块12的可编程电子元件22的程序数据,并且按照各可编程电子元件22的规格,将程序数据下载到光模块12内的成为更新对象的可编程电子元件22,因此特征在于,上位设备11在光传输装置10的运用中,能够更新光模块12内的可编程电子元件22的程序数据,并且能够使用一个S记录数据,更新可编程电子元件22的构成不同的光模块、或采用可拆卸的可编程电子元件22而安装的可编程电子元件22的组合有可能改变的光模块12的程序数据。
(本发明的第二技术)
图9表示基于本发明第二技术的程序数据的更新方法。在该例子中,可编程电子元件22#1和可编程电子元件22#2以相同的控制程序进行动作,因此在两个可编程电子元件22需要更新的情况下,能够利用相同的程序数据D#12。在本发明的更新方法中,在以相同的控制程序动作的可编程电子元件22中例如包含相同的识别信息。
在图9中,微处理器21#1根据从上位设备11下载的S记录格式的数据,基于S0记录中记载的信息,判断能够应用该数据的可编程电子元件22。在该图的例子中,由于可编程电子元件22#1和可编程电子元件22#2都能够应用相同的程序数据,所以包含相同的识别信息,微处理器21#1基于该信息,将相同的程序数据下载到可编程电子元件22#1和可编程电子元件22#2并进行更新。
图10表示在本发明的更新方法中使用的S记录格式的数据的结构。该数据仅由在微处理器21#1中使用的程序数据(块B1)和在可编程电子元件22#1、可编程电子元件22#2中共同使用的程序数据(块B2)的两个块B1、B2构成。
作为块B2的S0记录中的更新对象的识别信息,例如可以例示在可编程电子元件22#1和可编程电子元件22#2中固有的产品型号。光模块12启动时,微处理器21经由通信单元,从与其连接的可编程电子元件22读出可编程电子元件的识别码(产品型号),将识别码(产品型号)和用于与该可编程电子元件22连接的与产品型号对应的通信单元的对应表记录于存储器。
在可编程电子元件22的程序数据更新时,如果微处理器21从上位设备11接收到S记录,则基于从S0记录读取到的信息,识别根据接收到的S记录复原到存储器上的程序数据是与哪一个可编程电子元件22对应的程序数据,并且基于记录于存储器的对应表,选择应当下载到各可编程电子元件22的S记录的块和与产品型号对应的通信单元,对更新对象的可编程电子元件22的程序数据进行更新。对相同的识别码(产品型号)的可编程电子元件22,通过相同的通信单元下载相同的S记录的块。
如上所述,按照本发明的程序数据更新方法,通过通信单元与上位设备11连接的微处理器21能够根据位于各块的开头的S0记录中记载的信息,选择能够应用程序数据的可编程电子元件22的种类,因此只要在记载于S0记录中的识别信息中包含共同的识别码,则微处理器21能够将包含于该块的程序数据同等地下载到光模块12内的具有相同识别码的多个可编程电子元件22并进行更新。
按照该方法,与对包含于光模块12的每个可编程电子元件22准备程序数据的块的方法相比,S记录格式的更新信息中包含的程序数据的数量减少,因此能够削减通信所需的S记录格式的数据的大小和占用通信单元的时间。
(本发明的第三技术)
图11表示基于本发明第三技术的程序数据的更新方法。在该图的例子中,在光模块12中作为可编程电子元件包括FPGA(Field Programmable Gate Array现场可编程门阵列)221和PSoC(Programmable System on Chip可编程片上系统)222。
在这种情况下,与第一技术同样,在通过通信单元与上位设备11连接的微处理器21#1接收到S记录格式的程序数据并在存储器25中展开后,基于包含在其中的S0记录的信息,识别程序数据是针对FPGA的,还是针对PSoC的,将程序数据下载到光模块12内的FPGA、PSoC这样的可编程电子元件并进行更新。
此时,程序数据从微处理器21#1向可编程电子元件的下载和更新遵循可编程电子元件的接口等的规格。具体地说,可以列举UART(Universal Asynchronous Receiver/Transmitter通用异步收发器)等三根信号线的串行通信、JTAG(Joint Test Action Group联合测试行为组织)等添加了时钟的四根通信线的规格、ASCII代码或二进制代码等发送数据格式等的规格。此外,如果是应用程序的更新,则也可以列举与I2C(Inter-IntegratedCircuit集成电路总线)或USB(Universal Serial Bus通用串行总线)等通信端口配合的接口。
例如,对于FPGA221,通过串行通信单元传送配置数据,对于PSoC222,与该部件的规格配合而通过串行通信单元传送例如Intel(注册商标)Hex格式的数据。即,与进行下载和更新的更新对象的可编程电子元件的规格配合来选择传送步骤。
图12表示从上位设备11下载到微处理器21的S记录格式数据的结构。在这种情况下,分为微处理器21#1、FPGA221、PSoC222的三个块B1、B2、B3的程序数据作为一个S记录格式数据从上位设备11发送到微处理器21#1。
例如,在位于各块的最初的S0记录中记入下载包含于该块的程序数据的可编程电子元件的识别码、程序数据的版本和程序数据的字节数。在第三技术中,使用可编程电子元件的识别码,基于记录于存储器25的对应表,选择适合于各可编程电子元件的程序数据和程序数据的下载单元,识别是针对FPGA221的,还是针对PSoC222的,微处理器21#1能够更新自身的程序数据,并且利用与光模块12内的其他可编程电子元件连接的串行通信用接口,通过适合于各可编程电子元件的下载单元,向各可编程电子元件传送程序数据。
如上所述,本发明的第三技术的特征在于,在上述程序数据更新方法中,光模块12内的可编程电子元件是微处理器21、FPGA221或PSoC222。
按照本技术,与上位设备11具有通信单元的微处理器21在将发送来的S记录在光模块12内的存储器25中复原为二进制数据或文本数据之后,能够基于位于各块的开头的S0记录中记入的更新对象的识别信息和程序数据更新所需的信息,选择适合于各可编程电子元件的程序数据的下载单元并执行。
(本发明的第四技术)
图13表示基于本发明第四技术的程序数据的更新方法。按照该技术,在通过通信单元与上位设备11连接的微处理器21#1还连接有非易失性存储器26。微处理器21#1在将从上位设备11下载的S记录格式的数据复原到存储器25上之后,对每个成为对象的可编程电子元件,将复制数据记录于非易失性存储器26上的区域。此后,对微处理器21#1和FPGA221或PSoC222#1这样的光模块12内的可编程电子元件的程序数据进行更新。
如果由于更新后的运用而发生由任意一个可编程电子元件的程序数据引起的问题的情况下,微处理器21#1能够将保存于非易失性存储器26的区域的旧版本的程序数据下载到自身或相应的可编程电子元件并进行更新,因此可以不从上位设备11下载包含旧版本的S记录格式的数据而恢复正常的动作。另外,图中虚线所示的未安装的PSoC222#2、驱动电路23#3和光器件24#3例如包含于可插拔的模块并有可能在运用中被追加。
图14表示以在微处理器21将程序数据下载到PSoC222之后该程序数据发生了问题的情况为例,将正常动作的版本的程序再次下载到PSoC222的步骤。
根据该图,在从上位设备11通过通信单元下载的S记录中包含PSoC222的新版本的程序数据(版本2)的情况下,微处理器21将该程序数据记录于非易失性存储器26上的与PSoC222中正常动作的程序数据(版本1)不同的区域(S101)。接着,微处理器21将新版本的程序数据(版本2)下载到PSoC222并开始运用(S102)。此后,微处理器21定期地使用通信单元从内置于PSoC222的存储器读取在动作中产生的错误信息(S103)。
此时,在检测到起因于新下载的程序的动作异常的情况下(S104),例如,虽然微处理器21向PSoC222发送了设定100mA作为驱动电路#2的输出的指令,但是PSoC222检测到驱动电路23的电流监视器表示容许范围外的输出的错误时,微处理器21从非易失性存储器26读出更新前的在PSoC222中正常动作的程序数据(版本1),并再次下载到PSoC222(S105),使光模块12的动作恢复正常。
图15表示利用该技术记录程序数据的非易失性存储器26的存储器映射的例子。在该例子中,包括微处理器21#1的四个可编程电子元件的程序数据分别记录有两个版本。在此,在区域A1中记录有在从区域A2到区域A9记录的程序数据的地址、动作的程序数据的版本的信息,此外还记录有下载S记录格式的数据时记载于各块的S0记录的信息、即对应的可编程电子元件、程序数据的版本、更新所需的信息。因此,在基于非易失性存储器26上的数据来更新程序数据时,与下载S记录格式的数据时同样,也能够使用记录于区域A1的信息,下载到相应的光模块12内的可编程电子元件。
另外,在图15的存储器映射中,在区域A8和区域A9记录有作为光模块12中未包含的可编程电子元件的PSoC222#2的程序数据。按照该结构,即使在以运用中能够插拔的方式连接了图13中由虚线表示的安装了PSoC222#2、驱动电路23#3、光器件24#3的可编程电子元件的情况下,微处理器21#1也能够对记录于非易失性存储器26的区域A1的PSoC222#2用程序数据的版本信息与在连接的PSoC222#2中动作的程序数据的版本进行比较,并且对区域A8和区域A9的程序数据的版本进行比较,在区域A8的程序数据为最新的情况下,从区域A8读出程序数据并下载到新连接的PSoC222#2来更新程序数据。
如上所述,本发明的第四技术的特征在于,在上述程序数据更新方法中,将从上位设备11通过通信单元下载的S记录中包含的程序数据,按照每个块记录在非易失性存储器26上,在相同的非易失性存储器26上的与程序数据不同的区域记录有:存储有上述程序数据的存储器上的地址、各块的S0记录中记载的程序数据的版本、能够应用该程序数据的可编程电子元件的种类的信息、以及对于光模块12内的可编程的可编程电子元件当前和过去应用的程序数据的版本的组合的信息。
按照本发明的更新方法,通过将不同版本的程序数据预先记录在非易失性存储器26上,在包含于光模块12的多个可编程电子元件的程序数据中发生了问题的情况下,能够通过从非易失性存储器26下载正常动作的版本的程序数据来恢复动作。
此外,也能够将应用于在从上位设备11下载的时点未与光模块12连接的可编程电子元件的程序数据预先记录在非易失性存储器26上,因此具有对于在运用中新连接的可编程电子元件也能够根据需要更新程序数据的优点。
工业实用性
本发明能够应用于信息通信工业。
附图标记说明
10:光传输装置
11:上位设备
12:光模块
21:微处理器
22:可编程电子元件
23:驱动电路
24:光器件
25:存储器
26:非易失性存储器
100:信息处理装置
111:上位设备
112:模块
113:通信部
114:存储器
121:微处理器
122:电子元件
124:器件
125:存储器
221:FPGA
222:PSoC。
Claims (7)
1.一种程序数据更新方法,在通过使电子元件动作而发挥功能的模块中,更新控制所述电子元件的动作的微处理器和所述电子元件的控制程序,所述程序数据更新方法的特征在于,
所述微处理器取得包含块的更新信息,将所述更新信息中包含的程序数据按照每个块复原到存储器上,所述块依次记载有表示记录的开始且包含识别更新对象的识别信息的头记录、用于更新与记载于所述头记录的所述识别信息对应的所述更新对象的所述控制程序的程序数据、以及表示记录的末端的结束记录,
所述微处理器使用记载于所述头记录的所述识别信息,判断所述更新对象是所述微处理器和所述电子元件中的哪一个,
所述微处理器使用与所述更新对象对应的复原到所述存储器上的所述程序数据,更新所述更新对象的控制程序。
2.根据权利要求1所述的程序数据更新方法,其特征在于,
所述更新对象的所述识别信息除了包含识别所述更新对象的识别码以外,还包含所述微处理器向所述电子元件下载程序数据时所需的参数,
所述微处理器使用所述参数和所述识别码,识别所述电子元件的程序数据更新单元的规格,
所述微处理器按照所述规格将该电子元件的程序数据传送到该电子元件。
3.根据权利要求2所述的程序数据更新方法,其特征在于,
所述微处理器通过参照在所述电子元件中固有的所述识别码与所述电子元件的程序数据更新单元的所述规格的对应表,识别与记载于所述头记录的所述识别信息对应的所述电子元件的程序数据更新单元的所述规格,
所述微处理器按照所述规格将该电子元件的程序数据传送到该电子元件。
4.根据权利要求1至3中任意一项所述的程序数据更新方法,其特征在于,
所述模块还包括非易失性存储器,
所述微处理器在将所述电子元件的所述程序数据的复制数据记录于所述非易失性存储器之后,使用保存于所述非易失性存储器的所述程序数据,更新所述更新对象的所述电子元件的控制程序。
5.一种模块,通过使电子元件动作而发挥功能,其特征在于,
所述模块包括存储程序数据的存储器和控制所述电子元件的动作的微处理器,
所述微处理器取得包含块的更新信息,将所述更新信息中包含的程序数据按照每个块复原到所述存储器上,所述块依次记载有表示记录的开始且包含更新对象的识别信息的头记录、用于更新与记载于所述头记录的所述识别信息对应的更新对象的控制程序的程序数据、以及表示记录的末端的结束记录,
所述微处理器使用记载于所述头记录的所述识别信息,判断所述更新对象是所述微处理器和所述电子元件中的哪一个,
所述微处理器使用连接所述微处理器和所述电子元件之间的通信单元,更新所述电子元件的程序数据。
6.根据权利要求5所述的模块,其特征在于,
所述模块包括:
光模块,对光信号进行发送、接收、放大或开关;以及
驱动电路,基于所述电子元件的控制,使包含于所述光模块的光器件动作。
7.一种信息处理装置,其特征在于包括:
至少一个如权利要求5或6所述的模块;
通信部,从外部接收所述更新信息;以及
上位设备,将所述通信部接收到的所述更新信息传送到所述模块所具备的各微处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018238133A JP7281275B2 (ja) | 2018-12-20 | 2018-12-20 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
JP2018-238133 | 2018-12-20 | ||
PCT/JP2019/034383 WO2020129324A1 (ja) | 2018-12-20 | 2019-09-02 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113168318A true CN113168318A (zh) | 2021-07-23 |
Family
ID=71102782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980079435.0A Pending CN113168318A (zh) | 2018-12-20 | 2019-09-02 | 模块和包括该模块的信息处理装置以及更新模块的程序数据的程序数据更新方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11853736B2 (zh) |
EP (1) | EP3901765B1 (zh) |
JP (1) | JP7281275B2 (zh) |
CN (1) | CN113168318A (zh) |
CA (1) | CA3123795A1 (zh) |
WO (1) | WO2020129324A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7281275B2 (ja) | 2018-12-20 | 2023-05-25 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206572A (en) * | 1988-06-22 | 1993-04-27 | Siemens Energy & Automation, Inc. | Motor controller |
JPH0219902A (ja) * | 1988-07-08 | 1990-01-23 | Fanuc Ltd | プログラマブルコントローラ |
US20030083929A1 (en) * | 1999-05-17 | 2003-05-01 | Haynes & Boone Llp | Method and apparatus for tracking banner advertising |
JP3985737B2 (ja) * | 2003-06-20 | 2007-10-03 | ソニー株式会社 | ソフトウェア更新システムと電子機器およびソフトウェア更新方法 |
JP2005032014A (ja) * | 2003-07-04 | 2005-02-03 | Fuji Xerox Co Ltd | データ処理装置、データ処理装置の起動プログラム、データ処理装置の起動方法 |
HUE037902T2 (hu) * | 2003-07-17 | 2018-09-28 | E Distribuzione S P A | Eljárás és rendszer villanyáram, víz vagy gáz fogyasztásmérõinek távoli frissítésére |
JP2006201878A (ja) * | 2005-01-18 | 2006-08-03 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JP2008165263A (ja) * | 2006-12-26 | 2008-07-17 | D & M Holdings Inc | データ処理装置及びデータ処理方法 |
JP2008257564A (ja) * | 2007-04-06 | 2008-10-23 | Ricoh Printing Systems Ltd | 印刷システム及びそのファームウェア更新方法 |
JP2009014858A (ja) * | 2007-07-02 | 2009-01-22 | Fuji Xerox Co Ltd | 光電子回路基板および光電子回路基板の検査装置 |
US8429643B2 (en) * | 2007-09-05 | 2013-04-23 | Microsoft Corporation | Secure upgrade of firmware update in constrained memory |
JP2010195111A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Ten Ltd | 車載コンピュータシステム |
JP2012093961A (ja) * | 2010-10-27 | 2012-05-17 | Omron Automotive Electronics Co Ltd | 制御装置及び方法、並びにプログラム書込システム |
KR101254875B1 (ko) * | 2011-05-18 | 2013-04-15 | 삼성에스디아이 주식회사 | 배터리 팩 관리시스템 |
JP5948806B2 (ja) * | 2011-11-16 | 2016-07-06 | 富士通株式会社 | プラグインカード収容装置及びプラグインカード制御方法 |
JP5901242B2 (ja) * | 2011-11-18 | 2016-04-06 | キヤノン株式会社 | 画像形成装置、制御方法、及びプログラム |
FR3037190B1 (fr) * | 2015-06-02 | 2017-06-16 | Radiall Sa | Module optoelectronique pour liaison optique sans contact mecanique, ensemble de modules, systeme d'interconnexion, procede de realisation et de connexion a une carte associes |
JP7281275B2 (ja) | 2018-12-20 | 2023-05-25 | Nttエレクトロニクス株式会社 | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
WO2020129234A1 (ja) | 2018-12-21 | 2020-06-25 | 三菱重工エンジン&ターボチャージャ株式会社 | ターボ機械 |
-
2018
- 2018-12-20 JP JP2018238133A patent/JP7281275B2/ja active Active
-
2019
- 2019-09-02 WO PCT/JP2019/034383 patent/WO2020129324A1/ja unknown
- 2019-09-02 CA CA3123795A patent/CA3123795A1/en active Pending
- 2019-09-02 US US17/299,166 patent/US11853736B2/en active Active
- 2019-09-02 EP EP19900098.5A patent/EP3901765B1/en active Active
- 2019-09-02 CN CN201980079435.0A patent/CN113168318A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3901765B1 (en) | 2024-04-24 |
EP3901765A1 (en) | 2021-10-27 |
JP7281275B2 (ja) | 2023-05-25 |
US11853736B2 (en) | 2023-12-26 |
JP2020101889A (ja) | 2020-07-02 |
EP3901765A4 (en) | 2022-08-31 |
US20220035619A1 (en) | 2022-02-03 |
WO2020129324A1 (ja) | 2020-06-25 |
CA3123795A1 (en) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6892216B2 (en) | Common platform for use in automotive services | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
US20030221092A1 (en) | Method and system of switching between two or more images of firmware on a host device | |
KR102155289B1 (ko) | 임베디드 시스템의 펌웨어 관리 시스템 및 방법 | |
CN101216773A (zh) | 一种嵌入式Linux系统固件下载方法和装置 | |
US7984239B2 (en) | Control program download device | |
KR20110076432A (ko) | Can 통신을 이용한 다중 프로그램 업데이트 시스템 및 방법 | |
CN107346244A (zh) | 一种汽车eps控制器程序自动化下载系统及方法 | |
CN113168318A (zh) | 模块和包括该模块的信息处理装置以及更新模块的程序数据的程序数据更新方法 | |
US6301656B1 (en) | Method and apparatus for initial programming of flash based firmware | |
US20140371533A1 (en) | Endoscope device and endoscope system | |
CN110908733A (zh) | 工作模式确定方法及装置、控制方法及装置 | |
KR101917378B1 (ko) | 리프로그래밍 장치, 전자제어유닛 및 이를 이용한 리프로그래밍 방법 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
CN106548311B (zh) | 库存管理设定系统 | |
JP2005010912A (ja) | プログラムおよびコンピュータ | |
JP2015162179A (ja) | プログラマブルコントローラのシーケンスプログラム置き換え方法 | |
KR20030011553A (ko) | 전자장치 및 수정방법 | |
CN115544521B (zh) | 一种离线安装文件的校验和生成方法及装置 | |
CN111796835B (zh) | 一种数据处理方法、嵌入式设备及存储介质 | |
JP2009123134A (ja) | Usbホスト装置、及びusbホスト装置の製造方法 | |
KR101900729B1 (ko) | Plc 운영체제 구동 방법 | |
CN112328273A (zh) | 汽车离线程序快速升级工具系统 | |
CN103688242A (zh) | 用于机动车的控制装置、编程装置和编程系统 | |
KR20080017675A (ko) | 이동통신 시스템에서 데이터를 내려받는 보드 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |