JP2007156914A - Electronic device and control program transfer method - Google Patents

Electronic device and control program transfer method Download PDF

Info

Publication number
JP2007156914A
JP2007156914A JP2005352429A JP2005352429A JP2007156914A JP 2007156914 A JP2007156914 A JP 2007156914A JP 2005352429 A JP2005352429 A JP 2005352429A JP 2005352429 A JP2005352429 A JP 2005352429A JP 2007156914 A JP2007156914 A JP 2007156914A
Authority
JP
Japan
Prior art keywords
controller
control program
bus
control
cpu
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.)
Withdrawn
Application number
JP2005352429A
Other languages
Japanese (ja)
Inventor
Tetsuya Hori
哲也 堀
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005352429A priority Critical patent/JP2007156914A/en
Publication of JP2007156914A publication Critical patent/JP2007156914A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the speed of rewriting a control program of each of the modules comprising an electronic device without providing a dedicated interface, and ensure reliability of the program transfer between the modules. <P>SOLUTION: First and second controllers connected to a first bus that can communicate bidirectionally are connected by a plurality of second buses for data transfer only from the first controller to the second controller at a speed higher than the first bus. When a new control program for the second controller is inputted from the outside, the first controller notifies the second controller of the start of the transfer, through the first bus, and then transmits the control program to each of the plurality of the second buses. When receiving the notification, the second controller compares the control program received through each of the plurality of the second buses, and when the number of the same control program is a predetermined threshold value or more, stores the control program. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、電子機器の駆動制御を行うための制御プログラムを書き換えるための技術に関する。   The present invention relates to a technique for rewriting a control program for performing drive control of an electronic device.

近年、画像処理装置の高性能化および高機能化に伴い、その駆動制御を行うための制御プログラムのプログラム構造が複雑になってきているとともに、そのプログラム規模も大きくなってきている。その一方で、市場への新製品の投入サイクルは短縮化する傾向にあり、制御プログラムの開発期間も短縮化される傾向にある。このため、制御プログラムの開発段階でプログラムテストに充分な時間をかけることができず、製品出荷後に制御プログラムの不良(所謂バグ)が顕在化し、製品出荷後に制御プログラムの書き換えを行う頻度が増加している。また、制御プログラムのプログラム規模の増加に伴い、その書き換え作業に要する時間も長くなってきている。   In recent years, as the performance and functionality of image processing apparatuses have increased, the program structure of a control program for performing drive control has become complicated, and the program scale has also increased. On the other hand, the introduction cycle of new products to the market tends to be shortened, and the development period of the control program tends to be shortened. For this reason, it is not possible to spend a sufficient amount of time for the program test at the development stage of the control program, and a defect (so-called bug) of the control program becomes apparent after the product is shipped, and the frequency of rewriting the control program after the product is shipped increases. ing. Further, with the increase in the program size of the control program, the time required for the rewriting work has become longer.

ところで、画像処理装置は、その画像処理装置全体の駆動制御や外部とのデータの入出力を行うシステムコントローラやそのシステムコントローラの制御下で画像処理エンジンの駆動制御を行うエンジンコントローラなどの複数のモジュールで構成されており、各モジュールがCPUとそのCPUに実行させる制御プログラムが書き込まれたメモリとを含んでいることが一般的である。
このような画像処理装置において、その製品出荷後に、例えばエンジンコントローラ用の制御プログラムを書き換える場合には、新たな制御プログラムをシステムコントローラによって外部から取得し、その制御プログラムをエンジンコントローラへ転送(以下、「ダウンロード」とも呼ぶ)してその書き換えを行わせる。そして、システムコントローラからエンジンコントローラへの制御プログラムの転送には、双方向通信が可能でパリティチェックなどによりデータ化けの発生を検出することが可能なシリアルバスが用いられることが一般的であった。
By the way, the image processing apparatus includes a plurality of modules such as a system controller that performs drive control of the entire image processing apparatus and external data input / output, and an engine controller that performs drive control of the image processing engine under the control of the system controller In general, each module includes a CPU and a memory in which a control program to be executed by the CPU is written.
In such an image processing apparatus, when a control program for an engine controller is rewritten after the product is shipped, for example, a new control program is acquired from the outside by the system controller, and the control program is transferred to the engine controller (hereinafter referred to as “the engine controller”). (It is also called “download”) and it is rewritten. For transferring the control program from the system controller to the engine controller, a serial bus capable of bidirectional communication and capable of detecting occurrence of garbled data by parity check or the like is generally used.

しかしながら、制御プログラムの転送にシリアルバスを用いる態様では、メモリへの制御プログラムの書き込み速度に比較してシリアルバスの転送速度が遅く、制御プログラムの書き換え処理の高速化が難しいといった問題点があった、このような問題点を解決するために、シリアルバスの転送速度を向上させることも提案されてはいるが(特許文献1参照)、転送データにデータ化けが生じているか否かをチェックするチェック作業がボトルネックになってしまい、結局、制御プログラムの書き換えを高速化することはできない。
そこで、制御プログラムの書き換えを高速化するための技術が従来より種々提案されており、その一例としては、特許文献2や特許文献3に開示された技術が挙げられる。特許文献2には、画像処理装置を構成する各モジュール間で制御プログラムの転送を行う際に、シリアルバスよりも高速なパラレルバスである画像データバスを用いるようにする技術が開示されている。また、特許文献3には、制御プログラムをダウンロードするための専用インタフェイスを設けることにより、制御プログラムの書き換えを高速化する技術が開示されている。
特開2001−318800号公報 特開2001−313767号公報 特開2002−247256号公報
However, in the aspect using the serial bus for the transfer of the control program, there is a problem that the transfer speed of the serial bus is slower than the write speed of the control program to the memory, and it is difficult to speed up the rewrite process of the control program. In order to solve such problems, it has been proposed to improve the transfer speed of the serial bus (see Patent Document 1), but a check for checking whether or not the transfer data is garbled. Work becomes a bottleneck, and eventually rewriting of the control program cannot be accelerated.
Therefore, various techniques for speeding up the rewriting of the control program have been proposed, and examples thereof include the techniques disclosed in Patent Document 2 and Patent Document 3. Patent Document 2 discloses a technique for using an image data bus, which is a parallel bus faster than a serial bus, when transferring a control program between modules constituting an image processing apparatus. Patent Document 3 discloses a technique for speeding up rewriting of a control program by providing a dedicated interface for downloading the control program.
JP 2001-318800 A JP 2001-313767 A JP 2002-247256 A

しかしながら、画像データバスは、一般に、片方向の通信(すなわち、システムコントローラからエンジンコントローラへのデータ転送)のみにしか対応していないため、パリティチェックなどによるデータ化けの検出が不可能であり、前述したシリアルバス経由のデータ転送に比較して、データ転送の信頼性が著しく低下してしまう、といった問題点がある。   However, since the image data bus generally supports only one-way communication (that is, data transfer from the system controller to the engine controller), it is impossible to detect data corruption by parity check or the like. As compared with the data transfer via the serial bus, there is a problem that the reliability of the data transfer is significantly lowered.

また、特許文献3に開示された技術のように、プログラム転送用の専用インタフェイスを設けるようにすれば、データ転送の信頼性を確保しつつその転送速度を向上させることが可能になるが、このような専用インタフェイスを設けることは画像処理装置の製造コストを上昇させてしまい、好ましくない。なお、上記各問題点は、画像処理装置に限ったことではなく、複数のモジュールにより構成され、各モジュールの駆動制御が制御プログラムにしたがって行われるような電子機器に共通の問題点である。   Further, if a dedicated interface for program transfer is provided as in the technique disclosed in Patent Document 3, the transfer speed can be improved while ensuring the reliability of data transfer. Providing such a dedicated interface increases the manufacturing cost of the image processing apparatus and is not preferable. Each of the above problems is not limited to the image processing apparatus, but is a problem common to electronic devices that are configured by a plurality of modules and in which drive control of each module is performed according to a control program.

本発明は、上記課題に鑑みて為されたものであり、プログラム転送用の専用インタフェイスを設けることなく、電子機器を構成する各モジュールの駆動制御を行うための制御プログラムの書き換えを高速化するとともに、モジュール間でのプログラム転送の信頼性を確保することを可能にする技術を提供することを目的としている。   The present invention has been made in view of the above problems, and speeds up rewriting of a control program for performing drive control of each module constituting an electronic device without providing a dedicated interface for program transfer. At the same time, an object of the present invention is to provide a technology that makes it possible to ensure the reliability of program transfer between modules.

上記課題を解決するために、本発明は、CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、外部からのデータ入力を受け付ける外部入力手段と、を含む第1のコントローラと、CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、を含む第2のコントローラと、前記第1のコントローラと前記第2のコントローラとの間のデータ転送を双方向に仲介する第1のバスと、前記第1のコントローラから前記第2のコントローラへのデータ転送を仲介する第2のバスであって、前記第1のバスよりも高速な第2のバスを複数有する電子機器において、前記第1のコントローラは、前記第2のコントローラ向けの新たな制御プログラムが前記外部入力手段を介して入力された場合に、前記新たな制御プログラムの転送を開始する旨の制御信号を前記第1のバスを介して前記第1のコントローラへ送信し、その後、前記新たな制御プログラムを前記複数の第2のバスの各々へと送出し、前記第2のコントローラは、前記第1のバスを介して前記制御信号を受信した場合に、その後、前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較し、同一である制御プログラムの数が予め定められた閾値以上である場合に、該同一である制御プログラムでメモリの格納内容を更新することを特徴とする電子機器、を提供する。
このような態様によれば、外部入力手段を介して入力された第2のコントローラ向けの制御プログラムが上記第1のバスよりも高速な上記複数の第2のバスの各々を介して第1のコントローラから第2のコントローラへと転送される。そして、上記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較した結果、同一である制御プログラムの個数が予め定められた閾値以上である場合に、該同一である制御プログラムで第2のコントローラのメモリの格納内容が更新される。逆に、第2のバスを介した転送過程でのデータ化けなどのエラー発生頻度が高いと、上記同一である制御プログラムの個数は上記閾値に達せず制御プログラムの書き換えが行われることはない。これにより、データ化けによる影響を回避し、データ転送の信頼性を維持することが可能になる。
In order to solve the above-described problems, the present invention provides a CPU, a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance, and external input means for receiving external data input A second controller including a first controller including: a CPU; and a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance. A first bus that bidirectionally mediates data transfer between the controller and the second controller, and a second bus that mediates data transfer from the first controller to the second controller; In the electronic apparatus having a plurality of second buses faster than the first bus, the first controller is a new one for the second controller. When a control program is input via the external input means, a control signal for starting transfer of the new control program is transmitted to the first controller via the first bus, and then The new control program is sent to each of the plurality of second buses, and when the second controller receives the control signal via the first bus, the plurality of second control programs are thereafter transmitted. The control programs received via each of the two buses are compared with each other, and when the number of identical control programs is equal to or greater than a predetermined threshold, the stored contents of the memory are updated with the same control program. An electronic device characterized by the above is provided.
According to such an aspect, the control program for the second controller input via the external input means is the first through the plurality of second buses that are faster than the first bus. Transfer from the controller to the second controller. Then, as a result of comparing the control programs received via each of the plurality of second buses with each other, if the number of the same control programs is equal to or greater than a predetermined threshold, the same control program The content stored in the memory of the second controller is updated. On the other hand, if the error occurrence frequency such as data corruption in the transfer process via the second bus is high, the number of the same control programs does not reach the threshold value and the control program is not rewritten. As a result, it is possible to avoid the influence of data corruption and maintain the reliability of data transfer.

より好ましい態様においては、前記第1のコントローラは、前記新たな制御プログラムを前記複数の第2のバスの各々へと送出した後に、その再送信を要求する旨の応答信号を前記第1のバスを介して前記第2のコントローラから受信した場合には、前記複数の第2のバスまたは前記第1のバスの何れかを介して前記新たな制御プログラムを再送信し、前記第2のコントローラは、前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較した結果、同一である制御プログラムの数が前記予め定められた閾値未満である場合には、前記応答信号を前記第1のバスを介して前記第1のコントローラへ返信することを特徴としている。   In a more preferred aspect, the first controller sends a response signal for requesting retransmission after the new control program is sent to each of the plurality of second buses. When receiving from the second controller via the second controller, the second controller retransmits the new control program via either the plurality of second buses or the first bus, and the second controller When the control programs received via each of the plurality of second buses are compared with each other and the number of identical control programs is less than the predetermined threshold, the response signal is It returns to the said 1st controller via 1 bus | bath, It is characterized by the above-mentioned.

さらに好ましい態様においては。前記第2のコントローラは、前記応答信号を返信する際には、前記複数の第2のバスを介した通信のエラー発生状況または前記第2のコントローラのメモリへの書き込み状況を検出し、その検出結果を前記応答信号に付加して返信し、前記第1のコントローラは、前記第1のバスを介して受信した応答信号に付加されている前記検出結果に応じて、前記新たな制御プログラムを再送信する際に使用するバスを切り替えることを特徴としている。
なお、上記各態様において、前記第2のコントローラを複数有するとしても良いことは勿論である。
In a further preferred embodiment. When the second controller returns the response signal, the second controller detects an error occurrence state of communication via the plurality of second buses or a write state to the memory of the second controller, and the detection The result is added to the response signal and returned, and the first controller re-executes the new control program according to the detection result added to the response signal received via the first bus. It is characterized by switching the bus used for transmission.
In each of the above aspects, it is needless to say that a plurality of the second controllers may be provided.

また、上記課題を解決するために本発明は、CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、外部からのデータ入力を受け付ける外部入力手段と、を含む第1のコントローラと、CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、を含む第2のコントローラと、前記第1のコントローラと前記第2のコントローラとの間のデータ転送を双方向に仲する第1のバスと、前記第1のコントローラから前記第2のコントローラへのデータ転送を仲介する第2のバスであって、前記第1のバスよりも高速な複数の第2のバスと、を有する電子機器内で前記外部入力手段により前記第1のコントローラが取得した前記第2のコントローラ向けの制御プログラムを前記第1のコントローラから前記第2のコントローラへ転送する制御プログラム転送方法において、前記第1のコントローラが、前記新たな制御プログラムの転送を開始する旨の制御信号を前記第1のバスを介して前記第1のコントローラへと送信した後に、前記新たな制御プログラムを前記複数の第2のバスの各々へと送出する第1のステップと、前記第2のコントローラが、前記第1のバスを介して前記制御信号を受信した後に前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較し、同一である制御プログラムの数が予め定められた閾値以上である場合に、該同一である制御プログラムでメモリの格納内容を更新する第2のステップと、を含んでいることを特徴とする制御プログラム転送方法、を提供する。   In order to solve the above problem, the present invention provides a CPU, a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance, and an external input for receiving external data input A second controller including a first controller including: a CPU; and a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance. A first bus that bidirectionally transfers data between the second controller and the second controller, and a second bus that mediates data transfer from the first controller to the second controller. The first controller acquired by the external input means in an electronic device having a plurality of second buses faster than the first bus. In a control program transfer method for transferring a control program for two controllers from the first controller to the second controller, the first controller sends a control signal to start transfer of the new control program. A first step of transmitting the new control program to each of the plurality of second buses after being transmitted to the first controller via the first bus; and A threshold value in which the number of control programs that are identical by comparing the control programs received via each of the plurality of second buses after receiving the control signal via the first bus is predetermined. And a second step of updating the stored contents of the memory with the same control program. Your program transfer method, to provide.

本発明によれば、プログラム転送用の専用インタフェイスを設けることなく、電子機器を構成する各モジュールの駆動制御を行うための制御プログラムの書き換えを高速化するとともに、モジュール間でのプログラム転送の信頼性を確保することが可能になる、といった効果を奏する。   According to the present invention, it is possible to speed up rewriting of a control program for performing drive control of each module constituting an electronic device without providing a dedicated interface for program transfer, and to improve reliability of program transfer between modules. There is an effect that it becomes possible to ensure the sex.

以下、図面の参照しつつ本発明の実施形態について説明する。
(A.構成)
図1は、本発明に係る電子機器の1実施形態である画像形成装置の構成例を示すブロック図である。この画像形成装置は、複数のモジュールにより構成されており、具体的には、印刷用紙などの記録材上に電子写真方式で画像形成(画像の印刷)を行う画像形成部、この画像形成部の駆動制御を行うエンジンコントローラ200、エンジンコントローラ200の駆動制御および外部とのデータ授受を行うシステムコントローラ100、を有している。
図1に示すように、システムコントローラ100とエンジンコントローラ200とは、双方向通信が可能な第1のバスであるシリアルバス300と、R、GおよびBの各色に対応した画像データをシステムコントローラ100からエンジンコントローラ200へ転送するための第2のバスとして機能する画像データバス400R、400Gおよび400Bに接続されている。上記各画像データバスは、パラレルバスであり、シリアルバス300よりも高速にデータ転送を行うことが可能である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(A. Configuration)
FIG. 1 is a block diagram illustrating a configuration example of an image forming apparatus which is an embodiment of an electronic apparatus according to the present invention. The image forming apparatus includes a plurality of modules. Specifically, an image forming unit that performs image formation (image printing) on a recording material such as printing paper by an electrophotographic method, It has an engine controller 200 that performs drive control, and a system controller 100 that performs drive control of the engine controller 200 and exchanges data with the outside.
As shown in FIG. 1, the system controller 100 and the engine controller 200 send a serial bus 300, which is a first bus capable of bidirectional communication, and image data corresponding to each color of R, G, and B to the system controller 100. Are connected to image data buses 400R, 400G, and 400B that function as a second bus for transferring data to the engine controller 200. Each of the image data buses is a parallel bus, and can transfer data at a higher speed than the serial bus 300.

システムコントローラ100は、図1に示すように、CPU110、不揮発性メモリ120、揮発性メモリ130、外部入力部140、ハードディスクドライブ(図1では、HDD)150および画像処理部160を有している。   As shown in FIG. 1, the system controller 100 includes a CPU 110, a nonvolatile memory 120, a volatile memory 130, an external input unit 140, a hard disk drive (HDD in FIG. 1) 150, and an image processing unit 160.

不揮発性メモリ120は、例えばEEPROM(Electronically Erasable and Programmable Read Only Memory)である。この不揮発性メモリ120には、システムコントローラ100の制御対象であるエンジンコントローラ200の駆動制御や画像形成装置の外部とのデータ授受を行うための制御プログラムがその画像形成装置の工場出荷時点で予め書き込まれている。なお、本実施形態では、不揮発性メモリ120が、EEPROMである場合について説明するが、データの書き換えが可能であり、かつ、データを不揮発に記憶するメモリであれば、どのようなメモリであっても良い。
揮発性メモリ130は、例えばRAM(Random Access Memory)であり、上記制御プログラムをCPU110が実行する際にワークリエアとして利用される。
The nonvolatile memory 120 is, for example, an EEPROM (Electronically Erasable and Programmable Read Only Memory). In the nonvolatile memory 120, a control program for performing drive control of the engine controller 200 which is a control target of the system controller 100 and data exchange with the outside of the image forming apparatus is written in advance when the image forming apparatus is shipped from the factory. It is. In the present embodiment, the case where the nonvolatile memory 120 is an EEPROM will be described. However, any memory can be used as long as it can rewrite data and stores data in a nonvolatile manner. Also good.
The volatile memory 130 is a RAM (Random Access Memory), for example, and is used as a work area when the CPU 110 executes the control program.

外部入力部140は、例えばNIC(Network Interface Card)であり、LAN(Local Area Network)やインターネットなどの通信網に接続されている。この外部入力部140は、上記通信網を介して受信したデータをCPU110へと引き渡す。本実施形態では、システムコントローラ100やエンジンコントローラ200向けの新たな制御プログラムや、画像形成部により印刷用紙などの記録材に形成するべき画像を表す画像データが、外部入力部140を介して画像形成装置の外部から入力される。なお、本実施形態では、画像形成装置へ画像データや制御プログラムを入力するための外部入力部140がNICである場合について説明したが、CD−ROM(Compact Disk-Read Only Memory)などのコンピュータ装置読み取り可能な記録媒体に書き込まれている画像データや制御プログラムをその記録媒体から読み取る記録媒体読み取り手段(例えば、CD−ROMドライブ)であっても良いことは勿論である。   The external input unit 140 is a NIC (Network Interface Card), for example, and is connected to a communication network such as a LAN (Local Area Network) or the Internet. The external input unit 140 passes the data received via the communication network to the CPU 110. In this embodiment, a new control program for the system controller 100 and the engine controller 200 and image data representing an image to be formed on a recording material such as printing paper by the image forming unit are formed via the external input unit 140. Input from outside the device. In this embodiment, the case where the external input unit 140 for inputting image data and a control program to the image forming apparatus is a NIC has been described. However, a computer apparatus such as a CD-ROM (Compact Disk-Read Only Memory) is used. Of course, it may be a recording medium reading means (for example, a CD-ROM drive) for reading image data or a control program written in a readable recording medium from the recording medium.

画像処理部160は、図1に示すように、分配手段160aとFIFO160bとを有しており、FIFO160bは前述した画像データバス400R、400Gおよび400Bに接続されている。分配手段160aは、CPU110の制御の下、画像データを引き渡された場合には、その画像データをFIFO160bを介してその色成分毎に対応する画像データバスへと送出し、エンジンコントローラ200向けの新たな制御プログラムを引き渡された場合には、その制御プログラムを上記画像データバスの数分だけ複製し、その各々を1つづつ上記画像データバスの各々へと送出する。   As shown in FIG. 1, the image processing unit 160 includes a distribution unit 160a and a FIFO 160b, and the FIFO 160b is connected to the image data buses 400R, 400G, and 400B described above. When the image data is delivered under the control of the CPU 110, the distribution unit 160a sends the image data to the image data bus corresponding to each color component via the FIFO 160b, and the new data for the engine controller 200 is sent. When the control program is delivered, the control program is duplicated by the number of the image data buses, and each of them is sent one by one to each of the image data buses.

一方、エンジンコントローラ200は、図1に示すように、CPU210、不揮発性メモリ220、揮発性メモリ230、エンジン制御部240および画像処理部260を有している。なお、不揮発性メモリ220は、不揮発性メモリ120と同様にEEPROMであり、エンジンコントローラ200の制御対象である画像形成部の駆動制御をCPU210に実行させるための制御プログラムが、画像形成装置の工場出荷時点で予め書き込まれている。また、揮発性メモリ230は、揮発性メモリ130と同様にRAMであり、上記制御プログラムの実行過程で、CPU210によってワークエリアとして利用される。   On the other hand, the engine controller 200 includes a CPU 210, a non-volatile memory 220, a volatile memory 230, an engine control unit 240, and an image processing unit 260, as shown in FIG. The non-volatile memory 220 is an EEPROM, like the non-volatile memory 120, and a control program for causing the CPU 210 to execute drive control of the image forming unit to be controlled by the engine controller 200 is shipped from the factory of the image forming apparatus. Pre-written at the time. The volatile memory 230 is a RAM, like the volatile memory 130, and is used as a work area by the CPU 210 during the execution of the control program.

エンジン制御部240は、CPU210の制御の下、画像形成部の駆動制御を行うものである。
画像処理部260は、図1に示すように比較手段260aとFIFO260bとを有しおり、FIFO260bは、FIFO160bと同様に上記3本の画像データバスに接続されている。比較手段260aは、CPU210の制御下で、上記3本の画像データバスを介して受信した制御プログラムを互いに比較し、それらが互いに一致しているか否かを判定し、その判定結果をCPU210へと引き渡す。詳細については後述するが、本実施形態では、CPU210は、制御プログラムを送信する旨の制御信号をシリアルバス300を介して受信した場合にのみ、上記比較手段260aを作動させ、比較手段260aによる比較の結果、同一である制御プログラムの個数が所定の閾値(本実施形態では、2)以上である場合に、その制御プログラムで不揮発性メモリ220に書き込まれている制御プログラムを更新する。
The engine control unit 240 performs drive control of the image forming unit under the control of the CPU 210.
As shown in FIG. 1, the image processing unit 260 includes a comparison unit 260a and a FIFO 260b. The FIFO 260b is connected to the three image data buses in the same manner as the FIFO 160b. The comparison unit 260a compares the control programs received via the three image data buses with each other under the control of the CPU 210, determines whether or not they match each other, and sends the determination result to the CPU 210. hand over. Although details will be described later, in the present embodiment, the CPU 210 operates the comparison unit 260a only when the control signal indicating that the control program is transmitted is received via the serial bus 300, and the comparison by the comparison unit 260a is performed. As a result, when the number of identical control programs is equal to or greater than a predetermined threshold (2 in this embodiment), the control program written in the nonvolatile memory 220 is updated with the control program.

さて、図1に示す画像形成装置においては、図示せぬ電源が投入されると、CPU110は、不揮発性メモリ120から制御プログラムを読み出して揮発性メモリ130に書き込み(以下、「制御プログラムの揮発性メモリへのロード」という)、揮発性メモリ130にロードした制御プログラムを実行する。一方、CPU210は、不揮発性メモリ220に記憶されている制御プログラムを揮発性メモリ230へロードし、これを実行する。   In the image forming apparatus shown in FIG. 1, when power (not shown) is turned on, the CPU 110 reads the control program from the nonvolatile memory 120 and writes it in the volatile memory 130 (hereinafter referred to as “control program volatile”). The control program loaded into the volatile memory 130 is executed. On the other hand, the CPU 210 loads the control program stored in the nonvolatile memory 220 into the volatile memory 230 and executes it.

そして、揮発性メモリ130にロードされた制御プログラムにしたがって作動しているCPU110は、外部入力部140から引き渡されたデータをHDD150へ一旦蓄積した後、そのデータをHDD150から読み出して画像処理部160へと引き渡すとともに、それらデータの受け取り手であるエンジンコントローラ200に対して、そのデータの種別およびそのデータの大きさを示す制御信号をシリアルバス300を介して送信する。   The CPU 110 operating according to the control program loaded in the volatile memory 130 temporarily stores the data delivered from the external input unit 140 in the HDD 150, then reads the data from the HDD 150 and sends it to the image processing unit 160. And a control signal indicating the type of the data and the size of the data is transmitted via the serial bus 300 to the engine controller 200 which is the recipient of the data.

一方、揮発性メモリ230にロードされた制御プログラムにしたがって作動しているCPU210は、画像データを送信する旨の制御信号がシリアルバス300を介して送信されてきた場合には、その制御信号に後続して上記3本の画像データバスを介して送信されてくる各画像データを画像処理部260により受信し、それら画像データに応じた画像を形成するようにエンジン制御部240の駆動制御を行う。また、揮発性メモリ230にロードされた制御プログラムにしたがって作動しているCPU210は、新たな制御プログラムを送信する旨の制御信号をシリアルバス300を介して受信した場合には、その制御信号に後続して上記3本の画像データバス経由で送信されてくる各制御プログラムを画像処理部260により受信し、それら制御プログラムを比較手段260aにより比較することで、それら制御プログラムの転送過程でデータ化けなどのエラーが発生したか否かを判定し、エラーが発生していないと判定された場合に、その新たな制御プログラムで不揮発性メモリ220に格納されている制御プログラムを更新する。
以上が、本実施形態に係る画像形成装置の構成である。
On the other hand, when a control signal for transmitting image data is transmitted via the serial bus 300, the CPU 210 operating according to the control program loaded in the volatile memory 230 follows the control signal. Then, each image data transmitted via the three image data buses is received by the image processing unit 260, and the drive control of the engine control unit 240 is performed so as to form an image corresponding to the image data. When the CPU 210 operating according to the control program loaded in the volatile memory 230 receives a control signal for transmitting a new control program via the serial bus 300, the CPU 210 follows the control signal. Then, each control program transmitted via the three image data buses is received by the image processing unit 260, and the control program is compared by the comparison means 260a, so that data garbled in the transfer process of these control programs. It is determined whether or not an error has occurred, and if it is determined that no error has occurred, the control program stored in the nonvolatile memory 220 is updated with the new control program.
The above is the configuration of the image forming apparatus according to the present embodiment.

(B.動作)
次いで、本実施形態に係る画像形成装置のエンジンコントローラ200の制御プログラムの書き換えを行う場合に、CPU110およびCPU210が実行する動作について図面を参照しつつ説明する。なお、以下に説明する動作例では、CPU110は揮発性メモリ130にロードされた制御プログラムにしたがって作動しており、CPU210は揮発性メモリ230にロードされた制御プログラムにしたがって作動しているものとする。
(B. Operation)
Next, operations performed by the CPU 110 and the CPU 210 when the control program of the engine controller 200 of the image forming apparatus according to the present embodiment is rewritten will be described with reference to the drawings. In the operation example described below, it is assumed that the CPU 110 operates according to the control program loaded into the volatile memory 130 and the CPU 210 operates according to the control program loaded into the volatile memory 230. .

例えば、エンジンコントローラ200向けの新たな制御プログラムが、図1に示す画像形成装置が接続されている通信網を介して送信されてくるなど上記新たな制御プログラムが外部入力部140へ入力されると、CPU110は、揮発性メモリ130にロードされている制御プログラムにしたがって、図3に示す制御プログラム送信動作を実行する。
図3に示すように、CPU110は、まず、新たな制御プログラムを送信する旨の制御信号をシリアルバス300を介してCPU210へ送信し(ステップSA100)、その後、上記新たな制御プログラムを画像処理部160へ引き渡し、その制御プログラムを上記3つの画像データバスの各々へ送出する(ステップSA110)。
For example, when a new control program for the engine controller 200 is transmitted via a communication network to which the image forming apparatus shown in FIG. 1 is connected, the new control program is input to the external input unit 140. The CPU 110 executes the control program transmission operation shown in FIG. 3 according to the control program loaded in the volatile memory 130.
As shown in FIG. 3, the CPU 110 first transmits a control signal for transmitting a new control program to the CPU 210 via the serial bus 300 (step SA100), and then transmits the new control program to the image processing unit. Then, the control program is delivered to each of the three image data buses (step SA110).

一方、揮発性メモリ230にロードされている制御プログラムにしたがって作動しているCPU210は、図3に示すように、シリアルバス300を介してCPU110から送られてくる制御信号を受信(ステップSB100)すると、その制御信号に後続して画像データバスを介して送られてくるデータが制御プログラムであるのか否かをその制御信号の内容から判定する(ステップSB110)。   On the other hand, when the CPU 210 operating according to the control program loaded in the volatile memory 230 receives a control signal sent from the CPU 110 via the serial bus 300 (step SB100), as shown in FIG. Then, it is determined from the contents of the control signal whether the data sent via the image data bus following the control signal is a control program (step SB110).

ステップSB110の判定結果が“No”である場合(すなわち、画像データバスを介して送られてくるデータが画像データであると判定した場合)には、CPU210は、画像処理部260により受信した画像データをエンジン制御部240へ引き渡し、画像形成処理を実行する(ステップSB120)。具体的には、CPU210は、その画像データに応じた画像の形成が為されるようにエンジン制御部240の駆動制御を行う。
逆に、ステップSB110の判定結果が“Yes”である場合には、各画像データバスを介して受信した制御プログラムを互いに比較し(ステップSB130)、同一である制御プログラム(すなわち、ビット配列が同一である制御プログラム)の数が所定の閾値(本実施形態では、2)以上であるか否かを判定する(ステップSB140)。
When the determination result in step SB110 is “No” (that is, when it is determined that the data sent via the image data bus is image data), the CPU 210 receives the image received by the image processing unit 260. The data is transferred to the engine control unit 240, and an image forming process is executed (step SB120). Specifically, the CPU 210 performs drive control of the engine control unit 240 so that an image according to the image data is formed.
Conversely, if the determination result in step SB110 is “Yes”, the control programs received via the image data buses are compared with each other (step SB130), and the same control program (that is, the bit arrangement is the same). It is determined whether the number of control programs is equal to or greater than a predetermined threshold (2 in the present embodiment) (step SB140).

ステップSB140の判定結果が“Yes”である場合には、CPU210は、上記同一である制御プログラムの何れかで不揮発性メモリ220に格納されている制御プログラムを更新し(ステップSB150)、制御プログラムを正しく受信したことを示す応答信号をシリアルバス300を介してCPU110へ返信する(ステップSB160)。以降、CPU210は、更新後の制御プログラム(すなわち、新たな制御プログラム)を揮発性メモリ230へロードし、その新たな制御プログラムを実行する。
逆に、ステップSB140の判定結果が“No”である場合には、CPU210は、制御プログラムの転送過程でデータ化けが生じたものとみなし、制御プログラムの再送信を要求する旨の応答信号をシリアルバス300を介してCPU110へ返信する(ステップSB170)。
If the determination result in step SB140 is “Yes”, the CPU 210 updates the control program stored in the nonvolatile memory 220 with any of the same control programs (step SB150). A response signal indicating correct reception is returned to the CPU 110 via the serial bus 300 (step SB160). Thereafter, the CPU 210 loads the updated control program (that is, a new control program) into the volatile memory 230 and executes the new control program.
On the other hand, if the determination result in step SB140 is “No”, the CPU 210 considers that data corruption has occurred in the transfer process of the control program, and sends a serial response signal indicating that the control program is to be retransmitted. A reply is sent to the CPU 110 via the bus 300 (step SB170).

図2に戻って、CPU110は、シリアルバス300を介してCPU210から返信されてくる応答信号を受信(ステップSA120)すると、その応答信号が制御プログラムの再送信を要求する旨の応答信号であるか否かを判定する(ステップSA130)。
そして、CPU110は、ステップSA110の判定結果が“Yes”である場合には、ステップSA100以降の処理を再度実行することにより、エンジンコントローラ200向けの新たな制御プログラムの再送信を実行する。
Returning to FIG. 2, when CPU 110 receives a response signal sent back from CPU 210 via serial bus 300 (step SA120), whether the response signal is a response signal for requesting retransmission of the control program. It is determined whether or not (step SA130).
Then, if the determination result in step SA110 is “Yes”, CPU 110 re-transmits a new control program for engine controller 200 by re-executing the processes in and after step SA100.

以上に説明した動作の結果、本実施形態に係る画像形成装置においては、シリアルバスに比較して高速なパラレルバスである画像データバス経由で制御プログラムの転送が行われるため、シリアルバス経由で制御プログラムの転送を行う従来の技術に比較して、その転送速度を向上させることが可能になる。   As a result of the operation described above, in the image forming apparatus according to the present embodiment, the control program is transferred via the image data bus, which is a high-speed parallel bus compared to the serial bus. Compared to the conventional technique for transferring a program, the transfer speed can be improved.

また、画像データバスは、片方向通信にのみに対応しているため、画像データバス経由で制御プログラムの転送を行う従来の技術では、双方向通信に対応しているシリアルバス経由で制御プログラムの転送を行う場合に比較して信頼性を確保することができなかったが、本実施形態に係る画像形成装置においては、各画像データバス経由で受信した制御プログラムを比較することによって、その転送過程でのデータ化けの有無が判定され、データ化けが発生したと判定された場合(すなわち、ステップSB140の判定結果が“No”である場合)には、その制御プログラムの再送信を要求する旨の応答信号がシリアルバス300経由でエンジンコントローラ200からシステムコントローラ100へと返信され、上記制御プログラムの再送信が実行される。これにより、データ化けに起因する信頼性の低下を回避することが可能になる。   In addition, since the image data bus supports only one-way communication, the conventional technology for transferring a control program via the image data bus uses a serial bus that supports bidirectional communication. Although reliability could not be ensured as compared with the case of performing transfer, in the image forming apparatus according to the present embodiment, the transfer process is performed by comparing the control programs received via the image data buses. If it is determined whether or not data corruption has occurred and it is determined that data corruption has occurred (that is, if the determination result in step SB140 is “No”), the control program is requested to be retransmitted. A response signal is returned from the engine controller 200 to the system controller 100 via the serial bus 300, and the control program is retransmitted. There is executed. Thereby, it is possible to avoid a decrease in reliability due to data corruption.

つまり、本実施形態に係る画像形成装置によれば、その構成要素であるシステムコントローラ100からエンジンコントローラ200へ新たな制御プログラムを転送する際に、データ転送の信頼性を確保しつつその転送速度を向上させることが可能になる。   That is, according to the image forming apparatus according to the present embodiment, when a new control program is transferred from the system controller 100 which is a component thereof to the engine controller 200, the transfer speed is increased while ensuring the reliability of data transfer. It becomes possible to improve.

(C.変形)
以上、本発明の1実施形態について説明したが、係る実施形態に以下に述べるような変形を加えても良いことは勿論である。
(1)上述した実施形態では、画像形成装置に本発明を適用する場合について説明したが、画像読み取り機能と画像形成機能とを備えた復号機に本発明を適用するとしても勿論良い。具体的には、図4に示すように、エンジンコントローラ200とスキャナ(図示省略)を制御するためのスキャナコントローラを有し、エンジンコントローラ200とスキャナコントローラの駆動制御をシステムコントローラ100により行う複合機(すなわち、画像読み取り機能と画像形成機能とを備えた画像処理装置)に本発明を適用するとしても勿論良い。要は、各モジュールがシリアルバスの他に、そのシリアルバスよりも高速な画像データバスを介して通信することが可能なように構成された画像処理装置であれば、本発明を適用することは可能である。
(C. deformation)
Although one embodiment of the present invention has been described above, it is needless to say that the embodiment may be modified as described below.
(1) In the above-described embodiment, the case where the present invention is applied to the image forming apparatus has been described. However, the present invention may be applied to a decoder having an image reading function and an image forming function. Specifically, as shown in FIG. 4, a multifunction peripheral (having a scanner controller for controlling the engine controller 200 and a scanner (not shown)) and controlling the driving of the engine controller 200 and the scanner controller by the system controller 100 ( That is, of course, the present invention may be applied to an image processing apparatus having an image reading function and an image forming function. In short, the present invention can be applied to any module as long as each module is configured to be able to communicate via an image data bus faster than the serial bus in addition to the serial bus. Is possible.

また、本発明の適用対象は、画像形成装置や復号機などの画像処理装置に限定されるものではなく、CPUとそのCPUに制御対象の駆動制御を実行させるための制御プログラムが書き込まれた不揮発性メモリとを含む1または複数の副コントローラと、CPUとそのCPUに各副コントローラの駆動制御を実行させるための制御プログラムが書き込まれた不揮発性メモリと外部からのデータ入力を受け付ける外部入力手段とを有する主コントローラと、各副コントローラと主コントローラとの間の双方向通信を仲介する第1のバスと、第1のバスよりも高速で主コントローラから各副コントローラへのデータ転送を仲介する複数の第2のバスと、を有する電子機器であれば、本発明を適用することが可能である。   The application target of the present invention is not limited to an image processing apparatus such as an image forming apparatus or a decoder, but a nonvolatile memory in which a CPU and a control program for causing the CPU to execute drive control of the control target are written. One or a plurality of sub-controllers including a non-volatile memory, a CPU, a non-volatile memory in which a control program for causing the CPU to perform drive control of each sub-controller is written, and an external input unit that receives external data input A first bus that mediates bidirectional communication between each sub-controller and the main controller, and a plurality that mediate data transfer from the main controller to each sub-controller at a higher speed than the first bus. The present invention can be applied to any electronic device having the second bus.

(2)上述した実施形態では、3本の画像データバスの各々を介して受信した制御プログラムのうち、同一である制御プログラムの個数が所定の閾値(上記実施形態では、2)未満である場合には、データ化けが発生したと判定し、制御プログラムの転送を再度実行させるようにした。しかしながら、上記閾値の値は2に限定されるものではなく、確保されるべき信頼性の度合いに応じて適宜定めるようにすれば良い。例えば、上記閾値に3(すなわち、画像データバスの本数)を設定した場合には、画像データバスの各々を介して受信した制御プログラムの全てが同一である場合にのみ、データ化けが発生しなかったと判定されることになる。 (2) In the above-described embodiment, the number of identical control programs among the control programs received via each of the three image data buses is less than a predetermined threshold (2 in the above-described embodiment). In this case, it was determined that data corruption occurred and the control program was transferred again. However, the value of the threshold value is not limited to 2, and may be appropriately determined according to the degree of reliability to be ensured. For example, when 3 (that is, the number of image data buses) is set as the threshold value, data corruption does not occur only when all the control programs received via each of the image data buses are the same. Will be determined.

また、上述した実施形態では、システムコントローラ100とエンジンコントローラ200の間に、R、GおよびBの各色に対応した3つの画像データバスが設けられている場合について説明したが、システムコントローラ100とエンジンコントローラ200の間に設けられる画像データバスの本数は3に限定されるものではなく、Y、M、CおよびKの各色に対応した4本であっても勿論良い。そして、画像データバスの本数が4本である場合には、それら4本の画像データバスの各々を介して受信した4つの制御プログラムの全てが一致している場合に、データ化けは発生しなかったと判定しても良く、また、上記4つの制御プログラムのうちの何れか3つまたは2つが一致している場合に、データ化けが発生しなかったと判定するようにしても良い。   In the above-described embodiment, the case where three image data buses corresponding to the respective colors R, G, and B are provided between the system controller 100 and the engine controller 200 has been described. The number of image data buses provided between the controllers 200 is not limited to three, and may be four corresponding to each of Y, M, C, and K colors. If the number of image data buses is four, data corruption does not occur when all four control programs received via each of the four image data buses match. In addition, it may be determined that data corruption has not occurred when any three or two of the four control programs match.

(3)上述した実施形態では、エンジンコントローラ200用の制御プログラムを、システムコントローラ100の分配手段160aに画像データバスの数分だけ複製させ、その各々を各画像データバスに分配して転送させる場合について説明した。しかしながら、上記画像データバスの数分だけ複製した制御プログラムの各々を所定のデータサイズを有するデータブロックに分割し、そのデータブロック単位で各画像データバスへと送出し、そのデータブロック単位でデータ化けの有無の判定および再送信を実行するようにしても良い。 (3) In the above-described embodiment, the control program for the engine controller 200 is duplicated by the number of image data buses in the distribution unit 160a of the system controller 100, and each is distributed and transferred to each image data bus. Explained. However, each control program copied by the number of image data buses is divided into data blocks having a predetermined data size, sent to each image data bus in units of the data blocks, and data garbled in units of the data blocks. The presence / absence determination and retransmission may be executed.

(4)上述した実施形態では、各画像データバスを介して受信した制御プログラムの比較結果に応じて、制御プログラムの再送信を要求する旨の応答信号または制御プログラムを正しく受信したことを示す応答信号の何れかをCPU210に返信させる場合について説明した。しかしながら、制御プログラムの再送信を要求する旨の応答信号を返信する場合に、複数の画像データバスを介した通信のエラー発生状況または不揮発性メモリ220への書き込み状況をCPU210に検出させ、その検出結果を前記応答信号に付加して返信させるとともに、シリアルバス300を介して受信した応答信号に付加されている前記検出結果に応じて、新たな制御プログラムを再送信する際に使用するバスをCPU110に切り替えさせるようにしても良い。具体的には、画像データバスを介した通信のエラー発生頻度が所定の閾値を超えている場合には、画像データバスではなく、シリアルバスを介して上記新たな制御プログラムを送信させるようにしても良い。 (4) In the above-described embodiment, the response signal indicating that the control program is requested to be retransmitted or the response indicating that the control program is correctly received according to the comparison result of the control program received via each image data bus. The case where any one of the signals is returned to the CPU 210 has been described. However, when a response signal for requesting retransmission of the control program is returned, the CPU 210 detects an error occurrence state of communication via a plurality of image data buses or a write state to the nonvolatile memory 220, and the detection is performed. The CPU 110 uses a bus used when a new control program is retransmitted in accordance with the detection result added to the response signal received via the serial bus 300. You may make it switch to. Specifically, when the frequency of error in communication via the image data bus exceeds a predetermined threshold, the new control program is transmitted via the serial bus instead of the image data bus. Also good.

(5)上述した実施形態では、新たな制御プログラムを送信する旨の制御信号をCPU110に送信させた後、即座に、その新たな制御プログラムをCPU110に送信させる場合について説明したが、上記制御信号に対する応答信号(例えば、エンジンコントローラ200が新たな制御プログラムを受け入れ可能な状態になったことを示す応答信号)がシリアルバス300を介してCPU210から返信されてくることを待ち受け、その応答信号を受信した場合に、新たな制御プログラムをCPU110に送信させるようにしても勿論良い。このようにすると、エンジンコントローラ200が新たな制御プログラムを受け入れ不可能な状態であるにも拘わらず、新たな制御プログラムが送信されることを確実に回避することが可能になる。また、各画像データバスを介して上記新たな制御プログラムをCPU110に送信させる場合には、所定の圧縮アルゴリズムによる圧縮を行った後に、送信させる一方、CPU210には、上記圧縮アルゴリズムに対応する解凍アルゴリズムによる解凍処理を実行させるようにしても良い。 (5) In the above-described embodiment, a case has been described in which a control signal for transmitting a new control program is transmitted to the CPU 110, and then the new control program is immediately transmitted to the CPU 110. A response signal (for example, a response signal indicating that the engine controller 200 is ready to accept a new control program) is returned from the CPU 210 via the serial bus 300, and the response signal is received. In this case, it is of course possible to cause the CPU 110 to transmit a new control program. This makes it possible to reliably avoid sending a new control program even though the engine controller 200 is in a state where it cannot accept the new control program. In addition, when the new control program is transmitted to the CPU 110 via each image data bus, it is transmitted after being compressed by a predetermined compression algorithm, while the CPU 210 has a decompression algorithm corresponding to the compression algorithm. You may make it perform the decompression | decompression process by.

(6)上述した実施形態では、不揮発性メモリ120に書き込まれている制御プログラムにしたがってCPU110に図2に示す動作を実行させる一方、不揮発性メモリ220に書き込まれている制御プログラムにしたがってCPU210に図3に示す動作を実行させる場合について説明した。しかしながら、CPU110にその制御対象(上述した実施形態では、エンジンコントローラ200)の駆動制御を実行させるための制御プログラムとは個別に、図2に示す動作をCPU110に実行させるためのプログラムを不揮発性メモリ120に書き込んでおき、そのプログラムをCPU110に実行させることによって図2に示す動作をCPU110に実行させるようにしても良い。同様に、CPU210にその制御対象(上述した実施形態では、画像形成部)の駆動制御を実行させるための制御プログラムとは個別に、図3に示す動作をCPU210に実行させるためのプログラムを不揮発性メモリ120に書き込んでおき、そのプログラムをCPU210に実行させることによって図3に示す動作をCPU210に実行させるようにしても良い。 (6) In the embodiment described above, the CPU 110 is caused to execute the operation shown in FIG. 2 according to the control program written in the nonvolatile memory 120, while the CPU 210 executes the operation shown in FIG. 2 according to the control program written in the nonvolatile memory 220. The case where the operation shown in FIG. However, a program for causing the CPU 110 to execute the operation shown in FIG. 2 is executed separately from the control program for causing the CPU 110 to perform drive control of the control target (in the above-described embodiment, the engine controller 200). The operation shown in FIG. 2 may be executed by the CPU 110 by writing in 120 and causing the CPU 110 to execute the program. Similarly, a program for causing the CPU 210 to execute the operation shown in FIG. 3 is nonvolatile, separately from a control program for causing the CPU 210 to execute drive control of the control target (in the above-described embodiment, the image forming unit). The operation shown in FIG. 3 may be executed by the CPU 210 by writing in the memory 120 and causing the CPU 210 to execute the program.

本発明に係る電子機器の1実施形態である画像形成装置の構成例を示す図である。1 is a diagram illustrating a configuration example of an image forming apparatus which is an embodiment of an electronic apparatus according to the present invention. 同画像形成装置を構成するシステムコントローラ100のCPU110が不揮発性メモリ120に格納されている制御プログラムにしたがって行う動作の流れを示すフローチャートである。3 is a flowchart showing a flow of operations performed by a CPU 110 of a system controller 100 constituting the image forming apparatus according to a control program stored in a nonvolatile memory 120. 同エンジンコントローラ200のCPU210が不揮発性メモリ220に格納されている制御プログラムにしたがって行う動作の流れを示すフローチャートである。3 is a flowchart showing a flow of operations performed by a CPU 210 of the engine controller 200 according to a control program stored in a nonvolatile memory 220. 変形例1に係る画像処理装置の構成例を示す図である。It is a figure which shows the structural example of the image processing apparatus which concerns on the modification 1. As shown in FIG.

符号の説明Explanation of symbols

100…システムコントローラ、200…エンジンコントローラ、110,210…CPU、120,220…不揮発性メモリ、130、230…揮発性メモリ、140…外部入力部、150…ハードディスク、240…エンジン制御部、160,260…画像処理部、300…シリアルバス、400、400R、400G、400B…画像データバス。   DESCRIPTION OF SYMBOLS 100 ... System controller, 200 ... Engine controller, 110, 210 ... CPU, 120, 220 ... Non-volatile memory, 130, 230 ... Volatile memory, 140 ... External input part, 150 ... Hard disk, 240 ... Engine control part, 160, 260: Image processing unit, 300: Serial bus, 400, 400R, 400G, 400B: Image data bus.

Claims (5)

CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、外部からのデータ入力を受け付ける外部入力手段と、を含む第1のコントローラと、
CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、を含む第2のコントローラと、
前記第1のコントローラと前記第2のコントローラとの間のデータ転送を双方向に仲介する第1のバスと、
前記第1のコントローラから前記第2のコントローラへのデータ転送を仲介する第2のバスであって、前記第1のバスよりも高速な第2のバスを複数有する電子機器において、
前記第1のコントローラは、
前記第2のコントローラ向けの新たな制御プログラムが前記外部入力手段を介して入力された場合に、前記新たな制御プログラムの転送を開始する旨の制御信号を前記第1のバスを介して前記第1のコントローラへ送信し、その後、前記新たな制御プログラムを前記複数の第2のバスの各々へと送出し、
前記第2のコントローラは、
前記第1のバスを介して前記制御信号を受信した場合に、その後、前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較し、同一である制御プログラムの個数が予め定められた閾値以上である場合に、該同一である制御プログラムでメモリの格納内容を更新する
ことを特徴とする電子機器。
A first controller including a CPU, a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance, and external input means for receiving external data input;
A second controller including a CPU and a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance;
A first bus that bidirectionally mediates data transfer between the first controller and the second controller;
In an electronic device having a plurality of second buses that mediate data transfer from the first controller to the second controller and that are faster than the first bus,
The first controller includes:
When a new control program for the second controller is input via the external input means, a control signal for starting transfer of the new control program is transmitted via the first bus. And then sending the new control program to each of the plurality of second buses,
The second controller is
When the control signal is received via the first bus, the control programs received via each of the plurality of second buses are compared with each other, and the number of identical control programs is determined in advance. An electronic device characterized in that, when the threshold value is equal to or greater than the threshold value, the stored contents of the memory are updated by the same control program.
前記第1のコントローラは、
前記新たな制御プログラムを前記複数の第2のバスの各々へと送出した後に、その再送信を要求する旨の応答信号を前記第1のバスを介して前記第2のコントローラから受信した場合には、前記複数の第2のバスまたは前記第1のバスの何れかを介して前記新たな制御プログラムを再送信し、
前記第2のコントローラは、
前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較した結果、同一である制御プログラムの個数が前記予め定められた閾値未満である場合には、前記応答信号を前記第1のバスを介して前記第1のコントローラへ返信する
ことを特徴とする請求項1に記載の電子機器。
The first controller includes:
When a response signal for requesting retransmission is received from the second controller via the first bus after sending out the new control program to each of the plurality of second buses. Retransmits the new control program via either the plurality of second buses or the first bus,
The second controller is
When the control programs received via each of the plurality of second buses are compared with each other and the number of identical control programs is less than the predetermined threshold, the response signal is sent to the first bus. The electronic apparatus according to claim 1, wherein the electronic apparatus returns a response to the first controller via the bus.
前記第2のコントローラは、
前記応答信号を返信する際には、前記複数の第2のバスを介した通信のエラー発生状況または前記第2のコントローラのメモリへの書き込み状況を検出し、その検出結果を前記応答信号に付加して返信し、
前記第1のコントローラは、
前記第1のバスを介して受信した応答信号に付加されている前記検出結果に応じて、前記新たな制御プログラムを再送信する際に使用するバスを切り替える
ことを特徴とする請求項2に記載の電子機器。
The second controller is
When returning the response signal, an error occurrence state of communication via the plurality of second buses or a write state to the memory of the second controller is detected, and the detection result is added to the response signal. And reply
The first controller includes:
The bus used when retransmitting the new control program is switched according to the detection result added to the response signal received via the first bus. Electronic equipment.
前記第2のコントローラを複数有することを特徴とする請求項1〜3の何れか1に記載の電子機器。   The electronic apparatus according to claim 1, comprising a plurality of the second controllers. CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、外部からのデータ入力を受け付ける外部入力手段と、を含む第1のコントローラと、
CPUと、該CPUにその制御対象の駆動制御を実行させるための制御プログラムが予め書き込まれているメモリと、を含む第2のコントローラと、
前記第1のコントローラと前記第2のコントローラとの間のデータ転送を双方向に仲介する第1のバスと、
前記第1のコントローラから前記第2のコントローラへの片方向のデータ転送を仲介する第2のバスであって、前記第1のバスよりも高速な複数の第2のバスと、を有する電子機器内で前記外部入力手段により前記第1のコントローラが取得した前記第2のコントローラ向けの制御プログラムを前記第1のコントローラから前記第2のコントローラへ転送する制御プログラム転送方法において、
前記第1のコントローラが、前記新たな制御プログラムの転送を開始する旨の制御信号を前記第1のバスを介して前記第1のコントローラへと送信した後に、前記新たな制御プログラムを前記複数の第2のバスの各々へと送出する第1のステップと、
前記第2のコントローラが、前記第1のバスを介して前記制御信号を受信した後に前記複数の第2のバスの各々を介して受信した制御プログラムを互いに比較し、同一である制御プログラムの個数が予め定められた閾値以上である場合に、該同一である制御プログラムでメモリの格納内容を更新する第2のステップと、
を含んでいることを特徴とする制御プログラム転送方法。
A first controller including a CPU, a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance, and external input means for receiving external data input;
A second controller including a CPU and a memory in which a control program for causing the CPU to execute drive control of the control target is written in advance;
A first bus that bidirectionally mediates data transfer between the first controller and the second controller;
An electronic device comprising: a second bus that mediates one-way data transfer from the first controller to the second controller, the plurality of second buses being faster than the first bus. In the control program transfer method for transferring the control program for the second controller acquired by the first controller by the external input means from the first controller to the second controller,
After the first controller transmits a control signal for starting transfer of the new control program to the first controller via the first bus, the new control program is transferred to the plurality of control programs. A first step of sending to each of the second buses;
The second controller compares the control programs received via each of the plurality of second buses after receiving the control signal via the first bus, and the number of control programs that are the same A second step of updating the stored contents of the memory with the same control program when the threshold is equal to or greater than a predetermined threshold;
A control program transfer method comprising:
JP2005352429A 2005-12-06 2005-12-06 Electronic device and control program transfer method Withdrawn JP2007156914A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005352429A JP2007156914A (en) 2005-12-06 2005-12-06 Electronic device and control program transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005352429A JP2007156914A (en) 2005-12-06 2005-12-06 Electronic device and control program transfer method

Publications (1)

Publication Number Publication Date
JP2007156914A true JP2007156914A (en) 2007-06-21

Family

ID=38241187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005352429A Withdrawn JP2007156914A (en) 2005-12-06 2005-12-06 Electronic device and control program transfer method

Country Status (1)

Country Link
JP (1) JP2007156914A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101456A (en) * 2017-11-28 2019-06-24 株式会社デンソー Electronic control device and control device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101456A (en) * 2017-11-28 2019-06-24 株式会社デンソー Electronic control device and control device

Similar Documents

Publication Publication Date Title
CN109964215B (en) Flow control in remote direct memory access data communications with ring buffer mirroring
US8839014B2 (en) Apparatus and method for shortening time for transitioning power mode of network communication device by utilizing a shared storage unit, a socket, and a socket wrapper
JP5076488B2 (en) Information processing apparatus, history management method, history management program
JP4451837B2 (en) Data transfer apparatus and data transfer method
JP5034979B2 (en) START-UP DEVICE, START-UP METHOD, AND START-UP PROGRAM
JP2007156914A (en) Electronic device and control program transfer method
US20130151903A1 (en) Image forming apparatus
JP2006215914A (en) Image forming device
US20150323985A1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method
US11095778B2 (en) Storing and outputting log for failure analysis in image forming apparatus equipped with SATA system, control method therefor, and storage medium
JP2007334668A (en) Memory dumping method, cluster system, node constituting the system, and program
JP5286814B2 (en) Semiconductor device, portable electronic device, self-diagnosis method, self-diagnosis program
JP6136754B2 (en) Communication control apparatus and image forming apparatus
JP4589768B2 (en) Information processing device
JP6862807B2 (en) Image forming device and program
JP2008269335A (en) Data transfer integrated circuit and data transfer device
JP2007164552A (en) Memory controller and data transfer method
JP5278117B2 (en) Buffer degeneration method, apparatus and method
JP2010214932A (en) Printer controller and printer provided with the same
KR100966999B1 (en) Apparatus and method for updating flash memory
JP5913454B2 (en) Control device, first control device, second control device, image forming apparatus
CN107850873B (en) Dual process control device
JPH0678086A (en) Information transmitting/receiving equipment
JP2022019390A (en) Information processing apparatus, image forming apparatus, and program
JP2007279878A (en) Communication terminal device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100413