JP2018097522A - 集積回路、情報処理装置、情報処理装置における割り込み制御方法、およびプログラム - Google Patents

集積回路、情報処理装置、情報処理装置における割り込み制御方法、およびプログラム Download PDF

Info

Publication number
JP2018097522A
JP2018097522A JP2016240441A JP2016240441A JP2018097522A JP 2018097522 A JP2018097522 A JP 2018097522A JP 2016240441 A JP2016240441 A JP 2016240441A JP 2016240441 A JP2016240441 A JP 2016240441A JP 2018097522 A JP2018097522 A JP 2018097522A
Authority
JP
Japan
Prior art keywords
interrupt
integrated circuit
unit
processing
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016240441A
Other languages
English (en)
Other versions
JP2018097522A5 (ja
JP6833491B2 (ja
Inventor
賀久 野村
Shigehisa Nomura
賀久 野村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016240441A priority Critical patent/JP6833491B2/ja
Priority to US15/825,658 priority patent/US10306099B2/en
Priority to KR1020170164903A priority patent/KR102230913B1/ko
Publication of JP2018097522A publication Critical patent/JP2018097522A/ja
Publication of JP2018097522A5 publication Critical patent/JP2018097522A5/ja
Application granted granted Critical
Publication of JP6833491B2 publication Critical patent/JP6833491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0083Arrangements for transferring signals between different components of the apparatus, e.g. arrangements of signal lines or cables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • H04N1/32625Fault detection
    • H04N1/32641Fault detection of transmission or transmitted data, e.g. interruption or wrong number of pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00915Assigning priority to, or interrupting, a particular operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2424Interrupt packet, e.g. event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】複数の集積回路で構築されたシステムにおいて、CPUの機能を停止させた集積回路で割り込みが発生した場合でも、適切に割り込み制御を行うことができる。【解決手段】プロセッサと、割り込み処理の要求を受け付けるとプロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、制御モジュールから入力される情報に応じて処理を実行する処理モジュールと、他の集積回路と接続するための外部インタフェースと、を備え、プロセッサが停止している場合には、割り込みコントローラからの割り込み通知が処理モジュールに入力され、処理モジュールは、割り込みコントローラから割り込み通知を受け付けると、割り込み通知に対応する割り込みパケットを送信し、処理モジュールによって送信された割り込みパケットが、外部インタフェースを介して他の集積回路に転送される。【選択図】図7

Description

本発明は、複数の集積回路で構築された情報処理装置において、集積回路間を接続する通信バスを介して割り込み制御を行う技術に関する。
スキャナ機能、プリンタ機能、コピー機能、ネットワーク機能、FAX送受信機能といった様々な機能を兼備えるデジタル複合機が知られている。そのようなデジタル複合機における各機能は、外部装置との間で行われる画像データの入出力動作を制御する制御部と、画像データに対して所定の画像処理を行う複数の画像処理部とを有する、コントローラにより制御される(特許文献1参照)。
近年の半導体の進化により、一つのLSI(大規模集積回路)に多くの機能を搭載させることが可能になっている。したがって、上記のようなコントローラの構成を、一つのLSIに構築させたシステムが登場している。さらに、このようなLSIを複数用いて、LSIごとに機能を使い分けるシステムも登場している。例えば2つのLSIを通信バスで接続して、一方のLSI(以下、メインチップと呼ぶ)にシステム制御処理とプリント機能とを含ませ、もう一方のLSI(以下、拡張チップと呼ぶ)にそれ以外の機能(スキャン機能など)を含ませるシステムがある。このように複数のLSIを用いてLSIごとに機能を使い分けるシステムでは、未使用の機能に関する回路の電源を遮断したり、当該回路へのクロック供給を停止したりして、消費電力を低減させる場合がある。例えば、拡張チップの制御をメインチップのCPUに行わせることで、拡張チップのCPUの機能を停止させるシステムがある。
特開2004−064631号公報
しかし、拡張チップのCPUの機能を停止させると、拡張チップにおいて割り込みコントローラが割り込み処理の要求を受信したとしても、CPUに割り込み通知を行うことができなくなる。したがって、拡張チップのCPUの機能を停止させる場合には、拡張チップの割り込みコントローラからメインチップのCPUに割り込みが通知される仕組みが必要となる。
そこで、本発明は、複数の集積回路で構築されたシステムにおいて、CPUの機能を停止させた集積回路で割り込みが発生した場合でも、適切に割り込み制御を行うことが可能な集積回路を提供することを目的とする。
本発明による集積回路は、プロセッサと、割り込み処理の要求を受け付けるとプロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、制御モジュールから入力される情報に応じて処理を実行する処理モジュールと、他の集積回路と接続するための外部インタフェースと、を備え、プロセッサが停止している場合には、割り込みコントローラからの割り込み通知が処理モジュールに入力され、処理モジュールは、割り込みコントローラから割り込み通知を受け付けると、割り込み通知に対応する割り込みパケットを送信し、処理モジュールによって送信された割り込みパケットが、外部インタフェースを介して他の集積回路に転送されることを特徴とする。
本発明によると、複数の集積回路で構築されたシステムにおいて、CPUの機能を停止させた集積回路で割り込みが発生した場合でも、適切に割り込み制御を行うことができる。
第1の実施形態における画像形成装置の構成を示すブロック図である。 第1の実施形態におけるコントローラ部の構成を示すブロック図である。 メインコントローラ部のシステム制御部の内部構成を示すブロック図である。 第1実施形態においてリングバスを流れるパケットデータの一例を示す図である。 第1の実施形態におけるプリント処理部、ループバック処理部、およびスキャン処理部の内部構成の一例を示すブロック図である。 第1の実施形態におけるリングバススイッチの内部構成の一例を示すブロック図である。 第1の実施形態におけるコントローラ部の動作を説明するための図である。 第2の実施形態におけるコントローラ部の動作を説明するための図である。 メインコントローラ部と拡張コントローラ部間で行われるシリアル通信を説明するための図である。
[第1実施形態]
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<画像形成装置>
図1は、第1の実施形態における画像形成装置100の構成を示すブロック図である。図1に示すように、画像形成装置100は、スキャナ部110と、コントローラ部(情報処理装置ともいう)120と、操作部130と、プリンタ部140とを備える。
スキャナ部110は、原稿画像を光学的に読み取り、画像データに変換する。スキャナ部110は、原稿を読取る原稿読取部112と、原稿を搬送する原稿給紙部111とを含む。プリンタ部140は、記録媒体(用紙)を搬送し、記録媒体上に画像データを可視画像として印刷する。プリンタ部140は、用紙を給紙する給紙部142と、画像データを用紙に転写して定着させる転写定着部141と、印刷された用紙に対してソートやステイプルを行って機外に出力する排紙部143とを含む。コントローラ部120は、スキャナ部110およびプリンタ部140と電気的に接続される。コントローラ部120はさらに、LAN、ISDN、インターネット/イントラネット等のネットワーク150と接続される。コントローラ部120は、スキャナ部110を制御して原稿の画像データを取得し、プリンタ部140を制御して画像データを用紙に印刷して出力するコピー機能を提供する。また、コントローラ部120は、スキャナ部110を制御して取得した画像データをコードデータに変換し、ネットワーク150を介して図示しないホストコンピュータに送信するスキャン機能を提供する。また、コントローラ部120は、ホストコンピュータからネットワーク150を介して受信したコードデータを画像データに変換し、プリンタ部140を制御して画像データを用紙に印刷するプリンタ機能を提供する。さらに、コントローラ部120は、ネットワーク150(例えばISDN)から受信したデータをプリントするFAX受信機能や、ネットワーク150にスキャンしたデータを送信するFAX送信機能を有する。スキャン、プリント、FAX送受信といった各機能における処理の実行指示をジョブと呼び、画像形成装置100は各ジョブに従って処理を実行する。操作部130は、例えば液晶タッチパネルであって、コントローラ部120に接続される。操作部130は、画像形成装置100を操作するためのユーザインタフェースを提供する。
<コントローラ部>
図2は、第1の実施形態におけるコントローラ部120の構成を示すブロック図である。コントローラ部120は、メインコントローラ部200と、拡張コントローラ部201と、モード設定部202と、リングバススイッチ設定部(経路設定部ともいう)203とを有する。また、コントローラ部120は、ROM204と、RAM205と、HDD206と、PHY207とを有する。さらに、コントローラ部120は、各処理モジュール(後述する、プリント処理部、ループバック処理部、およびスキャン処理部)が一時的な作業領域として使用するRAM208,209を有する。メインコントローラ部200と拡張コントローラ部201とは、リングバス(図2において白抜き矢印で示される通信バス)で接続される。
コントローラ部120の各構成要素について説明する。本実施形態においては、コントローラ部120はプリント基板等の電子回路基板であり、メインコントローラ部200および拡張コントローラ部201はLSIである。なお、コントローラ部120、メインコントローラ部200および拡張コントローラ部201はその他の形態で実現されてもよい。また、本実施形態では、拡張コントローラ部201の構成をメインコントローラ部200と同一構成としている。ただし、拡張用集積回路として動作可能であれば、拡張コントローラ部201はどのような機能や構成を有するものであってもよい。すなわち、拡張コントローラ部201は、リングバスに接続してパケットデータをやり取り可能なインタフェースを有していればよい。
まず、メインコントローラ部200について説明する。メインコントローラ部200は、システム制御部(制御モジュールともいう)210と、リングバススイッチ220と、プリント処理部230、ループバック処理部240、スキャン処理部250とを有する。メインコントローラ部200はさらに、電源制御部270と、クロック制御部280と、RAMコントローラ260と、リングバス外部インタフェース(リングバス外部I/F)290とを有する。
メインコントローラ部200のシステム制御部210は、スキャナ部110を用いたスキャン処理やプリンタ部140を用いたプリント処理を制御する。システム制御部210は、それらの処理で用いられる画像データの転送を、リングバススイッチ220を介して行う。システム制御部210とリングバススイッチ220とはリングバスで接続される。また、システム制御部210は、ネットワーク150へのデータ送信やネットワーク150からのデータ受信、操作部130の表示処理などを行う。このように、システム制御部210はシステム全体を統括制御する。
メインコントローラ部200のリングバススイッチ220は、画像データをコントローラ部120内の各ブロックに転送するためのリングバスのスイッチ制御を行う。すなわち、リングバススイッチ220は、リングバスの経路制御を行う。本実施形態では、各ブロックに画像データを転送するためのリングバスが、図2に示すように、リングバススイッチ220を介してリング状につながっている。これによりシステム制御部210とプリント処理部230、ループバック処理部240、スキャン処理部250、リングバス外部I/F290は画像データをやり取りすることができる。リングバススイッチ220は、必要に応じてリングバス上にある各ブロックの接続先を変更するためのスイッチを備える。リングバススイッチ220は、リングバススイッチ設定部203(具体的には、リングバススイッチ設定部203が有するレジスタ)の設定値に従ってスイッチを制御する。リングバススイッチ220が行うスイッチ制御については後述する。
メインコントローラ部200のプリント処理部230は、プリンタ部140で画像データを印字するための色空間変換処理や中間長処理、ガンマ補正など各種画像処理を行う。プリント処理部230はリングバススイッチ220から画像データを受け取り、画像データに上記画像処理を施した後に画像データをプリンタ部140に出力する。
メインコントローラ部200のループバック処理部240は、プリント処理とスキャン処理のどちらでも利用する可能性がある画像処理を実施するブロックである。本実施形態では、ループバック処理部240は、変倍処理、画像合成処理、回転処理などを行う。ループバック処理部240はシステム制御部210からリングバスを介して画像データを受け取り、画像データに上記画像処理を施し、処理後の画像データをリングバススイッチ220に転送する。リングバススイッチ220に転送された画像データは、リングバスを介してシステム制御部210に転送される。
メインコントローラ部200のスキャン処理部250は、スキャナ部110で取得した画像データに対して、シェーディング補正処理やMTF補正処理、入力ガンマ補正やフィルタ処理といった画像処理を行う。スキャン処理部250はスキャナ部110から転送されてきた画像データにこれら画像処理を施し、処理後の画像データをリングバススイッチ220に転送する。リングバススイッチ220に転送された画像データは、リングバスを介してシステム制御部210に転送される。
メインコントローラ部200のRAMコントローラ260は、プリント処理部230、ループバック処理部240、およびスキャン処理部250から受け取った画像データを、RAM208に一時的に書き込む。またRAMコントローラ260は、各処理モジュール(プリント処理部230、ループバック処理部240、およびスキャン処理部250)からの指示に従ってRAM208に書き込んだ画像データを読み込んで、各処理モジュールに転送する。このように、プリント処理部230、ループバック処理部240、およびスキャン処理部250はそれぞれ、画像処理を実行する際に一時的な画像バッファとしてRAM208を利用する。また、このときRAMコントローラ260とRAM208間の転送路には、プリント処理部230、ループバック処理部240、およびスキャン処理部250それぞれの画像データが多重化されて行き交う。そのため、この転送路の転送処理性能(メモリ帯域性能)を上回るデータ転送が要求されると、転送待ち状態が発生する。よって、RAMコントローラ260とRAM208間のデータ転送がメインコントローラ部200の処理能力のボトルネックになるケースが多々発生する。なお、RAMコントローラ260は、ステータスが変化した場合に割り込み信号2102を発行する。例えば、RAMコントローラ260は、起動時にRAM208とのアクセスタイミング調整などの初期化を行い、初期化が完了した時に割り込み信号を発行する。割り込み信号2102は、図2に示すように、システム制御部210のCPU(後述する、CPU310)に通知される。
メインコントローラ部200のリングバス外部I/F290は、リングバススイッチ220を中心としたメインコントローラ部200内のリングバスと、メインコントローラ部200の外部とを接続するインタフェースである。メインコントローラ部200は、リングバス外部I/F290を介して、外部とデータの送受信を行う。本実施形態では、リングバス外部I/F290は、図2に示すように、拡張コントローラ部201とリングバスで接続される。
メインコントローラ部200の電源制御部270は各処理モジュールに供給する電圧を制御する。メインコントローラ部200のクロック制御部280は各処理モジュールに入力するクロックを制御する。
割り込み信号2101は、システム制御部210(具体的には、後述する、システム制御部210の割り込み制御部380)から出力される。プリント処理部230、ループバック処理部240、およびスキャン処理部250はそれぞれ、後述するように、割り込み信号を入力する割り込み外部ポートと、割り込み制御部とを備える。図2に示すように、システム制御部210の割り込み制御部380と、各処理モジュールの外部ポートとは、割り込み信号2101を伝達可能な信号線で接続されている。割り込み信号2101は、各処理モジュールの割り込み外部ポートを介して、各処理モジュールの割り込み制御部に入力される。
次に、拡張コントローラ部201について説明する。拡張コントローラ部201は、コントローラ部120の処理を高速化するための拡張用集積回路である。本実施形態では、拡張コントローラ部201の構成はメインコントローラ部200と同様である。よって、拡張コントローラ部201内の各ブロック(システム制御部211、リングバススイッチ221、電源制御部271、クロック制御部281、リングバス外部I/F291)の機能は、メインコントローラ部200内の対応するブロックと同様である。また、システム制御部211から出力される割り込み信号2111は、メインコントローラ部200内における割り込み信号2101信号と同様である。また本実施形態では、拡張コントローラ部201のプリント処理部231、ループバック処理部241、およびスキャン処理部251のうちループバック処理部241が拡張機能として使用される。その理由は、プリント処理部231やスキャン処理部251を使用すると、プリンタ部140やスキャナ部110を、メインコントローラ部200から拡張コントローラ部201に接続し直す必要が発生し、コントローラ部120の構成が複雑化するからである。さらに本実施形態では、動作させる必要がないプリント処理部231やスキャン処理部251やシステム制御部211内のCPU(図7に示すCPU311)に供給される電源を遮断したり、それらに供給されるクロックを停止したりできる。それにより、システムの消費電力を抑えることが可能となるためである。図2では、電源遮断またはクロック停止されるブロックがグレーアウト表示されている。
モード設定部202は、電源制御部270,271やクロック制御部280,281の設定を行うための信号を出力する。またモード設定部202は、リングバススイッチ設定部203の設定を行うための信号を出力する。モード設定部202には、それらの信号を制御するための情報(以下、モード設定情報という)が予め設定されている。そして、コントローラ部120の電源が投入されるとメインコントローラ部200、拡張コントローラ部201、およびリングバススイッチ設定部203が起動する前に、モード設定情報に従ってモード設定部202から信号が出力される。電源制御部270,271はモード設定部202からの信号によって指定される処理部にのみ電圧を供給する。またクロック制御部280,281も同様にモード設定部202からの信号によって指定される処理部にのみ所望のクロックを出力する。さらにリングバススイッチ設定部203も同様にモード設定部202からの信号に応じて、リングバススイッチ220への制御信号を出力する。これにより、一方のLSIをメインコントローラ部として動作させ、他方のLSIを拡張コントローラ部として動作させることが可能となる。また、メインコントローラ部や拡張コントローラ部における一部の処理部を動作させたり、停止させたりすることが可能となる。なお、電源制御部270,271およびクロック制御部280,281に対しては、メインコントローラ部200および拡張コントローラ部201の入力端子(図示せず)を介して、モード設定部202から出力される信号が入力される。
<システム制御部>
本実施形態では、メインコントローラ部200のシステム制御部210と、拡張コントローラ部201のシステム制御部211とは同様の構成である。したがって、以下では、システム制御部210の内部構成について説明する。図3は、メインコントローラ部200のシステム制御部210の内部構成を示すブロック図である。図3を用いて、システム制御部210内の各ブロックについて詳細に説明する。
システム制御部210内の各ブロックはシステムバス300によって接続される。CPU310は、システム全体を制御するプロセッサである。CPU310は、RAM205に展開されたOSや制御プログラムに従ってプリント処理やスキャン処理といったジョブ処理を統括的に制御する。
ROMコントローラ320は、ROM204にアクセスするための制御モジュールである。ROM204にはシステムのブートプラグラムが格納される。画像形成装置100の電源がONされると、CPU310はROMコントローラ320を介してROM204にアクセスし、CPU310がブートする。
RAMコントローラ330は、RAM205にアクセスするための制御モジュールである。RAM205にはシステムの制御プログラムや画像データが格納される。RAMコントローラ330は、RAM205の設定や制御を行うためのレジスタを備える。このレジスタは、CPU310からアクセス可能である。
操作部インタフェース340は、操作部130から入力されるユーザの操作指示を受け付けたり、操作結果の表示の制御を行ったりする。
HDDコントローラ360は、HDD(ハードディスクドライブ)206とシステムバス300とを接続する。HDD206は、システムソフトウェアやアプリケーションプログラムを格納する。また、HDD206は、画像データと、各画像データに対応するページ情報やジョブ情報とを格納する。CPU310は、HDDコントローラ360に指示を入力することで、HDD206からデータを読み込んだり、HDD206にデータを書き込んだりする。
LANコントローラ370は、PHY207を介してネットワーク150に接続し、外部のホストコンピュータとの間で画像データなどの情報の入出力を行う。
モデム372は図示しない公衆回線に接続し、FAX送信処理やFAX受信処理といったジョブ処理が行われる際に、外部のFAX機器とデータ通信を行う。
画像圧縮部350は、RAM205またはHDD206に格納される画像データをJPEGフォーマットに圧縮処理する。また画像伸張部351はJPEGフォーマットに圧縮された画像データを伸張処理する。
レンダリング部352は、ネットワーク150からLANコントローラ370を経由して受信した画像データ(PDLデータ)を、プリンタ部140で取り扱い可能なビットマップデータに変換する。
割り込み制御部380は、システム制御部210における割り込みを制御する。割り込み制御部380は、システム制御部210に入力される割り込み処理要求を受け付けて、CPU310に割り込みの通知(以下、割り込み通知と呼ぶ)を行う。本実施形態では、割り込み制御部380は、割り込み処理要求を受け付けると、割り込み信号3901をCPU310に送出する。それにより、CPU310に割り込みが通知される。なお割り込み制御部380は、各処理モジュールからの割り込み処理要求を入力可能であり、さらに、入力された割り込み処理要求を割り込み信号3901としてCPU310に通知するか否かを選択可能である。また割り込み信号3901は、システム制御部210のポート(図示せず)から、図2に示す割り込み信号2101として外部に出力される。
リングバスI/F301は、システム制御部210内のシステムバス300と、システム制御部210外のリングバススイッチ220を中心としたリングバスとを接続するインタフェースである。以下、リングバスを流れるデータをパケットデータ、または単にパケットと呼ぶ。リングバスI/F301は、RAM205またはHDD206に格納されたパケットデータをリングバスに送信する。また、リングバスI/F301は、リングバスから受信したパケットデータをRAM205またはHDD206に格納する。ここでパケットデータについて詳細に説明する。
図4は、第1実施形態においてリングバスを流れるパケットデータの一例を示す図である。パケット400は、ヘッダ部410とデータ部420とを有する。ヘッダ部410は、パケットタイプ411,チップID412,ページID413,ジョブID414,パケットY座標415,パケットX座標416,パケットバイト長417,およびデータバイト長418を含む。
パケットタイプ411は、パケット400が画像データ、コマンド、割り込みのいずれであるかを示す情報である。パケットタイプ411が画像データを示す場合には、データ部420には画像データが格納される。また、パケットタイプ411がコマンドを示す場合には、データ部420には各処理部の係数やモードなどを設定するための設定アドレスと設定値とを示すデータが格納される。さらに、パケットタイプ411が割り込みを示す場合には、データ部420には割り込み要因を示すステータスデータが格納される。
チップID412は、パケット400を送信するターゲット(宛て先)となる処理部を識別するためのID(識別子)である。例えばチップIDが0ならば、プリント処理部230がターゲットとなる。チップIDが1ならばループバック処理部240がターゲットとなる。チップIDが2ならばスキャン処理部250がターゲットとなる。チップIDが3ならばシステム制御部210(具体的には、システム制御部210の割り込み制御部380)がターゲットとなる。チップIDが4ならば拡張コントローラ部201内のループバック処理部241がターゲットとなる。
ページID413は、パケット400が属するページ番号を示す。スキャンやプリントといった処理は複数ページ実施される場合があり、その場合にパケット400が何ページ目に属するパケットであるかを示す情報である。
ジョブID414は、パケット400が属するジョブ番号を示す。例えば、スキャンジョブとプリントジョブが同時に実施される場合にはスキャンジョブのパケットには1が割り当てられ、プリントジョブのパケットには2が割り当てられる。それにより、ジョブを識別することが可能となる。
パケットY座標415は、データ部420に画像データが格納されている場合に、その画像データのページ内における位置(Y座標)を示す。また、パケットX座標416は、データ部420に画像データが格納されている場合に、その画像データのページ内における位置(X座標)を示す。データ部420に格納される画像データはページ単位の画像データを所定の画素数(例えば、32画素×32画素)の矩形サイズに分割したものである。よってパケットデータからページデータを再生成する場合に、上記Y座標およびX座標が参照される。なお、データ部420に格納される画像データは、画像圧縮部350または各処理部に実装されている圧縮器によって圧縮されたデータ(圧縮画像データ)である。パケットバイト長417は、パケット400のトータルバイト数を示し、データバイト長418はデータ部420のトータルバイト数を示す。
本実施形態におけるリングバスには以上説明したようなパケットデータが流れ、各処理部はパケットデータを受信して解釈する。そして、各処理モジュールが受信したパケットがコマンドを含むパケットであれば、当該コマンドで指定される、処理のモードや係数などが、各処理モジュールに設定される。以降、各処理モジュールは、自モジュールに設定されたモードや係数に従って動作する。また、各処理モジュールが受信したパケットが画像データを含むパケットであれば、各処理モジュールにおいて、当該画像データに対する画像処理が実行される。
次に、プリント処理部230、ループバック処理部240、およびスキャン処理部250について図5を用いて詳細に説明する。図5は、第1の実施形態におけるプリント処理部230、ループバック処理部240、およびスキャン処理部250の内部構成の一例を示すブロック図である。なお、本実施形態では、画像データに対して画像処理を行う処理モジュール(プリント処理部230、ループバック処理部240、およびスキャン処理部250)を例にする。しかし、メインコントローラ部200および拡張コントローラ部201は、画像データ以外のデータを含むパケットを受信し、受信したデータに対して画像処理以外の処理を行う処理モジュールを有していても良いことは言うまでもない。
<プリント処理部>
図5(a)には、プリント処理部230の内部構成の一例が示されている。パケット入出力I/F500は、パケット入力部504とパケット出力部505とを有する。パケット入力部504は、パケットを受信すると、ヘッダ部410のチップID412を参照し、自身に割り振られたチップIDと同一かどうかを確認する。チップID412が示すIDが自身に割り振られたチップIDと異なる場合、パケット入力部504は、プリント処理部230で処理すべきパケットではないと判断する。そして、パケット入力部504は、パケット出力部505にパケットを転送する。一方、チップID412が示すIDがプリント処理部230に割り振られたチップIDと同一である場合、パケット入力部504は、プリント処理部230で処理すべきパケットであると判断する。このとき、パケットに画像データが含まれる場合は、伸張器501,パケットラスタ変換部502、およびプリンタ画像処理部503を経由して、当該画像データに対して画像処理が実行される。また、パケットにコマンドが含まれる場合は、パケット入力部504は、データ部420に格納されている設定アドレスと設定値とを参照し、指定された係数やモードを設定保持部506に設定する。また、パケットが設定値をリードするコマンドを含む場合は、設定保持部506によって、設定値を格納したパケットがパケット出力部505に送られる。設定保持部506は、プリント処理部230で使用される設定値を保持する。伸張器501、パケットラスタ変換部502、およびプリンタ画像処理部503は、設定保持部506が保持する設定値に基づいて処理を行う。
割り込み制御部507は、割り込み外部ポート(以下、単に外部ポートと呼ぶ)508またはプリンタ画像処理部503からの割り込み信号を検知すると、検知した割り込み信号に対応する割り込み要因を割り込みステータス値として保持する。そして割り込み制御部507は、割り込みパケット(パケットタイプが割り込みを示すパケット)を生成する。
まず、ヘッダ部410の生成について説明する。割り込み制御部507は、パケットタイプ401に割り込みパケットを示す値を設定する。また割り込み制御部507は、チップID412に、システム制御部210のチップID(本実施形態では、3)を設定する。さらに割り込み制御部507は、パケットバイト長417にパケットのトータルバイト数を、データバイト長418に割り込みステータス値のトータルバイト数を設定する。ヘッダ部410のその他の情報は未使用であるため、任意の値が設定される。
次に、データ部420の生成について説明する。割り込み制御部507は、割り込み信号を検知した際に保持した割り込みステータス値を、データ部420に格納する。図4に示す割り込み要因4201〜4208は、プリント処理部230から送出される割り込みパケットの、データ部に格納される情報の一例である。割り込み制御部507は、検知した割り込み信号に応じて、割り込み要因4201〜4208に値を設定する。本実施形態では、割り込み要因4201〜4208には初期値として「0」が設定されていて、割り込み信号が検知されると、検知された割り込み信号に対応する割り込み要因に「1」が設定される。割り込み要因4201は、外部ポート508からの割り込み信号が検知された場合に設定される。割り込み要因4202〜4208は、プリント処理において割り込みが発生した場合に設定される。本実施形態では、割り込み要因4202〜4208は、プリンタ画像処理部503からの割り込み信号が検知された場合に設定される。割り込み要因4202は、アンダーランエラーが発生したことを示す。アンダーランエラーはプリント動作に対して画像データの供給が間に合わなかった場合に発生するエラーである。割り込み要因4203は、本実施形態では未使用である。割り込み要因4204は、プリンタ部140から主走査同期信号を受信したことを示す。割り込み要因4205は、プリンタ部140から副走査同期信号を受信したことを示す。割り込み要因4206は、プリンタ部140に紙の先端が到達したことを示す。割り込み要因4207は、プリンタ部140に紙の後端が到達したことを示す。割り込み要因4208は、プリンタ画像処理部503が1ページ分の処理を完了したことを示す。
割り込み制御部507は、生成した割り込みパケットをパケット入出力I/F500に渡す。そして、パケット入出力I/F500のパケット出力部505は、リングバスを介してシステム制御部210に割り込みパケットを送信する。割り込みパケットは、システム制御部210の割り込み制御部380によって受信される。割り込み制御部380は、受信した割り込みパケットに基づき、CPU310に割り込み通知を行う。CPU310は、割り込み通知に応じてプリント処理部230を制御する。
パケット出力部505は、パケット入力部504、設定保持部506、および割り込み制御部507から送られてくるパケットデータの調停を行い、リングバスにパケットデータを転送する。
伸張器501は、パケット入出力I/F500から送られてくる、圧縮された画像データを伸張する。それにより、圧縮された画像データが、後段の画像処理を実施可能な画素状態に復元される。
パケットラスタ変換部502は、伸張された画素データを伸張器501から受け取り、ラスタ画像データに変換する。前述したようにパケットには、矩形(32画素×32画素)の画像データが格納されている。画像形成装置100が例えば電子写真方式である場合、プリンタ部140における印刷処理はラスタ順(ライン順)で行われる。そこで、本実施形態では、パケットラスタ変換部502が画像データの画素の並びをラスタ順に変換する。パケットラスタ変換部502は、画像データを変換する際に、RAM208を一時バッファとして使用する。なお、パケットラスタ変換部502は、RAMコントローラ260を介して、RAM208に対するアクセスを行う。
プリンタ画像処理部503は、ラスタ順に変換された画像データをパケットラスタ変換部502から受け取り、プリンタ部140で画像データを印刷するための前処理としての画像処理を行う。具体的にはRGBをCMYKに変換する色空間変換処理、ディザ法や誤差拡散法による中間長処理、ガンマ補正などである。プリンタ画像処理部503は、画像処理後の画像データをプリンタ部140に出力する。また、プリンタ画像処理部503は、プリンタ部140の起動および給紙部142からの給紙のタイミングに合わせて、プリンタ部140に画像データを出力する必要がある。そのため、プリンタ画像処理部503は、画像処理後の画像データを、そのタイミングまでバッファリングする。具体的には、プリンタ画像処理部503は、画像処理後の画像データを、RAMコントローラ260を介してRAM208に一時的に書き込む。そして、プリンタ画像処理部503は、給紙のタイミングに同期させRAM208から画像データを読み込み、プリンタ部140に出力する。
<ループバック処理部>
図5(b)には、ループバック処理部240の内部構成の一例が示されている。パケット入出力I/F510は、パケット入力部514とパケット出力部515とを有する。パケット入力部514は、パケットデータを受信すると、ヘッダ部410のチップID412を参照し、ループバック処理部240に割り振られたチップIDと同一かどうかを確認する。チップID412が示すIDがループバック処理部240に割り振られたチップIDと異なる場合、パケット入力部514は、ループバック処理部240で処理すべきパケットデータではないと判断する。そして、パケット入力部514は、パケット出力部515にパケットデータを転送する。一方、チップID412の示すIDがループバック処理部240に割り振られたチップIDと同一である場合、パケット入力部514は、ループバック処理部240で処理すべきパケットであると判断する。このとき、パケットに画像データが含まれる場合は、伸張器511、およびループバック画像処理部512を経由して、当該画像データに対して画像処理が実行される。画像処理後の画像データは圧縮器513を経由して、パケット入出力I/F510に入力される。パケット入出力I/F510は圧縮器513から画像データを受け取ると、当該画像データにヘッダを付与し、当該画像データをパケットデータとしてシステム制御部210に送信する。また、パケットにコマンドが含まれる場合は、パケット入力部514は、データ部420に格納されている設定アドレスと設定値とを参照し、指定された係数やモードを設定保持部516に設定する。また、パケットが設定値をリードするコマンドを含む場合は、設定保持部516によって、設定値を格納したパケットがパケット出力部515に送られる。設定保持部516は、ループバック処理部240で使用される設定値を保持する。伸張器511、ループバック画像処理部512、および圧縮器513は、設定保持部516が保持する設定値に基づいて処理を行う。
割り込み制御部517は、外部ポート518またはループバック画像処理部512からの割り込み信号を検知すると、検知した割り込み信号に対応する割り込み要因を割り込みステータス値として保持する。そして割り込み制御部517は、割り込みパケットを生成する。ヘッダ部410の生成については、前述した内容と同様である。したがって、ここではデータ部420の生成についてのみ説明する。
割り込み制御部517は、割り込み信号を検知した際に保持したステータス値を、データ部420に格納する。図4に示す割り込み要因4211〜4218は、ループバック処理部240から送出される割り込みパケットの、データ部に格納される情報の一例である。割り込み要因4211は、外部ポート518からの割り込み信号が検知された場合に設定される。割り込み要因4212〜4218は、ループバック処理において割り込みが発生した場合に設定される。本実施形態では、割り込み要因4212〜4218は、ループバック処理部240からの割り込み信号が検知された場合に設定される。割り込み要因4212は、フォーマットエラーが発生したことを示す。フォーマットエラーは、ループバック処理部240に入力された画像データのフォーマットと処理内容とが不一致の場合に発生するエラーである。割り込み要因4213〜4217は、本実施形態では未使用である。割り込み要因4218は、ループバック処理部240が1ページ分の処理を完了したことを示す。
割り込み制御部517は生成した割り込みパケットをパケット入出力I/F510に渡す。そして、パケット入出力I/F510のパケット出力部515は、リングバスを介してシステム制御部210に割り込みパケットを送信する。割り込みパケットは、システム制御部210の割り込み制御部380によって受信される。割り込み制御部380は、受信した割り込みパケットに基づき、CPU310に割り込み通知を行う。CPU310は、割り込み通知に応じてスキャン処理部250を制御する。
パケット出力部515は、パケット入力部514、圧縮器513、設定保持部516、および割り込み制御部517から送られてくるパケットデータの調停を行い、リングバスにパケットデータを転送する。
伸張器511は、伸張器501と同様であるため説明を省略する。
圧縮器513は、ループバック画像処理部512から送られてくる、処理済みの画像データを圧縮し、後段のパケット入出力I/F510に出力する。この圧縮処理は、パケットデータに画像データを格納可能にするために行われる。
ループバック画像処理部512は、プリント処理とスキャン処理のどちらでも利用する可能性がある編集系の画像処理、例えば変倍処理、画像合成処理、回転処理を行う。ループバック画像処理部512は、伸張器511から受け取った画像データに対して、上記編集系の画像処理を施し、処理後の画像データを圧縮器513に出力する。拡張コントローラ部201のループバック処理部241のループバック画像処理部512でも同様に、上記編集系の画像処理が行われる。
<スキャン処理部>
図5(c)には、スキャン処理部250の内部構成の一例が示されている。パケット入出力I/F520は、パケット入力部524とパケット出力部525とを有する。パケット入力部524は、パケットデータを受信すると、ヘッダ部410のチップID412を参照し、スキャン処理部250に割り振られたチップIDと同一かどうかを確認する。チップID412が示すIDがスキャン処理部250に割り振られたチップIDと異なる場合、スキャン処理部250で処理すべきパケットデータではないと判断する。そして、パケット入力部524は、パケット出力部525にパケットデータを転送する。一方、チップID412が示すIDがスキャン処理部250に割り振られたチップIDと同一である場合、パケット入力部524は、スキャン処理部250で処理すべきパケットであると判断する。このとき、パケットにコマンドが含まれる場合は、パケット入力部524は、データ部420に格納されている設定アドレスと設定値を参照し、指定された係数やモードを設定保持部526に設定する。なお、スキャン処理部250にはスキャナ部110からのみ画像データが入力されるため、受信したパケットのパケットが画像データを示すことはない。また、パケットが設定値をリードするコマンドを含む場合は、設定保持部526によって、設定値を格納したパケットがパケット出力部525に送られる。設定保持部526は、スキャン処理部250で使用される設定値を保持する。圧縮器521、ラスタパケット変換部522、およびスキャン画像処理部523は、設定保持部526が保持する設定値に基づいて処理を行う。
割り込み制御部527は、外部ポート528またはスキャン画像処理部523からの割り込み信号を検知すると、検知した割り込み信号に対応する割り込み要因を割り込みステータス値として保持する。そして割り込み制御部527は、割り込みパケットを生成する。ヘッダ部410の生成については前述した内容と同様である。したがって、ここではデータ部420の生成についてのみ説明する。
割り込み制御部527は、割り込み信号を検知した際に保持したステータス値を、データ部420に格納する。図4に示す割り込み要因4221〜4228は、スキャン処理部250から送出される割り込みパケットの、データ部に格納される情報の一例である。割り込み要因4221は、外部ポート528からの割り込み信号が検知された場合に設定される。割り込み要因4222〜4228は、スキャン処理において割り込みが発生した場合に設定される。本実施形態では、割り込み要因4222〜4228は、スキャン処理部250からの割り込み信号が検知された場合に設定される。割り込み要因4222は、オーバーランエラーが発生したことを示す。オーバーランエラーは、スキャン動作に対してメモリへのスキャンデータの書き込みが間に合わなかった場合に発生するエラーである。割り込み要因4223は、本実施形態では未使用である。割り込み要因4224は、スキャナ部110から主走査同期信号を受信したことを示す。割り込み要因4225は、スキャナ部110から副走査同期信号を受信したことを示す。割り込み要因4226は、スキャナ部110に紙の先端が到達したことを示す。割り込み要因4227は、スキャナ部110に紙の後端が到達したことを示す。割り込み要因6227は、スキャン画像処理部523が1ページ分の処理を完了したことを示す。
割り込み制御部527は、生成した割り込みパケットをパケット入出力I/F520に渡す。そして、パケット入出力I/F520のパケット出力部525は、リングバスを介してシステム制御部210に割り込みパケットを送信する。割り込みパケットは、システム制御部210の割り込み制御部380によって受信される。割り込み制御部380は、受信した割り込みパケットに基づき、CPU310に割り込み通知を行う。CPU310は、割り込み通知に応じてスキャン処理部250を制御する。
パケット出力部525は、パケット入力部524、設定保持部526、および割り込み制御部527から送られてくるパケットデータの調停を行い、リングバスにパケットデータを転送する。
圧縮器521は、ラスタパケット変換部522から送られてくる画像データを圧縮し、後段のパケット入出力I/F520に出力する。この圧縮処理は、パケットデータに画像データを格納可能にするために行われる。
ラスタパケット変換部522は、スキャン画像処理部523から受け取った画素データを、パケット送信可能な画像データに変換する。前述したように、本実施形態では、パケットデータのデータ部に格納される画像データは、矩形(32画素×32画素)の画像データである。一方、スキャナ部110でのスキャン処理はライン型のイメージセンサを用いてラスタ順(ライン順)で行われる。そこで、ラスタパケット変換部522は、スキャン画像処理部523から受け取った画像データの画素の並びをラスタ順から、32画素×32画素の矩形ごとに並び替える。ラスタパケット変換部522、画像データを変換する際に、RAM208を一時バッファとして使用する。
スキャン画像処理部523は、スキャナ部110から画像データを受け取り、シェーディング補正処理やMTF補正処理、入力ガンマ補正やフィルタ処理といった画像処理を行う。画像処理後の画像データはラスタパケット変換部522に出力される。なお、スキャン画像処理部523は、スキャナ部110でのイメージセンサを用いたスキャン動作を停止させないために、入力される画像データの転送速度に間に合うように画像データを受信する必要がある。一方で、パケット入出力I/F520によるパケット送信が他の処理部(プリント処理部230やループバック処理部240)のパケット送信とタイミングが重なった場合、自身のパケット送信が待たされる場合がある。そのような場合、パケットの送信速度が安定しなくなる。そのため、スキャン画像処理部523は、送信タイミングまでの一時的な干渉用の画像バッファとしてRAM208を使用する。そして、スキャン画像処理部523は、一時的にRAM208に格納した画像データを、パケット送信のタイミングに同期させて読み込み、読み込んだ画像データをラスタパケット変換部522に送信する。
<リングバススイッチ>
図6は、第1の実施形態におけるリングバススイッチ220の内部構成の一例を示すブロック図である。リングバススイッチ220は、スイッチ601〜スイッチ605を有する。スイッチ601〜スイッチ605は、複数の入力から1つを選択して出力することが可能な切換器であって、例えばマルチプレクサである。スイッチ601〜スイッチ605のそれぞれは、リングバススイッチ設定部203に設定された値(設定値)に従って、リングバスにおける接続先を切り替える。これにより、システム制御部210、プリント処理部230、ループバック処理部240、スキャン処理部250、リングバス外部I/F290の、それぞれのリングバス上での接続順を自由に変更することができる。
本実施形態においては、上記設定値は上述したように、モード設定部202によって、リングバスを動作させる前に値が設定されるものとしている。しかし、リングバスを動作させる前にリングバススイッチの値が確定できる構成であれば良く、メインコントローラ部200および拡張コントローラ部201の外部から設定を変更できるようにしてもよい。例えば、上記設定値を編集可能なソフトウェアを用いて、ユーザが操作部130を介して上記設定値を変更できるように構成されていてもよい。その際、上記ソフトウェアはシステム制御部210のCPU310によって実行される。または、上述のモード設定情報を、コントローラ部120の外部から設定できるようにしてもよい。例えば、ネットワーク150を介して図示しないホストコンピュータから、モード設定情報の値を変更できるように構成されていてもよい。
<コントローラ部の動作>
図7は、第1の実施形態におけるコントローラ部120の動作を説明するための図である。図7には、RAMコントローラ261の割り込みが、リングバス外部I/F291,290を介して拡張コントローラ部201からメインコントローラ部200に送信される様子が示されている。
メインコントローラ部200のリングバススイッチ220の各スイッチは、上述したように、リングバススイッチ設定部203の設定値に従って制御される。それにより、システム制御部210を起点とするパケットが、プリント処理部230、リングバス外部I/F290、スキャン処理部250と順回し、システム制御部210へと戻る。このような接続制御は、図7に示すようにメインコントローラ部200とともに拡張コントローラ部201を使用する場合に実施される。
拡張コントローラ部201のリングバススイッチ221の各スイッチは、リングバススイッチ設定部213の設定値に従って制御される。それにより、リングバス外部I/F291を介して外部から入力するパケットが、ループバック処理部241に渡って、再びリングバス外部I/F291を介して、外部に返される。
上記のようなリングバススイッチを有するメインコントローラ部200と拡張コントローラ部201とを組み合わせることで、図7に示すようなパス(太線矢印で示される経路)が構築される。それにより、システム制御部210を起点とするパケットが、プリント処理部230、ループバック処理部241、スキャン処理部250と順回し、再びシステム制御部210へと戻る。このように、メインコントローラ部200のループバック処理部240を使用せずに、拡張コントローラ部201のループバック処理部241を使用することによって、RAM208へのデータ転送路の混雑を緩和させることができる。またそれにより、メインコントローラ部200の性能の低下を防ぐことができる。
また図7に示すシステムでは、動作させる必要がない、ループバック処理部240、プリント処理部231、およびスキャン処理部251については、電源の供給が遮断される。これにより、システムの消費電力を削減することができる。これらの構成要素については、図7においてグレーアウト表示されている。
さらに図7に示すシステムでは、メインコントローラ部200のCPU310が拡張コントローラ部201の制御を行う。そのため、システム制御部211のCPU311に対する電源の供給も遮断することができる。したがって、システムの消費電力をさらに削減することができる。また、拡張コントローラ部201のCPU311を起動させるためのROMや、CPU310とCPU311との制御タイミングを調停するためのソフトウェアが不要となる。よって、システムの構成を簡素化することができる。
なお、図7に示すシステムでは、システム制御部211のCPU311に対する電源の供給が遮断されるため、システム制御部211の割り込み制御部381から出力される割り込み信号はCPU311ではなくCPU310に通知される必要がある。例えば、本実施形態ではRAMコントローラ261は起動時に、RAM209とのアクセスタイミング調整などの初期化を行う。RAM209がDDR3 SDRAMである場合には、ZQキャリブレーションやDLLリセットなどの処理を起動時に行う必要がある。ここでソフトウェア制御の簡略化のため本実施形態では、RAMコントローラ261はこれらの処理を自ら実行し、処理が完了すると割り込み(初期化完了割り込み)を発生させるものとする。初期化完了割り込みは、割り込み信号2112として、システム制御部211の割り込み制御部381に通知される。割り込み制御部381は割り込み信号2112を検知すると、割り込み信号2111をループバック処理部241の割り込み外部ポートに入力する。すると、ループバック処理部241は前述したとおり、割り込みパケットを生成する。生成された割り込みパケットは、図7に示すように、リングバス外部I/F291,290を介してメインコントローラ部200のシステム制御部210に伝送され、スキャン処理部250にて受信される。ここで、割り込みパケットのチップIDには、システム制御部210に対応するチップIDが設定されている。したがって、スキャン処理部250は割り込みパケットをそのまま転送する。転送された割り込みパケットはリングバススイッチ220を介してシステム制御部210の割り込み制御部380によって受信され、割り込み制御部380からCPU310に割り込み通知がなされる。
ここでは、システム制御部211に入力される割り込み信号として、RAM209の初期化完了割り込みに対応する割り込み信号2112を例にした。しかし、システム制御部211が他の割り込み信号を入力する場合には、それらの割り込み信号についても同様に処理される。
また、ループバック処理部241において割り込み(例えば、オーバーランエラーの割り込み)が発生した場合には、上述したように、ループバック処理部241の割り込み制御部において、チップIDに「3」が設定された割り込みパケットが生成される。そして、生成されたパケットは、図7に示すようなパスを経由してメインコントローラ部200のシステム制御部210に伝送され、システム制御部210において割り込み制御部380からCPU310に対して割り込み通知がなされる。したがって、システム制御部210のCPU310は、ループバック処理部241において発生し割り込みを検知することができる。
一方、メインコントローラ部200の割り込み制御部380から送信される割り込み信号2101も同様に、プリント処理部230およびスキャン処理部250に通知される。しかし、本実施形態では、プリント処理部230およびスキャン処理部250は割り込み信号2101をマスク制御し、割り込みパケットを生成しないようにするものとする。
以上のように、本実施形態では、コントローラ部120において、拡張コントローラ部201のCPU311を停止した場合に、拡張コントローラ部201からメインコントローラ部200のCPU310に対して割り込み通知を行う。したがって、本実施形態によれば、複数の集積回路で構築されたシステムにおいて、CPUの機能を停止させた集積回路で割り込みが発生した場合でも、適切に割り込み制御を行うことが可能となる。
なお、本実施形態では、メインコントローラ部200のループバック処理部240と、システム制御部211のCPU311、プリント処理部231、およびスキャン処理部251とを停止させる構成を例にしたが、本構成に限るものではない。拡張コントローラ部201で動作させる処理部で割り込みパケットを生成して割り込み通知をメインコントローラ部200のCPU310へ通知することができれば、どのような構成であってもよい。なお、拡張コントローラ部201において、動作させる処理部が複数あった場合には、いずれかの処理部が選択され、選択した処理部の割り込み制御部において、割り込み信号2111に応じた割り込みパケットを生成させるようにしてもよい。一方、選択されなかった処理部の割り込み制御部に対しては、割り込みパケットが生成されないように設定すればよい。
また、本実施形態では、リングバススイッチ設定部203が、メインコントローラ部200および拡張コントローラ部201の外部に配置される構成を例にした。しかし、メインコントローラ部200および拡張コントローラ部201がそれぞれリングバススイッチ設定部を有していても良い。その場合は、モード設定部202は、モード設定情報に基づき、メインコントローラ部200のリングバススイッチ設定部および拡張コントローラ部201のリングバススイッチ設定部のそれぞれに対して設定を行えばよい。
また、本実施形態では、メインコントローラ部200の割り込み制御部380から送信される割り込み信号2101を、プリント処理部230およびスキャン処理部250においてマスク制御するようにしている。しかし、割り込み制御部が、LSIの動作モードを判定し、判定結果に基づいて割り込み通知の送信先をCPUまたは各処理モジュールに切り替えるようにしてもよい。そのような形態を実現するには、例えば、メインコントローラ部として動作しているか、拡張コントローラ部として動作しているかを示す動作モード情報を各LSIに保持させればよい。そして、モード設定部202が、モード設定情報に基づいて各LSIの動作モード情報を設定し、各LSIの割り込み制御部が、動作モード情報に基づいて上記判定を行えばよい。
[第2実施形態]
図8は、第2の実施形態におけるコントローラ部120の動作を説明するための図である。図8に示すように、第2の実施形態におけるメインコントローラ部200のシステム制御部210は、シリアル通信部800を有する。また、拡張コントローラ部201のシステム制御部211は、シリアル通信部801を有する。さらに、シリアル通信部800,801は、図8に示すように、シリアルバス803を介して互いに接続される。図8には、シリアル通信部800,801からシリアルバス803を介して拡張コントローラ部201からメインコントローラ部200に割り込み送信(割り込み処理を要求するためのデータ送信)が行われる様子が示されている。以下では、図7に示すシステムとの差分のみを説明する。
シリアル通信部800は、シリアルバス803を介してデータの送受信を行う。シリアル通信のプロトコルとしてUART(Universal Asynchronous Receiver Transmitter)通信などが用いられるものとする。
図8にグレーアウト表示されている構成要素は、図7と同様に、動作させる必要がない構成要素である。したがって、拡張コントローラ部201の割り込み制御部381の割り込みは図7に示すシステムと同様に、CPU311ではなくCPU310に通知される必要がある。したがって、本実施形態では、図8に示すように、割り込み制御部381から出力される割り込み信号をシリアル通信部801へ入力する構成を採用する。
<コントローラ部>
シリアル通信部801は割り込みを検知するとシリアルバス803を介してシリアル通信を開始する。図9は、メインコントローラ部200と拡張コントローラ部201間で行われるシリアル通信を説明するための図である。図9には、本実施形態におけるシリアル通信(調歩同期式のUART通信)の通信フォーマットが示されている。本実施形態におけるシリアル通信の設定速度(ボーレート)は、9600bpsであり、データビット数は8ビットであるものとする。また、パリティチェックは偶数パリティであり、ストップビット(stop bit)の数が1ビットであるものとする。シリアルバス803におけるHigh信号(信号レベルがHighである信号)は、通常、アイドル状態を示す。拡張コントローラ部201のシリアル通信部801が割り込み送信を行う場合、シリアル通信部801は始めにスタートビット(start bit)を示すLowレベルの信号を出力する。その際、シリアル通信部801は、Lowレベルの信号を9600bpsの規定時間に保持するように制御する。次に、シリアル通信部801は、8ビットのデータを示す信号レベルの制御を行う。ここでは、データ“10010110”が送信されるものとする。次に、シリアル通信部801は、偶数パリティを示す信号になるように、パリティビット(parity bit)を制御する。ここでは、8ビットデータ“10010110”における1の個数が4つであるため、パリティビットを示す信号はHighレベルになるように制御される。最後に、シリアル通信部801は、ストップビットを示す信号がHighレベルになるように制御する。なお、続けて通信を行わない場合は、シリアル通信部801は、Highレベルに維持されるように信号を制御しし、続けて通信を行う場合はスタートビットを示すLowレベルになるように信号を制御する。
ここで、受信側であるメインコントローラ部200のシリアル通信部800がデータ“10010110”を受信すると、シリアル通信部800から割り込み制御部380に通知がなされるように設計されているものとする。割り込み制御部380は、シリアル通信部800からの通知を受けて、拡張コントローラ部201からの割り込みを検知し、当該割り込みをCPU310に通知する。ここでは、シリアル通信部800は割り込みを受信すると、受信が正しく行えたことを示すデータ、例えば受信したデータと同じ“10010110”を送信する。シリアル通信部801は、シリアル通信部800から当該データを受信すると、割り込み送信が正しく行えたとして割り込み処理を完了させる。ここで、シリアル通信部800は、受信した偶数パリティが正しくない場合はパリティエラーを示す信号をシリアル通信部801に送信する。シリアル通信部801は、パリティエラーを示す信号を受信した場合は、再度割り込み送信を行うものとする。
なお、シリアル通信のプロトコルはUARTに限らず、例えばI2C(Inter Integrated Circuit)やSPI(Sriral Peripheral Interface)などの方式であってもよいことはいうまでもない。
また、割り込み送信で伝送されるデータに格納する値を、割り込み要因に応じて変更してもよいことはいうまでもない。
以上のように、メインコントローラ部200と拡張コントローラ部201とで構成されるシステムにおいて、シリアルバス803を介して拡張コントローラ部201から割り込みをメインコントローラ部200のCPU310に通知することが可能となる。
また、本実施形態では、UART通信などを用いて割り込み送信を行っているので、既存のシリアル通信インタフェース(SCI:Serial Communication Interface)をシリアル通信部800,801として用いることができる。例えば、システム制御部がマイクロコンピュータで実現されている場合において、当該マイクロコンピュータがSCIを備えている場合には、当該SCIをシリアル通信部800,801として用いることができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (14)

  1. プロセッサと、割り込み処理の要求を受け付けると前記プロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、
    前記制御モジュールから入力される情報に応じて処理を実行する処理モジュールと、
    他の集積回路と接続するための外部インタフェースと、を備え、
    前記プロセッサが停止している場合には、前記割り込みコントローラからの前記割り込み通知が前記処理モジュールに入力され、
    前記処理モジュールは、前記割り込みコントローラから前記割り込み通知を受け付けると、前記割り込み通知に対応する割り込みパケットを送信し、
    前記処理モジュールによって送信された前記割り込みパケットが、前記外部インタフェースを介して前記他の集積回路に転送される
    ことを特徴とする集積回路。
  2. 前記処理モジュールは外部ポートを有し、
    前記割り込みコントローラと前記外部ポートとが信号線で接続され、
    前記プロセッサが停止している場合には、前記割り込みコントローラからの前記割り込み通知が前記信号線および前記外部ポートを介して前記処理モジュールに入力される
    請求項1に記載の集積回路。
  3. 前記処理モジュールは、自モジュールの処理において割り込みが発生すると、発生した前記割り込みに対応する割り込みパケットを送信し、前記プロセッサが停止している場合には、送信された前記割り込みパケットが、前記外部インタフェースを介して前記他の集積回路に転送される
    請求項1または請求項2に記載の集積回路。
  4. 前記処理モジュールは、自モジュールの処理において割り込みが発生すると、発生した前記割り込みに対応する割り込みパケットを送信し、前記プロセッサが動作している場合には、送信された前記割り込みパケットが前記割り込みコントローラに転送される
    請求項3に記載の集積回路。
  5. 前記制御モジュールと前記処理モジュールと前記外部インタフェースとの間を接続してパケットを転送するバスと、
    前記バスの経路を制御する経路制御手段と、をさらに備え、
    前記経路制御手段は、
    前記プロセッサが停止している場合には、前記処理モジュールから送信される前記割り込みパケットが、前記外部インタフェースを介して前記他の集積回路に転送されるように、前記バスの経路を制御する
    請求項1から請求項4のうちのいずれか1項に記載の集積回路。
  6. 前記経路制御手段は、
    前記プロセッサが動作している場合には、前記処理モジュールから送信される前記割り込みパケットが、前記割り込みコントローラに転送されるように、前記バスの経路を制御する
    請求項5に記載の集積回路。
  7. プロセッサと、割り込み処理の要求を受け付けると前記プロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、
    前記制御モジュールから入力される情報に応じて処理を実行する処理モジュールと、を備え、
    前記制御モジュールは、
    他の集積回路とシリアルバスを介して通信を行う通信手段を有し、
    前記プロセッサが停止している場合には、前記割り込みコントローラからの前記割り込み通知が前記通信手段に入力され、前記通信手段が、入力された前記割り込み通知に基づき、前記割り込み処理を要求するためのデータを前記他の集積回路に送信する
    ことを特徴とする集積回路。
  8. 第1の集積回路と、前記第1の集積回路に拡張用の集積回路として接続される第2の集積回路と、を備え、
    前記第1の集積回路および前記第2の集積回路は、
    プロセッサと、割り込み処理の要求を受け付けると前記プロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、
    前記制御モジュールから入力する情報に応じて処理を実行する処理モジュールと、を少なくとも含み、
    前記第2の集積回路において前記プロセッサが停止されている場合には、前記第2の集積回路の前記割り込みコントローラからの前記割り込み通知が前記第2の集積回路の前記処理モジュールに入力され、
    前記第2の集積回路の前記処理モジュールは、前記第2の集積回路の前記割り込みコントローラから前記割り込み通知を受け付けると、前記割り込み通知に対応する割り込みパケットを前記第1の集積回路に送信する
    ことを特徴とする情報処理装置。
  9. 前記第2の集積回路を前記第1の集積回路の拡張用の集積回路として動作させるための設定を行うモード設定手段をさらに備える
    請求項8に記載の情報処理装置。
  10. 各集積回路は、前記モード設定手段から入力される信号に基づいて、各モジュールに対して供給される電源を制御する電源制御手段をさらに含み、
    前記モード設定手段は、
    前記第2の集積回路の前記電源制御手段に対して、前記制御モジュールの前記プロセッサに電源を供給させないようにするための前記信号を入力する
    請求項9に記載の情報処理装置。
  11. 前記モード設定手段は、
    各集積回路の前記電源制御手段に対して、各モジュールのうち使用されないモジュールに電源を供給させないようにするための前記信号を入力する
    請求項10に記載の情報処理装置。
  12. 各モジュールを接続するバスの経路を設定するためのレジスタを備え、
    前記モード設定手段は、
    前記第2の集積回路の前記処理モジュールから送信される前記割り込みパケットが、前記第1の集積回路に転送されるように、前記レジスタを設定する
    請求項9から請求項11のうちのいずれか1項に記載の情報処理装置。
  13. 第1の集積回路と、前記第1の集積回路に拡張用の集積回路として接続される第2の集積回路と、を備え、前記第1の集積回路および前記第2の集積回路が、プロセッサと、割り込み処理の要求を受け付けると前記プロセッサに対して割り込み通知を送信する割り込みコントローラとを有する制御モジュールと、前記制御モジュールから入力する情報に応じて処理を実行する処理モジュールと、を少なくとも含む、情報処理装置における割り込み制御方法であって、
    前記第2の集積回路において前記プロセッサが停止されている場合に、前記第2の集積回路の前記割り込みコントローラが、前記第2の集積回路の前記処理モジュールに前記割り込み通知を入力するステップと、
    前記第2の集積回路の前記処理モジュールが、前記第2の集積回路の前記割り込みコントローラから前記割り込み通知を受け付けると、前記割り込み通知に対応する割り込みパケットを前記第1の集積回路に送信するステップと、を含む
    ことを特徴とする割り込み制御方法。
  14. コンピュータを、請求項1から請求項7のうちのいずれか1項に記載の集積回路として機能させるためのプログラム。
JP2016240441A 2016-12-12 2016-12-12 情報処理装置 Active JP6833491B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016240441A JP6833491B2 (ja) 2016-12-12 2016-12-12 情報処理装置
US15/825,658 US10306099B2 (en) 2016-12-12 2017-11-29 Information processing apparatus and semiconductor integrated circuit
KR1020170164903A KR102230913B1 (ko) 2016-12-12 2017-12-04 정보 처리 장치 및 반도체 집적 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016240441A JP6833491B2 (ja) 2016-12-12 2016-12-12 情報処理装置

Publications (3)

Publication Number Publication Date
JP2018097522A true JP2018097522A (ja) 2018-06-21
JP2018097522A5 JP2018097522A5 (ja) 2019-12-26
JP6833491B2 JP6833491B2 (ja) 2021-02-24

Family

ID=62489931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016240441A Active JP6833491B2 (ja) 2016-12-12 2016-12-12 情報処理装置

Country Status (3)

Country Link
US (1) US10306099B2 (ja)
JP (1) JP6833491B2 (ja)
KR (1) KR102230913B1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305622A (ja) * 2001-01-31 2002-10-18 Canon Inc 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法
JP2004158000A (ja) * 2002-10-18 2004-06-03 Canon Inc 電子機器およびその異常を診断する方法
JP2007140935A (ja) * 2005-11-18 2007-06-07 Seiko Epson Corp マルチプロセッサシステム
JP2010114850A (ja) * 2008-11-10 2010-05-20 Seiko Epson Corp ファクシミリ装置
JP2015014866A (ja) * 2013-07-04 2015-01-22 富士ゼロックス株式会社 電子機器、画像形成装置およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11198485A (ja) * 1998-01-12 1999-07-27 Canon Inc 印刷制御装置および印刷制御装置の低電力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3958141B2 (ja) 2002-07-31 2007-08-15 キヤノン株式会社 画像処理装置
JP2006256275A (ja) 2005-03-18 2006-09-28 Canon Inc 装置および画像形成装置
JP5397739B2 (ja) * 2008-03-18 2014-01-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
JP4830007B2 (ja) 2009-06-22 2011-12-07 株式会社沖データ 画像形成装置
US8934134B2 (en) 2009-07-02 2015-01-13 Canon Kabushiki Kaisha Image processing based on pixel and attribute values
JP5677386B2 (ja) 2012-08-30 2015-02-25 京セラドキュメントソリューションズ株式会社 画像形成装置
JP6381275B2 (ja) * 2014-05-07 2018-08-29 キヤノン株式会社 画像形成装置、その制御方法とプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305622A (ja) * 2001-01-31 2002-10-18 Canon Inc 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法
JP2004158000A (ja) * 2002-10-18 2004-06-03 Canon Inc 電子機器およびその異常を診断する方法
JP2007140935A (ja) * 2005-11-18 2007-06-07 Seiko Epson Corp マルチプロセッサシステム
JP2010114850A (ja) * 2008-11-10 2010-05-20 Seiko Epson Corp ファクシミリ装置
JP2015014866A (ja) * 2013-07-04 2015-01-22 富士ゼロックス株式会社 電子機器、画像形成装置およびプログラム

Also Published As

Publication number Publication date
US20180167531A1 (en) 2018-06-14
US10306099B2 (en) 2019-05-28
KR102230913B1 (ko) 2021-03-23
KR20180067417A (ko) 2018-06-20
JP6833491B2 (ja) 2021-02-24

Similar Documents

Publication Publication Date Title
US10430370B2 (en) Data transfer device, data transfer method, and a non-transitory recording medium
JP6886301B2 (ja) メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
US9134785B2 (en) Information processing apparatus with power saving mode, and control method and communication apparatus therefor
US8659782B2 (en) Image forming apparatus using option controller for printing
US10423557B2 (en) Information processing apparatus and semiconductor integrated circuit including ring bus system
JP5173707B2 (ja) 情報処理装置、及びその制御方法
US8526039B2 (en) Image processing apparatus, and control method thereof and program
JP2016081411A (ja) 半導体集積回路、半導体集積回路における電源の供給を制御する方法、及びプログラム
JP6833491B2 (ja) 情報処理装置
US20180213103A1 (en) Image processing apparatus, method of controlling the same, and storage medium
JP3970728B2 (ja) データ通信装置
US6897872B2 (en) Controller of multi function device
JP5780768B2 (ja) 情報処理装置、その制御方法、およびプログラム
JP5004322B2 (ja) データ転送制御方法,装置および画像形成装置
JP2001338286A (ja) 画像処理方法と装置
JP2005333676A (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
JP2003099391A (ja) Dma転送方式
JP2018116646A (ja) 集積回路、集積回路の制御方法、及びプログラム
JP2018086751A (ja) 情報処理装置、情報処理装置の制御法及びプログラム
JP2015104901A (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2019200679A (ja) 画像形成装置、帯域モニター装置、及び帯域モニター方法
JP2006166102A (ja) マルチファンクションシステムコントローラ
JP2006229306A (ja) 画像処理装置
JP2004356736A (ja) データ処理装置
JP2006014211A (ja) ネットワーク制御装置、画像処理装置、及び画像形成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210203

R151 Written notification of patent or utility model registration

Ref document number: 6833491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151