JP2013225291A - Device for electronic apparatus - Google Patents
Device for electronic apparatus Download PDFInfo
- Publication number
- JP2013225291A JP2013225291A JP2013014413A JP2013014413A JP2013225291A JP 2013225291 A JP2013225291 A JP 2013225291A JP 2013014413 A JP2013014413 A JP 2013014413A JP 2013014413 A JP2013014413 A JP 2013014413A JP 2013225291 A JP2013225291 A JP 2013225291A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- controller
- control unit
- log
- 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
Links
Images
Abstract
Description
本発明は、ASIC(Application Specific Integrated Circuit)が実装された電子機器用のデバイスに関する。 The present invention relates to a device for an electronic device in which an ASIC (Application Specific Integrated Circuit) is mounted.
多機能周辺装置MFP(Multifunction Peripheral)やプリンタ等の画像形成装置を一例とする電子機器には、画像処理をハードウエアで行うための特定用途向け半導体集積回路(ASIC)が実装されている。 In an electronic apparatus such as a multifunction peripheral device MFP (Multifunction Peripheral) or an image forming apparatus such as a printer, an application specific semiconductor integrated circuit (ASIC) for performing image processing by hardware is mounted.
電子機器を製品化する前に行われる試験では、ASICの制御(レジスタ設定)の間違いに起因する障害(例えば異常画像)が発生する場合がある。その障害の原因を特定するための情報としては、ASICのレジスタアクセスや、DMAC(Direct Memory Access Controller)の動作状態、割り込み等の内部モジュール動作のトレース記録が必要になる。レジスタアクセスを記録する方法としては、インサーキット・エミュレータ(In Circuit Emulator(ICE)を用いる方法が既に知られている。 In a test performed before commercializing an electronic device, a failure (for example, an abnormal image) may occur due to an error in ASIC control (register setting). As information for specifying the cause of the failure, ASIC register access, DMAC (Direct Memory Access Controller) operation status, and trace recording of internal module operations such as interrupts are required. As a method for recording register access, a method using an in-circuit emulator (ICE) is already known.
ICEを用いた方法では、CPUからASICのレジスタへのアクセスを記録することは可能である。一方、ICEを用いた方法では、ASICの内部モジュールの動作(例えばDMACの起動)との詳細なタイミング関係がわからず、その結果、障害の原因特定までに時間がかかってしまうという問題があった。 In the method using ICE, it is possible to record the access from the CPU to the register of the ASIC. On the other hand, in the method using ICE, there is a problem that the detailed timing relationship with the operation of the internal module of the ASIC (for example, activation of DMAC) is not known, and as a result, it takes time to identify the cause of the failure. .
それに対して、レジスタアクセスやDMACの動作状態等の情報をASIC内部に備えたバッファメモリにログデータとして蓄積する方法が考えられる。また、DMAのアクセスログをASIC内ではなくDMAによりメモリ上に蓄積する方法も提案されている(特許文献1参照)。特許文献1では、外付けのデバッグ装置を設けることなく、効率的に低コストでデバッグ作業を行なうことを目的として、デバッグ用のアクセスアドレス情報をメモリ上に書き込むことでDMAC動作の履歴情報を記録する技術が開示されている。
On the other hand, a method is conceivable in which information such as register access and DMAC operating state is stored as log data in a buffer memory provided in the ASIC. There has also been proposed a method of storing DMA access logs in memory by DMA instead of in ASIC (see Patent Document 1).
CPUからのレジスタアクセスや、内部信号の挙動をモニターしてログを作成し、作成したログの内蔵メモリへの保存、外部への出力が可能なハードウェアをデバイス内部に備えることで、デバッグの容易化を図る方法も提案されている(特許文献2参照)。 Debugging is easy by registering hardware from the CPU and monitoring the internal signal behavior to create a log, and storing the created log in the built-in memory and outputting to the outside. A method for achieving this has also been proposed (see Patent Document 2).
しかし、レジスタアクセスやDMACの動作状態等の情報をASIC内部に備えたバッファメモリにログデータとして蓄積する方法を採用すると、ASICに実装されているレジスタ数や、各レジスタ数のアクセス回数に応じてログデータの情報量が増大する。このため、その分だけバッファメモリサイズが必要になり回路規模が増大しコストが高くなるという問題がある。 However, if a method of storing information such as register access and DMAC operation status as log data in the buffer memory provided in the ASIC is adopted, it depends on the number of registers mounted in the ASIC and the number of accesses of each register number. The amount of log data information increases. For this reason, there is a problem that the buffer memory size is required correspondingly, the circuit scale is increased, and the cost is increased.
また、特許文献1では、DMAのアクセスログをASIC内ではなくDMAによりメモリ上に蓄積する。このため、本来のデータ転送帯域に影響を与え、結果として異常画像を発生させる可能性があるという問題がある。
In
また、特許文献2に示されるように、レジスタアクセスや内部信号をモニターしログを作成する方法では、ログとして取得した全てのアクセスに対してアドレス(32bit)、データ(32bit)の情報をそのままログとして保存するため、解析時間が長い場合や取得するアクセスの種類数が多い場合にはログのデータ量が膨大になり、保存に必要な内蔵メモリの容量が大きくコストが高くつくという問題がある。
Also, as disclosed in
上記課題に鑑み、本発明の目的とするところは、回路規模拡大を抑止しながら、デバッグのためのログデータを記録することが可能な電子機器用のデバイスを提供することにある。 In view of the above problems, an object of the present invention is to provide a device for electronic equipment capable of recording log data for debugging while suppressing an increase in circuit scale.
上記課題を解決するために、本発明のある観点によれば、
データを入出力する入出力装置と、
前記データを記憶するメモリと、
前記メモリへの前記データの転送を制御するエンジン制御部と、
前記入出力装置と前記メモリとの間で前記データの転送を行うコントローラと、を備え、
前記エンジン制御部は、
前記データを一時的に蓄積するバッファと、
デバッグ用のログデータを生成し、前記エンジン制御部内の前記バッファの空き状況及び前記コントローラのデータ転送状況に応じて、前記生成されたログデータを前記バッファへ蓄積するか又は前記コントローラへ転送するデバッグ制御部と、
を有することを特徴とする電子機器用のデバイスが提供される。
In order to solve the above problems, according to one aspect of the present invention,
An input / output device for inputting / outputting data;
A memory for storing the data;
An engine control unit that controls transfer of the data to the memory;
A controller for transferring the data between the input / output device and the memory,
The engine control unit
A buffer for temporarily storing the data;
Debug that generates log data for debugging and accumulates the generated log data in the buffer or transfers it to the controller according to the availability of the buffer in the engine control unit and the data transfer status of the controller A control unit;
A device for electronic equipment is provided.
本発明によれば、回路規模拡大を抑止しながら、デバッグのためのログデータを記録することができる。 According to the present invention, log data for debugging can be recorded while suppressing an increase in circuit scale.
以下、本発明の好適な実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, the duplicate description is abbreviate | omitted by attaching | subjecting the same code | symbol.
本発明の一実施形態に係る電子機器用のデバイスは、ASIC内部に元々備わっている画像データ用のバッファの空き領域を利用してログデータ(履歴情報)を一時的に蓄積し、かつ、画像データを転送する際の空き時間を利用してログデータをメモリに転送する。これにより、ASICの制御(例えばレジスタ設定)の間違いに起因する障害(例えば異常画像)を特定するために、デバッグに使用するログデータを残すことができる。なお、本実施形態に係る画像形成装置は、電子機器の一例であり、電子機器は、これに限られず、電子機器用の処理をハードウエアで行うためのASICを内蔵した装置であれば、どんな機器であってもよい。また、電子機器の内部又は外部に設けられたメモリに記憶されるデータは画像データに限られず、テキストデータ等、どのようなデータであってもよい。 An electronic device device according to an embodiment of the present invention temporarily accumulates log data (history information) using an empty area of an image data buffer originally provided in an ASIC, and an image Log data is transferred to memory using the free time when transferring data. As a result, log data used for debugging can be left in order to identify a failure (for example, an abnormal image) due to an error in ASIC control (for example, register setting). Note that the image forming apparatus according to the present embodiment is an example of an electronic device. The electronic device is not limited to this, and any device that includes an ASIC for performing processing for the electronic device by hardware may be used. It may be a device. Further, data stored in a memory provided inside or outside the electronic device is not limited to image data, and may be any data such as text data.
以下、電子機器として画像形成装置を例に挙げて以下の実施形態について説明する。 The following embodiments will be described below by taking an image forming apparatus as an example of an electronic device.
<第1実施形態>
[全体構成]
ます、本発明の第1実施形態に係る画像形成装置用のデバイスについて、図1を参照しながら説明する。図1は、本実施形態に係る画像形成装置用のデバイスの全体構成を示す。本実施形態に係る画像形成装置用のデバイスは、エンジン制御部1及びコントローラ2を有する。エンジン制御部1は、スキャナ3、プロッタ11、エンジンASIC4及びエンジンCPU8を有する。スキャナ3及びプロッタ11は、画像データを入出力する入出力装置の一例である。図1では、スキャナ3及びプロッタ11は、エンジン制御部1の内部に設けられているが、これに限らず、エンジン制御部1の外部に設けられてもよい。
<First Embodiment>
[overall structure]
First, a device for an image forming apparatus according to a first embodiment of the present invention will be described with reference to FIG. FIG. 1 shows an overall configuration of a device for an image forming apparatus according to the present embodiment. The device for an image forming apparatus according to the present embodiment includes an
エンジンASIC4は、スキャナ3及びプロッタ11とコントローラ2とのデータ転送制御および画像処理を行う特定用途向け半導体集積回路である。エンジンCPU8は、エンジン制御部1の動作を制御する。これにより、エンジン制御部1は、スキャナ3及びプロッタ11(入出力装置)とコントローラ2とのメモリ7への画像データの転送を制御する。
The engine ASIC 4 is a semiconductor integrated circuit for specific applications that performs data transfer control and image processing between the scanner 3 and the
コントローラ2は、コントローラASIC5、チップセット6、メモリ7、ハードディスクドライブ(HDD)9及びコントローラCPU10を有する。コントローラASIC5は、エンジン制御部1とメモリ7とのデータ転送および画像処理を行う特定用途向け半導体集積回路である。コントローラCPU10は、コントローラ2の動作を制御する。これにより、コントローラ2は、スキャナ3及びプロッタ11とメモリ7との画像データの転送を行う。
The
メモリ7は、画像データを記憶したり、ログデータを格納したりするための記憶領域である。ハードディスクドライブ9は、画像データを格納するための大型記憶領域である。本実施形態の特徴は、主にエンジンASIC4及びコントローラASIC5の機能により実現される。
The
以下では、一般的なエンジンASICの内部構成について図2を参照しながら説明する。その後、本実施形態に係るコントローラASIC5及びエンジンASIC4の内部構成について図3及び図4を参照しながら説明する。
Hereinafter, an internal configuration of a general engine ASIC will be described with reference to FIG. Thereafter, the internal configurations of the
(一般的なエンジンASICの内部構成)
まず、一般的なエンジンASICの内部構成について説明する。図2に示した一般的なエンジンASIC94は、スキャナI/F制御部901、プロッタI/F制御部902、S2M(Scanner to Memory)画像処理部903、M2P(Memory to Plotter)画像処理部904、S2Mバッファ905、M2Pバッファ906、WDMAC907、RDMAC908、アービタ909、コントローラI/F制御部910、コミュニケーションバッファ911及びCPU I/F制御部912を有する。
(Internal configuration of general engine ASIC)
First, the internal configuration of a general engine ASIC will be described. A
S2Mバッファ905及びM2Pバッファ906は、S2Mバッファ905を通る経路及びM2Pバッファ906を通る経路において、S2M画像処理部903及びM2P画像処理部904が行う画像データ処理にて画像データを一時的に保持するために実装されている。また、S2Mバッファ905及びM2Pバッファ906は、S2Mバッファ905を通る経路及びM2Pバッファ906を通る経路とコントローラ2との転送時の転送速度差吸収のために転送データを一時的に保持するために実装されている。
The
(コントローラASIC5の内部構成)
次に、本実施形態に係るコントローラASIC5の内部構成について説明する。図3に示した本実施形態に係るコントローラASIC5は、エンジンI/F制御部501、コントローラ画像処理部502、画像処理バッファ503、画像処理WDMAC504、画像処理RDMAC505、画像入力WDMAC506、画像出力RDMAC507、画像入力バッファ508、画像出力バッファ509、メモリアービタ510、システムI/F制御部511及びレジスタ制御部512を有している。
(Internal configuration of controller ASIC5)
Next, the internal configuration of the
画像入力バッファ508及び画像出力バッファ509は、S2M(Scanner to Memory)動作(エンジン制御部1からの画像入力)及びM2P(Memory to Plotter)動作(エンジン制御部1への画像出力)時に、エンジン制御部1とコントローラ2との間(つまり、エンジンASIC4とコントローラASIC5との間)の転送と、コントローラASIC5とメモリ7との間の転送との転送速度差吸収のために実装されている。画像処理バッファ503は、M2P動作においてコントローラ画像処理部502が行う処理の画像データ処理にて画像データを一時的に保持するために実装されている。
The
(エンジンASICの内部構成)
次に、本実施形態に係るエンジンASIC4の内部構成について説明する。図4に示した本実施形態に係るエンジンASIC4は、図2に示した一般的なエンジンASIC94に備わっているバッファの空き領域を利用してログデータを蓄積する構成を有している。本実施形態に係るエンジンASIC4は、一般的なエンジンASIC94の構成に、デバッグ制御部413を追加した構成を有する。デバッグ制御部413は、アービタ409とコントローラI/F制御部410との間に設けられ、CPU I/F制御部412と接続されている。
(Internal configuration of engine ASIC)
Next, the internal configuration of the engine ASIC 4 according to this embodiment will be described. The engine ASIC 4 according to the present embodiment shown in FIG. 4 has a configuration in which log data is accumulated using a free area of a buffer provided in the
具体的には、本実施形態に係るエンジンASIC4は、スキャナI/F制御部401、プロッタI/F制御部402、S2M(Scanner to Memory)画像処理部403、M2P(Memory to Plotter)画像処理部404、S2Mバッファ405、M2Pバッファ406、WDMAC407、RDMAC408、アービタ409、デバッグ制御部413、コントローラI/F制御部410、コミュニケーションバッファ411及びCPU I/F制御部412を有する。
Specifically, the engine ASIC 4 according to the present embodiment includes a scanner I /
なお、S2Mバッファ405及びM2Pバッファ406は、画像データを一時的に蓄積するバッファに相当する。より具体的には、S2Mバッファ405は、入力する画像データを蓄積するための入力用バッファに相当し、M2Pバッファ406は、出力する画像データを蓄積するための出力用バッファに相当する。
The
また、WDMAC407及びRDMAC408は、画像データのメモリ7へのダイレクトメモリアクセスを制御するダイレクトメモリアクセスコントローラ(DMAC)に相当する。より具体的には、WDMAC407は、S2Mバッファ405からメモリ7に画像データを書き込む書込み用ダイレクトメモリアクセスコントローラ(WDMAC)に相当し、RDMAC408は、メモリ7から画像データを読み込んでM2Pバッファ406に出力する読込み用ダイレクトメモリアクセスコントローラ(RDMAC)に相当する。WDMAC407及びRDMAC408により、画像データをメモリ7に書込む又はメモリ7から読み出すことができる。
The
デバッグ制御部413は、デバッグ用のログデータを生成し、エンジン制御部1内のバッファ(例えばS2Mバッファ405及びM2Pバッファ406)の空き状況及びコントローラ2のデータ転送状況に応じて、ログデータをバッファへ蓄積、またはコントローラ2へ転送する。以下、デバッグ制御部413の内部構成について説明する。
The
(デバッグ制御部413の内部構成)
図5に本実施形態に係るデバッグ制御部413の内部構成を示す。本実施形態に係るデバッグ制御部413は、ログデータの生成、バッファへの蓄積/読み出し、メモリ7への転送を実行する。デバッグ制御部413は、ログ生成部414、バッファ制御部415、デバッグ用WDMAC416、デバッグ用アービタ417及び内部レジスタ418を有する。
(Internal configuration of debug control unit 413)
FIG. 5 shows an internal configuration of the
(ログ生成部414)
ログ生成部414は、図4に示したCPU I/F制御部412とWDMAC407とRDMAC408とに接続され、レジスタアクセスや割り込み、各DMACの動作状態等の信号を入力する。レジスタアクセスが発生する毎に、上記信号の状態を記録したログデータを生成し、バッファ制御部415に出力する。ただし、ロギング制御レジスタがオンの場合のみログデータの生成および出力を行い、オフの場合は行わない。
(Log generation unit 414)
The
このように、デバッグ用のログデータは、エンジン制御部1が有するレジスタへの書込み及び読込みの履歴情報を含んでもよい。また、デバッグ用のログデータは、ダイレクトメモリアクセスコントローラ(以下、DMACとも称呼する。)の動作状態の遷移を含んでもよい。また、デバッグ用のログデータは、エンジン制御部1への割り込み状態の遷移を含んでもよい。
As described above, the log data for debugging may include history information on writing and reading to a register included in the
(バッファ制御部415)
バッファ制御部415は、各DMACの動作状態に応じて、ログ生成部414から受け取ったログデータの蓄積/読み出し先バッファを切り替える。また、バッファにログデータが蓄積されていない場合はバッファエンプティ信号をデバッグ用WDMAC416に出力する。バッファ切り替えの詳細は後述する。
(Buffer control unit 415)
The
(デバッグ用WDMAC416)
デバッグ用WDMAC416は、バッファ制御部415から入力したログデータをメモリ上にライト(書き込み)する。デバッグ用WDMAC416は、デバッグ用アービタ417に対してライトリクエストを発生する。デバッグ用WDMAC416は、バッファエンプティでない(すなわち、ログデータがバッファに存在する)限り、ライトリクエストを発行し続ける。
(Debug WDMAC416)
The
(デバッグ用アービタ417)
デバッグ用アービタ417は、(A)一般的なアービタからのリクエスト(画像データ転送)と、(B)デバッグ用WDMAC416からのリクエスト(ログデータの転送)とを調停する。プライオリティは、(A)一般的なアービタからのリクエストが、(B)デバッグ用WDMAC416からのリクエストより高く、固定値である。ログデータ転送は、本来のデータ転送帯域に影響を与えないように、(B)デバッグ用WDMAC416からのリクエストを(A)一般的なアービタからのリクエストより低い優先順位とする。これにより、ログデータ転送は、本来のデータ転送が行われていない空き時間を利用して処理される。
(Debug arbiter 417)
The
(内部レジスタ418)
内部レジスタ418は、ログ保存領域開始アドレスレジスタ419及びロギング制御レジスタ420を有する。エンジンCPU8は、内部レジスタ418の制御(レジスタ設定)を行うことができる。ログ保存領域開始アドレスレジスタ419には、デバッグ用WDMAC415がログデータを転送する際の転送開始アドレスが設定される。ロギング制御レジスタ420には、ロギング(履歴情報の開始)のオン/オフ情報が設定される。
(Internal register 418)
The
(バッファ制御部415の内部構成)
次に、バッファ制御部415の内部構成について、図6を参照しながら説明する。バッファ制御部415は、バッファセレクタ422及びデバッグ用バッファ423を有する。バッファセレクタ422は、各DMACの動作状態信号(WDMAC状態信号及びRDMAC状態信号)に応じて、ログ生成部414から受け取ったログデータを、どのバッファに蓄積/読み出しするかを選択する。例えば、WDMAC状態信号が「1」のときには、S2Mバッファ405へ画像データを転送中であることを示す。RDMAC状態信号が「1」のときには、M2Pバッファ406へ画像データを転送中であることを示す。
(Internal configuration of buffer control unit 415)
Next, the internal configuration of the
各DMAC動作状態信号と使用バッファ(ログデータの蓄積/読み出し先)との関係を図7に示す。WDMAC状態信号が「0」、RDMAC状態信号が「0」のとき、使用バッファは、S2Mバッファ405又はM2Pバッファ406となる。WDMAC状態信号が「0」、RDMAC状態信号が「1」のとき、使用バッファは、S2Mバッファ405となる。WDMAC状態信号が「1」、RDMAC状態信号が「0」のとき、使用バッファは、M2Pバッファ406となる。WDMAC状態信号が「1」、RDMAC状態信号が「1」のとき、使用バッファは、デバック用バッファ423となる。
FIG. 7 shows the relationship between each DMAC operation state signal and the used buffer (log data storage / read destination). When the WDMAC status signal is “0” and the RDMAC status signal is “0”, the buffer used is the
これによれば、デバッグ用バッファ423を使用するのはS2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送が同時に発生しているときのみである。すなわち、S2Mバッファ405とM2Pバッファ406とのどちらかへのデータ転送が止まっている場合には、本来データ転送用に使われるS2Mバッファ405又はM2Pバッファ406の空き領域をログデータ転送用に利用する。本実施形態に係る優先順位を用いた各バッファの利用方法によれば、バッファ用のメモリ領域を無用に拡大する必要がないため、回路規模の増大を抑えることができる。
According to this, the
また、各バッファに対するライト/リード回数をカウントし、等しい場合はバッファエンプティ信号をアサートする。つまり、各バッファに対するライト/リード回数が等しい場合は、バッファログデータが存在しないと判断し、バッファエンプティ信号を有効な状態にする。なお、ライト回数>リード回数の場合は、バッファログデータが存在すると判定し、バッファエンプティ信号をディアサート、つまり、バッファエンプティ信号を無効な状態にする。 Further, the number of times of writing / reading to each buffer is counted, and if they are equal, a buffer empty signal is asserted. That is, when the number of write / read operations for each buffer is equal, it is determined that there is no buffer log data, and the buffer empty signal is made valid. If the number of writes> the number of reads, it is determined that there is buffer log data, and the buffer empty signal is deasserted, that is, the buffer empty signal is disabled.
図8には、WDMAC状態信号とRDMAC状態信号と、使用バッファとの関係が図示されている。使用バッファに記載された「S2M」はS2Mバッファ405を示し、「M2P」はM2Pバッファ406を示し、「Debug」はデバッグ用バッファ423を示す。図7に示したWDMAC状態信号とRDMAC状態信号と、使用バッファとの関係に基づき、図8に示したように使用バッファが遷移する。例えば、図8では最初、WDMAC状態信号とRDMAC状態信号は(0,0)であるため、使用バッファはS2Mバッファ405又はM2Pバッファ406を使用可能であるが、図8ではM2Pバッファ406を使用する。次に、WDMAC状態信号とRDMAC状態信号は(1,0)であるため、使用バッファはM2Pバッファ406のままとなる。次いで、WDMAC状態信号とRDMAC状態信号は(0,0)の後、(0,1)となった時点で、使用バッファはS2Mバッファ405に遷移する。更に、WDMAC状態信号とRDMAC状態信号が(0,0)の後、(1,0)となった時点で、使用バッファは再びM2Pバッファ406に遷移する。更に、WDMAC状態信号とRDMAC状態信号が(1,1)となった時点で、使用バッファはデバッグ用バッファ423に遷移する。
FIG. 8 shows the relationship between the WDMAC status signal, the RDMAC status signal, and the used buffer. “S2M” described in the used buffer indicates the
これによれば、デバッグ用バッファ423を使用するのはS2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送が同時に発生しているときのみであることがわかる。なお、WDMAC状態信号とRDMAC状態信号は(0,0)である場合、使用バッファはS2Mバッファ405又はM2Pバッファ406を使用可能であるから、図8ではM2Pバッファ406を使用しているが、S2Mバッファ405を使用するようにしても良い。WDMAC状態信号とRDMAC状態信号は(0,0)の場合、S2Mバッファ405とM2Pバッファ406のいずれを使用バッファとして設定するかは、S2Mバッファ405とM2Pバッファ406の使用頻度等に応じて決めることができる。
According to this, it can be seen that the
[動作]
次に、第1実施形態に係る画像形成装置用のデバイスの動作について、図9を参照しながら説明する。図9は、本実施形態に係るエンジンCPU8、エンジンASIC4、コントローラASIC5、コントローラCPU10、メモリ7の各部の状態を示したシーケンス図である。
[Operation]
Next, the operation of the device for the image forming apparatus according to the first embodiment will be described with reference to FIG. FIG. 9 is a sequence diagram showing the states of the respective parts of the engine CPU 8, the engine ASIC 4, the
なお、図9は、S2Mバッファ405へのデータ転送、すなわち、メモリ7への書き込みの場合を例に挙げて図示している。M2Pバッファ406へのデータ転送の場合は、画像データの転送方向が逆、すなわち、メモリ7からの読み出しとなる。それ以外のシーケンスについては、S2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送とは共通する。以下では、S2Mバッファ405へのデータ転送の場合のみ説明し、M2Pバッファ406へのデータ転送の場合の説明は省略する。
FIG. 9 illustrates an example of data transfer to the
(処理の流れ)
図9のシーケンス図に示した処理の流れの詳細説明を以下に示す。
(1)まず、コントローラCPU10からエンジンCPU8に、S2Mバッファ405へのデータ転送制御用の各種パラメータを転送する。
(2)次に、コントローラCPU10からエンジンCPU8に、ログ保存領域開始アドレスを転送する。
(3)次に、エンジンCPU8からエンジンASIC4のレジスタに、S2Mバッファ405へのデータ転送制御用の各種パラメータを設定する。
(4)次に、エンジンCPU8からエンジンASIC4のレジスタに、ログ保存領域開始アドレスを設定する。
(5)次に、エンジンCPU8の制御によりエンジンASIC4のレジスタは、ロギングオン(ログデータの蓄積開始)に設定される。これにより、エンジンCPU8からエンジンASIC4へのレジスタアクセスが発生する毎にログデータの生成および転送が開始される。
(6)次に、エンジンCPU8からエンジンASIC4のダイレクトメモリアクセスコントローラ(DMAC)を起動し、S2Mバッファ405へのデータ転送を開始する。これにより、S2Mバッファ405を介して、エンジンASIC4からメモリ7への画像データの転送が開始される。
(7)画像データの転送が終了すると、エンジンASIC4からエンジンCPU8に割り込みが発生し、SS2Mバッファ405へのデータ転送の完了が通知される。
(8)次に、エンジンCPU8の制御によりエンジンASIC4のレジスタはロギングオフ(ログデータの蓄積終了)に設定される。これにより、ログデータの生成および転送が終了する。
(9)次に、コントローラCPU10からエンジンCPU8に、SS2Mバッファ405へのデータ転送の完了通知が送られる。
(10)最後に、コントローラCPU10は、メモリ7のログデータの読み出しを行う。
(Process flow)
A detailed description of the flow of processing shown in the sequence diagram of FIG. 9 will be given below.
(1) First, various parameters for data transfer control to the
(2) Next, the log storage area start address is transferred from the
(3) Next, various parameters for data transfer control to the
(4) Next, the log storage area start address is set in the register of the engine ASIC 4 from the engine CPU 8.
(5) Next, under the control of the engine CPU 8, the register of the engine ASIC 4 is set to logging on (log data accumulation start). Thereby, generation and transfer of log data are started each time a register access from the engine CPU 8 to the engine ASIC 4 occurs.
(6) Next, the engine CPU 8 starts the direct memory access controller (DMAC) of the engine ASIC 4 and starts data transfer to the
(7) When the transfer of the image data is finished, an interrupt is generated from the engine ASIC 4 to the engine CPU 8, and the completion of the data transfer to the
(8) Next, under the control of the engine CPU 8, the register of the engine ASIC 4 is set to logging off (log data accumulation end). Thereby, the generation and transfer of the log data is completed.
(9) Next, a notification of completion of data transfer to the
(10) Finally, the
(ログデータの一例)
以上の画像形成装置用のデバイスの動作により記録されたログデータの一例を図10に示す。Seq_Numは、シーケンシャルナンバーを示す。ADDRは、レジスタアクセスのアドレスを示す。DATAは、レジスタアクセスのリードまたはライトデータを示す。R/Wは、レジスタアクセスのリード/ライト区分を示す。EXECは、各DMACの動作状態を示す。INT_FLGは、各割り込みフラグの状態を示す。
(Example of log data)
An example of log data recorded by the operation of the device for the image forming apparatus described above is shown in FIG. Seq_Num indicates a sequential number. ADDR indicates an address for register access. DATA indicates read or write data for register access. R / W indicates a read / write section for register access. EXEC indicates the operating state of each DMAC. INT_FLG indicates the state of each interrupt flag.
シーケンシャルナンバーSeq_Numには、1つのログデータにつき1つの番号が割り当てられる。シーケンシャルナンバーSeq_Numは、ロギング開始から終了までの間、新たなログデータが発生する毎にインクリメントされる。シーケンシャルナンバーSeq_Numをつけることで、イベントの発生順番を記録することができ、これにより、ログデータを使用してより容易に障害の原因を解析することができる。上記をレジスタアクセス1回分のログデータとする。 One number is assigned to each log data as the sequential number Seq_Num. The sequential number Seq_Num is incremented every time new log data is generated from the start to the end of logging. By adding the sequential number Seq_Num, it is possible to record the order in which events occur, thereby making it possible to more easily analyze the cause of failure using log data. The above is log data for one register access.
以上、第1実施形態に係る画像形成装置用のデバイスについて説明した。第1実施形態に係る画像形成装置用のデバイスでは、ASIC内部に元々備わっている画像データ用のバッファの空き領域を利用してログデータを一時的にバッファに蓄積し、かつ、画像データ転送の空き時間を利用して、ログデータをメモリに転送する。これによれば、本来のデータ転送帯域に影響を与えることなく、かつバッファのための回路規模の増大を抑制しながらデバッグのためのログデータを記録することができる。 The device for the image forming apparatus according to the first embodiment has been described above. In the device for the image forming apparatus according to the first embodiment, log data is temporarily stored in the buffer using the empty area of the image data buffer originally provided in the ASIC, and the image data transfer is performed. The log data is transferred to the memory using the free time. According to this, log data for debugging can be recorded without affecting the original data transfer band and suppressing an increase in the circuit scale for the buffer.
<第2実施形態>
[全体構成]
次に、本発明の第2実施形態に係る画像形成装置用のデバイスについて説明する。第2実施形態に係る画像形成装置用のデバイスの全体構成、エンジンASIC4の内部構成及びコントローラASIC5の内部構成は、第1実施形態に係る画像形成装置用のデバイスの全体構成(図1)、エンジンASIC4の内部構成(図4)及びコントローラASIC5の内部構成(図3)と同様であるため、ここでは説明を省略する。
Second Embodiment
[overall structure]
Next, a device for an image forming apparatus according to a second embodiment of the present invention will be described. The overall configuration of the device for the image forming apparatus according to the second embodiment, the internal configuration of the engine ASIC 4 and the internal configuration of the
(デバッグ制御部の内部構成)
第2実施形態では、デバッグ制御部は、エンジンASIC側とコントローラASIC側との両方に設けられている。エンジンASIC側は図11のデバッグ制御部413、コントローラASIC側は図15及び図16のデバッグ制御部513である。そして、エンジンASIC4とコントローラASIC5とが連動し、両方に備わっているデバッグ制御部(デバッグ制御部413、デバッグ制御部513)にそれぞれ設けられているバッファの空き領域を利用してログデータを蓄積するようになっている。
(Internal configuration of debug controller)
In the second embodiment, the debug control unit is provided on both the engine ASIC side and the controller ASIC side. The engine ASIC side is the
(エンジンASIC側のデバッグ制御部の内部構成)
まず、デバッグ制御部413の内部構成について、図11を参照しながら説明する。図11は、第2実施形態に係るエンジンASIC4側のデバッグ制御部413の内部構成を示す。第1実施形態に係るデバッグ制御部と下記の点で異なる。
・コントローラASICバッファエンプティ信号を追加
・コントローラASICバッファ指定アドレスレジスタ421を内部レジスタ418に追加
コントローラASICバッファ指定アドレスは、ログデータをエンジンASIC4からコントローラASIC5のバッファに転送し蓄積する場合の転送先アドレスとなる。
(Internal configuration of the debug control unit on the engine ASIC side)
First, the internal configuration of the
Controller ASIC buffer empty signal is added Controller ASIC buffer
(バッファ制御部415の内部構成)
次に、第2実施形態に係るバッファ制御部415(エンジンASIC側)の内部構成について、図12を参照しながら説明する。第2実施形態に係るバッファ制御部415は、図6の第1実施形態に係るバッファ制御部415に、コントローラASICバッファエンプティ信号を追加した構成となる。また、バッファセレクタ422の機能の一部が、第1実施形態とは異なる。
(Internal configuration of buffer control unit 415)
Next, the internal configuration of the buffer control unit 415 (engine ASIC side) according to the second embodiment will be described with reference to FIG. The
(バッファセレクタ422)
バッファセレクタ422は、各DMACの動作状態信号(WDMAC状態信号及びRDMAC状態信号)に応じて、ログ生成部414から受け取ったログデータを、どのバッファに蓄積/読み出しするかを選択する。各DMAC動作状態信号と使用バッファ(ログデータの蓄積/読み出し先)との関係を図13に示す。第2実施形態に係るバッファセレクタ422は、この関係に基づき使用バッファを選択する。
(Buffer selector 422)
The
WDMAC状態信号が「0」、RDMAC状態信号が「0」のとき、使用バッファは、S2Mバッファ405又はM2Pバッファ406となる。このとき、バッファの選択に対してコントローラASICバッファエンプティ信号は考慮しなくてよい。
When the WDMAC status signal is “0” and the RDMAC status signal is “0”, the buffer used is the
WDMAC状態信号が「0」、RDMAC状態信号が「1」のとき、使用バッファはS2Mバッファ405となり、WDMAC状態信号が「1」、RDMAC状態信号が「0」のとき、使用バッファはM2Pバッファ406となる。これらのときも、バッファの選択に対してコントローラASICバッファエンプティ信号は考慮しなくてよい。
When the WDMAC status signal is “0” and the RDMAC status signal is “1”, the used buffer is the
WDMAC状態信号が「1」、RDMAC状態信号が「1」のとき、コントローラASICバッファエンプティ信号を考慮する。つまり、WDMAC状態信号およびRDMAC状態信号がともに「1」の場合、コントローラバッファエンプティ信号の状態に応じて、ログデータの蓄積/読み出し先を切り替える。具体的には、コントローラASICバッファエンプティ信号が「1」のとき、使用バッファは、コントローラASICのバッファとなり、コントローラASICにログデータを転送する。コントローラASICは、それを受けて内部のバッファにログデータを蓄積する。コントローラASICの動作に関しては後述する。 When the WDMAC status signal is “1” and the RDMAC status signal is “1”, the controller ASIC buffer empty signal is considered. That is, when both the WDMAC state signal and the RDMAC state signal are “1”, the storage / readout destination of the log data is switched according to the state of the controller buffer empty signal. Specifically, when the controller ASIC buffer empty signal is “1”, the buffer to be used becomes a buffer of the controller ASIC and transfers log data to the controller ASIC. The controller ASIC receives it and accumulates log data in an internal buffer. The operation of the controller ASIC will be described later.
また、コントローラASICバッファエンプティ信号が「0」のとき、使用バッファは、デバッグ用のバッファとなる。 When the controller ASIC buffer empty signal is “0”, the buffer used is a debugging buffer.
本実施形態によれば、S2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送が同時に発生しているとき(つまり、S2Mバッファ405及びM2Pバッファ406が共に画像データ用に使用されているとき)でも、コントローラASICのバッファが空いていればそちらを使用することができる。これにより、第1実施形態と比較してデバッグ用バッファによる回路規模の増大をより抑止することができる。
According to the present embodiment, when data transfer to the
図14には、WDMAC状態信号とRDMAC状態信号とコントローラASICバッファエンプティ信号と、使用バッファとの関係が図示されている。使用バッファに記載された「S2M」はS2Mバッファ405を示し、「M2P」はM2Pバッファ406を示し、「ASIC2」はコントローラASIC5のバッファを示し、「Debug」はデバッグ用バッファ423を示す。
FIG. 14 shows the relationship between the WDMAC status signal, the RDMAC status signal, the controller ASIC buffer empty signal, and the used buffer. “S2M” described in the used buffer indicates the
図13に示したWDMAC状態信号とRDMAC状態信号とコントローラASICバッファエンプティ信号と、使用バッファとの関係に基づき、図14に示したように使用バッファが遷移する。これによれば、エンジンASIC4のデバッグ用バッファ423又はコントローラASIC5のバッファを使用するのはS2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送が同時に発生しているときのみであることがわかる。また、コントローラASICバッファエンプティ信号の値で、エンジンASIC4のデバッグ用バッファ423又はコントローラASIC5のバッファのいずれを使用するかを切り替えることができる。
Based on the relationship between the WDMAC state signal, the RDMAC state signal, the controller ASIC buffer empty signal, and the use buffer shown in FIG. 13, the use buffer transitions as shown in FIG. According to this, it is understood that the
(コントローラASIC側のデバッグ制御部の内部構成)
次に、第2実施形態に係るコントローラASIC5の内部構成について、図15を参照しながら説明する。第2実施形態に係るコントローラASIC5は、第1実施形態に係るコントローラASIC5の内部構成(図3)に加えてデバッグ制御部513が追加されている。デバッグ制御部513は、メモリアービタ510とシステムI/F制御部511との間に設けられている。
(Internal configuration of debug controller on controller ASIC side)
Next, the internal configuration of the
図16は、第2実施形態に係るコントローラASIC側のデバッグ制御部513の内部構成を示す。デバッグ制御部513は、エンジンASIC4から転送されたログデータのバッファへの蓄積/読み出し、バッファ空き状態のエンジンASIC4への通知、ログデータのメモリへの転送を担う。
FIG. 16 shows an internal configuration of the
デバッグ制御部513は、アドレスデコーダ514、バッファ制御部515、デバッグ用WDMAC516、デバッグ用アービタ517及び内部レジスタ518を有する。
The
(バッファ制御部515)
バッファ制御部515は、各DMAC(WDMAC状態信号及びRDMAC状態信号)および画像処理部の動作状態(画像処理部状態信号)に応じて、エンジンASIC4から取得したログデータの蓄積/読み出し先バッファを切り替える。また、コントローラ側のバッファにログデータが蓄積されていない場合は、コントローラASICバッファエンプティ信号をエンジンASIC4に出力する。
(Buffer control unit 515)
The
(デバッグ用WDMAC516)
デバッグ用WDMAC516は、バッファ制御部515から受け取ったログデータをメモリ上にライトする。デバッグ用WDMAC516は、デバッグ用アービタ517に対してライトリクエストを発生する。デバッグ用WDMAC516は、コントローラASICバッファエンプティ信号がアサート(ログデータがバッファに存在)している限り、ライトリクエストを発行し続ける。
(Debug WDMAC516)
The
(アドレスデコーダ514)
アドレスデコーダ514は、メモリアービタ510から受け取るリクエストのアドレスに応じて、データの出力先を切り替える。アドレスデコーダ514は、アドレスが内部レジスタ518に設定したコントローラASICバッファ指定アドレスレジスタ519と一致する場合、コントローラASIC5のバッファに蓄積するログデータと判定し、バッファ制御部515に出力する。アドレスデコーダ514は、アドレスが内部レジスタ518に設定したコントローラASICバッファ指定アドレスレジスタ519と一致しない場合、メモリ7に転送するログデータまたは画像データと判定し、デバッグ用アービタ517に出力する。
(Address decoder 514)
The
(デバッグ用アービタ517)
デバッグ用アービタ517は、(C)メモリアービタ510からのリクエスト(メモリ7に転送するログデータまたは画像データ)と、(D)デバッグ用WDMAC516からのリクエスト(ASIC2のバッファから読み出したログデータ)とを調停する。
プライオリティは(C)メモリアービタ510からのリクエストが、(D)デバッグ用WDMAC516からのリクエストより高く、固定値である。これにより、ログデータ転送は、本来のデータ転送が行われていない空き時間を利用して処理される。よって、本実施形態によれば本来のデータ転送帯域に影響を与えず、ログデータを転送することができる。
(Debug Arbiter 517)
The debug arbiter 517 receives (C) a request from the memory arbiter 510 (log data or image data to be transferred to the memory 7) and (D) a request from the debug WDMAC 516 (log data read from the buffer of the ASIC 2). Mediate.
The priority is (C) a request from the
(内部レジスタ518)
内部レジスタ518は、コントローラASICバッファ指定アドレスレジスタ519及びログ保存領域開始アドレスレジスタ520を備える。エンジンCPU8は、内部レジスタ418の制御(レジスタ設定)を行うことができる。
(Internal register 518)
The
コントローラASICバッファ指定アドレス部レジスタ519には、ログデータをエンジンASIC4からコントローラASIC5のバッファに転送し蓄積するときの転送先アドレスが設定される。エンジンASIC4に設定されたレジスタ設定値と同じ値を設定することができる。この値は、アドレスデコーダでのログデータ出力先の判定に用いられる。
The controller ASIC buffer designation
ログ保存領域開始アドレス部レジスタ520には、コントローラASIC5のデバッグ用WDMAC516がログデータを転送する際の転送開始アドレスが設定される。
In the log storage area start
(バッファ制御部515の内部構成)
次に、コントローラASIC側のバッファ制御部515の内部構成について、図17を参照しながら説明する。バッファ制御部515は、バッファセレクタ521及びデバッグ用バッファ522を有する。
(Internal configuration of buffer control unit 515)
Next, the internal configuration of the
バッファセレクタ521は、各DMACの動作状態信号(WDMAC状態信号及びRDMAC状態信号)と画像処理部状態信号とに応じて、エンジンASIC4から受け取ったログデータを、どのバッファに蓄積/読み出しするかを選択する。
The
例えば、WDMAC状態信号が「1」のとき、エンジンASIC4からの画像転送中(S2Mバッファ405に転送中)を示す。RDMAC状態信号が「1」のとき、エンジンASIC4への画像転送中(M2Pバッファ406に転送中)を示す。画像処理部状態信号が「1」のとき、M2M(Memory to Memory)動作での画像処理実行中を示す。M2M動作は、DMAによってメモリからデータを読み出し、各種処理をして再度メモリに書き込む動作である。S2M(Scanner to Memory)動作及びM2P(Memory to Plotter)動作と対比される動作であり、本実施形態では、メモリ7→画像処理RDMAC505→コントローラ画像処理部502→画像処理WDMAC504→メモリ7の経路がM2M動作の経路となる。
For example, when the WDMAC state signal is “1”, it indicates that an image is being transferred from the engine ASIC 4 (transferring to the S2M buffer 405). When the RDMAC state signal is “1”, it indicates that an image is being transferred to the engine ASIC 4 (transferring to the M2P buffer 406). When the image processing unit status signal is “1”, it indicates that image processing is being executed in M2M (Memory to Memory) operation. The M2M operation is an operation of reading data from the memory by DMA, performing various processes, and writing the data in the memory again. This is an operation contrasted with an S2M (Scanner to Memory) operation and an M2P (Memory to Plotter) operation. In this embodiment, the path of
各動作状態信号と使用バッファ(ログデータの蓄積/読み出し先)との関係を図18に示す。デバッグ用バッファを使用するのはS2M動作、M2P動作、M2M動作が同時に発生しているときのみで、いずれかの転送が止まっている場合は、本来的には画像データの転送又は画像処理用に使われる画像入力又は画像出力又は画像処理用のバッファの空き領域を利用する。これにより、バッファのためのメモリ領域拡大が不要になり、回路規模の増大を抑えることができる。 FIG. 18 shows the relationship between each operation state signal and the used buffer (log data storage / read destination). The debug buffer is used only when the S2M operation, the M2P operation, and the M2M operation occur at the same time. If any transfer is stopped, it is essentially used for image data transfer or image processing. The free space in the buffer for image input or image output or image processing to be used is used. Thereby, it is not necessary to expand the memory area for the buffer, and an increase in circuit scale can be suppressed.
また、各バッファに対するライト/リード回数をカウントし、等しい場合はコントローラASICバッファエンプティ信号をアサート、つまりバッファエンプティ信号を有効な状態にする。なお、ライト回数>リード回数の場合は、バッファにログデータが存在することを示す。よって、この場合にはコントローラASICバッファエンプティ信号をディアサートし、バッファエンプティ信号を無効な状態にする。 Further, the number of times of writing / reading to each buffer is counted, and if they are equal, the controller ASIC buffer empty signal is asserted, that is, the buffer empty signal is made valid. If the number of writes> the number of reads, it indicates that log data exists in the buffer. Therefore, in this case, the controller ASIC buffer empty signal is deasserted to make the buffer empty signal invalid.
図19には、WDMAC状態信号とRDMAC状態信号と画像処理部状態信号と、使用バッファとの関係が図示されている。使用バッファに記載された「出力」は画像出力バッファ509を示し、「入力」は画像入力バッファ508を示し、「処理」は画像処理バッファ503を示し、「Debug」はデバッグ用バッファ522を示す。
FIG. 19 shows the relationship between the WDMAC status signal, the RDMAC status signal, the image processing unit status signal, and the used buffer. “Output” described in the use buffer indicates the
図18に示したWDMAC状態信号とRDMAC状態信号と画像処理部状態信号と、使用バッファとの関係に基づき、図19に示したように使用バッファが遷移する。デバッグ用バッファ522が使用されるのは、WDMAC状態信号とRDMAC状態信号と画像処理部状態信号が(1,1,1)に遷移したタイミングである。
Based on the relationship between the WDMAC state signal, the RDMAC state signal, the image processing unit state signal, and the use buffer shown in FIG. 18, the use buffer transitions as shown in FIG. The
[動作]
次に、第2実施形態に係る画像形成装置用のデバイスの動作について、図20を参照しながら説明する。図20は、本実施形態に係るエンジンCPU8、エンジンASIC4、コントローラASIC5、コントローラCPU10、メモリ7の各部の状態を示したシーケンス図である。
[Operation]
Next, the operation of the device for the image forming apparatus according to the second embodiment will be described with reference to FIG. FIG. 20 is a sequence diagram showing the states of the components of the engine CPU 8, the engine ASIC 4, the
なお、図20は、S2Mバッファ405へのデータ転送、すなわち、メモリ7への書き込みの場合を例に挙げて図示している。M2Pバッファ406へのデータ転送の場合は、画像データの転送方向が逆、すなわち、メモリ7からの読み出しとなる。それ以外のシーケンスについては、S2Mバッファ405へのデータ転送とM2Pバッファ406へのデータ転送とは共通する。以下では、S2Mバッファ405へのデータ転送の場合のみ説明し、M2Pバッファ406へのデータ転送の場合の説明は省略する。
FIG. 20 illustrates an example of data transfer to the
第1実施形態との差異は以下の4つの処理を追加した点である。
・「(6)コントローラ側のログ保存領域開始アドレスのレジスタ設定」の処理を追加
・「(7)コントローラASICバッファ指定アドレスのレジスタ設定」の処理を追加
・「コントローラASICバッファエンプティ信号のアサート/ディアサート」の処理を追加
・「(13)ログデータ読み出しの際の、ログ保存領域が2つになる」処理を追加
(処理の流れ)
図20のシーケンス図に示した処理の流れの詳細説明を以下に示す。
(1)まず、コントローラCPU10からエンジンCPU8に、S2Mバッファ405へのデータ転送制御用の各種パラメータを転送する。
(2)次に、コントローラCPU10からエンジンCPU8に、ログ保存領域開始アドレスを転送する。
(3)次に、エンジンCPU8からエンジンASIC4のレジスタに、S2Mバッファ405へのデータ転送制御用の各種パラメータを設定する。
(4)次に、エンジンCPU8からエンジンASIC4のレジスタに、エンジンASIC側のログ保存領域開始アドレス419を設定する。
(5)次に、エンジンCPU8からエンジンASIC4のレジスタに、コントローラASICバッファ指定アドレスを設定する。
(6)コントローラCPU10からコントローラASIC5に、コントローラASIC側のログ保存領域開始アドレス520を設定する。
(7)コントローラCPU10からコントローラASIC5に、コントローラASICバッファ指定アドレスを設定する。
(8)エンジンCPU8からエンジンASIC4のレジスタにロギングオン(ログデータの蓄積開始)が設定される。これにより、エンジンCPU8からエンジンASIC4へのレジスタアクセスが発生する毎にログデータの生成および転送が開始される。これによれば、コントローラASIC5のバッファの空き状況に応じて、コントローラASIC5からエンジンASIC4へコントローラASICバッファエンプティ信号がアサート/ディアサートされる。
(9)エンジンCPU8がエンジンASIC4のDMACを起動し、S2Mバッファ405へのデータ転送を開始する。これにより、コントローラASIC5を介して、エンジンASIC4からメモリ7への画像転送が開始される。
(10)画像転送が終了すると、エンジンASIC4からエンジンCPU8に割り込みが発生し、S2Mバッファ405へのデータ転送の完了を通知する。
(11)エンジンCPU8からエンジンASIC4のレジスタに、ロギングオフが設定される。これにより、ログデータの生成および転送が終了する。
(12)コントローラCPU10からエンジンCPU8に、S2Mバッファ405へのデータ転送の完了通知を送る。
(13)コントローラCPU10は、メモリ7のログデータを読み出す。ログデータが保存される領域は2つ(ログ保存領域アドレス開始419およびログ保存領域開始アドレス520)に分かれているので、両方の領域のログデータを読み出す。
The difference from the first embodiment is that the following four processes are added.
・ Addition of “(6) Register setting of controller's log storage area start address” ・ Addition of processing of “(7) Register setting of controller ASIC buffer specified address” Added "assert" processing-Added "(13) Two log storage areas when reading log data" (flow of processing)
A detailed description of the flow of processing shown in the sequence diagram of FIG. 20 is given below.
(1) First, various parameters for data transfer control to the
(2) Next, the log storage area start address is transferred from the
(3) Next, various parameters for data transfer control to the
(4) Next, the engine CPU 8 sets a log storage area start
(5) Next, the controller ASIC buffer designation address is set in the register of the engine ASIC 4 from the engine CPU 8.
(6) The
(7) A controller ASIC buffer designation address is set from the
(8) Logging on (starting accumulation of log data) is set in the register of the engine ASIC 4 from the engine CPU 8. Thereby, generation and transfer of log data are started each time a register access from the engine CPU 8 to the engine ASIC 4 occurs. According to this, the controller ASIC buffer empty signal is asserted / deasserted from the
(9) The engine CPU 8 activates the DMAC of the engine ASIC 4 and starts data transfer to the
(10) When the image transfer is completed, an interrupt is generated from the engine ASIC 4 to the engine CPU 8 to notify the completion of the data transfer to the
(11) Logging off is set in the register of the engine ASIC 4 from the engine CPU 8. Thereby, the generation and transfer of the log data is completed.
(12) A notification of completion of data transfer to the
(13) The
以上、第2実施形態に係る画像形成装置用のデバイスについて説明した。以上のように第2実施形態に係る画像形成装置用のデバイスにおいて、コントローラ2は、画像データの前記メモリへのダイレクトメモリアクセスを制御するDMACと、画像データを一時的に蓄積するバッファと、デバッグ用のログデータを生成し、前記エンジン制御部内の前記バッファの空き状況及び前記コントローラへのデータ転送状況に応じて、前記生成されたログデータをバッファへ蓄積するか又は前記コントローラへ転送するデバッグ制御部とを有する。エンジン制御部のデバッグ制御部は、前記エンジン制御部側のバッファの空き状況と、前記コントローラ側のバッファの空き状況とに応じて前記生成したログデータを前記コントローラへのデータ転送状況に応じて、前記生成されたログデータを前記エンジン制御部側のバッファ又は前記コントローラ側のバッファへ蓄積するか又はコントローラへ転送する。
The image forming apparatus device according to the second embodiment has been described above. As described above, in the device for the image forming apparatus according to the second embodiment, the
これによれば、ASIC内部に元々備わっている画像データ用のバッファの空き領域を利用してログデータを一時的に蓄積し、かつ、画像データ転送の空き時間を利用して、ログデータをメモリ7に転送する。これによれば、本来のデータ転送帯域に影響を与えることなく、かつバッファ用のメモリ領域の拡大のための回路規模の増大を抑制しながらデバッグのためのログデータを記録することができる。また、本実施形態によれば、エンジン制御部1又はコントローラ2のいずれかのバッファに空き領域があれば、本来画像データ蓄積用に用いられるバッファをログデータの蓄積に用いることができる。このため、エンジン制御部1およびコントローラ2に実装されるログバッファのための回路規模の増大を抑えながら、確実にログ情報を蓄積することができる。
According to this, log data is temporarily stored using the free space of the image data buffer originally provided in the ASIC, and the log data is stored in the memory using the free time of image data transfer. Forward to 7. According to this, log data for debugging can be recorded without affecting the original data transfer band and suppressing an increase in circuit scale for expanding the buffer memory area. Further, according to the present embodiment, if there is a free area in either the buffer of the
また、第2実施形態に係る画像形成装置用のデバイスによれば、エンジン制御部1側またはコントローラ2側の両方のバッファを使用して、いずれかのバッファに空き領域があれば本来画像データ蓄積用に用いられるバッファをログデータの蓄積に用いることができる。このため、第1実施形態の場合より、より確実にログ情報を蓄積することができる。
Further, according to the device for the image forming apparatus according to the second embodiment, if both the buffers on the
<第3実施形態>
次に説明する第3実施形態に係る電子機器用のデバイスでは、CPUからアクセスが可能なデバイス、およびデバイスを搭載する電子機器の障害解析のために、CPUからレジスタへのアクセスや内部信号の挙動という特定のイベントが、ログデータとして取得したい特定のイベントとして登録される。そして、登録されたイベントが発生した場合のみ、イベント番号を含むログデータが保存される。これにより、電子機器に内蔵されるメモリの容量を小さく抑えることができる。
<Third Embodiment>
In the device for an electronic apparatus according to the third embodiment to be described next, the access from the CPU to the register and the behavior of the internal signal for the failure analysis of the device accessible from the CPU and the electronic apparatus equipped with the device. Is registered as a specific event to be acquired as log data. Only when a registered event occurs, log data including the event number is saved. Thereby, the capacity | capacitance of the memory incorporated in an electronic device can be restrained small.
[全体構成]
以下、第3実施形態に係る電子機器に搭載されたデバイス(回路)の全体構成について、図21を参照しながら説明する。第3実施形態に係る電子機器に搭載されたデバイス(回路)は、ターゲット基板600に形成されている。
[overall structure]
Hereinafter, the overall configuration of a device (circuit) mounted on an electronic apparatus according to the third embodiment will be described with reference to FIG. A device (circuit) mounted on the electronic apparatus according to the third embodiment is formed on the
ターゲット基板600は、電子機器の回路部を構成する部品である。ターゲット基板600には、CPU620(所定のコントローラに相当)と、CPU620からアクセスを受けるデバイス601とが搭載されている。図21の構成例では、CPU620が、デバイス601に対して外付けになっており、デバイス601内で取得されるアクセスログデータ(以下、アクセスログという。)を記憶する記憶装置としての内蔵メモリ609がデバイス601に内蔵されているが、CPU620及び内蔵メモリ609のいずれも、デバイス601に対して外付けされても、内蔵されてもよい。
The
例えば、デバイス601を搭載する電子機器が画像形成装置である場合、デバイス601は、例えば、プリンタ制御用のエンジンASICといった、CPU I/Fを有するデバイスである。図21に示すように、デバイス601は、CPU I/F603、割り込みコントローラ605、機能モジュール607a、607b、607c、内蔵メモリ609、シリアルI/F611及びデバッグ制御部613を有する。
For example, when the electronic device on which the
CPU I/F603は、CPU620にCPUバスを介して接続され、CPU620からレジスタへのアクセスをデバイス601の内部のレジスタI/Fに変換して各機能モジュール607a、607b、607cに接続する。
The CPU I /
機能モジュール607a、607b、607cは、デバイス601に内蔵された所望の機能を有するモジュールに相当し、それぞれCPU620にアクセス可能なレジスタを有し、内部バス経由でCPU620へのアクセスが行われる。図21では、機能モジュール607a、607b、607cの3つのモジュールを例に挙げているが、モジュール数はいくつでも構わない。機能モジュール607a、607b、607cは、以下、総称して機能モジュール607ともいう。
The functional modules 607a, 607b, and 607c correspond to modules having a desired function built in the
内蔵メモリ609は、アクセスログを格納するために用いられる記憶装置である。内蔵メモリ609に格納されたアクセスログには、CPU620および後述するターミナルPC630から直接アクセスすることが可能である。
The built-in
シリアルI/F611は、ターミナルPC630から内蔵メモリ609にアクセスするためのI/Fとして機能する。
The serial I /
ターミナルPC630は、シリアル操作及び表示用のPC(Personal Computer)であり、シリアルI/F611を介して内蔵メモリ609にアクセスし、格納されたアクセスログを取得することが可能な管理端末機である。
The
デバッグ制御部613は、CPU620からのアクセスを監視し、アクセスログを作成して内蔵メモリ609に出力するモジュールである。デバッグ制御部613は、デバイス601の内部信号を監視することも可能である。
The
デバッグ制御部613は、監視状況に応じて、割り込みコントローラ605を介してCPU620に割り込みを通知することも可能である。
The
(デバッグ制御部)
第3実施形態に係るデバッグ制御部613の機能の詳細について、図22を参照しながら説明する。図22は、第3実施形態に係るデバッグ制御部613の内部構成を示す。デバッグ制御部613は、イベント検出回路641、タイマー643、ログ作成回路645及びイベント登録部647を有する。イベント登録部647は、制御レジスタを有する。
(Debug control part)
Details of functions of the
イベント検出回路641は、レジスタI/FにてCPU620からのレジスタのアクセスと内部信号を監視する。イベント検出回路641は、イベント登録部647により予め制御レジスタ648に設定されたイベント検知条件に基づき、制御レジスタ648に設定された特定のイベントが発生したら検知結果をログ作成回路645に通知する。イベント検出回路641は、モジュールへのアクセスを分析し、特定のイベントを検知するイベント検出部に相当する。
The
イベント検出回路641は、特定のイベント発生時、以下のような処理も可能である。
・CPU620に対して割り込みを発生させる。
・任意のレジスタへのライト(書込み)をマスクする。
・任意のレジスタに、任意の値を書き込む。
The
Generate an interrupt to the
• Mask writing to any register.
• Write any value to any register.
タイマー643は、図示しないカウンターを用いて時間を計測する。タイマー643によるカウント単位は、制御レジスタ648で設定可能である。タイマー643によるカウント値は、リアルタイムでイベント検出回路641に通知される。
The
ログ作成回路645は、イベント検知回路641からの検知結果に、タイマー643からの時間情報(タイムスタンプ)を付加し、ログデータを作成する。ログ作成回路645は、作成したログデータを内蔵メモリ609に転送する。ログ作成回路645は、イベント検知部により検知された特定のイベントに対するログデータを生成するログ生成部に相当する。
The log creation circuit 645 adds the time information (time stamp) from the
制御レジスタ648は、デバッグ制御部613を制御するレジスタである。以下では、図23を参照して、制御レジスタ648に含まれる各レジスタの詳細を説明する。
[制御レジスタ]
(デバッグモードレジスタ<DBG_MODE>647a)
デバッグモードレジスタ647aは、デバッグのモードを選択する。「dbg_en」は、デバッグをイネーブルにする。つまり、「dbg_en」が「0」のときには、ログデータを取得しない。「dbg_en」が「1」のときには、ログデータを取得する。
The
[Control register]
(Debug mode register <DBG_MODE> 647a)
The debug mode register 647a selects a debug mode. “Dbg_en” enables debugging. That is, when “dbg_en” is “0”, log data is not acquired. When “dbg_en” is “1”, log data is acquired.
「ev_en」は、イベントモードをイネーブルにする。つまり、「ev_en」が「0」のときには、ノーマルモードで動作し、CPUからのレジスタアクセスを監視し、アドレス、データ、リード/ライトの情報を全てログデータとして取得する。「ev_en」が「1」のときには、イベントモードで動作し、レジスタに設定されたイベント検知条件と一致した場合のみ、ログデータを取得する。 “Ev_en” enables the event mode. That is, when “ev_en” is “0”, the operation is performed in the normal mode, the register access from the CPU is monitored, and the address, data, and read / write information are all acquired as log data. When “ev_en” is “1”, it operates in the event mode, and log data is acquired only when it matches the event detection condition set in the register.
「time_en」は、タイムスタンプの付加をイネーブルにする。つまり、「time_en」が「0」のときには、ログデータにタイムスタンプを付加しない。「time_en」が「1」のときには、ログデータにタイムスタンプを付加する。 “Time_en” enables time stamp addition. That is, when “time_en” is “0”, no time stamp is added to the log data. When “time_en” is “1”, a time stamp is added to the log data.
(タイマー周期レジスタ<PERIOD>647b)
タイマー周期レジスタ647bは、タイマー周期を設定する。タイマー周期レジスタ647bは、設定された周期の分だけ時間が経過する毎に、タイムスタンプの値をインクリメントする。例えばタイマーが16bitで設定値0x4とした場合、タイマー1周で65.535sのタイムスタンプが付加されることになる。
0x0: タイマー周期100ns
0x1: タイマー周期1μs
0x2: タイマー周期10μs
0x3: タイマー周期100μs
0x4: タイマー周期1ms
0x5: タイマー周期10ms
0x6: タイマー周期100ms
0x7: タイマー周期1s
以下で説明するレジスタにおいて、「イベント(n)xxレジスタ」は、それぞれ登録可能なイベント数n個分だけ存在する。nは各イベントを識別するイベント番号となる。
(Timer period register <PERIOD> 647b)
The timer cycle register 647b sets a timer cycle. The timer cycle register 647b increments the value of the time stamp every time when the time has elapsed by the set cycle. For example, if the timer is 16 bits and the set value is 0x4, a time stamp of 65.535 s is added in one round of the timer.
0x0: Timer period 100ns
0x1: Timer period 1μs
0x2: Timer period 10μs
0x3: Timer period 100μs
0x4: Timer period 1ms
0x5: Timer period 10ms
0x6: Timer period 100ms
0x7: Timer period 1s
In the registers described below, there are as many “event (n) xx registers” as there are n events that can be registered. n is an event number for identifying each event.
(イベント(n)モード選択レジスタ<EV_MODE>647c)
イベント(n)モード選択レジスタ647cは、イベントモードがイネーブルの場合、検知するイベントの種類を選択する。
(Event (n) mode selection register <EV_MODE> 647c)
The event (n)
「EV_MODE」が「0」のときには、レジスタへのアクセスを検知するモード(レジスタアクセス検知モード)である。このとき、下記イベント(n)アドレス登録レジスタ<ADDR>647d,イベント(n)アドレスマスクレジスタ<ADDR_MSK>647e,イベント(n)データ登録レジスタ<DATA>647f,イベント(n)データマスクレジスタ<DATA_MSK>647g,イベント(n)リードライト選択レジスタ<RW>647hの各レジスタに設定された条件を満たすレジスタアクセスが検知される。 When “EV_MODE” is “0”, this is a mode for detecting access to a register (register access detection mode). At this time, event (n) address registration register <ADDR> 647d, event (n) address mask register <ADDR_MSK> 647e, event (n) data registration register <DATA> 647f, event (n) data mask register <DATA_MSK> A register access that satisfies the conditions set in each register of 647g, event (n) read / write selection register <RW> 647h is detected.
「EV_MODE」が「1」のときには、内部信号を検知するモード(内部信号検知モード)である。このとき、下記イベント(n)割り込み選択レジスタ<INT>647i,イベント(n)内部信号選択レジスタ<SIG>647j,イベント(n)エッジ選択レジスタ<EDGE>647kの各レジスタに設定された条件を満たす内部信号の変化が検知される。 When “EV_MODE” is “1”, the mode is an internal signal detection mode (internal signal detection mode). At this time, the conditions set in the following event (n) interrupt selection register <INT> 647i, event (n) internal signal selection register <SIG> 647j, event (n) edge selection register <EDGE> 647k are satisfied. A change in the internal signal is detected.
(イベント(n)アドレス登録レジスタ<ADDR>647d)
イベント(n)アドレス登録レジスタ647dは、レジスタアクセス検知モード時に検知する、レジスタアクセスのアドレスを設定する。
(Event (n) address registration register <ADDR> 647d)
The event (n) address
(イベント(n)アドレスマスクレジスタ<ADDR_MSK>647e)
イベント(n)アドレスマスクレジスタ647eは、レジスタアクセス検知モード時に検知する、レジスタアクセスのアドレスにおいて、各ビットのマスクを設定する。すなわち、「1」と設定されたビットはマスクされ、処理外のビット(Don't care扱い)になる。
例えばADDR=0x32107654、ADDR_MSK=0x0000FFFF、と設定された場合、アドレス0x3210xxxx(「x」はDon't care)へのアクセスが検知条件を満たす。
(Event (n) address mask register <ADDR_MSK> 647e)
The event (n)
For example, when ADDR = 0x32107654 and ADDR_MSK = 0x0000FFFF are set, access to the address 0x3210xxxx (“x” is Don't care) satisfies the detection condition.
(イベント(n)データ登録レジスタ<DATA>647f)
イベント(n)データ登録レジスタ647fは、レジスタアクセス検知モード時に検知する、レジスタアクセスのデータを設定する。
(Event (n) data registration register <DATA> 647f)
The event (n) data registration register 647f sets register access data to be detected in the register access detection mode.
(イベント(n)データマスクレジスタ<DATA_MSK>647g)
イベント(n)データマスクレジスタ647gは、レジスタアクセス検知モード時に検知する、レジスタアクセスのデータにおいて、各ビットのマスクを設定する。
例えば、DATA = 0x32107654、DATA_MSK=0x0000FFFF、と設定された場合、データ0x3210xxxx(xはDon't care)のアクセスが検知条件を満たす。
(Event (n) data mask register <DATA_MSK> 647 g)
The event (n) data mask register 647g sets a mask of each bit in the register access data detected in the register access detection mode.
For example, when DATA = 0x32107654 and DATA_MSK = 0x0000FFFF are set, the access of data 0x3210xxx (x is Don't care) satisfies the detection condition.
(イベント(n)リードライト選択レジスタ<RW>647h)
イベント(n)リードライト選択レジスタ647hは、レジスタアクセス検知モード時に検知する、レジスタアクセスのリード/ライトを選択する。「RW」が「0」のときには、リードアクセスを検知する。「RW」が「1」のときには、ライトアクセスを検知する。
(Event (n) read / write selection register <RW> 647h)
The event (n) read / write selection register 647h selects register access read / write to be detected in the register access detection mode. When “RW” is “0”, read access is detected. When “RW” is “1”, write access is detected.
(イベント(n)割り込み選択レジスタ<INT>647i)
イベント(n)割り込み選択レジスタ647iは、内部信号検知モード時に検知する、割り込み信号を選択する。各ビットは、割り込みコントローラにおける割り込み要因に対応づけてられている。例えば、「int0」のときには、割り込み要因0の変化が検知される。また、例えば、「int31」のときには、割り込み要因31の変化が検知される。
(Event (n) interrupt selection register <INT> 647i)
The event (n) interrupt
(イベント(n)内部信号選択レジスタ<SIG>647j)
イベント(n)内部信号選択レジスタ647jは、内部信号検知モード時に検知する、内部信号を選択する。各ビットは、デバイス実装時に選択された、解析に有用な代表的な内部信号に対応づけられている。例えば画像形成装置の場合、各DMACの起動信号や、各画像転送チャネルの転送制御信号(LSYNC, LGATE, FSYN, FGATE)等を割り当てる。例えば、「sig01」のときには、内部信号0の変化が検知される。また、例えば、「sig31」のときには内部信号31の変化が検知される。
(Event (n) internal signal selection register <SIG> 647j)
The event (n) internal signal selection register 647j selects an internal signal to be detected in the internal signal detection mode. Each bit is associated with a typical internal signal selected at the time of device mounting and useful for analysis. For example, in the case of an image forming apparatus, an activation signal for each DMAC, a transfer control signal for each image transfer channel (LSYNC, LGATE, FSYN, FGATE) and the like are assigned. For example, when “sig01”, a change in the
(イベント(n)エッジ選択レジスタ<EDGE>647k)
イベント(n)エッジ選択レジスタ647kは、内部信号検知モード時に検知する、内部信号のエッジを選択する。「EDGE」が「0」のときには、立下りエッジが検知される。「EDGE」が「1」のときには、立上りエッジが検知される。
(Event (n) edge selection register <EDGE> 647k)
The event (n)
[アクセスログのフォーマット]
次に、アクセスログのフォーマットについて、図24を参照しながら説明する。図24は、取得可能なアクセスログのフォーマットを示す。
[Access log format]
Next, the format of the access log will be described with reference to FIG. FIG. 24 shows an access log format that can be acquired.
本実施形態では、デバッグモードレジスタ647aの「ev_en」および「time_en」レジスタの設定値に応じて、図24に示した4種類のフォーマットLF1、LF2,LF3,LF4でログを取得することが可能である。 In the present embodiment, logs can be acquired with the four types of formats LF1, LF2, LF3, and LF4 shown in FIG. 24 according to the set values of the “ev_en” and “time_en” registers of the debug mode register 647a. is there.
(フォーマットLF1)
「ev_en=0」,「time_en=1」の場合、フォーマットLF1でログが取得される。ログサイズは1ログあたり72bitとなる。フォーマットLF1の場合、ノーマルモードで動作するため、レジスタアクセスのアドレスf2、データf3、リードライトの情報が取得され、さらにタイムスタンプf1が付加される。
(Format LF1)
In the case of “ev_en = 0” and “time_en = 1”, the log is acquired with the format LF1. The log size is 72 bits per log. Since the format LF1 operates in the normal mode, the register access address f2, data f3, and read / write information are acquired, and a time stamp f1 is further added.
(フォーマットLF2)
「ev_en=0」,「time_en=0」の場合、フォーマットLF2でログが取得される。ログサイズは1ログあたり56bitとなる。フォーマットLF2の場合、レジスタアクセスのアドレスf2、データf3が取得される。
(Format LF2)
In the case of “ev_en = 0” and “time_en = 0”, the log is acquired with the format LF2. The log size is 56 bits per log. In the case of format LF2, register access address f2 and data f3 are acquired.
(フォーマットLF3)
「ev_en=1」,「time_en=1」の場合、フォーマットLF3でログが取得される。ログサイズは1ログあたり24bitとなる。フォーマットLF3の場合、イベントモードで動作するため検知したイベント番号f4が取得され、さらにタイムスタンプf1が付加される。
(Format LF3)
In the case of “ev_en = 1” and “time_en = 1”, the log is acquired with the format LF3. The log size is 24 bits per log. In the case of the format LF3, an event number f4 detected for operating in the event mode is acquired, and a time stamp f1 is further added.
(フォーマットLF4)
「ev_en=1」,「time_en=0」の場合、ログサイズは1ログあたり8bitとなる。フォーマットLF4の場合、イベントモードで動作するため検知したイベント番号f4が取得される。
(Format LF4)
In the case of “ev_en = 1” and “time_en = 0”, the log size is 8 bits per log. In the case of the format LF4, the detected event number f4 is acquired for operating in the event mode.
上記の通り、レジスタ設定により取得するログのフォーマットを変更することが可能である。よって、デバッグの用途に応じて、レジスタアクセスの詳細を観測したい場合にはフォーマットLF1、内部信号を含めてポイントを絞った観測をしたい場合にはフォーマットLF4といった使い分けができる。 As described above, it is possible to change the format of the log acquired by register setting. Therefore, depending on the purpose of debugging, the format LF1 can be used when the details of register access are to be observed, and the format LF4 can be used when it is desired to narrow down the points including internal signals.
また、例えば、フォーマットLF2とフォーマットLF4とを比較すると、イベントモードを使用することで1ログあたりのサイズを8bit/56bit=1/7に圧縮することが可能であり、限られた内蔵メモリの容量を効率よく活用することが可能である。 For example, when the format LF2 is compared with the format LF4, the size per log can be compressed to 8 bits / 56 bits = 1/7 by using the event mode, and the capacity of the limited built-in memory Can be used efficiently.
[デバッグ制御部の動作]
次に、デバッグ制御部613の動作について、図25を参照しながら説明する。図25は、第3実施形態に係るデバッグ制御部の動作を示したシーケンス図である。
[Operation of debug controller]
Next, the operation of the
イベント登録部647は、あらかじめCPU620からのアクセスに対するデバッグ制御部613の各制御レジスタ648の設定(モード、イベント設定)を行う(ステップS10)。
The
電子機器を動作させると、CPU620からデバイス601の機能モジュール607に対してのレジスタアクセス(ステップS12)や、CPU620への割り込み(ステップS14)や、(図示しない)内部信号の変化が発生する。
When the electronic device is operated, a register access from the
デバッグ制御部613は、それらの挙動を監視し、あらかじめ制御レジスタ648に設定された特定のイベントを検知するとログデータを作成し、内蔵メモリ609に蓄積する(ステップS16)。
The
動作終了後、ターミナルPC630からコマンド操作することで(ステップS18)、内蔵メモリ609からログデータが読み出され、ログデータが取得される(ステップS20)。
After the operation is completed, by operating a command from the terminal PC 630 (step S18), the log data is read from the built-in
図示しないが、ログデータの読み出しは、ターミナルPC630からではなくソフトウェアによりCPU620から行うことも可能である。
Although not shown, log data can be read from the
図26に、イベントモードにてレジスタアクセスを検知する場合のタイミングチャートを示す。図26では、以下のようにレジスタ設定された場合が想定されている。「dbg_en=1」、「ev_en=1」、「time_en=1」、「ev_mode=0」
図26において、「req*」、「ack*」は、イベント検知回路641とログ作成回路645との間で、イベント検知結果を通知するための信号であり、設定可能なイベント数分だけ存在する。「time」は、タイマーからログ作成回路645に通知されるタイムスタンプ情報である。「log_data」は、ログ作成回路645にて作成さ、内蔵メモリ609に出力されるログデータである。「mem_rdy」は、内蔵メモリ609が書き込み可能状態であることを示す信号であり、待機時は「1」、メモリへの書き込み中のみ「0」に設定される。
FIG. 26 shows a timing chart when register access is detected in the event mode. In FIG. 26, it is assumed that the registers are set as follows. “Dbg_en = 1”, “ev_en = 1”, “time_en = 1”, “ev_mode = 0”
In FIG. 26, “req *” and “ack *” are signals for notifying the event detection result between the
また、本実施形態においては、イベント設定次第で、同時に複数のイベントを検知する可能性がある。図26の(A)は、あるタイミングで1つのイベントが検知された場合を示し、図26の(B)はあるタイミングで2つのイベントが検知された場合を示す。 In the present embodiment, a plurality of events may be detected simultaneously depending on the event setting. 26A shows a case where one event is detected at a certain timing, and FIG. 26B shows a case where two events are detected at a certain timing.
(A)1つのイベントが検知された場合
イベント検知回路641は、レジスタI/Fにて「cs」の立上りを検知すると、T4のタイミングで「rw」、「addr」、「data」をラッチする。イベント検知回路641は、イベント検知条件と比較し、図ではイベント3と一致したためT5のタイミングで「req3」をアサートし、イベント3を検知したことをCPU620に通知する。
(A) When one event is detected The
ログ作成回路645は、「mem_rdy=1」、つまりメモリ書き込み可能状態であれば、最短のT6のタイミングで「ack4」をアサートし、イベント3の検知結果を受け取ると同時に、同タイミングでのタイムスタンプ値0x143を付加し、「log_data=0x0143_03」を内蔵メモリ609に書き込む。内蔵メモリ609は、ログデータの書き込み開始と同時に「mem_rdy」をネゲートし、書き込みが完了すると(ここでは書き込みに3サイクルかかる場合の例を示している)T9のタイミングで再び「mem_rdy」をアサートする。
The log creation circuit 645 asserts “ack4” at the shortest timing T6 when “mem_rdy = 1”, that is, in a memory writable state, receives the detection result of the event 3, and at the same time the time stamp The value 0x143 is added and “log_data = 0x0143 — 03” is written in the
(B)同時に2つのイベントが検知された場合
同時に複数のイベントが検知された場合、本実施形態では、イベント番号の小さいイベントほど高い優先度で、順番にログデータを作成する。
(B) When two events are detected at the same time When a plurality of events are detected at the same time, in the present embodiment, log data is created in order with higher priority as the event number is smaller.
図26では、T13のタイミングでイベント3,4を同時に検知したため、イベント検知回路641はT14のタイミングで「req3」と「req4」を同時にアサートする。
In FIG. 26, since the events 3 and 4 are simultaneously detected at the timing T13, the
ログ作成回路645は、優先度の高い順に、まず「ack3」をアサートし、「log_data=0x0145_03」を内蔵メモリ609に書き込む。その間、「ack4」はネゲートされたままであり、イベント検知回路641は「req4」をアサートし続ける。
The log creation circuit 645 first asserts “ack3” in descending order of priority, and writes “log_data = 0x0145 — 03” to the
T18のタイミングでイベント3のログデータの書き込みが完了すると、T19のタイミングで「ack4」をアサートし、イベント4の検知結果を受け付ける。 When writing of the log data of event 3 is completed at the timing of T18, “ack4” is asserted at the timing of T19, and the detection result of the event 4 is accepted.
本実施形態によれば、上記のような動作により、同時に複数のイベントを検知した場合でも、発生したイベントを取りこぼすことなく、ログデータを取得することが可能となる。また、上記本実施形態では優先度が固定(イベント番号が小さいほど優先度高)の場合の例であるが、別途レジスタを設けることでイベント番号ごとに優先度を変更できる構成とすることも可能である。例えば、イベント番号の大きいイベントほど高い優先度にしてもよい。 According to the present embodiment, even when a plurality of events are detected at the same time by the operation as described above, it is possible to acquire log data without missing the generated event. In the present embodiment, the priority is fixed (the lower the event number, the higher the priority). However, it is also possible to provide a separate register to change the priority for each event number. It is. For example, an event with a larger event number may have a higher priority.
図27に、イベントモードにて内部信号を検知する場合のタイミングチャートを示す。以下のようにレジスタ設定された場合を想定している。「dbg_en=1」、「ev_en=1」、「time_en=1」、「ev_mode=1」
「内部信号sig0の立ち上がり」をイベント番号5として登録した場合の例である。基本的なログ取得の動作は、レジスタアクセス検知時と同じであるが、内部信号検知時は、イベント設定された内部信号の変化を監視して、ログデータが作成される。イベント検知後にログデータを作成しメモリに書き込む機能はレジスタアクセス検知時と共通であるため、図26に(B)にて説明した、同時に複数のイベントが発生した場合の対応も同様に可能である。
FIG. 27 shows a timing chart when an internal signal is detected in the event mode. It is assumed that the registers are set as follows. “Dbg_en = 1”, “ev_en = 1”, “time_en = 1”, “ev_mode = 1”
In this example, “rising edge of internal signal sig0” is registered as
CPU620からのアクセスをモニタし、ログデータを取得する場合、アドレス(32bit)、データ(32bit)の情報をそのままログデータとして保存するため、ログデータのデータ量が膨大になり、保存に必要な内蔵メモリ609の容量が大きくコストがかかる。
When the access from the
これに対して、第3実施形態に係る電子機器用のデバイスによれば、電子機器の障害解析のためにあらかじめログとして取得したいCPUからのレジスタアクセスや内部信号の挙動をイベントとして登録しておき、登録したイベントが発生した場合のみ、イベント番号をログとして保存する。これにより、必要とする内蔵メモリの容量を小さく抑えることができる。 On the other hand, according to the device for an electronic device according to the third embodiment, register access from the CPU and the behavior of the internal signal to be acquired as a log in advance for failure analysis of the electronic device are registered as events. The event number is saved as a log only when a registered event occurs. As a result, the required capacity of the built-in memory can be kept small.
また、第3実施形態に係る電子機器用のデバイスによれば、CPUアクセスだけでなく、デバイスの内部信号の変化もイベントとして検知しログを取得することができる。また、ログにタイムスタンプを付加することで、より詳細な解析ができるようになる。また、イベントが検知されたことを、割り込みによりソフトウェアに通知することができる。また、シリアル通信可能な機器、例えばPCを接続して、ログを取得することができる。解析するタイムレンジに応じて適切な分解能のタイムスタンプをログに付加することで、より詳細な解析ができるようになる。アドレスやデータの一部(例えば上位16bit)のみを比較して、イベント検知することができ、より柔軟な解析ができる。また、同時に複数のイベントが発生した場合でも、全てのイベントのログを取得することができ、より確実な解析ができる。 Further, according to the device for an electronic apparatus according to the third embodiment, not only the CPU access but also a change in the internal signal of the device can be detected as an event and a log can be acquired. In addition, a more detailed analysis can be performed by adding a time stamp to the log. Further, it is possible to notify the software that an event has been detected by an interrupt. In addition, a log can be acquired by connecting a serial communication device such as a PC. A more detailed analysis can be performed by adding a time stamp with an appropriate resolution to the log according to the time range to be analyzed. Only a part of the address and data (for example, the upper 16 bits) can be compared to detect the event, enabling more flexible analysis. In addition, even when a plurality of events occur at the same time, logs of all events can be acquired, and more reliable analysis can be performed.
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明した。しかしながら、本発明の技術的範囲はかかる例に限定されない。本発明の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属する。 The preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the technical scope of the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field of the present invention can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it belongs to the technical scope of the present invention.
例えば、各CPUにより実行される各機能を実現するためのプログラムは、はじめから図示しないコンピュータに備えられた図示しないROM等の記憶手段に格納されてもよいし、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録され、メモリに記録されたプログラムをコンピュータにインストールして各CPUに実行させるか、又はCPUにそのメモリからこのプログラムを読み出して実行させてもよい。さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードすることもできる。 For example, a program for realizing each function executed by each CPU may be stored in storage means such as a ROM (not shown) provided in a computer (not shown) from the beginning, or a CD-ROM as a recording medium or A program recorded in a non-volatile recording medium (memory) such as a flexible disk, SRAM, EEPROM, memory card, etc. and recorded in the memory is installed in the computer and executed by each CPU, or the CPU executes the program from the memory. It may be read and executed. Furthermore, it is also possible to download from an external device that is connected to a network and includes a recording medium that records the program, or an external device that stores the program in the storage means.
1 エンジン制御部
2 コントローラ
3 スキャナ
4 エンジンASIC
5 コントローラASIC
7 メモリ
8 エンジンCPU
10 コントローラCPU
11 プロッタ
413 デバッグ制御部(エンジンASIC側)
415 バッファ制御部(エンジンASIC側)
418 内部レジスタ(エンジンASIC側)
422 バッファセレクタ(エンジンASIC側)
423 デバッグ用バッファ(エンジンASIC側)
513 デバッグ制御部(コントローラASIC側)
515 バッファ制御部(コントローラASIC側)
518 内部レジスタ(コントローラASIC側)
521 バッファセレクタ(コントローラASIC側)
522 デバッグ用バッファ(コントローラASIC側)
600 ターゲット基板
601 デバイス
620 CPU
641 イベント検知回路
645 ログ作成回路
647 イベント登録部
649 制御レジスタ
1
5 Controller ASIC
7 Memory 8 Engine CPU
10 Controller CPU
11
415 Buffer control unit (engine ASIC side)
418 Internal register (engine ASIC side)
422 Buffer selector (engine ASIC side)
423 Debug buffer (Engine ASIC side)
513 Debug control unit (controller ASIC side)
515 Buffer control unit (controller ASIC side)
518 Internal register (controller ASIC side)
521 Buffer selector (controller ASIC side)
522 Debug buffer (controller ASIC side)
600
641 Event detection circuit 645
Claims (13)
前記データを記憶するメモリと、
前記メモリへの前記データの転送を制御するエンジン制御部と、
前記入出力装置と前記メモリとの間で前記データの転送を行うコントローラと、を備え、
前記エンジン制御部は、
前記データを一時的に蓄積するバッファと、
デバッグ用のログデータを生成し、前記エンジン制御部内の前記バッファの空き状況及び前記コントローラのデータ転送状況に応じて、前記生成されたログデータを前記バッファへ蓄積するか又は前記コントローラへ転送するデバッグ制御部と、
を有することを特徴とする電子機器用のデバイス。 An input / output device for inputting / outputting data;
A memory for storing the data;
An engine control unit that controls transfer of the data to the memory;
A controller for transferring the data between the input / output device and the memory,
The engine control unit
A buffer for temporarily storing the data;
Debug that generates log data for debugging and accumulates the generated log data in the buffer or transfers it to the controller according to the availability of the buffer in the engine control unit and the data transfer status of the controller A control unit;
A device for electronic equipment, comprising:
前記データの前記メモリへのダイレクトメモリアクセスを制御するダイレクトメモリアクセスコントローラを更に備え、
前記ダイレクトメモリアクセスによる前記コントローラへのデータ転送中、前記ログデータを前記バッファへ蓄積することを特徴とする請求項1に記載の電子機器用のデバイス。 The engine control unit
A direct memory access controller for controlling direct memory access of the data to the memory;
2. The electronic device according to claim 1, wherein the log data is stored in the buffer during data transfer to the controller by the direct memory access.
前記生成されたデバッグ用のログデータを一時的に蓄積するためのデバッグ用のログバッファを更に有し、
前記バッファの空き状況に応じて前記生成されたログデータを前記デバッグ用のログバッファへ蓄積することを特徴とする請求項1又は2に記載の電子機器用のデバイス。 The engine control unit
A debug log buffer for temporarily storing the generated debug log data;
The device for an electronic device according to claim 1, wherein the generated log data is accumulated in the debug log buffer according to a free state of the buffer.
前記エンジン制御部が有するレジスタへの書込み及び読込みの履歴情報を含むことを特徴とする請求項1〜3のいずれか一項に記載の電子機器用のデバイス。 The debug log data is
The device for electronic equipment according to any one of claims 1 to 3, further comprising history information of writing and reading to a register of the engine control unit.
前記ダイレクトメモリアクセスコントローラの動作状態の遷移を含むことを特徴とする請求項1〜4のいずれか一項に記載の電子機器用のデバイス。 The debug log data is
The device for an electronic apparatus according to claim 1, further comprising a transition of an operation state of the direct memory access controller.
前記エンジン制御部への割り込み状態の遷移を含むことを特徴とする請求項1〜5のいずれか一項に記載の電子機器用のデバイス。 The debug log data is
The device for an electronic device according to claim 1, comprising a transition of an interrupt state to the engine control unit.
入力するデータを蓄積するための入力用バッファと、出力するデータを蓄積するための出力用バッファとを有し、
前記ダイレクトメモリアクセスコントローラは、
前記入力用バッファから前記メモリにデータを書き込む書込み用ダイレクトメモリアクセスコントローラと、前記メモリからデータを読み込み前記出力用のバッファに出力する読込み用ダイレクトメモリアクセスコントローラとを有し、
前記エンジン制御部内の前記入力用バッファの空き状況、前記出力用バッファの空き状況及び前記コントローラのデータ転送状況に応じて、前記生成されたログデータを前記入力用バッファへ蓄積するか、前記出力用バッファへ蓄積するか又は前記コントローラへ転送することを特徴とする請求項1〜6のいずれか一項に記載の電子機器用のデバイス。 The buffer for temporarily storing the data is:
An input buffer for storing input data and an output buffer for storing output data;
The direct memory access controller is
A write direct memory access controller that writes data from the input buffer to the memory, and a read direct memory access controller that reads data from the memory and outputs the data to the output buffer;
The generated log data is stored in the input buffer according to the empty state of the input buffer in the engine control unit, the empty state of the output buffer, and the data transfer state of the controller, or the output buffer The device for an electronic device according to claim 1, wherein the device is stored in a buffer or transferred to the controller.
前記データの前記メモリへのダイレクトメモリアクセスを制御するコントローラ側のダイレクトメモリアクセスコントローラと、
前記データを一時的に蓄積するコントローラ側のバッファと、
前記コントローラ側のバッファの空き状況及び前記コントローラのデータ転送状況の少なくともいずれかを前記エンジン制御部へ通知するデバッグ制御部と、を有し、
前記エンジン制御部のデバッグ制御部は、
前記エンジン制御部内の前記バッファの空き状況と、前記コントローラ側のバッファの空き状況と前記コントローラのデータ転送状況に応じて、前記生成されたログデータを前記エンジン制御部側のバッファへ蓄積するか、前記コントローラ側のバッファへ蓄積させるか、又は前記コントローラへ転送することを特徴とする請求項1〜7のいずれか一項に記載の電子機器用のデバイス。 The controller is
A direct memory access controller on the controller side that controls direct memory access to the memory of the data;
A buffer on the controller side for temporarily storing the data;
A debug control unit for notifying the engine control unit of at least one of a buffer availability on the controller side and a data transfer status of the controller;
The debug control unit of the engine control unit is
Depending on the buffer availability in the engine control unit, the buffer availability on the controller side, and the data transfer status of the controller, the generated log data is stored in the buffer on the engine control unit, The device for an electronic device according to claim 1, wherein the device is stored in a buffer on the controller side or transferred to the controller.
前記デバッグ制御部は、
前記モジュールへのアクセスを分析し、特定のイベントを検知するイベント検知部と、
前記イベント検知部により検知された特定のイベントに対するログデータを生成するログ生成部と、
前記イベント検知部により検知される特定のイベントを登録するイベント登録部と、
を有することを特徴とする電子機器用のデバイス。 An electronic device device having a debug control unit having a module to be accessed,
The debug control unit
Analyzing an access to the module and detecting a specific event;
A log generation unit that generates log data for a specific event detected by the event detection unit;
An event registration unit for registering a specific event detected by the event detection unit;
A device for electronic equipment, comprising:
ことを特徴とする請求項9に記載の電子機器用のデバイス。 The event registration unit registers access from a predetermined controller as a specific event.
The device for an electronic device according to claim 9.
ことを特徴とする請求項9又は10に記載の電子機器用のデバイス。 The event registration unit registers a change in the internal signal of the module as a specific event.
The device for an electronic device according to claim 9 or 10, wherein the device is an electronic device.
ことを特徴とする請求項9〜11のいずれか一項に記載の電子機器用のデバイス。 The log generation unit generates log data for each of the detected plurality of specific events according to a predetermined priority when a plurality of specific events are detected simultaneously by the event detection unit,
The device for an electronic device according to claim 9, wherein the device is an electronic device.
ことを特徴とする請求項10〜12のいずれか一項に記載の電子機器用のデバイス。 The event detection unit notifies that the specific event has been detected.
The device for an electronic device according to claim 10, wherein the device is an electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013014413A JP6070220B2 (en) | 2012-03-23 | 2013-01-29 | Devices for electronic equipment |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012066679 | 2012-03-23 | ||
JP2012066679 | 2012-03-23 | ||
JP2013014413A JP6070220B2 (en) | 2012-03-23 | 2013-01-29 | Devices for electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013225291A true JP2013225291A (en) | 2013-10-31 |
JP6070220B2 JP6070220B2 (en) | 2017-02-01 |
Family
ID=49595281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013014413A Expired - Fee Related JP6070220B2 (en) | 2012-03-23 | 2013-01-29 | Devices for electronic equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6070220B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015187833A (en) * | 2014-03-14 | 2015-10-29 | 株式会社リコー | Information processor, information processing method, and program |
JP2016136292A (en) * | 2015-01-23 | 2016-07-28 | 株式会社リコー | Semiconductor device, log acquisition method, and electronic apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005065023A (en) * | 2003-08-18 | 2005-03-10 | Noritsu Koki Co Ltd | System and program for storing operation history data |
JP2007018534A (en) * | 2006-09-25 | 2007-01-25 | Hitachi Ltd | Online system recovery method, implementation device thereof, and recording medium in which processing program thereof is recorded |
JP2008065426A (en) * | 2006-09-05 | 2008-03-21 | Ricoh Co Ltd | Image forming method, device, and image forming system |
-
2013
- 2013-01-29 JP JP2013014413A patent/JP6070220B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005065023A (en) * | 2003-08-18 | 2005-03-10 | Noritsu Koki Co Ltd | System and program for storing operation history data |
JP2008065426A (en) * | 2006-09-05 | 2008-03-21 | Ricoh Co Ltd | Image forming method, device, and image forming system |
JP2007018534A (en) * | 2006-09-25 | 2007-01-25 | Hitachi Ltd | Online system recovery method, implementation device thereof, and recording medium in which processing program thereof is recorded |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015187833A (en) * | 2014-03-14 | 2015-10-29 | 株式会社リコー | Information processor, information processing method, and program |
JP2016136292A (en) * | 2015-01-23 | 2016-07-28 | 株式会社リコー | Semiconductor device, log acquisition method, and electronic apparatus |
US9910757B2 (en) | 2015-01-23 | 2018-03-06 | Ricoh Company, Ltd. | Semiconductor device, log acquisition method and electronic apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP6070220B2 (en) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9047400B2 (en) | Data processor device for handling a watchpoint and method thereof | |
TWI505084B (en) | Techniques for generating a trace stream for a data processing apparatus | |
GB2404752A (en) | Data processing system trace bus | |
US9069896B2 (en) | Data processor device for handling a watchpoint and method thereof | |
US7594140B2 (en) | Task based debugger (transaction-event-job-trigger) | |
US7043718B1 (en) | System real-time analysis tool | |
US9223678B2 (en) | Data processor device having a debug control module which selectively modifies trace messages | |
JP6070220B2 (en) | Devices for electronic equipment | |
US20140095846A1 (en) | Trace based measurement architecture | |
JP7354091B2 (en) | Logic analyzer for integrated circuits | |
WO2008037616A1 (en) | Detecting and recording performance events in a data processing system | |
JP6127766B2 (en) | Device for electronic equipment and electronic equipment equipped with said device | |
JP5982845B2 (en) | Trace control apparatus and trace control method | |
JP6666216B2 (en) | Electronic control unit, analysis system | |
US20060117226A1 (en) | Data communication system and data communication method | |
JP4828483B2 (en) | Semiconductor integrated circuit | |
JP6142182B2 (en) | Integrated circuit device | |
JP2008134838A (en) | Bus device | |
CN108681500B (en) | System with transaction recording capability and transaction recording method | |
CN117076183B (en) | Error reporting method, system on chip, computer equipment and storage medium | |
CN117076182B (en) | Error reporting method, system on chip, computer equipment and storage medium | |
JP2006227668A (en) | Memory model, program and logic circuit verification method | |
JP2002132743A (en) | Device and method for monitoring memory access and recording medium recording program for memory access monitor | |
JP2008152665A (en) | Method for analyzing operation of semiconductor integrated circuit | |
JP2007079828A (en) | Signal processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161219 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6070220 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |