(57)【特許請求の範囲】
【請求項１】
ファクシミリ装置における１送信書画情報ブロックごとの送信順序を決定する割込みコントローラにおいて、
各ブロックごとの送信の優先順位を変更して後順位のものを最優先ないし先順位に変更させる割込み要求を受付ける割込み要求受付部と、
該割込み要求のあるブロックごとに変更された順位に従って送信順序を決定し、決定された送信順序を保持する送信順序決定レジスタ部と、
送信順序が決定されると、カウンタ初期値がセットされ、割込み要求が発生してからの時間をカウントする動作を開始する割込み要求カウンタ部と、
該割込み要求カウンタ部における各ブロックごとのカウント値を比較し、後順位のものを先順位に変更させる割込み処理中の優先順位と割込み要求の優先順位を比較するカウント値比較部と、
割込み処理の準備を中断したことを表わす割込み処理中断記憶部と、
該カウント値比較部と送信順序決定レジスタ部と割込み処理中断記憶部の各内容を基にして、割込み処理要求または割込み処理中断要求を発生する発生部と
を具備したことを特徴とする割込みコントローラ。
【請求項２】
ファクシミリ装置における１送信書画情報ブロックごとの送信順序を決定する割込み制御方法において、
各ブロックごとの送信の優先順位を変更して後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求の処理順序をソフトウェアにより設定するとともに、該割込み要求が発生してからの時間をカウントするカウンタに対し、同一の初期値を設定して、カウントを開始させ、
次に処理を開始しようとしている後順位のものを先順位に変更させる割込み処理がある場合、それよりも優先順位の高い割込み要求が受付けられると、割込み要求の処理順序を変更して割込み処理を開始することを特徴とする割込み制御方法。
【請求項３】
ファクシミリ装置における１送信書画情報ブロックごとの送信順序を決定する割込み制御方法において、
各ブロックごとの送信の優先順位を変更して後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求が発生してからの時間をカウントするカウンタに対し、それぞれ異なる割込みの優先順位に応じたカウント初期値を設定し、かつカウント値が予め定めた値以上になったとき、初めて各ブロックの後順位のものを先順位に変更させる割込み処理を開始することにより、割込みの優先順位に関係なく、その時点で優先的に処理すべき割込み要求を判断して割込み処理を開始することを特徴とする割込み制御方法。
【請求項４】
ファクシミリ装置における１送信書画情報ブロックごとの送信順序を決定する割込み制御方法において、
各ブロックごとの送信の優先順位を変更して後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求の送信順序を決定し、
該割込み要求が発生してからの時間をカウントするカウンタに対し、同一のカウント初期値を設定して、カウントを開始させ、後順位のものを先順位に変更させる割込み処理中に優先順位の高い割込み要求が受付けられた場合、該割込み処理中のカウント値が予め定めた値未満であるときには、割込み処理を中断し、後から受付けた割込み要求を先に処理した後、中断された処理を再開し、予め定めた値以上であるときには、そのまま処理を続行することを特徴とする割込み制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ファクシミリ装置において送信の優先順位を変更するための割込みコントローラ、および割込み制御方法に関する。
【０００２】
【従来の技術】
従来、ファクシミリ装置では、送信原稿をスキャナにより光学的に読取り、光・電気変換を行った後、プロセッサにより‘１’，‘０’の２値に変換して、リード／ライト・バッファに蓄積する。リード／ライト・バッファから読出された出力は、データ圧縮装置（ＤＣＲ）に入力され、ここで原情報を失わずにデータ量を削減した後、データスイッチ（ＤＳＵ）を介して高速モデムに導かれ、ここで変調された後、ＤＳＵと網制御装置（ＮＣＵ）を介して回線に送出される。
一方、回線から入力された変調信号は、ＮＣＵ、ＤＳＵを介して高速モデムに導かれ、モデムによりディジタル信号に復調された後、ＤＣＲに出力されて、ここで原情報に再生され、リード／ライト・バッファに蓄積される。リード／ライト・バッファでは、蓄積された情報が１行を越えると、１行単位で書込み駆動回路に出力され、受信用紙を１行分だけ進める。
次に、ファクシミリ装置の伝送制御のための情報は、全てプログラムにより編成され、プロセッサからの並列信号が直列信号に変換された後、伝送エラーをチェックするチェックビットが付加されて、ＤＳＵを介して高速モデムに導かれ、ここで変調されてＤＳＵ、ＮＣＵを介して回線に送出される。
回線から入力された伝送制御情報は、全てプロセッサのソフトウェアにより判読される。
【０００３】
次に、ファクシミリ装置のソフトウェアとしては、▲１▼電源ＯＮ時に初期設定およびメモリローディングを実行するイニシャル実行プログラム、▲２▼システム動作開始要因の割込みがあると、割込み要因の判別と割込みジョブルーチンの管理を実行する割込み登録ルーチン、▲３▼各割込み要因に応じた仕事、主として機構部の制御を行う割込みジョブ用サブルーチン、▲４▼送信、受信、コピー等、それぞれの動作をモニターするモニタールーチン、ならびに▲５▼システム制御に必要な単位毎の仕事を行うジョブルーチンがある（例えば、Ｒｉｃｈｏ    Ｔｅｃｈｎｉｃａｌ    Ｒｅｐｏｒｔ    Ｎｏ．１
Ｍａｒｃｈ    １９７９    ｐｐ．６１〜６２参照）。
このように、従来のソフトウェアには、割込み処理のプログラムが存在したが、これは割込みによりシステムの動作を開始するためのもので、割込み要因を判別して、各割込み要因に応じた仕事が行われる。
一方、送信書画情報を割込み処理するプログラム、すなわち送信の優先順位を変更して、後順位のものを最優先ないし先順位に変更させるようなプログラムは存在していなかった。
つまり、従来の技術では、時間的に少しでも早く蓄積した送信電文が先に送信されるわけであって、送信用書画情報の優先順位は固定されていたため、これを変更することは不可能であった。
【０００４】
【発明が解決しようとする課題】
このように、従来のファクシミリ装置では、優先順位が固定されていたので、優先順位の変更はできなかった。また、優先順位の低い処理の実行が開始された直後に、優先順位の高い処理の要求があった場合でも、前者の処理終了までは後者の処理は受け付けられなかった。なお、両者から同時に処理要求があった場合には、優先順位の高い処理が先に行われていた。
本発明の第１の目的は、このような従来の課題を解決し、書画情報の送信順位を変更して、割込み処理を実行することが可能な割込みコントローラおよび割込み制御方法を提供することにある。
本発明の第２の目的は、優先順位を決める必要がなく、その都度、優先的に送信すべき割込み処理を実行することにより、優先順位の低い送信処理の実行直後に、優先順位の高い送信要求があったときには、優先順位の高い処理を先ず実行することができる割込みコントローラおよび割込み制御方法を提供することにある。
本発明の第３の目的は、割込み処理中にも優先順位を判定して、その都度順位を設定することにより、割込み処理中に優先順位の高い割込み要求があったときには、処理を中断して効率よく割込み処理が行える割込みコントローラおよび割込み制御方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明の割込みコントローラは、(1)ファクシミリ装置における１送信書画情報ブロックごとの送信順序を決定する割込みコントローラにおいて、各ブロックごとの送信の順位を変更して、後順位のものを最優先ないし先順位に変更させる割込み要求を受付ける割込み要求受付部(１１)と、該割込み要求のあるブロックごとに可変する順位に従って送信順序を決定し、決定された送信順序を保持する送信順序決定レジスタ部（１５）と、送信順序が決定されると、カウンタ初期値がセットされ、割込み要求が発生してからの時間をカウントする動作を開始する割込み要求カウンタ部（１２）と、該割込みカウンタ部（１２）における各ブロックごとのカウント値を比較し、割込み処理中の優先順位と割込み要求の優先順位を比較するカウント値比較部（１３）と、後順位のものを先順位に変更させる割込み処理の準備を中断したことを表わす割込み処理中断記憶部（１６）と、該カウント値比較部（１３）と送信順序決定レジスタ部（１５）と割込み処理中断記憶部（１６）の各内容を基にして、割込み処理要求または割込み処理中断要求を発生する発生部とを具備したことを特徴としている。
また、本発明の割込み制御方法は、(2)ファクシミリ装置の送信順序を決定する割込み制御方法において、各ブロックごとの送信の順位を変更して、後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求の送信順序をソフトウェアにより設定するとともに、該割込み要求が発生してからの時間をカウントするカウンタ（１２）に対し、同一の初期値を設定して、カウントを開始させ、次に処理を開始しようとしている後順位のものを先順位に変更させる割込み処理がある場合、それよりも優先順位の高い割込み要求が受付けられると、割込み要求処理順序を変更して割込み処理を開始することを特徴としている。
また、(3)各ブロックごとの送信の順位を変更して、後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求が発生してからの時間をカウントするカウンタ（１２）に対し、それぞれ異なる割込み優先順位に応じたカウント初期値を設定し、かつカウント値が予め定めた値以上になったとき、初めて各ブロックの後順位のものを先順位に変更させる割込み処理を開始することにより、割込みの優先順位に関係なく、その時点で優先的に処理すべき割込み要求を判断して割込み処理を開始することを特徴としている。
さらに、(4)各ブロックごとの送信の順位を変更して、後順位のものを最優先ないし先順位に変更させる割込み要求が受付けられると、該割込み要求の送信順序を決定し、該割込み要求が発生してからの時間をカウントするカウンタ（１２）に対し、同一のカウント初期値を設定して、カウントを開始させ、後順位のものを先順位に変更させる割込み処理中に優先順位の高い割込み要求が受付けられた場合、該割込み処理中のカウント値が予め定めた値未満であるときには、割込み処理を中断し、後から受付けた割込み要求を先に処理した後、中断された処理を再開し、予め定めた値以上であるときには、そのまま処理を続行することを特徴としている。
【０００６】
【作用】
本発明における▲１▼第１の実施例では、割込み要求を受付ける毎に、ソフトウェアで優先順位を決定するので、割込み優先順位の変更が可能であり、ＬＳＩ等の設計後の変更が可能となる。
また、▲２▼第２の実施例では、優先順位を持たせたい処理に対して、それぞれ異なるカウンタ値を設定することにより、優先順位が低くてもよいものに対しては、他の割込み要求がなくても、ある設定値までは処理を行わず、優先的に処理したい割込み要求が飛び込んで来た場合、その処理を行うようにすることにより、必要以上に優先順位の高い処理を待たせることなく、処理を行うことができる。すなわち、割込み要求が発生してからの時間を計数するためのカウンタを設けているため、優先順位を決定する必要がなく、その都度、優先的に処理すべき割込み処理を実行することができる。
また、▲３▼第３の実施例では、割込み処理中に優先順位の高い割込み要求が受付けられた場合に、カウンタ値を参照して、割込み処理の中断が可能か否かを判断することにより、より効率よく割込みの処理が行える。すなわち、割込み要求が発生してからの時間を計数するためのカウンタを設けるとともに、優先順位を設定することにより、優先順位の低い割込み処理中に、優先順位の高い割込み要求があった場合には、優先順位の高い割込み処理を先に実行することができる。
【０００７】
【実施例】
以下、本発明の実施例を、図面により詳細に説明する。
本発明の一実施例を示す割込みコントローラの構成図である。
図１において、１１はユーザから割込みの要求を受付ける割込み要求受付部、１２は要求毎に優先順位に相当するカウンタ値をセットして、割込み要求が出されてからの時間をカウントする動作を実行する割込み要求カウンタ部、１３は現在実行中あるいはカウント中の優先順位と新たに要求された割込みの優先順位とを比較して、どちらが早いかを判定するカウント値比較部、１４は割込み処理要求と割込み処理中断要求を発生させる発生部、１５は送信順序を決定して、それを保持する送信順序決定レジスタ部、１６は中断された割込み要求を退避のために記憶し、中断した要求の処理が終了した後に、記憶から戻す割込み処理中断記憶部である。
本発明の割込みのコントローラは、これらの各装置から構成され、送信すべきファクシミリ原稿を送信書画情報の１ブロック毎に送信順序を決定し、割込み処理開始要求を送出する。
送信順序、割込み要求カウンタ部１２の初期値は、ソフトウェアにより設定される。
そして、ソフトウェアにより設定された送信順序およびカウンタ部１２の初期値は、それぞれ送信順序決定レジスタ部１５および割込みカウンタ部１２で保持される。
割込み要求カウンタ部１２は、割込み処理が中断された場合にもカウントを続行し、割込み処理が終了すると初期値にリセットされる。
また、処理の続行、および中断の決定は、カウント値比較部１３、送信順序決定レジスタ部１５、および割込み処理中断記憶部１６のデータを基にして、割込み処理要求・割込み中断要求発生部１４が行う。
【０００８】
割込み要求が発生すると、割込み要求受付部１１において要求が確認される。
次に、ソフトウェアにより優先順位とカウント値がセットされ、決定された送信順序は送信順序決定レジスタ部１５に保持されるとともに、クロック入力により割り込み要求カウンタ部１２のカウント動作が開始される。
(1)第１の実施例として、割込み要求が受付けられる毎に、送信順序が決定され、決定された送信順序に従って割込み処理開始要求を行う場合を説明する。
割込み要求が受付けられると、そのとき他の割込み要求がなく、かつ割込み処理中でなければ、要求のあった割込み処理動作が実行される。すなわち、割込み要求受付部１１で受付けられた割込み要求は、ソフトウェアにより優先順位と初期値（ここでは、０）が決定され、割込み要求カウンタ部１２にカウント値がセットされることにより、カウンタ部１２が時間を計数するための動作を開始する。
最も高い優先順位の要求がカウント値比較部１３を通過して割込み処理中断要求発生部１４に入力され、同時に送信順序決定レジスタ部１５に保持されている送信順序と割込み処理中断記憶部１６の値（何も保持されていない）も発生部１４に入力されることにより、それらの値を基に割込み処理開始要求が発生し、その要求信号が出力される。
同時に複数個の割込み要求が受付けられると、ソフトウェアによりそれぞれ優先順位と初期値が決定され、カウント動作が開始される。そして、送信順序の早いものから順次、割込み処理開始要求が出力される。
処理の途中で割込み要求が受付けられても、優先順位が決定された後、最も高い順位のときには、現在処理中の次順位に開始要求が出力され、それ以外の場合には相当する順位の箇所に挿入されることになる。
【０００９】
(2)第２の実施例として、割込み要求が受付けられると、優先順位を持たせたい要求に対して、それぞれ異なるカウント値を設定し、優先順位の決定は行わない場合を説明する。
割込み要求受付部１１で受付けた要求に対して、他の割込み要求があった場合、すなわち、未だ処理が開始されていない他の割込み要求、あるいは同時に他の割込み要求があった場合には、割込み要求カウンタ部１２はその要求に対してもカウント動作が行われているので、カウント値比較部１３はそのカウンタ部１２にセットされている値、つまり優先順位を比較することにより、順位の高い方から処理を実行する。
例えば、優先しなくてもよい要求に対してカウンタ部１２の初期値を０とし、優先するものに対しては５，１０，２０等の整数値を初期値とすることにより、２５のカウント値の要求に対して処理を開始するようにする。従って、２５になるまでは、処理がなくても処理を開始しない。これにより、優先的に処理したい割込み要求が入った場合には、直ちに処理することが可能である。
これにより、割込み要求が発生してからの時間を計数するカウンタ部を設けるだけで、優先順位を決める必要がなく、その都度、優先的に処理すべき割込み処理を実行することが可能となる。
【００１０】
(3)第３の実施例として、カウンタを設けるとともに、優先順位を決定することにより、割込み処理中に優先順位の高い割込み要求が受付けられた場合には、処理を中断して高い優先順位の要求を処理した後、中断されていた処理を再開する場合を説明する。
他の要求が割込み処理実行中に、実行中の割込み処理よりも優先順位の高い割込み要求があった場合には、先ず実行中の処理の割込み要求カウンタ部の値を参照し、ある規定値になっている場合には処理を続行し、その規定値になっていなければ、処理を中断して、優先順位の高い方の割込み処理を実行し、その処理が終了後に中断した処理を再度実行する。
例えば、予めカウンタ部１２の値が１０以下のときには処理を中断し、１１以上のときには処理を続行するものと規定しておく。
いま、割込み要求カウンタ部１２の値が８になった瞬間に、割込み要求が受付けられたとする。この場合には、カウント値比較部１３は、処理中の要求の優先順位と割込み要求の優先順位とを比較して、後者が高いこと、およびカウント値が８のときに割込みがあったことをそれぞれ検出すると、割込み処理中断記憶部１６の処理中の割込み要求を記憶して退避する。それにより、割込み処理要求・割込み中断要求発生部１４は、送信順序決定レジスタ部１５と割込み処理中断記憶部１６の内容を入力し、割込み処理中断要求を発生して出力する。これにより、実行中の処理は中断されて、新たに入力した割込み要求の割込み処理開始要求が出力される。この処理が終了した後に、割込み処理中断記憶部１６の記憶を読み出し、割込み処理要求発生部１４から中断されて待機していた要求の処理再開を出力する。
【００１１】
図２は、本発明の第３の実施例を示す割込み制御方法の動作フローチャートである。
先ず、通常処理が行われ、割込み要求カウンタ部１２の初期設定が行われるとともに、優先順位が決定される（ステップ１０１）。次に、割込み要求の有無を判断し（ステップ１０２）、なければ、その判断を繰り返し行いながら、通常処理を行う。割込み要求が有れば、その要求を受付ける（ステップ１０３）。その要求に対して、割込み要求カウンタ部１２のカウントを開始し（ステップ１０４）、他の割込み処理中か否かを判断する（ステップ１０５）。他の割込み処理中の場合には、割込み要求カウンタ部１２のカウンタ値を参照するとともに、カウンタ値比較部１３で優先順位の比較を行う（ステップ１０６）。実行中の割込み処理を中断するか否かを判定する（ステップ１０７）。すなわち、カウンタ値が予め定められた閾値以上であるか、あるいは実行中の割込み処理の優先順位の方が高い場合には、実行中の割込み処理を中断せず、そのまま処理を継続する。そして、実行中の割込み処理が終了したか否かを判断する（ステップ１０８）。終了すれば、再度、ステップ１０５に戻り、他の割込み処理中か否かを判断する。
【００１２】
ステップ１０５において、他の割込み処理中でなければ、割込み処理が開始される（ステップ１０９）。割込み処理中断要求の有無を判断し（ステップ１１０）、中断要求がなければ正常終了する。一方、割込み処理中断要求が有れば、処理を中断し（ステップ１１１）、優先度の高い割込み処理を開始する（ステップ１１２）。実行された処理が終了したか否かを判断し（ステップ１１３）、終了したならば、中断された処理を再開する（ステップ１１４）。そして、その処理要終了する。
また、ステップ１０７において、実行中の割込み処理の優先順位とカウンタ値を参照し、これと新たに受付けられた割込み要求の優先順位とを比較することにより、実行中の割込み処理を中断することを判断したならば、さらに割込み処理中断要求が有るか否かを判断し（ステップ１１０）、なければ、その割込み処理を正常に終了する。さらに、割込み処理中断要求が有る場合には、さらに優先順位の高い割込み要求が受付けられたのであるから、処理を中断して（ステップ１１１）、優先順位の高い割込み処理を開始し（ステップ１１２）、処理が終了したならば（ステップ１１３）、中断された処理を再開し、それが終了したならば、最初に中断された処理を再開する（ステップ１１４）。
【００１３】
【発明の効果】
以上説明したように、本発明によれば、割込みコントローラを設計した後でも、ソフトウェアで優先順位を決定することができるので、割込み優先順位の変更が可能である。また、割込み要求が発生してからの時間をカウントするカウンタを設けて、優先度により初期値を異ならせることにより、優先順位に関係なく優先的に処理したい割込み要求を迅速に処理することができる。さらに、時間をカウントするカウンタと、ソフトウェアにより優先順位を決定するので、優先順位の低い割込み処理中に、優先順位の高い割込み要求がある場合には、優先順位の低い処理を中断して優先順位の高い割込み処理を先に実行させることができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す割込みコントローラの構成図である。
【図２】本発明の一実施例を示す割込み制御方法の動作フローチャートである。
【符号の説明】
１１  割込み要求受付部
１２  割込み要求カウンタ部
１３  カウント値比較部
１４  割込み処理要求・割込み処理中断要求発生部
１５  送信順序決定レジスタ部
１６  割込み処理中断記憶部
【図１】
0003572650.tif 000002
【図２】
0003572650.tif 000003