(57)【特許請求の範囲】
【請求項１】
第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、
０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、
前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、
前記制御手段が算出した前記余りを記憶する第２の記憶手段と、
前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、
を備えており、
前記制御手段は、前記カウンタが前記余りと一致するカウント値を複数回カウントする場合には、最後から２番目にカウントされる該余りと一致するカウント値を該カウンタがカウントしたタイミングよりも後に、該余りを前記第２の記憶手段に出力すること、
を特徴とする制御装置。
【請求項２】
第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、
０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、
前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、
前記制御手段が算出した前記余りを記憶する第２の記憶手段と、
前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、
を備えており、
前記制御手段は、前記所定時間に相当する前記カウンタのカウント数とｎとの差が正である場合には、前記第２の周期に相当する該カウンタのカウント数で該差を割って得られる商の小数点以下を切り上げて得られる値のステップ数だけ前記第１のトリガが発生してから経過した後に、前記余りを前記第２の記憶手段に出力すること、
を特徴とする制御装置。
【請求項３】
第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、
０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、
前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、
前記制御手段が算出した前記余りを記憶する第２の記憶手段と、
前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、
を備えており、
前記制御手段は、前記所定時間に相当する前記カウンタのカウント数とｎとの差が正である場合には、該差から各ステップにおいて該カウンタがカウントしたカウント数を減算していき、減算して得られた値が負になったステップにおいて、前記余りを前記第２の記憶手段に出力すること、
を特徴とする制御装置。
【請求項４】
前記制御装置は、
前記第１のトリガが発生した際の前記カウンタのカウント値を記憶する第１の記憶手段を、
更に備え、
前記制御手段は、前記第１の記憶手段が記憶している前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出すること、
を特徴とする請求項１ないし請求項３のいずれかに記載の制御装置。
【請求項５】
前記第１の記憶手段は、前記第１のトリガが発生した際の前記カウンタのカウント値を複数記憶すること、
を特徴とする請求項４に記載の制御装置。
【請求項６】
前記第１の記憶手段は、ＦＩＦＯであること、
を特徴とする請求項５に記載の制御装置。
【請求項７】
前記第２の記憶手段は、前記第１のトリガが発生した際の前記カウンタの各カウント値に対応する複数の余りを記憶すること、
を特徴とする請求項５又は請求項６のいずれかに記載の制御装置。
【請求項８】
前記第２の記憶手段は、ＦＩＦＯであること、
を特徴とする請求項７に記載の制御装置。
【請求項９】
請求項１ないし請求項８の制御装置を備えていること、
を特徴とする画像形成装置。
【請求項１０】
前記画像形成装置は、
搬送経路上において印刷媒体を搬送する搬送手段と、
前記印刷媒体が前記搬送経路の所定位置に到達したことを検知して、前記第１のトリガを発生させる検知手段と、
を更に備え、
前記制御手段は、前記第１のトリガが発生した際の前記カウンタのカウント値及び該カウンタの現在のカウント値に基づいて、前記搬送経路における前記印刷媒体の位置を認識すること、
を特徴とする請求項９に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び画像形成装置に関し、特に、第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置及び画像形成装置に関する。
【背景技術】
【０００２】
従来の画像形成装置における用紙搬送制御では、ＣＰＵは、一定の周期で動作しており、センサからの出力に基づいて、モータの駆動を制御している。具体的には、ＣＰＵは、処理周期毎にセンサをチェックし、センサの出力に変化があれば、処理周期の整数倍の時間が経過したタイミングでモータを駆動させている。
【０００３】
ところで、従来の画像形成装置において、用紙搬送制御の精度を向上させるためには、ＣＰＵの処理周期を短くする必要がある。この場合には、高価なＣＰＵを用いる必要があり、画像形成装置の製造コストが増加してしまう。
【０００４】
なお、画像形成装置の用紙搬送制御に似た制御を行うものとして、特許文献１に記載の画像読取装置が知られている。該画像読取装置では、ＣＰＵは、モータ用タイマの割り込みにより、相切換データを生成する。ディレイ回路は、カウンタにて所定のカウント数をカウントした後に、相切換データをモータポートに出力する。これにより、モータポートは、モータ用タイマの割り込みから所定時間だけ遅延させて、モータを駆動させることができる。
【０００５】
しかしながら、特許文献１に記載の画像読取装置では、所定のカウント数のカウント中に、カウンタのカウント値が該カウンタのカウント値の上限値を超えてしまうおそれがある。この場合には、特許文献１に記載の画像読取装置は、正確に動作することができない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３２２５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、安価に製造できると共に、誤動作が発生することを抑制できる制御装置及び画像形成装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１の形態に係る制御装置は、第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、前記制御手段が算出した前記余りを記憶する第２の記憶手段と、前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、を備えており、前記制御手段は、前記カウンタが前記余りと一致するカウント値を複数回カウントする場合には、最後から２番目にカウントされる該余りと一致するカウント値を該カウンタがカウントしたタイミングよりも後に、該余りを前記第２の記憶手段に出力すること、を特徴とする。
第２の形態に係る制御装置は、第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、前記制御手段が算出した前記余りを記憶する第２の記憶手段と、前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、を備えており、前記制御手段は、前記所定時間に相当する前記カウンタのカウント数とｎとの差が正である場合には、前記第２の周期に相当する該カウンタのカウント数で該差を割って得られる商の小数点以下を切り上げて得られる値のステップ数だけ前記第１のトリガが発生してから経過した後に、前記余りを前記第２の記憶手段に出力すること、を特徴とする。
第３の形態に係る制御装置は、第１のトリガの発生から所定時間を遅延させて第２のトリガを発生させる制御装置であって、０からｎ−１までのカウント値を第１の周期でカウントするカウンタと、前記第１の周期よりも長い第２の周期を有するステップで動作する制御手段であって、前記第１のトリガが発生した際の前記カウンタのカウント値に対して前記所定時間に相当する該カウンタのカウント数を加算した値をｎで割った余りを算出する制御手段と、前記制御手段が算出した前記余りを記憶する第２の記憶手段と、前記制御手段から前記第２の記憶手段に前記余りが出力されてきた直後に、前記第２の記憶手段が記憶している前記余りと前記カウンタのカウント値とが一致したタイミングにおいて第２のトリガを発生させる出力手段と、を備えており、前記制御手段は、前記所定時間に相当する前記カウンタのカウント数とｎとの差が正である場合には、該差から各ステップにおいて該カウンタがカウントしたカウント数を減算していき、減算して得られた値が負になったステップにおいて、前記余りを前記第２の記憶手段に出力すること、を特徴とする。
【０００９】
本発明の一形態に係る画像形成装置は、前記制御装置を備えていること、を特徴とする。
【発明の効果】
【００１０】
本発明によれば、安価に製造できると共に、誤動作が発生することを抑制できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像形成装置の全体構成を示した図である。
【図２】画像形成装置の制御装置のブロック図である。
【図３】制御装置に入力する検知信号Ｓｉｇ１及び出力信号Ｓｉｇ２の波形を示した図である。
【図４】入力情報レジスタの構成図である。
【図５】出力情報レジスタの構成図である。
【図６】用紙搬送制御においてＣＰＵが行う動作を示したフローチャートである。
【図７】用紙搬送制御におけるＣＰＵの状態遷移図である。
【図８】図７の初期設定処理時にＣＰＵが行う動作を示したフローチャートである。
【図９】図７のセンサ入力処理時にＣＰＵが行う動作を示したフローチャートである。
【図１０】図７のモータ起動処理時にＣＰＵが行う動作を示したフローチャートである。
【図１１】図７のモータ停止処理時にＣＰＵが行う動作を示したフローチャートである。
【図１２】図７のモータ起動処理時にＣＰＵが行う動作を示したフローチャートである。
【図１３】図７のモータ停止処理時にＣＰＵが行う動作を示したフローチャートである。
【図１４】第１の変形例に係る入力部の構成図である。
【図１５】第２の変形例に係る入力部の構成図である。
【図１６】第１の変形例に係る出力部の構成図である。
【発明を実施するための形態】
【００１２】
（画像形成装置の構成）
以下に、本発明の一実施形態に係る画像形成装置について図面を参照しながら説明する。図１は、本発明の一実施形態に係る画像形成装置１の全体構成を示した図である。
【００１３】
画像形成装置１は、電子写真方式によるカラープリンタであって、いわゆるタンデム式で４色（Ｙ：イエロー、Ｍ：マゼンタ、Ｃ：シアン、Ｋ：ブラック）の画像を合成するように構成したものである。該画像形成装置１は、スキャナにより読み取った画像データに基づいて、用紙（印刷媒体）Ｐに画像を形成する機能を有し、図１に示すように、印刷部２、給紙部１５、タイミングローラ対１９、定着装置２０、排紙トレイ２１、制御装置３０、モータ３２及びセンサ３４を備えている。
【００１４】
画像形成装置１には、図１に示すように、用紙Ｐの搬送経路Ｒが設けられている。給紙部１５は、搬送経路Ｒの最も上流側に設けられており、用紙Ｐを１枚ずつ供給する役割を果たし、用紙トレイ１６及び給紙ローラ１７を含む。用紙トレイ１６には、印刷前の状態の用紙Ｐが複数枚重ねて載置される。給紙ローラ１７は、用紙トレイ１６に載置された用紙Ｐを１枚ずつ取り出す。タイミングローラ対１９は、搬送経路Ｒにおいて給紙部１５の下流側に設けられ、印刷部２においてトナー画像が用紙Ｐに２次転写されるように、タイミングを調整しながら搬送経路Ｒ上において用紙Ｐを搬送する。モータ３２は、タイミングローラ対１９を駆動させる。
【００１５】
印刷部２は、搬送経路Ｒにおいてタイミングローラ対１９の下流側に設けられ、タイミングローラ対１９により搬送されてくる用紙Ｐにトナー画像を形成する。印刷部２は、作像部２２（２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋ）、転写部８（８Ｙ，８Ｍ，８Ｃ，８Ｋ）、中間転写ベルト（像担持体）１１、駆動ローラ１２、従動ローラ１３、２次転写ローラ（対向部材・転写部材）１４及びクリーニング装置１８を含んでいる。また、作像部２２（２２Ｙ，２２Ｍ，２２Ｃ，２２Ｋ）は、感光体ドラム４（４Ｙ，４Ｍ，４Ｃ，４Ｋ）、帯電器５（５Ｙ，５Ｍ，５Ｃ，５Ｋ）、露光装置６（６Ｙ，６Ｍ，６Ｃ，６Ｋ）、現像装置７（７Ｙ，７Ｍ，７Ｃ，７Ｋ）、クリーナー９（９Ｙ，９Ｍ，９Ｃ，９Ｋ）及びイレーサ１０（１０Ｙ，１０Ｍ，１０Ｃ，１０Ｋ）を含んでいる。
【００１６】
帯電器５は、感光体ドラム４の周面に対して帯電を行って、感光体ドラム４の周面の電位を負の電位とする。
【００１７】
露光装置６は、制御装置３０の制御により、レーザビームを照射する。レーザビームが照射された位置の電位がレーザビームが照射されていない位置の電位よりも高くなる。これにより、感光体ドラム４の周面には静電潜像が形成される。
【００１８】
現像装置７（７Ｙ，７Ｍ，７Ｃ，７Ｋ）は、図１に示すように、現像ローラ７２（７２Ｙ，７２Ｍ，７２Ｃ，７２Ｋ）、供給ローラ７４（７４Ｙ，７４Ｍ，７４Ｃ，７４Ｋ）、撹拌ローラ７６（７６Ｙ，７６Ｍ，７６Ｃ，７６Ｋ）及び収容部７８（７８Ｙ，７８Ｍ，７８Ｃ，７８Ｋ）を備えている。図１では、図面が煩雑になることを防止するために、現像装置７Ｙの現像ローラ７２Ｙ、供給ローラ７４Ｙ、撹拌ローラ７６Ｙ及び収容部７８Ｙのみ参照符号を付してある。
【００１９】
収容部７８は、現像装置７の本体を構成しており、トナーを収容していると共に、現像ローラ７２、供給ローラ７４及び撹拌ローラ７６を格納している。撹拌ローラ７６は、収容部７８内のトナーを撹拌して負に帯電させる。供給ローラ７４は、負に帯電しているトナーを現像ローラ７２に供給する。現像ローラ７２は、感光体ドラム４にトナーを付与する。具体的には、感光体ドラム４と現像ローラ７２との間に現像電界を形成するための負の現像バイアス電圧が現像ローラ７２に対して印加されている。そして、トナーは、負に帯電しているので、現像電界による影響を受けて、現像ローラ７２から感光体ドラム４へと移動する。ここで、感光体ドラム４の周面において、レーザビームが照射されていない部分の電位は、現像ローラ７２の電位よりも低い。一方、感光体ドラム４の周面において、レーザビームが照射された部分の電位は、現像ローラ７２の電位よりも高い。したがって、トナーは、感光体ドラム４の周面において、レーザビームが照射された部分に付着する。これにより、静電潜像に基づいたトナー画像が感光体ドラム４に現像される。
【００２０】
中間転写ベルト１１は、駆動ローラ１２と従動ローラ１３との間に張り渡されており、感光体ドラム４に現像されたトナー画像が１次転写される。転写部８は、中間転写ベルト１１の内周面に対向するように配置されており、１次転写電圧を印加されることにより、感光体ドラム４に形成されたトナー画像を中間転写ベルト１１に１次転写する役割を果たす。クリーナー９は、１次転写後に感光体ドラム４の周面に残存しているトナーを回収する役割を果たす。イレーサ１０は、感光体ドラム４の周面を除電する。
【００２１】
駆動ローラ１２は、中間転写ベルト駆動部（図１には記載せず）により回転させられることにより、中間転写ベルト１１を矢印αの方向に駆動させる。これにより、中間転写ベルト１１は、トナー画像を２次転写ローラ１４まで搬送する。
【００２２】
２次転写ローラ１４は、中間転写ベルト１１と対向し、ドラム形状をなしている。そして、２次転写ローラ１４は、転写電圧が印加されることにより、所定の転写電位に保たれている。これにより、２次転写ローラ１４は、中間転写ベルト１１との間を通過する用紙Ｐに対して、中間転写ベルト１１が担持しているトナー画像を２次転写する。より詳細には、駆動ローラ１２は接地電位に保たれている。また、中間転写ベルト１１は、駆動ローラ１２に接触しているので、接地電位に近い正の電位に保たれている。そして、２次転写ローラ１４の転写電位は、駆動ローラ１２及び中間転写ベルト１１の電位よりも高くなるように保たれている。トナー画像は、負に帯電しているので、駆動ローラ１２と２次転写ローラ１４との間に発生している電界によって、中間転写ベルト１１から用紙Ｐに対して転写される。
【００２３】
クリーニング装置１８は、用紙Ｐへのトナー画像の２次転写後に、中間転写ベルト１１に残存しているトナーを除去する。
【００２４】
トナー画像が２次転写された用紙Ｐは、定着装置２０に搬送される。定着装置２０は、搬送経路Ｒにおいて印刷部２の下流側に設けられ、用紙Ｐに対して加熱処理及び加圧処理を施すことにより、トナー画像を用紙Ｐに定着させる。排紙トレイ２１は、搬送経路Ｒの最も下流側に設けられている。排紙トレイ２１上には印刷済みの用紙Ｐが載置される。
【００２５】
センサ３４は、搬送経路Ｒにおいてタイミングローラ対１９の上流側の所定位置に設けられており、用紙Ｐを検知して、検知信号Ｓｉｇ１を制御装置３０に出力する。すなわち、センサ３４は、用紙Ｐがセンサ３４の前を通過しているときには、Ｈｉｇｈの検知信号Ｓｉｇ１を出力する。センサ３４は、用紙Ｐがセンサ３４の前を通過していないときには、Ｌｏｗの検知信号Ｓｉｇ１を出力する。よって、センサ３４は、検知信号Ｓｉｇ１がＬｏｗからＨｉｇｈに立ち上がることを検知して、用紙Ｐの先端を検知することができ、検知信号Ｓｉｇ１がＨｉｇｈからＬｏｗに立ち下がることを検知して、用紙Ｐの後端を検知することができる。
【００２６】
（第１の実施形態）
（制御装置の構成）
次に、第１の実施形態に係る制御装置３０の構成について図面を参照しながら説明する。図２は、画像形成装置１の制御装置３０のブロック図である。図３は、制御装置３０に入力する検知信号Ｓｉｇ１及び出力信号Ｓｉｇ２の波形を示した図である。
【００２７】
制御装置３０は、図２に示すように、ＣＰＵ１００及び集積回路１０２を備えている。制御装置３０は、センサ３４からの検知信号Ｓｉｇ１のＬｏｗからＨｉｇｈへの立ち上がり（第１のトリガ）ａ１の発生から時間ｔだけ遅延させて、出力信号Ｓｉｇ２のＬｏｗからＨｉｇｈへの立ち上がり（第２のトリガ）ａ２を発生させる。これにより、制御装置３０は、センサ３４が用紙Ｐの先端を検知してから時間ｔが経過した後に、用紙Ｐの先端がタイミングローラ対１９に到達したとみなして、モータ３２によりタイミングローラ対１９を回転させる。また、制御装置３０は、センサ３４からの検知信号Ｓｉｇ１のＨｉｇｈからＬｏｗへの立ち下がり（第１のトリガ）ａ３の発生から時間ｔだけ遅延させて、出力信号Ｓｉｇ２のＨｉｇｈからＬｏｗへの立ち下がり（第２のトリガ）ａ４を発生させる。これにより、制御装置３０は、センサ３４が用紙Ｐの後端を検知してから時間ｔが経過した後に、用紙Ｐの後端がタイミングローラ対１９に到達したとみなして、モータ３２の駆動を停止させる。
【００２８】
集積回路１０２は、例えば、ＡＳＩＣ又はＣＰＵの内部回路により構成され、入力部１０４、出力部１０６、カウンタ１０８及びカウントクロック１１０により構成されている。カウンタ１０８は、０からｎ−１までのカウント値を第１の周期Ｔｃでカウントする。カウントクロック１１０は、カウンタ１０８に対して第１の周期Ｔｃのクロック信号を供給する。
【００２９】
入力部１０４は、図３に示す検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３を検知し、立ち上がりａ１又は立ち下がりａ３を検知した際のカウンタ１０８のカウント値Ｎｉを記憶する。そこで、入力部１０４は、方向判定部１１２、方向検出部１１４及び入力情報レジスタ１１６を有している。図４は、入力情報レジスタ１１６の構成図である。
【００３０】
入力情報レジスタ１１６は、図４に示すように、情報部及びカウント値格納部を有している。入力情報レジスタ１１６は、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３が発生した際のカウンタ１０８のカウント値Ｎｉをカウント値格納部に記憶している。カウント値格納部は、０〜１２７のカウント値Ｎｉをｂ０〜ｂ６の７ｂｉｔのデータとして記憶することができる。また、入力情報レジスタ１１６は、情報部において読み出し済みフラグ及び変化方向を記憶している。読み出し済みフラグは、カウント値格納部に記憶されているカウント値ＮｉがＣＰＵ１００により読み出されたか否かを示している。具体的には、読み出し済みフラグは、カウント値ＮｉがＣＰＵ１００に読み出された場合には、１にセットされ、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３が発生した場合には、０にセットされる。変化方向は、検知信号Ｓｉｇ１に発生した変化が立ち上がりａ１であるのか立ち下がりａ３であるのかを示している。具体的には、変化方向は、立ち上がりａ１である場合には、１にセットされ、立ち下がりａ３である場合には、０にセットされる。
【００３１】
方向判定部１１２は、検知信号Ｓｉｇ１の立ち上がりａ１を検知して１の方向ｂｉｔを入力情報レジスタ１１６に対して出力する。これにより、入力情報レジスタ１１６の情報部の変化方向が１にセットされる。また、方向判定部１１２は、検知信号Ｓｉｇ１の立ち下がりａ３を検知して０の方向ｂｉｔを入力情報レジスタ１１６に対して出力する。これにより、入力情報レジスタ１１６の情報部の変化方向が０にセットされる。
【００３２】
方向検出部１１４は、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３を検知して、カウンタ１０８のカウント値Ｎｉを入力情報レジスタ１１６に取り込ませるための取り込みトリガを入力情報レジスタ１１６に出力する。これにより、入力情報レジスタ１１６のカウント値格納部には、カウンタ１０８のカウント値Ｎｉが記憶される。更に、方向検出部１１４は、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３を検知して、読み出し済みフラグをリセットするためのフラグリセットを入力情報レジスタ１１６に出力する。これにより、入力情報レジスタ１１６の読み出し済みフラグが０にセットされる。
【００３３】
ＣＰＵ１００は、カウンタ１０８の動作周期である第１の周期Ｔｃよりも長い第２の周期Ｔｒを有するステップで動作する制御部である。ＣＰＵ１００は、入力情報レジスタ１１６が記憶しているカウント値Ｎｉに対して、時間ｔに相当するカウンタ１０８のカウント数Ｎｄ（＝ｔ／Ｔｃ）を加算した値Ｎ０を算出する。値Ｎ０は、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過したときのカウンタ１０８のカウント値を示している。ただし、値Ｎ０は、カウンタ１０８がカウントできる最大カウント数Ｎｕ（本実施形態ではｎ）を超える可能性がある。そこで、ＣＰＵ１００は、最大カウント数Ｎｕ（＝ｎ）で値Ｎ０を割った余りＮ１（＝Ｎ０ｍｏｄＮｕ）を算出する。これにより、ＣＰＵ１００は、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過したときのカウンタ１０８のカウント値（余りＮ１）を算出することができる。
【００３４】
ただし、ＣＰＵ１００が余りＮ１を算出しただけでは、カウンタ１０８が何回転した後のカウント値が余りＮ１と一致したときに、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過したか不明である。そこで、ＣＰＵ１００は、時間ｔに相当するカウント数Ｎｄと最大カウント数Ｎｕとの差Ｎｖ（＝Ｎｄ−Ｎｕ）を算出する。そして、ＣＰＵ１００は、差Ｎｖが負である場合には、カウンタ１０８が１回転する前に、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過すると判定する。すなわち、カウンタ１０８のカウント値が１回目に余りＮ１と一致したタイミングが時間ｔが経過したタイミングである。一方、ＣＰＵ１００は、差Ｎｖが正である場合には、カウンタ１０８が１回転以上した後に、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過すると判定する。そこで、ＣＰＵ１００は、前記第２の周期Ｔｒに相当するカウンタ１０８のカウント数Ｎｒで差Ｎｖを割って得られる商の小数点以下を切り上げて得られる値Ｍを算出する。そして、ＣＰＵ１００は、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３が発生してからＭステップだけ経過した後に、余りＮ１を出力部１０６に出力する。
【００３５】
ここで、ＣＰＵ１００がＭステップだけ経過した後に、余りＮ１を出力する理由についてより詳細に説明する。差Ｎｖが正である場合には、カウンタ１０８が１回転以上した後に、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過する。この場合、カウンタ１０８は、余りＮ１と一致するカウント値を複数回カウントする。ただし、カウンタ１０８により複数回カウントされる余りＮ１と一致するカウント値の内、最後にカウントされる余りＮ１と一致するカウント値において、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過している。したがって、ＣＰＵ１００は、最後から２番目にカウントされる余りＮ１と一致するカウント値をカウンタ１０８がカウントしたタイミングよりも後に、余りＮ１を出力部１０６に出力すればよい。
【００３６】
そこで、最後から２番目にカウントされる余りＮ１と一致するカウント値は、立ち上がりａ１又は立ち下がりａ３が発生してから差Ｎｖに相当するカウント数だけ経過したときに、カウンタ１０８によりカウントされる。ＣＰＵ１００は、カウンタ１０８のカウント数Ｎｒに相当する第２の周期Ｔｒの長さを有するステップで動作している。そのため、ＣＰＵ１００は、差Ｎｖに相当するカウント数よりも長い時間だけ待機するためには、差Ｎｖをカウント数Ｎｒで割って得られる商の小数点以下を切り上げて得られる値Ｍを算出し、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３が発生してからＭステップだけ経過した後に、余りＮ１を出力すればよい。
【００３７】
出力部１０６は、ＣＰＵ１００が算出した余りＮ１を記憶しており、余りＮ１とカウンタ１０８のカウント値とが一致したタイミングにおいて、出力信号Ｓｉｇ２に立ち上がりａ２又は立ち下がりａ４を発生させる。そこで、出力部１０６は、出力情報レジスタ１１８、比較器１２０及び出力機能部１２２を有している。ここで、図５は、出力情報レジスタ１１８の構成図である。
【００３８】
出力情報レジスタ１１８は、図５に示すように、情報部及びカウント値格納部を有している。出力情報レジスタ１１８は、ＣＰＵ１００が算出した余りＮ１をカウント値格納部に記憶している。カウント値格納部は、０〜１２７のカウント値Ｎｉをｂ０〜ｂ６の７ｂｉｔのデータとして記憶することができる。また、出力情報レジスタ１１８は、情報部において出力済みフラグを記憶している。出力済みフラグは、出力信号Ｓｉｇ２に立ち上がりａ２又は立ち下がりａ４を発生させたか否かを示している。具体的には、出力済みフラグは、出力信号Ｓｉｇ２に立ち上がりａ２又は立ち下がりａ４を発生させた場合には、１にセットされ、ＣＰＵ１００から余りＮ１が出力されてきた場合には、０にセットされる。
【００３９】
比較器１２０は、出力済みフラグが０であり、かつ、出力情報レジスタ１１８が記憶している余りＮ１とカウンタ１０８のカウント値とが一致したタイミングで、出力トリガを出力機能部１２２に出力する。出力機能部１２２は、比較器１２０から出力トリガが出力されてきた場合には、出力情報レジスタ１１８からの出力情報に基づいて、出力信号Ｓｉｇ２に立ち上がりａ２又は立ち下がりａ４を発生させる。
【００４０】
（制御装置の動作の一例）
次に、第１の実施形態に係る制御装置３０の動作の一例について説明する。表１は、ＣＰＵ１００及びカウンタ１０８の条件を示している。表２は、制御装置３０の動作時の各パラメータを示した表である。
【００４１】
【表１】
0005494063.tif 000002
【００４２】
【表２】
0005494063.tif 000003
【００４３】
表２に示すように、時間ｔは、３３ｍｓである。この場合、時間ｔに相当するカウンタ１０８のカウント数Ｎｄは、３３０である。また、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３を検知した際のカウンタ１０８のカウント値Ｎｉは、８０である。よって、時間ｔが経過したときのカウンタ１０８のカウント値Ｎ０は、４１０である。
【００４４】
しかしながら、カウンタ１０８の最大カウント数Ｎｕが１１０であるので、カウンタ１０８が１回転する間に、時間ｔを計測することができない。そこで、４１０（＝Ｎ０）を１１０（＝Ｎｕ）で割って、余り８０（＝Ｎ１）を算出する。これにより、時間ｔが経過したタイミングにおけるカウンタ１０８のカウント値が８０であることが算出される。
【００４５】
ただし、前記の通り、時間ｔが経過する前に、カウンタ１０８は複数回（３回）回転する。そのため、ＣＰＵ１００が、余り８０を算出した直後に、余り８０を出力部１０６に出力すると、比較器１２０が、カウンタ１０８が１回目に８０をカウントしたタイミングにおいて、時間ｔが経過したと判断してしまう。
【００４６】
そこで、ＣＰＵ１００は、以下に説明する計算を行う。具体的には、３３ｍｓ（＝ｔ）に相当するカウンタ１０８のカウント数Ｎｄは３３０であり、カウンタ１０８の最大カウント数Ｎｕは１１０である。よって、カウント数Ｎｄは、最大カウント数Ｎｕよりも２２０（＝Ｎｖ）だけ大きい。これは、カウンタ１０８が、２２０（＝Ｎｖ）だけカウントしたら、最後から２番目の８０（＝Ｎ１）をカウントすることを意味している。よって、ＣＰＵ１００は、カウンタ１０８が２２０（＝Ｎｖ）だけカウントするのを待ってから、余り８０（＝Ｎ１）を出力部１０６に出力すればよい。
【００４７】
ただし、ＣＰＵ１００は、カウンタ１０８の第１の周期０．１ｍｓ（＝Ｔｃ）とは異なる第２の周期５ｍｓ（＝Ｔｒ）で動作しているので、カウンタ１０８が２２０だけカウントする時間と等しい時間だけ待機することはできない。そこで、カウンタ１０８が２２０だけカウントする時間に相当するＣＰＵ１００のステップ数を計算する。
【００４８】
第２の周期５ｍｓ（＝Ｔｒ）は、カウンタ１０８では、５０（＝Ｎｒ）のカウント数に相当する。２２０（＝Ｎｖ）を５０（＝Ｎｒ）で割った商は、４．４である。すなわち、ＣＰＵ１００は、４．４ステップ待機すればよい。ただし、ＣＰＵ１００は、整数ステップで動作しているので、４．４ステップ待機できない。そこで、４．４の小数点以下を切り上げた値Ｍ（＝５）を算出する。以上より、ＣＰＵ１００は、５ステップ待機した後に、余りＮ１を出力部１０６に出力すればよい。この際、ＣＰＵ１００は、図５の出力済みフラグを０に書き換える。この後、比較器１２０は、カウンタ１０８のカウント値が８０となったタイミングで、出力トリガを出力機能部１２２に出力する。これにより、出力信号Ｓｉｇ２に立ち上がりａ２又は立ち下がりａ４が発生する。
【００４９】
（画像形成装置の動作）
次に、第１の実施形態に係る制御装置３０を備えた画像形成装置１の動作について説明する。以下では、画像形成装置１が用紙Ｐを搬送するための用紙搬送制御について説明する。図６は、用紙搬送制御においてＣＰＵ１００が行う動作を示したフローチャートである。図７は、用紙搬送制御におけるＣＰＵ１００の状態遷移図である。図８は、図７の初期設定処理時にＣＰＵ１００が行う動作を示したフローチャートである。図９は、図７のセンサ入力処理時にＣＰＵ１００が行う動作を示したフローチャートである。図１０は、図７のモータ起動処理時にＣＰＵ１００が行う動作を示したフローチャートである。図１１は、図７のモータ停止処理時にＣＰＵ１００が行う動作を示したフローチャートである。
【００５０】
まず、ＣＰＵ１００は、図６に示すように、１ステップに相当する時間が経過したか否かを判定する（ステップＳ１）。１ステップに相当する時間が経過していない場合には、本処理はステップＳ１に戻る。１ステップに相当する時間が経過している場合には、本処理はステップＳ２に進む。
【００５１】
次に、ＣＰＵ１００は、用紙搬送制御を実行するか否かを判定する（ステップＳ２）。用紙搬送制御を実行する場合には、本処理はステップＳ３に進む。一方、用紙搬送制御を実行しない場合には、本処理はステップＳ４に進む。
【００５２】
用紙搬送制御を実行する場合には、ＣＰＵ１００は、用紙搬送制御シーケンサへ起動要求を行う（ステップＳ３）。この後、本処理はステップＳ５に進む。
【００５３】
用紙搬送制御を実行しない場合には、ＣＰＵ１００は、用紙搬送制御シーケンサへ停止要求を行う（ステップＳ４）。この後、本処理はステップＳ５に進む。
【００５４】
前記ステップＳ５において、ＣＰＵ１００は、用紙搬送制御シーケンサを起動する（ステップＳ５）。この後、本処理はステップＳ１に戻る。
【００５５】
ここで、用紙搬送制御シーケンサについて、図７を参照しながら説明する。まず、ＣＰＵ１００は、図７の待機状態にある。待機状態では、ＣＰＵ１００は、起動要求がされたか否かの判定を繰り返しながら待機している。そして、図６のステップＳ３において、起動要求がされると、ＣＰＵ１００は、初期設定処理へと遷移する。そこで、初期設定処理について図８を参照しながら説明する。
【００５６】
初期設定処理では、ＣＰＵ１００は、カウンタ１０８の第１の周期Ｔｃを設定するために、カウントクロック１１０が生成しているクロック信号の周期を第１の周期Ｔｃに設定する（ステップＳ６）。更に、ＣＰＵ１００は、入力情報レジスタ１１６をクリアする（ステップＳ７）。
【００５７】
ＣＰＵ１００は、ＣＰＵ１００に設定されているモータ３２の駆動のための電流値等のモータ駆動用パラメータを初期化する（ステップＳ８）。以上で、初期設定処理を終了する。
【００５８】
初期設定処理が終了すると、ＣＰＵ１００は、センサ入力処理へと遷移する。そこで、センサ入力処理について図９を参照しながら説明する。センサ入力処理では、検知信号Ｓｉｇ１の立ち上がりａ１の検知を行う。
【００５９】
センサ入力処理では、ＣＰＵ１００は、図７に示すように、用紙搬送制御シーケンサへ停止要求（図６のステップＳ４）をしたか否かの判定を繰り返しながら待機している。ＣＰＵ１００は、用紙搬送制御シーケンサへ停止要求をした場合には、待機状態へと遷移する。
【００６０】
一方、ＣＰＵ１００は、用紙搬送制御シーケンサへ停止要求をしていない場合には、センサ３４の検知信号Ｓｉｇ１の立ち上がりａ１を検知したか否かの判定を行う（ステップＳ９）。ステップＳ９では、ＣＰＵ１００は、センサ３４が用紙Ｐの先端を検知したか否かを判定している。立ち上がりａ１を検知した場合には、本処理はステップＳ１０に進む。立ち上がりａ１を検知しなかった場合には、本処理はステップＳ９に戻る。
【００６１】
立ち上がりａ１を検知した場合、ＣＰＵ１００は、図４の入力情報レジスタ１１６を読み込む（ステップＳ１０）。このとき、ＣＰＵ１００は、読み出し済みフラグを参照する。そして、ＣＰＵ１００は、読み出し済みフラグが１であるか否かを判定することにより、入力情報レジスタ１１６を読み出し済みであるか否かを判定する（ステップＳ１１）。入力情報レジスタ１１６を読み出し済みである場合には、本処理は終了する。入力情報レジスタ１１６を読み出し済みでない場合には、本処理はステップＳ１２に進む。
【００６２】
入力情報レジスタ１１６を読み出し済みでない場合には、ＣＰＵ１００は、入力情報レジスタ１１６のカウント値を取得する（ステップＳ１２）。以上で、センサ入力処理を終了する。この後、ＣＰＵ１００は、モータ起動処理へと遷移する。
【００６３】
次に、モータ起動処理について図１０を参照しながら説明する。ＣＰＵ１００は、値Ｍ及び余りＮ１を算出したか否かの判定を行う（ステップＳ１３）。算出済みの場合には、本処理はステップＳ１５に進む。算出済みでない場合には、本処理はステップＳ１４に進む。
【００６４】
算出済みでない場合には、ＣＰＵ１００は、値Ｍ及び余りＮ１を算出する（ステップＳ１４）。値Ｍ及び余りＮ１の算出については、既に説明を行ったので、詳細な説明を省略する。この後、本処理はステップＳ１５に進む。
【００６５】
前記ステップＳ１５において、ＣＰＵ１００は、値Ｍが０以下であるか否かを判定する（ステップＳ１５）。ステップＳ１５では、値Ｍが０以下であるか否かを判定することにより、ＣＰＵ１００が余りＮ１を出力部１０６に直ちに出力すべきか否かを判定している。値Ｍが０以下ではない場合には、本処理はステップＳ１６に進む。一方、値Ｍが０以下である場合には、本処理はステップＳ１７に進む。
【００６６】
値Ｍが０以下ではない場合には、ＣＰＵ１００は、値Ｍを１つ減算する（ステップＳ１６）。ステップＳ１６では、ＣＰＵ１００は、余りＮ１を出力部１０６に出力することを待機している。この後、本処理は終了する。
【００６７】
値Ｍが０以下である場合には、ＣＰＵ１００は、出力情報レジスタ１１８のカウント値格納部に余りＮ１を書き込むと共に、出力情報レジスタ１１８に起動用パラメータを書き込む（ステップＳ１７）。この後、出力部１０６では、カウンタ１０８のカウント値と出力情報レジスタ１１８に書き込まれている値Ｍとに基づいて、出力信号Ｓｉｇ２の立ち上がりａ２が発生する。すなわち、モータ起動指令が実行される。この後、本処理は終了する。
【００６８】
モータ起動処理において、モータ起動指令が実行されると、ＣＰＵ１００は、センサ入力処理に遷移する。該センサ入力処理では、検知信号Ｓｉｇ１の立ち下がりａ３の検知を行って、用紙Ｐの後端の検知を行う。
【００６９】
センサ入力処理では、ＣＰＵ１００は、図７に示すように、用紙搬送制御シーケンサへ停止要求（図６のステップＳ６）をしたか否かの判定を繰り返しながら待機している。ＣＰＵ１００は、用紙搬送制御シーケンサへ停止要求をした場合には、センサ入力処理を開始する。
【００７０】
まず、ＣＰＵ１００は、図９に示すように、センサ３４の検知信号Ｓｉｇ１の立ち下がりａ３を検知したか否かの判定を行う（ステップＳ９）。ステップＳ９では、ＣＰＵ１００は、センサ３４が用紙Ｐの後端を検知したか否かの判定を行っている。立ち下がりａ３を検知した場合には、本処理はステップＳ１０に進む。立ち下がりａ３を検知しなかった場合には、本処理はステップＳ９に戻る。
【００７１】
立ち下がりａ３を検知した場合、ＣＰＵ１００は、図４の入力情報レジスタ１１６を読み込む（ステップＳ１０）。このとき、ＣＰＵ１００は、読み出し済みフラグを参照する。そして、ＣＰＵ１００は、読み出し済みフラグが１であるか否かを判定することにより、入力情報レジスタ１１６を読み出し済みであるか否かを判定する（ステップＳ１１）。入力情報レジスタ１１６を読み出し済みである場合には、本処理は終了する。入力情報レジスタ１１６を読み出し済みでない場合には、本処理はステップＳ１２に進む。
【００７２】
入力情報レジスタ１１６を読み出し済みでない場合には、ＣＰＵ１００は、入力情報レジスタ１１６のカウント値を取得する（ステップＳ１２）。以上で、センサ入力処理を終了する。この後、ＣＰＵ１００は、モータ停止処理へと遷移する。
【００７３】
次に、モータ停止処理について図１１を参照しながら説明する。ＣＰＵ１００は、値Ｍ及び余りＮ１を算出したか否かの判定を行う（ステップＳ１８）。算出済みの場合には、本処理はステップＳ２０に進む。算出済みでない場合には、本処理はステップＳ１９に進む。
【００７４】
算出済みでない場合には、ＣＰＵ１００は、値Ｍ及び余りＮ１を算出する（ステップＳ１９）。値Ｍ及び余りＮ１の算出については、既に説明を行ったので、詳細な説明を省略する。この後、本処理はステップＳ２０に進む。
【００７５】
前記ステップＳ２０において、ＣＰＵ１００は、値Ｍが０以下であるか否かを判定する（ステップＳ２０）。ステップＳ２０では、値Ｍが０以下であるか否かを判定することにより、ＣＰＵ１００が余りＮ１を出力部１０６に直ちに出力すべきか否かを判定している。値Ｍが０以下ではない場合には、本処理はステップＳ２１に進む。一方、値Ｍが０以下である場合には、本処理はステップＳ２２に進む。
【００７６】
値Ｍが０以下ではない場合には、ＣＰＵ１００は、値Ｍを１つ減算する（ステップＳ２１）。ステップＳ２１では、ＣＰＵ１００は、余りＮ１を出力部１０６に出力することを待機している。この後、本処理は終了する。
【００７７】
値Ｍが０以下である場合には、ＣＰＵ１００は、出力情報レジスタ１１８のカウント値格納部に値Ｍを書き込むと共に、出力情報レジスタ１１８に起動用パラメータを書き込む（ステップＳ２２）。この後、出力部１０６では、カウンタ１０８のカウント値と出力情報レジスタ１１８に書き込まれている値Ｍとに基づいて、出力信号Ｓｉｇ２の立ち下がりａ４が発生させられる。すなわち、モータ停止指令が実行される。この後、本処理は終了する。
【００７８】
モータ停止処理において、モータ停止指令が実行され、かつ、用紙搬送制御シーケンサへの停止要求がされなかった場合には、ＣＰＵ１００は、センサ入力処理へと遷移する。一方、モータ停止処理において、モータ停止指令が実行され、かつ、用紙搬送制御シーケンサへの停止要求がされた場合には、ＣＰＵ１００は、待機状態へと遷移する。以上で、画像形成装置１の動作についての説明を終了する。
【００７９】
（効果）
以上のように構成された画像形成装置１によれば、安価に製造できる。より詳細には、画像形成装置１では、時間ｔの計測は、カウンタ１０８、入力部１０４及び出力部１０６に実行させ、ＣＰＵ１００は、カウント値の読み出し及び書き込みを行って、カウンタ１０８、入力部１０４及び出力部１０６の制御を行っている。カウント値の読み出し及び書き込みの周期は、カウンタ１０８がカウント値をカウントする周期に比べて長くてもよい。よって、ＣＰＵ１００は、第２の周期Ｔｒで動作し、カウンタ１０８は、第２の周期Ｔｒよりも短い第１の周期Ｔｃで動作している。すなわち、画像形成装置１では、相対的に高価な部品であるＣＰＵ１００については、相対的に長い第２の周期Ｔｒで動作し、相対的に安価な部品であるカウンタ１０８については、相対的に短い第１の周期Ｔｃで動作している。これにより、時間ｔを精度よく計測するために高価なＣＰＵ１００を用いる必要がなくなり、画像形成装置１を安価に製造することが可能となる。
【００８０】
また、画像形成装置１によれば、誤動作が発生することを抑制できる。より詳細には、画像形成装置１では、ＣＰＵ１００は、時間ｔを計測する間に、カウンタ１０８が１回転以上する場合には、Ｍステップだけ余りＮ１を出力部１０６に出力することを待機している。ここで、カウンタ１０８が１回転以上する場合には、カウンタ１０８が１回転以上した後に、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過する。この場合、カウンタ１０８は、余りＮ１と一致するカウント値を複数回カウントする。ただし、カウンタ１０８により複数回カウントされる余りＮ１と一致するカウント値の内、最後にカウントされる余りＮ１と一致するカウント値において、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過している。したがって、ＣＰＵ１００は、最後から２番目にカウントされる余りＮ１と一致するカウント値をカウンタ１０８がカウントしたタイミングよりも後に、余りＮ１を出力すればよい。
【００８１】
そこで、最後から２番目にカウントされる余りＮ１と一致するカウント値は、立ち上がりａ１又は立ち下がりａ３が発生してから差Ｎｖ（Ｎｄ−Ｎｕ）に相当するカウント数だけ経過したときに、カウンタ１０８によりカウントされる。ＣＰＵ１００は、カウンタ１０８のカウント数Ｎｒに相当する第２の周期Ｔｒの長さを有するステップで動作している。そのため、ＣＰＵ１００は、差Ｎｖに相当するカウント数よりも長い時間だけ待機するためには、差Ｎｖをカウント数Ｎｒで割って得られる商の小数点以下を切り上げて得られる値Ｍを算出し、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３が発生してからＭステップだけ経過した後に、余りＮ１を出力すればよい。これにより、比較器１２０が正確なタイミングで出力情報レジスタ１１８のカウント値を読み出すことが可能となる。その結果、画像形成装置１において、誤動作が発生することが抑制される。
【００８２】
（第２の実施形態）
（制御装置の構成）
次に、第２の実施形態に係る制御装置３０の構成について説明する。第２の実施形態に係る制御装置３０は、第１の実施形態に係る制御装置３０と同様に、図２に示される。第２の実施形態に係る制御装置３０と第１の実施形態に係る制御装置３０との相違点は、ＣＰＵ１００がＭステップ待機する際の動作である。以下に、相違点について説明する。
【００８３】
第１の実施形態に係る制御装置３０では、ＣＰＵ１００は、一定の第２の周期Ｔｒで動作していた。しかしながら、ＣＰＵ１００では、その動作状況によって、第２の周期Ｔｒが変動することがある。この場合には、立ち上がりａ１又は立ち下がりａ３が発生してからＭステップだけ余りＮ１を出力部１０６に出力することをＣＰＵ１００が待機したとしても、カウンタ１０８が差Ｎｖに相当するカウント数をカウントしていないおそれがある。逆に、カウンタ１０８が時間ｔに相当するカウント数Ｎｄをカウントしてしまっているおそれもある。
【００８４】
そこで、第２の実施形態に係る制御装置３０では、時間ｔに相当するカウンタ１０８のカウント数Ｎｄと最大カウント数Ｎｕ（＝ｎ）との差Ｎｖが正である場合（すなわち、カウンタ１０８が時間ｔの間に１回転以上する場合）には、ＣＰＵ１００は、以下に説明する動作を行う。具体的には、ＣＰＵ１００は、該差Ｎｖから各ステップにおいてカウンタ１０８がカウントしたカウント数Ｎｋを減算していく。そして、ＣＰＵ１００は、差Ｎｖが負になったステップにおいて、余りＮ１を出力部１０６に出力している。以下に、より詳細に説明する。
【００８５】
第２の実施形態に係る制御装置３０において、ＣＰＵ１００が差Ｎｖを算出するまでの動作は、第１の実施形態に係る制御装置３０の動作と同じである。差Ｎｖが負である場合には、カウンタ１０８は、１回転する前に、差Ｎｖに相当するカウント数をカウントする。そこで、ＣＰＵ１００は、余りＮ１を直ちに出力部１０６に出力する。このとき、第２の実施形態に係る制御装置３０においてＣＰＵ１００が行う動作は、第１の実施形態に係る制御装置３０の動作と同じである。よって、これ以上の説明を省略する。
【００８６】
一方、差Ｎｖが正である場合には、カウンタ１０８は、１回転以上してから、差Ｎｖに相当するカウント数をカウントする。そこで、ＣＰＵ１００は、余りＮ１を出力部１０６に出力することを待機する必要がある。
【００８７】
まず、ＣＰＵ１００は、カウンタ１０８の現在のカウント値を値Ｎｊとする。
【００８８】
次に、１ステップ経過後において、ＣＰＵ１００は、前ステップ終了時の値Ｎｊを値Ｎｊ０とし、カウンタ１０８の現在のカウント値を新たな値Ｎｊとする。ＣＰＵ１００は、新たな値Ｎｊを値Ｎｊ１とする。
【００８９】
次に、ＣＰＵ１００は、値Ｎｊ０と値Ｎｊ１とを用いて、本ステップにおいてカウンタ１０８がカウントしたカウント数Ｎｋを算出する。具体的には、ＣＰＵ１００は、値Ｎｊ１と値Ｎｊ０との差を算出し、この差をカウント数Ｎｋとする。ただし、１ステップ経過する間に、カウンタ１０８のカウント値が最大カウント数Ｎｕを超える場合がある。この場合には、値Ｎｊ１と値Ｎｊ０との差が負になる。そこで、値Ｎｊ１と値Ｎｊ０との差が負になっている場合には、ＣＰＵ１００は、値Ｎｊ１と値Ｎｊ０との差に対して最大カウント数Ｎｕを加算して、カウント数Ｎｋ（＝Ｎｊ１−Ｎｊ０＋Ｎｕ）を算出する。
【００９０】
次に、ＣＰＵ１００は、差Ｎｖからカウント数Ｎｋを引くことにより、新たな差Ｎｖを算出する。そして、ＣＰＵ１００は、差Ｎｖが負になったか否かを判定する。差Ｎｖが負になった場合には、ＣＰＵ１００は、差Ｎｖに相当するカウント数以上のカウント数をカウンタ１０８がカウントしたと判定し、余りＮ１を出力部１０６に出力する。一方、差Ｎｖが負になっていない場合には、差Ｎｖが負になるまで、上記動作を繰り返す。
【００９１】
（制御装置の動作の一例）
次に、第２の実施形態に係る制御装置３０の動作の一例について説明する。ＣＰＵ１００及びカウンタ１０８の条件は、表１に示される。表３は、制御装置３０の動作時の各パラメータを示した表である。表４は、各ステップにおける各パラメータを示した表である。
【００９２】
【表３】
0005494063.tif 000004
【００９３】
【表４】
0005494063.tif 000005
【００９４】
表３に示すように、時間ｔは、５３ｍｓである。この場合、時間ｔに相当するカウンタ１０８のカウント数Ｎｄは、５３０である。また、検知信号Ｓｉｇ１の立ち上がりａ１又は立ち下がりａ３を検知した際のカウンタ１０８のカウント値Ｎｉは、３０である。よって、時間ｔが経過したときのカウンタ１０８のカウント値Ｎ０は、５６０である。
【００９５】
しかしながら、カウンタ１０８の最大カウント数Ｎｕが１１０であるので、カウンタ１０８が１回転する間に、時間ｔを計測することができない。そこで、５６０（＝Ｎ０）を１１０（＝Ｎｕ）で割って、余り１０（＝Ｎ１）を算出する。これにより、時間ｔが経過したタイミングにおけるカウンタ１０８のカウント値が１０であることが算出される。
【００９６】
ただし、前記の通り、時間ｔが経過する前に、カウンタ１０８は複数回（５回）回転する。そのため、ＣＰＵ１００が、余り１０を算出した直後に、余り１０を出力部１０６に出力すると、比較器１２０が、カウンタ１０８が１回目に１０をカウントしたタイミングにおいて、時間ｔが経過したと判断してしまう。
【００９７】
そこで、ＣＰＵ１００は、以下に説明する計算を行う。具体的には、５３ｍｓ（＝ｔ）に相当するカウンタ１０８のカウント数Ｎｄは５３０であり、カウンタ１０８の最大カウント数Ｎｕは１１０である。よって、カウント数Ｎｄは、最大カウント数Ｎｕよりも４２０（＝Ｎｖ）だけ大きい。これは、カウンタ１０８が、４２０（＝Ｎｖ）だけカウントしたら、最後から２番目の１０（＝Ｎ１）をカウントすることを意味している。よって、ＣＰＵ１００は、カウンタ１０８が４２０（＝Ｎｖ）だけカウントするのを待ってから、余り１０（＝Ｎ１）を出力部１０６に出力すればよい。
【００９８】
具体的には、ＣＰＵ１００は、本ステップの終了時のカウンタ１０８のカウント値Ｎｊ（Ｎｊ１）とひとつ前のステップの終了時のカウンタ１０８のカウント値Ｎｊ（Ｎｊ０）との差を算出することにより、本ステップにおいて要したカウンタ１０８のカウント数Ｎｋを算出する。例えば、表４のステップ２を例にとって説明する。ステップ２の終了時のカウンタ１０８のカウント値Ｎｊ（Ｎｊ１）は、８０である。また、ステップ１の終了時のカウンタ１０８のカウント値Ｎｊ（Ｎｊ０）は、６０である。これにより、ステップ２において要したカウンタ１０８のカウント数Ｎｋは、２０であることが分かる。
【００９９】
次に、ＣＰＵ１００は、差Ｎｖから算出したカウント数Ｎｋを引いて、新たな差Ｎｖを得る。例えば、ステップ２では、ステップ１の終了時におけるカウント数Ｎｋは、３９０である。よって、ステップ２の終了時におけるカウント数Ｎｋは、３７０（３９０−２０）となる。
【０１００】
ＣＰＵ１００は、差Ｎｖが負になるまで、以上のような動作を繰り返す。そして、差Ｎｖが負になったら、ＣＰＵ１００は、余りＮ１を出力部１０６に出力する。
【０１０１】
（画像形成装置の動作）
次に、第２の実施形態に係る制御装置３０を備えた画像形成装置１の動作について説明する。以下では、画像形成装置１が用紙Ｐを搬送するための用紙搬送制御について説明する。
【０１０２】
なお、第２の実施形態に係る制御装置３０を備えた画像形成装置１の動作と第２の実施形態に係る制御装置３０を備えた画像形成装置１の動作との相違点は、モータ起動処理及びモータ停止処理のみである。よって、以下では、モータ起動処理及びモータ停止処理のみを説明する。図１２は、図７のモータ起動処理時にＣＰＵ１００が行う動作を示したフローチャートである。図１３は、図７のモータ停止処理時にＣＰＵ１００が行う動作を示したフローチャートである。
【０１０３】
まず、モータ起動処理について説明する。ＣＰＵ１００は、値Ｍ及び余りＮ１を算出したか否かの判定を行う（ステップＳ３１）。算出済みでない場合には、本処理はステップＳ３２に進む。算出済みの場合には、本処理はステップＳ３６に進む。
【０１０４】
算出済みでない場合には、ＣＰＵ１００は、差Ｎｖ及び余りＮ１を算出する（ステップＳ３２）。差Ｎｖ及び余りＮ１の算出については、既に説明を行ったので、詳細な説明を省略する。
【０１０５】
次に、ＣＰＵ１００は、差Ｎｖが０より小さいか否かを判定する（ステップＳ３３）。ステップＳ３３では、差Ｎｖが０より小さいか否かを判定することにより、ＣＰＵ１００が余りＮ１を出力部１０６に直ちに出力すべきか否かを判定している。差Ｎｖが０より小さくない場合には、本処理はステップＳ３４に進む。差Ｎｖが０より小さい場合には、本処理はステップＳ３５に進む。
【０１０６】
差Ｎｖが０より小さくない場合には、ＣＰＵ１００は、立ち上がりａ１を検知した際のカウンタ１０８のカウント値Ｎｉを値Ｎｊに設定する（ステップＳ３４）。この後、本処理は終了する。
【０１０７】
ステップＳ３１において算出済みでない場合、ＣＰＵ１００は、前回のステップにおける値Ｎｊを値Ｎｊ０に設定する（ステップＳ３６）。更に、ＣＰＵ１００は、カウンタ１０８の現在のカウント値を値Ｎｊ（Ｎｊ１）に設定する（ステップＳ３７）。
【０１０８】
次に、ＣＰＵ１００は、新たな差Ｎｖを算出する（ステップＳ３８）。具体的には、ＣＰＵ１００は、値Ｎｊ１から値Ｎｊ０を引き算して、ステップにおいて要したカウンタ１０８のカウント数Ｎｋを算出する。そして、ＣＰＵ１００は、差Ｎｖからカウント数Ｎｋを引き算して、新たな差Ｎｖを算出する。
【０１０９】
次に、ＣＰＵ１００は、新たな差Ｎｖが負であるか否かを判定する（ステップＳ３９）。差Ｎｖが負でない場合には、本処理は終了する。差Ｎｖが負である場合には、本処理はステップＳ３５に進む。
【０１１０】
前記ステップＳ３５において、ＣＰＵ１００は、出力情報レジスタ１１８に余りＮ１及び起動用パラメータを書き込む。出力部１０６では、カウンタ１０８のカウント値と出力情報レジスタ１１８に書き込まれている余りＮ１とに基づいて、出力信号Ｓｉｇ２の立ち上がりａ２が発生させられる。すなわち、モータ起動指令が実行される。この後、本処理は終了する。
【０１１１】
次に、モータ停止処理について説明する。ＣＰＵ１００は、値Ｍ及び余りＮ１を算出したか否かの判定を行う（ステップＳ４１）。算出済みでない場合には、本処理はステップＳ４２に進む。算出済みの場合には、本処理はステップＳ４６に進む。
【０１１２】
算出済みでない場合には、ＣＰＵ１００は、差Ｎｖ及び余りＮ１を算出する（ステップＳ４２）。差Ｎｖ及び余りＮ１の算出については、既に説明を行ったので、詳細な説明を省略する。
【０１１３】
次に、ＣＰＵ１００は、差Ｎｖが０より小さいか否かを判定する（ステップＳ４３）。ステップＳ４３では、差Ｎｖが０より小さいか否かを判定することにより、ＣＰＵ１００が余りＮ１を出力部１０６に直ちに出力すべきか否かを判定している。差Ｎｖが０より小さくない場合には、本処理はステップＳ４４に進む。差Ｎｖが０より小さい場合には、本処理はステップＳ４５に進む。
【０１１４】
差Ｎｖが０より小さくない場合には、ＣＰＵ１００は、立ち下がりａ３を検知した際のカウンタ１０８のカウント値Ｎｉを値Ｎｊに設定する（ステップＳ４４）。この後、本処理は終了する。
【０１１５】
ステップＳ４１において算出済みでない場合、ＣＰＵ１００は、前回のステップにおける値Ｎｊを値Ｎｊ０に設定する（ステップＳ４６）。更に、ＣＰＵ１００は、カウンタ１０８の現在のカウント値を値Ｎｊ（Ｎｊ１）に設定する（ステップＳ４７）。
【０１１６】
次に、ＣＰＵ１００は、新たな差Ｎｖを算出する（ステップＳ４８）。具体的には、ＣＰＵ１００は、値Ｎｊ１から値Ｎｊ０を引き算して、ステップにおいて要したカウンタ１０８のカウント数Ｎｋを算出する。そして、ＣＰＵ１００は、差Ｎｖからカウント数Ｎｋを引き算して、新たな差Ｎｖを算出する。
【０１１７】
次に、ＣＰＵ１００は、新たな差Ｎｖが負であるか否かを判定する（ステップＳ４９）。差Ｎｖが負でない場合には、本処理は終了する。差Ｎｖが負である場合には、本処理はステップＳ４５に進む。
【０１１８】
前記ステップＳ４５において、ＣＰＵ１００は、出力情報レジスタ１１８に余りＮ１及び起動用パラメータを書き込む。出力部１０６では、カウンタ１０８のカウント値と出力情報レジスタ１１８に書き込まれている余りＮ１とに基づいて、出力信号Ｓｉｇ２の立ち下がりａ４が発生させられる。すなわち、モータ停止指令が実行される。この後、本処理は終了する。
【０１１９】
（効果）
第２の実施形態に係る制御装置３０を備えた画像形成装置１によれば、第１の実施形態に係る制御装置３０を備えた画像形成装置１と同様に、安価に製造できる。
【０１２０】
また、画像形成装置１によれば、ＣＰＵ１００の第２の周期Ｔｒが一定ではない場合においても、誤動作が発生することを抑制できる。より詳細には、画像形成装置１では、ＣＰＵ１００は、時間ｔを計測する間に、カウンタ１０８が１回転以上する場合には、Ｍステップだけ余りＮ１を出力部１０６に出力することを待機している。ここで、カウンタ１０８が１回転以上する場合には、カウンタ１０８が１回転以上した後に、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過する。この場合、カウンタ１０８は、余りＮ１と一致するカウント値を複数回カウントする。ただし、カウンタ１０８により複数回カウントされる余りＮ１と一致するカウント値の内、最後にカウントされる余りＮ１と一致するカウント値において、立ち上がりａ１又は立ち下がりａ３が発生してから時間ｔが経過している。したがって、ＣＰＵ１００は、最後から２番目にカウントされる余りＮ１と一致するカウント値をカウンタ１０８がカウントしたタイミングよりも後に、余りＮ１を出力すればよい。
【０１２１】
そこで、最後から２番目にカウントされる余りＮ１と一致するカウント値は、立ち上がりａ１又は立ち下がりａ３が発生してから差Ｎｖ（Ｎｄ−Ｎｕ）に相当するカウント数だけ経過したときに、カウンタ１０８によりカウントされる。ＣＰＵ１００は、各ステップに要したカウント数Ｎｋを算出し、差Ｎｖからカウント数Ｎｋを減算していく。そして、ＣＰＵ１００は、差Ｎｖが負になった時点で、最後から２番目にカウントされる余りＮ１と一致するカウント値がカウンタ１０８によりカウントされたと判定する。応じて、ＣＰＵ１００は、余りＮ１を出力部１０６に出力する。これにより、比較器１２０が正確なタイミングで出力情報レジスタ１１８のカウント値を読み出すことが可能となる。その結果、画像形成装置１において、誤動作が発生することが抑制される。
【０１２２】
（変形例）
以下に、第１の変形例に係る入力部について図面を参照しながら説明する。図１４は、第１の変形例に係る入力部１０４ａの構成図である。
【０１２３】
入力部１０４ａは、検知信号Ｓｉｇ１の立ち上がりａ１及び立ち下がりａ３が発生したタイミングのカウンタ１０８のカウント値を複数記憶することができる。具体的には、入力部１０４ａは、方向判定部１１２、方向検出部１１４、セレクタ１１５及び入力情報レジスタ１１６ａ，１１６ｂを有している。入力部１０４ａの方向判定部１１２及び方向検出部１１４は、入力部１０４の方向判定部１１２及び方向検出部１１４と同じであるので、説明を省略する。
【０１２４】
セレクタ１１５は、方向判定部１１２から出力されてくる方向ｂｉｔに基づいて、方向検出部１１４を入力情報レジスタ１１６ａ又は入力情報レジスタ１１６ｂのいずれかに接続する。具体的には、検知信号Ｓｉｇ１の立ち上がりａ１を検知したことを意味する１の方向ｂｉｔが方向判定部１１２から出力されてきた場合には、セレクタ１１５は、方向検出部１１４と入力情報レジスタ１１６ａとを接続する。一方、検知信号Ｓｉｇ１の立ち下がりａ３を検知したことを意味する０の方向ｂｉｔが方向判定部１１２から出力されてきた場合には、セレクタ１１５は、方向検出部１１４と入力情報レジスタ１１６ｂとを接続する。これにより、入力情報レジスタ１１６ａは、検知信号Ｓｉｇ１の立ち上がりａ１が発生したタイミングのカウンタ１０８のカウント値を記憶するようになり、入力情報レジスタ１１６ｂは、検知信号Ｓｉｇ１の立ち下がりａ３が発生したタイミングのカウンタ１０８のカウント値を記憶するようになる。
【０１２５】
ここで、図２に示す入力部１０４では、検知信号Ｓｉｇ１の立ち上がりａ１が発生するタイミングと検知信号Ｓｉｇ１の立ち下がりａ３が発生するタイミングとがＣＰＵ１００の第１の周期Ｔｃよりも短い場合には、以下に説明する問題が発生する。具体的には、入力部１０４では、上記のような場合には、検知信号Ｓｉｇ１の立ち上がりａ１が発生するタイミングのカウンタ１０８のカウント値がＣＰＵ１００により読み出される前に、検知信号Ｓｉｇ１の立ち下がりａ３が発生してしまう。そのため、入力情報レジスタ１１６には、検知信号Ｓｉｇ１の立ち上がりａ１が発生するタイミングのカウンタ１０８のカウント値が、検知信号Ｓｉｇ１の立ち下がりａ３が発生するタイミングのカウンタ１０８のカウント値によって上書きされてしまう。
【０１２６】
一方、図１４に示す入力部１０４ａでは、入力情報レジスタ１１６ａが検知信号Ｓｉｇ１の立ち上がりａ１が発生するタイミングのカウンタ１０８のカウント値を記憶し、入力情報レジスタ１１６ｂが検知信号Ｓｉｇ１の立ち下がりａ３が発生するタイミングのカウンタ１０８のカウント値を記憶している。よって、入力部１０４ａでは、入力部１０４において問題となっていた上書きが発生しない。
【０１２７】
次に、第２の変形例に係る入力部について図面を参照しながら説明する。図１５は、第２の変形例に係る入力部１０４ｂの構成図である。
【０１２８】
入力部１０４ｂは、検知信号Ｓｉｇ１の立ち上がりａ１及び立ち下がりａ３が発生したタイミングのカウンタ１０８のカウント値を複数記憶することができる。具体的には、入力部１０４ａは、方向判定部１１２、方向検出部１１４、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）１１６ｃ及びＦＩＦＯステータス１１７ａを有している。入力部１０４ｂの方向判定部１１２及び方向検出部１１４は、入力部１０４の方向判定部１１２及び方向検出部１１４と同じであるので、説明を省略する。
【０１２９】
ＦＩＦＯ１１６ｃは、複数のカウント値を記憶することができる。より詳細には、ＦＩＦＯ１１６ｃは、複数のカウント値を記憶しており、新たなカウント値が入力してきた場合には、最も最初に記憶したカウント値を出力する。なお、ＦＩＦＯ１１６ｃ内のカウント値がＣＰＵ１００により読み出されたか否かは、ＦＩＦＯステータス１１７ａにより確認される。
【０１３０】
次に、第１の変形例に係る出力部について図面を参照しながら説明する。図１６は、第１の変形例に係る出力部１０６ａの構成図である。出力部１０６ａは、入力部１０４ｂと組み合わされて用いられる。
【０１３１】
出力部１０６ａは、ＦＩＦＯステータス１１７ｂ、出力情報レジスタ１１８、ＦＩＦＯ１１８ｃ、読み出し制御器１１９、比較器１２０及び出力機能部１２２を有している。出力部１０６ａの出力情報レジスタ１１８、比較器１２０及び出力機能部１２２は、出力部１０６の出力情報レジスタ１１８、比較器１２０及び出力機能部１２２と同じであるので、説明を省略する。
【０１３２】
ＦＩＦＯ１１８ｃは、複数のカウント値を記憶することができる。より詳細には、ＦＩＦＯ１１８ｃは、複数のカウント値を記憶しており、新たなカウント値がＣＰＵ１００から出力されてきた場合には、最も最初に記憶したカウント値を出力情報レジスタ１１８に出力する。
【０１３３】
以上のような出力部１０６ａでは、出力情報レジスタ１１８が記憶しているカウント値とカウンタ１０８のカウント値とが一致して出力トリガが発生すると、出力情報レジスタ１１８の出力内容が出力機能部１２２に書き込まれると同時に、読み出し制御器１１９は、出力トリガをうけてＦＩＦＯステータス１１７ｂを確認し、ＦＩＦＯ１１８ｃが空でなければ、次のデータを読み出して出力情報レジスタ１１８に転送する。
【０１３４】
なお、制御装置３０において、ＣＰＵ１００の第２の周期Ｔｒは、検知信号Ｓｉｇ１の立ち上がりａ１の発生と出力信号Ｓｉｇ２の立ち上がりａ２の発生との間の時間ｔよりも短い必要がある。ＣＰＵ１００は、第２の周期Ｔｒよりも短い時間ｔでは動作できないためである。
【０１３５】
また、制御装置３０において、ＣＰＵ１００の第２の周期Ｔｒは、カウンタ１０８が１回転するのに必要な時間Ｔｕの半分以下である必要がある。これは、出力情報レジスタ１１８に書き込む瞬間のカウンタ１０８のカウント値と出力情報レジスタ１１８から出力されるカウント値とが同一になることがあるためのである。この場合には、書き込むタイミングが少しでもずれると正常なタイミングで出力信号Ｓｉｇ２の立ち上がりａ２及び立ち下がりａ４を発生させることができない。
【０１３６】
なお、センサ３４は、用紙Ｐが搬送経路Ｒの所定位置に到達したことを検知して、検知信号Ｓｉｇ１に立ち上がりａ１を発生させ、ＣＰＵ１００は、立ち上がりａ１が発生した際のカウンタ１０８のカウント値及びカウンタ１０８の現在のカウント値に基づいて、搬送経路Ｒにおける用紙Ｐの位置を認識してもよい。
【産業上の利用可能性】
【０１３７】
本発明は、制御装置及び画像形成装置に有用であり、特に、安価に製造できると共に、誤動作が発生することを抑制できる点において優れている。
【符号の説明】
【０１３８】
１ 画像形成装置
１９  タイミングローラ対
３０  制御装置
３２  モータ
３４  センサ
１００  ＣＰＵ
１０２  集積回路
１０４，１０４ａ，１０４ｂ  入力部
１０６，１０６ａ  出力部
１０８  カウンタ
１１２  方向判定部
１１４  方向検出部
１１５  セレクタ
１１６，１１６ａ，１１６ｂ  入力情報レジスタ
１１６ｃ，１１８ｃ  ＦＩＦＯ
１１７ａ，１１７ｂ  ＦＩＦＯステータス
１１８  出力情報レジスタ
１１９  読み出し制御器
１２０  比較器
１２２  出力機能部
【図１】
0005494063.tif 000006
【図２】
0005494063.tif 000007
【図３】
0005494063.tif 000008
【図４】
0005494063.tif 000009
【図５】
0005494063.tif 000010
【図６】
0005494063.tif 000011
【図７】
0005494063.tif 000012
【図８】
0005494063.tif 000013
【図９】
0005494063.tif 000014
【図１０】
0005494063.tif 000015
【図１１】
0005494063.tif 000016
【図１２】
0005494063.tif 000017
【図１３】
0005494063.tif 000018
【図１４】
0005494063.tif 000019
【図１５】
0005494063.tif 000020
【図１６】
0005494063.tif 000021