(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-18
(45)【発行日】2024-10-28
(54)【発明の名称】パルス信号生成装置
(51)【国際特許分類】
B41J 2/47 20060101AFI20241021BHJP
G03G 15/04 20060101ALI20241021BHJP
H04N 1/113 20060101ALI20241021BHJP
【FI】
B41J2/47 101M
G03G15/04
H04N1/113
(21)【出願番号】P 2020189894
(22)【出願日】2020-11-13
【審査請求日】2023-11-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】武田 庄司
【審査官】大浜 登世子
(56)【参考文献】
【文献】特開2020-116751(JP,A)
【文献】特開2018-069682(JP,A)
【文献】特開2020-131575(JP,A)
【文献】米国特許出願公開第2008/0174794(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 2/47
G03G 15/04
H04N 1/113
(57)【特許請求の範囲】
【請求項1】
パルス信号を生成するパルス信号生成装置であって、
基準クロックを生成するクロック信号生成手段と、
前記基準クロックをN逓倍した逓倍クロックを生成する逓倍クロック生成手段と、
前記基準クロック
に基づいてカウント値を変化させるカウンタと、
前記パルス信号のローレベルを示す第1信号値と前記パルス信号のハイレベルを示す第2信号値との少なくとも一方を含むNビットのビットパターンを、前記基準クロックの1周期ごとに生成する、パターン生成手段と、
前記ビットパターンを前記逓倍クロックに応じて出力してパルス信号を出力する変換手段と、
1画素の期間の開始から終了までの長さを示す周期比較値と、前記1画素の期間の開始から当該1画素に対応するパルス信号の立ち上がりまでの長さを示す立上り比較値と、前記1画素の期間の開始から当該1画素に対応するパルス信号の立ち下がりまでの長さを示す立下り比較値とを、当該1画素の濃度と画素倍率に基づいて画素毎に設定する設定手段と、
前記カウンタの前記カウント値と、前記周期比較値、前記立上り比較値、及び前記立下り比較値のそれぞれとを比較することで、前記基準クロックの1周期における前記パルス信号の立ち上がりの有無、及び立ち下がりの有無を、前記基準クロックの1周期ごとに判断する比較判断手段と、を有し、
前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりの少なくとも一方がある場合には、前記パターン生成手段は、前記基準クロックの1周期における前記パルス信号の立ち上がり、及び前記立ち下がりのタイミングに応じて、前記第1信号値のビットと前記第2信号値のビットとの両方を含むNビットのビットパターンを生成し、
前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりのいずれもない場合には、前記パターン生成手段は、前記基準クロックの前の周期の最後に出力された信号値に応じて、前記第1信号値のビット、または前記第2信号値のビットのいずれか一方のみを含むNビットのビットパターンを生成する、
ことを特徴とするパルス信号生成装置。
【請求項2】
前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりの両方がある場合であって、前記パルス信号の立ち上がりのタイミングのほうが早い場合には、前記パターン生成手段は、前記第1信号値のビット、前記第2信号値のビット、前記第1信号値のビットの順に並ぶNビットのビットパターンを生成し、
前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりの両方がある場合であって、前記パルス信号の立ち下がりのタイミングのほうが早い場合には、前記パターン生成手段は、前記第2信号値のビット、前記第1信号値のビット、前記第2信号値のビットの順に並ぶNビットのビットパターンを生成する、
ことを特徴とする請求項1に記載のパルス信号生成装置。
【請求項3】
前記周期比較値、前記立上り比較値、及び前記立下り比較値のそれぞれは、前記逓倍クロックの周期を基準とした長さの情報として設定され、
前記カウンタは、前記基準クロックに基づいて前記カウント値をNずつ変化させる、
ことを特徴とする請求項1に記載のパルス信号生成装置。
【請求項4】
前記比較判断手段は、前記カウンタの前記カウント値と、前記周期比較値、前記立上り比較値、及び前記立下り比較値のそれぞれとの差分を演算し、
前記比較判断手段は、前記差分が0以上かつN未満の範囲に含まれているか否かによって、前記基準クロックの1周期における前記パルス信号の立ち上がりの有無、及び立ち下がりの有無を判断する、
ことを特徴とする請求項3に記載のパルス信号生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複写機やプリンタなどの電子写真方式の画像形成装置に備えられる光走査装置のレーザー駆動用のパルス信号の生成に関する。
【背景技術】
【0002】
電子写真方式の画像形成装置は感光体を露光して静電潜像を形成するための光走査装置トを有している。光走査装置は、画像データに基づいてレーザー光を出射し、そのレーザー光を回転多面鏡で反射し、走査レンズを通過させることによって感光体を露光して感光体に静電潜像を形成する。走査レンズはfθ特性を有するレンズである。fθ特性とは、回転多面鏡が一定の角速度で回転しているときにレーザー光のスポットが感光体の表面上を一定の速度で移動するようにレーザー光を感光体の表面に結像させる光学的特性である。このようにfθ特性を有する走査レンズを用いることにより、主走査方向における画素あたりの露光長が一定の長さに維持される。しかしながら、光学的特性のバラツキや誤差によりレーザービームの走査速度を一定にすることは事実上不可能である。そのため、各画素の主走査バラツキを抑制するようにレーザー駆動信号の周期を制御することで、色ずれや濃度ムラ等、画質の劣化を抑制している。レーザー駆動信号は通常PWM信号(Pulse width Modulated 信号、または単純にパルス信号)で駆動されることが多く、PWM周期の調整で画素サイズ調整が可能で、パルスのON幅(あるいはOFF幅)を調整することによって画素濃度の制御を可能としている。そのため、高画質の画像を形成するためにはより高精度にパルス幅が調整されたPWM信号を生成することが必要とされている。
【0003】
従来は特許文献1で、画素濃度値からPWM信号のビットパターンデータへLUT(LookUpTable)を用いて変換して、ビットパターンをパラシリ変換することでPWM信号を生成することが提案されている。この文献には記載されていないが、レーザー走査位置に対応して1画素の画素サイズ(PWMパターンのビット数)を切り替えて走査時間を変えることで、画像倍率を制御することが可能である。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画像倍率を制御する場合、PWMパターンデータのビット数が画素毎に変動することとなり、パラシリ変換回路で変換するパラレルビット数と一致しなくなっている。そのためLUTとパラシリ変換回路の間に一時的な記憶回路(FIFO)を配置し、PWMビットパターンをパラシリ変換回路のパラレル入力ビット幅に切り取って出力するようになっている。
図1に従来の構成例を示す。画像データ101は画素毎に入力される画素濃度値で、例えば0から15の16段階の濃度を持っている。倍率103は画像データ101にレーザー走査の主走査位置に対応する倍率データをILUT102に出力する。ILUT102は画像データ101と倍率103からレーザー駆動用PWM信号のビットパターンに変換する回路である。
図2にPWMビットパターンの例を示す。201はPWM周期31で画像濃度が0~15の場合、202はPWM周期39で画像濃度が0~15の場合、203はPWM周期34で画像濃度が0~15の場合である。ILUT102は画素濃度と倍率に応じてビット長の異なるデータをFIFO104に出力する。FIFO104は
図2のようなPWMビットパターンを入力し、一時的に記憶する。そして、パラシリ変換105に固定のビット幅(24ビット)で絶え間なく(毎クロック)出力する。
図3にFIFO104の構成を示す。301、302は一時記憶部でそれぞれ24ビットで構成される。実際には同様のブロックが11ブロックで合計24×11=264ビットが一時記憶できる。PWMパターン303は前述のILUT102からの入力データで画素ごとにビット数が変動する。そして一時記憶部301、302の各ビットでPWMパターン303の1ビットを選択する。同時に一番最初記憶されたデータからパラシリ変換105へ24ビット単位で毎クロック出力される。同時に一時記憶部301は位置記憶部302へ24ビット単位のシフトを行う。そして、一時記憶部301、302が空いて、次のPWMパターン数の空きができたら、前画素のPWMパターンの最終ビット位置+1の場所から書込む。
【0006】
具体的には1画素目306がPWMパターン303に入力される時、セレクタ304の下方2個とセレクタ305以下の24個のセレクタが、それぞれPMWパターン303のビット26~0をそれぞれでセレクトすることにより一時記憶部301の下方の2個と302の24個にPWMパターン306が入る。
【0007】
次のタイミングで一時記憶部302の24個のデータはパラシリ変換部105に出力される。同時に、セレクタ305の下方2個が一時記憶部301の下方2個(1画素目306のビット24と25)をセレクトし、残りのセレクタ305(24-2=)22個とセレクタ304の下方(30-22=)8個は2画素目のビット29~0をセレクトすることにより一時記憶部301の下方8個と一時記憶部302の24個に、PWMパターン306のビット24、25とPWMパターン307が入る。
【0008】
更に次のタイミングで一時記憶部302の24個のデータはパラシリ変換部105に出力され、同時に次のPWMパターンが一時記憶部301、302に入る。
【0009】
このようにPWMパターンのFIFO動作を行っている。このため一時記憶部301、302が必要であり、またすべてのセレクト値が異なるセレクタが各記憶部に必要となり、制御回路複雑化となっている。
【課題を解決するための手段】
【0010】
本発明の一側面に係るパルス信号生成装置は、パルス信号を生成するパルス信号生成装置であって、基準クロックを生成するクロック信号生成手段と、前記基準クロックをN逓倍した逓倍クロックを生成する逓倍クロック生成手段と、前記基準クロックに基づいてカウント値を変化させるカウンタと、前記パルス信号のローレベルを示す第1信号値と前記パルス信号のハイレベルを示す第2信号値との少なくとも一方を含むNビットのビットパターンを、前記基準クロックの1周期ごとに生成する、パターン生成手段と、前記ビットパターンを前記逓倍クロックに応じて出力してパルス信号を出力する変換手段と、1画素の期間の開始から終了までの長さを示す周期比較値と、前記1画素の期間の開始から当該1画素に対応するパルス信号の立ち上がりまでの長さを示す立上り比較値と、前記1画素の期間の開始から当該1画素に対応するパルス信号の立ち下がりまでの長さを示す立下り比較値とを、当該1画素の濃度と画素倍率に基づいて画素毎に設定する設定手段と、前記カウンタの前記カウント値と、前記周期比較値、前記立上り比較値、及び前記立下り比較値のそれぞれとを比較することで、前記基準クロックの1周期における前記パルス信号の立ち上がりの有無、及び立ち下がりの有無を、前記基準クロックの1周期ごとに判断する比較判断手段と、を有する。前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりの少なくとも一方がある場合には、前記パターン生成手段は、前記基準クロックの1周期における前記パルス信号の立ち上がり、及び前記立ち下がりのタイミングに応じて、前記第1信号値のビットと前記第2信号値のビットとの両方を含むNビットのビットパターンを生成し、前記比較判断手段による判断の結果、前記基準クロックの1周期の間に、前記パルス信号の立ち上がり、及び前記立ち下がりのいずれもない場合には、前記パターン生成手段は、前記基準クロックの前の周期の最後に出力された信号値に応じて、前記第1信号値のビット、または前記第2信号値のビットのいずれか一方のみを含むNビットのビットパターンを生成する。
【発明の効果】
【0011】
パルス信号生成装置の回路規模を小さく、簡単化することが可能となる。
【図面の簡単な説明】
【0012】
【
図7】実施例1の構成によって生成されるPWM信号の波形例
【発明を実施するための形態】
【0013】
〔実施例1〕
以下、本発明を実施するための形態について図面を用いて説明する。
【0014】
(画像形成装置)
図4は、本発明を適用した画像形成装置の一例で、複数色のトナーを用いて画像形成するデジタルフルカラープリンター(カラー画像形成装置)の概略断面図である。
図4を用いて本実施例の画像形成装置400について説明する。画像形成装置400には色別に画像を形成する4つの画像形成部401Y、401M、401C、401Kが備えられている。Y、M、C、Kは、それぞれイエロー、マゼンタ、シアン、ブラックを表している。
【0015】
画像形成部はそれぞれ、イエロー、マゼンタ、シアン、ブラックのトナーを用いて画像形成を行う。画像形成部には感光体であるところの感光ドラム402Y、402M、402C、402Kが備えられている。各感光ドラムの周りには、帯電装置403Y、403M、403C、403K、光走査装置404Y、404M、404C、404K、現像装置405Y、405M、405C、405Kがそれぞれ設けられている。また、感光ドラムの下方には無端ベルト状の中間転写ベルト407が配置されている。中間転写ベルト407は、駆動ローラ408と従動ローラ409及び410に張架され、画像形成中は図中の矢印B方向に回転する。また、中間転写ベルト407(中間転写体)を介して、感光ドラムに対向する位置には一次転写装置411Y、411M、411C、411Kが設けられている。また、中間転写ベルト407上のトナー像を定着するための定着装置413を備える。
【0016】
ここでかかる構成を有する画像形成装置400の帯電工程から現像工程までの画像形成プロセスを説明する。各画像形成部における当該画像形成プロセスは同一であるため、画像形成部401Yを例にして説明し、画像形成部401M、401C、401Kにおける画像形成プロセスについては説明を省略する。まず画像形成部401Yの帯電装置403Yは回転駆動される感光ドラム402Yを帯電する。帯電された感光ドラム402Y(像担持体)は、光走査装置404Yから出射されるレーザー光によって露光される。これによって、回転する感光体上に静電潜像が形成される。その後、該静電潜像は現像装置405Yによってイエローのトナー像として現像される。
【0017】
以下、転写工程以降の画像形成プロセスについて説明する。一次転写装置411Y、411M、411C、411Kが転写ベルトに転写バイアスを印加することによって各画像形成部の感光ドラム402Y、402M、402C、402K上に形成されたイエロー、マゼンタ、シアン、ブラックのトナー像はそれぞれ中間転写ベルト407に転写される。これによって中間転写ベルト407上で各色のトナー像が重ね合される。中間転写ベルト407に4色のトナー像が転写されると、中間転写ベルト407上に転写された4色トナー像は2次転写装置412にて、手差し給送カセット414または給紙カセット415から2次転写部に搬送されてきた記録媒体S上に再び転写(2次転写)される。そして、記録媒体S上のトナー像は定着装置413で加熱定着され、廃止部416に排紙され、記録媒体S上にフルカラー画像が得られる。
【0018】
(感光ドラムと光走査装置)
図5に感光ドラム402、光走査装置404、および、光走査装置404の制御部の構成を示す。なお、各色の感光ドラムと光走査装置の構成は同一であるので、以下の説明では色を示す添え字Y、M、C、Kを省略する。
【0019】
光走査装置404は、複数のレーザー光(光ビーム)を発生するマルチビームレーザー光源501と、レーザー光を平行光に整形するコリメータレンズ502と、コリメータレンズ502を通過したレーザー光を副走査方向(感光ドラムの回転方向に対応する方向)へ集光するシリンドリカルレンズ503と、ポリゴンミラー(回転多面鏡)504を備える。なお、レーザー光源501は複数のビームを配列したマルチビーム光源、または単一の光源を用いた場合も同様に動作させるものとする。ポリゴンミラー504は、回転動作するモータ部とモータ軸に取り付けられた反射ミラーからなる。本実施例では5面のミラーだが、他の面数でも良い。さらに、ポリゴンミラー504によって偏向されたレーザー光を検知し、レーザー光を検知したことに応じて水平同期信号(以下、BD信号)を出力する信号生成手段であるところのBeamDetector507(以下、BD507)を備える。
【0020】
光走査装置404から出射したレーザー光は、感光ドラム402上を走査する。レーザー光の走査方向は、感光ドラム402の回転軸に対して略平行に走査するように、光走査装置404と感光ドラム402の位置決めがなされている。ポリゴンミラー504のミラー面が感光ドラム上を一回走査する度に、前記マルチビームレーザーのレーザー素子数分の走査ラインを同時に形成する。ここで、走査ラインはポリゴンミラー504で反射後fθレンズを用いて感光ドラム402上を一定速度で走査するようになるのだが、コスト削減のためfθレンズ無の構成にして、レーザー駆動510で生成されるレーザー駆動信号を補正することで画像形成する。レーザー駆動信号は制御部508で生成される。この時メモリ509内のPWMテーブルを用いてPWM信号(Pulse width Modulated 信号、または単純にパルス信号)を生成する。
【0021】
(パルス信号生成装置)
以下、パルス信号生成装置について説明する。本実施例のパルス信号生成装置は、少なくとも後述するクロック信号生成部、逓倍クロック生成部、制御部を含む。クロック信号生成部、逓倍クロック生成部は制御部に内蔵されていても良い。
図6に制御部508のブロック図を示す。制御部508は一つのプロセッサで構成されても良いし、以下で説明する各機能を複数のプロセッサで実行するよう構成しても良い。
【0022】
ILUT601は画像データと画素サイズからPWMビットパターンデータに変換するLUT(ルックアップテーブル)であり、
図2のLUT102と同じである。また、ここでは入力される画像データを0~15の4ビットデータとする。PWMビットパターンデータは、例えば
図7(b)および(c)に示すように、感光ドラム402の主走査方向に沿って主走査倍率707から求められる画素サイズに応じて決定される。具体的には、入力される画素サイズに応じてILUT601の中から対応する変換するLUTをセレクトする。例えば、画素サイズが31であれば
図2中のLUT201を使用し、画素サイズが34であればLUT203を使用する。実際には主走査倍率707の全域で使用する画素サイズに対応するテーブルが
図5のメモリ509に準備される。例えば、主走査倍率が1~1.3まで変動する場合は、画素サイズ100~130までの連続する画素サイズに対応する31個のテーブルが準備されている。
【0023】
制御部508は不図示のメモリ制御部により、メモリ509から所望のテーブルをセレクトし、ILUT601に設定する。そして、ILUT601に設定されたテーブルから入力画像データ0~15に応じたPWMビットパターンデータに変換する。PWMビットパターンの変換例としてここでは、
図7(a)の708の部分の2画素を説明する。708の部分は感光ドラム402の後端に近く、レーザー走査速度が速くなっている。そのため、主走査倍率707は上昇し、画素サイズが連続する2画素で大きくなっている。PWM開始位置から立上り位置までの比較値701、704と、立下り位置までの比較値702、705と、PWM周期比較値703、706を有する。比較値701、702、703はm画素目で、画素サイズ104の濃度9のPWMテーブルデータ709となる。比較値704、705、706がm+1画素目で、画素サイズ111の濃度10のPWMテーブルデータ710となる。テーブル709は画素サイズ104のPWMテーブルで、テーブル710は画素サイズ111のPWMテーブルである。また、
図7(a)で示される座標値は逓倍クロックclk2で何個分かを示している。
図6に示すように制御部508には基準クロックとしてのclk1を生成するクロック信号生成部611が接続されている。制御部508にはクロック信号生成部611からclk1が入力される。クロック信号生成部611から出力されるclk1はPLL612(Phase Locked Loop)にも入力されている。PLL612は、clk1をN逓倍した逓倍クロック信号を生成する逓倍クロック生成部として機能する。具体的に、clk1クロックは160MHzで、逓倍数Nは24、clk2クロックは160MHz×24逓倍=3.84GHzである。
【0024】
設定部602はPWMデータ(立上り比較値、立下り比較値、周期比較値)を一時的に保持し、後述の立上り比較部と立下り比較部と周期比較部からの指示でデータを更新する。カウンタ606はカウント整数部607とカウンタ小数部608で構成される。カウンタ整数部607とカウンタ小数部608はclk1クロックで動作する。
【0025】
立上り比較部603は設定部602とカウンタ606を比較して、立上りタイミング信号と立上り位置情報Aを後述のパターン生成部609へ出力する。立上りタイミング信号は画像形成するためのレーザー駆動部510が1画素毎にレーザーをONするタイミングである。また、立上り位置情報AはPWM信号の立上り位置がclk1クロックの周期をN等分した時のどこにあるかを示す情報で、逓倍クロックclk2のクロック数で表される。
【0026】
立下り比較部604は設定部602とカウンタ606を比較して、立下りタイミング信号と立下り位置情報Bを後述のパターン生成部609へ出力する。立下りタイミング信号は画像形成するためのレーザー駆動部510が1画素毎にレーザーをOFFするタイミングである。また、立下り位置情報BはPWM信号の立下り位置がclk1クロックの周期をN等分した時のどこにあるかを示す情報で、逓倍クロックclk2のクロック数で表される。
【0027】
周期比較部605は設定部602とカウンタ606を比較して、周期タイミング信号と次のカウント開始初期値Cを計算してカウンタ606へ出力する。周期タイミング信号は画像形成するためのPWMの1画素が終わるタイミングである。また、カウント開始初期値Cは次のPWMの開始位置がclk1のクロック周期をN等分した時のN―(どこにあるかを示す情報)で、逓倍クロックclk2のクロック数で表される。
【0028】
パターン生成部609はNビットのPWMパターンデータを生成する。具体的には立上り比較部603から立上りタイミング信号を受信した時、同時に受信した立上り位置情報AからA個の0と残りのビットに1を連結してNビットパターンを生成する。また、立下り比較部604から立下りタイミング信号を受信した時は、同時に受信した立下り位置情報BからB個の1と残りのビットに0を連結してNビットのパターンを生成する。立上りタイミング信号と立下りタイミング信号ともに受信しなかった時は、1クロック前の出力パターンの最後の値0/1の何れかをN個連結したビットパターンを生成する。パラシリ変換610はNビットのパターンデータをclk1クロック毎に受信して、逓倍クロックclk2でパラシリ変換(パラレル-シリアル変換)してシリアルに1ビットずつ出力する。このようにNビットのパターンデータを順次出力することでPWM信号を生成する。
【0029】
(PWM信号生成フロー)
中央成長のPWMを画像濃度とサイズに対応して随時変更して出力する方法について説明する。なお、PWMの最小パルス幅、最小パルスOFF幅は3.84GHzの24クロック分以上である条件での動作とする。
【0030】
図8は制御部508の動作で、BD507にレーザー光が入射してから感光ドラム402上を走査して次の走査開始までの動作のフローチャートである。
【0031】
カウント開始はBD507にレーザー光が入射したことを制御部508が検知することで始まり、S801からS810までの動作はclk1の1周期で毎クロック実行される。パラメータ設定S801では、ILUT601が入力画像データとサイズデータに対応したPWMデータ(周期比較値、立上り比較値、立下り比較値)をメモリ509から読み出す。読み出したPWMデータは
図7(b)(c)に示すPWM信号を生成する時のデータである。
【0032】
図7(a)の領域708の2画素について説明する。clk2のクロック周波数は3.84GHzとする。
【0033】
図7(a)に示すように1画素目の画素サイズ104である。すなわち、1画素目はclk2の104個のクロック周期によって規定される。1画素目の画素データはサイズ60のONデータ(レーザを点灯させるためのデータ)を含む。1画素目の始まりからONデータの立上りまでのクロックカウント数701は32で、
【0034】
【0035】
となる。1画素目の始まりからONデータの立下りまでのクロックカウント数702は92であり、
【0036】
【0037】
となる。1画素のクロックカウント数703は104で、
【0038】
【0039】
となる。すなわち、1画素目は27.08nsで規定される。1画素目の形成開始から8.3ns経過するとPWM信号にパルスが立上がり、1画素目の形成開始から23.96ns経過するとパルスが立下がる。23.96ns-8.3ns=15.66nsの期間にレーザが点灯するPWM信号が生成される。
【0040】
図7(a)に示すように2画素目の画素サイズ111である。すなわち、2画素目はclk2の111個のクロック周期によって規定される。2画素目の画素データはサイズ60のONデータを含む。2画素目の始まりからONデータの立上りまでのクロックカウント数704は28で、
【0041】
【0042】
となる。2画素目の始まりからONデータの立下りまでのクロックカウント数705は88で、
【0043】
【0044】
となる。2画素目のクロックカウント数706は111で、
【0045】
【0046】
となる。すなわち、2画素目には1走査周期中の28.91nsが割り当てられる。2画素目の形成開始から7.29ns経過するとPWM信号にパルスが立上がり、2画素目の形成開始から22.92ns経過するとパルスが立下がる。22.92ns-7.29ns=15.63nsの期間にレーザが点灯するPWM信号が生成される。
【0047】
立上り判定S802ではカウンタ606の値と設定部602の立上り比較値を立上り比較部603で比較して、立上りタイミング信号と立上り位置情報Aを生成する。PWMの立上りまでの残りカウント値=立上り設定値-カウンタ値=Aを計算する。Aの値が0以上でNより小さい(0≦A<N)(次の1clk1クロック周期内にPWMの立上りがある)時に、立上りタイミングと判定し、立上りタイミング信号をHigh(アクティブ)に、立上り位置情報Aをパターン生成部609へ出力する。立上り位置情報Aの値がN以上(A≧N)の(次の1clk1クロック周期内にPWMの立上りがない)時は立上りタイミング信号をLow(インアクティブ)にする。
【0048】
立下り判定S803ではカウンタ606の値と設定部602の立下り比較値を立下り比較部604で比較して、立下りタイミング信号と立下り位置情報Bを生成する。PWMの立下りまでの残りカウント値=立下り設定値-カウンタ値=Bを計算する。立下り位置情報Bの値が0以上でNより小さい(0≦B<N)(次の1clk1クロック周期内にPWMの立下りがある)時に、立下りタイミングと判定し、立下りタイミング信号をHigh(アクティブ)に、立下り位置情報Bをパターン生成部609へ出力する。立下り位置情報Bの値がN以上(B≧N)の(次の1clk1クロック周期内にPWMの立下りがない)時は立下りタイミング信号をLow(インアクティブ)にする。
【0049】
立上りパターン生成S804はS802によって発生した立上りタイミング信号がHighの時、実行される。立上り位置情報Aから、Aビットの0と(N-A)ビットの1を連結したパターンデータを生成する。
図9に示すパターンデータは立上り位置情報A=4(901)の場合を示している。
【0050】
立下りパターン生成S805はS802によって発生した立下りタイミング信号がHighの時、実行される。立下り位置情報Bから、Bビットの1と(N-B)ビットの0を連結したパターンデータを生成する。
図9(b)に示すパターンデータは立下り位置情報B=18(902)の場合を示している。
【0051】
一定パターン生成S806はS803によって立上りタイミング信号と立下りタイミング信号がともに発生しなかった時に実行される。
図9の(c)、(d)にこの時生成するパターンを示す。
図9(c)は、パターン生成部609で前回生成したパターンの最終ビット(bit23)が1(例えば
図9(a))の時の生成パターンである。
図9(d)は前回生成したパターンの最終ビット(bit23)が0(例えば
図9(b))の時の生成パターンである。このように前回生成の最終ビットを引き続き出力するパターンを生成する。
【0052】
カウントアップS807はカウンタ606のカウントアップで、次のカウント値を計算する。次のカウント値=今のカウント値+Nとなる。実施例ではN=24である。
【0053】
周期判定S808でカウンタ606の値と設定部602の周期比較値を周期比較部605で比較して、周期タイミング信号とカウンタオーバー値Cを生成する。カウント値が周期比較値を超えた時(C≧0)、1周期の終了タイミングと判定して、周期タイミング信号をHighに、カウントオーバー値C=カウント値―周期比較値をパターン生成部609に出力する。周期タイミングと判定されなかった時は、S802に戻る。
【0054】
カウンタ初期化S809はS808によって発生した周期タイミング信号がHighの時、実行される。カウンタオーバー値Cを次のPWM周期のカウンタ606の初期値としてセットする。
【0055】
次パラメータ設定S810では次の画素の入力画像データとサイズデータに対応したPWMデータ(周期比較値、立上り比較値、立下り比較値)をメモリ509から読み出す。そして、S802からS809の手順を繰り返す。
【0056】
図8のPWM生成フローに関して、1ラインの画素を全てPWM信号として出力する場合の設定部602の立上り比較値、立下り比較値、周期比較値とカウンタ606の値を
図10を用いて説明する。
図10はカウンタ606の値を縦軸に、時間経過を横軸としている。1001は逓倍クロックclk2である3.84GHzでカウントアップした場合のカウント値遷移である。但し、説明のために示したもので実際には3.84GHzでカウントアップするカウンタはない。一方で1005はclk1の160MHzでカウントアップしているカウンタ606のカウント値遷移である。
【0057】
横軸=0の時点1006ではカウンタ606の値は0である。この時、立上り比較値1002、立下り比較値1003、周期比較値1004が設定部602に設定される(S801)。
【0058】
立上り判定S802では立上り位置情報A=32-0=32で、0≦A<N(=24)は不成立のため、立下り判定S803となる。立下り判定S803では立下り位置情報B=92-0=92で、0≦B<N(=24)は不成立のため、一定パターン生成S806となる。一定パターン生成S806では前回出力パターンの最終ビット(bit23)をNビット並べた一定パターンを生成する。ここで前回パターンは無いため出力初期値0をNビット(24ビット)のパターンを生成する。カウントアップS807では+N(=24)を実行してカウンタ606=24となる。周期判定S808ではカウンタオーバー値C=24-104=-80で、C≧0は不成立のため、立上り判定S802に戻る。
【0059】
ここで、clk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11に出力パターンを示す。1101の24ビット0のパターン出力である。
【0060】
次にclk1クロックの時間経過により、
図10の横軸1007となる。カウンタ606の値は24で、上述のS802に戻り、同様の処理を行う。立上り判定S802では立上り位置情報A=32-24=8で、0≦A<N(=24)は成立するため、立上りタイミング信号を生成し、立上り位置情報Aをパターン生成部609に出力し、立上りパターン生成S804となる。立上りパターン生成S804では立上り位置情報A=8の24ビットパターンを生成する。
図9(a)のA=8の場合のパターンが生成される。カウントアップS807では+N(=24)を実行してカウンタ606=48となる。周期判定S808ではカウンタオーバー値C=48-104=-56で、C≧0は不成立のため、立上り判定S802に戻る。
【0061】
ここで、同様にclk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11の1102に立上りパターンの24ビットパターン出力を示す。次のclk1クロックの時間経過により、
図10の横軸1008となる。カウンタ606の値は48で、上述のS802に戻り、同様の処理を行う。立上り判定S802では立上り位置情報A=32-48=-16で、0≦A<N(=24)は不成立となり、立下り判定S803となる。
【0062】
立下り判定S803では立下り位置情報B=92-48=44で、0≦B<N(=24)は不成立のため、一定パターン生成S806となる。一定パターン生成S806では前回出力パターンのbit23を24ビット並べた一定パターンを生成する。ここで前回パターン1102のbit23は1である。24ビット1のパターンを生成する。カウントアップS807では+N(=24)を実行してカウンタ606=72となる。
【0063】
周期判定S808ではカウンタオーバー値C=72-104=-32で、C≧0は不成立のため、立上り判定S802に戻る。ここで、同様にclk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11の1103に24ビット1のパターン出力を示す。
【0064】
次のclk1クロックの時間経過により、
図10の横軸1009となる。カウンタ606の値は72で、上述のS802に戻り、同様の処理を行う。立上り判定S802では立上り位置情報A=32-72=-40で、0≦A<N(=24)は不成立となり、立下り判定S803となる。立下り判定S803では立下り位置情報B=92-72=20で、0≦B<N(=24)が成立し、立下りパターン生成S805となる。立下りパターン生成S805では立下り位置情報B=20の24ビットパターンを生成する。
図9(b)のB=20の場合のパターンが生成される。カウントアップS807では+N(=24)を実行してカウンタ606=96となる。周期判定S808ではカウンタオーバー値C=96-104=-8で、C≧0は不成立のため、立上り判定S802に戻る。
【0065】
ここで、同様にclk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11の1104に24ビットの立下りパターン出力を示す。
【0066】
次のclk1クロックの時間経過により、
図10の横軸1010となる。カウンタ606の値は96で、上述のS802に戻り、同様の処理を行う。立上り判定S802では立上り位置情報A=32-96=-64で、0≦A<N(=24)は不成立となり、立下り判定S803となる。立下り判定S803では立下り位置情報B=92-96=-4で、0≦B<N(=24)は不成立となり、一定パターン生成S806となる。一定パターン生成S806では前回出力パターンのbit23をN(=24)ビット並べた一定パターンを生成する。ここで前回パターン1104のbit23は0である。24ビット0のパターンを生成する。カウントアップS807では+N(=24)を実行してカウンタ606=120となる。
【0067】
周期判定S808ではカウンタオーバー値C=120-104=16で、C≧0が成立し、周期タイミング信号とカウンタオーバー値Cをカウンタ606へ出力する。カウンタ初期化S809ではカウンタオーバー値Cを初期値としてカウンタ606にセットする。カウンタ606の値は16となる。そして次パラメータ設定S810で次の画素の入力画像データとサイズデータに対応したPWMデータ(周期比較値、立上り比較値、立下り比較値)をメモリ509から読み出し、設定部602に設定する。
図10の立上り比較値1011と立下り比較値1012と周期比較値1013である。
【0068】
ここで、同様にclk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11の1105に24ビットパターン出力を示す。
【0069】
次のclk1クロックの時間経過により、
図10の横軸1014となる。カウンタ606の値は16で、上述のS802に戻り、同様の処理を行う。立上り判定S802では立上り位置情報A=28-16=12で、0≦A<N(=24)は成立のため、立上りタイミング信号を生成し、立上り位置情報Aをパターン生成部609に出力し、立上りパターン生成S804となる。立上りパターン生成S804では立上り位置情報A=12の24ビットパターンを生成する。
図9(a)のA=12の場合のパターンが生成される。
【0070】
カウントアップS807では+N(=24)を実行してカウンタ606=40となる。
【0071】
周期判定S808ではカウンタオーバー値C=40-111=-71で、C≧0は不成立のため、立上り判定S802に戻る。
【0072】
ここで、同様にclk1クロックの1周期時間が経過することで、生成したビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
図11の1106に24ビットの立上りパターン出力を示す。
【0073】
〔実施例2〕
実施例1との違いは、PWMの最小パルス幅が3.84GHzのN(=24)クロック分以下である条件での動作とする。
図12にPWMパルス幅が4clk2クロックのパルスを示す。立上り比較値1201は53で、立下り比較値1202は57、周期比較値1203は104のパルスを生成する。
【0074】
図13のフローチャートで動作を説明する。パラメータ設定S1301までは、実施例1と同様でPWMデータ(周期比較値、立上り比較値、立下り比較値)を設定する。
【0075】
立上りまでのクロックカウント数1201は53で、
【0076】
【0077】
となる。立下りまでのクロックカウント数12012は57で、
【0078】
【0079】
となる。周期のクロックカウント数1203は104で、
【0080】
【0081】
となる。この時のクロックはclk2クロックの3.84GHzである。
【0082】
立上り/立下り判定S1302ではカウンタ606の値と設定部602の立上り設定値を立上り比較部603で比較して、立上りタイミング信号と立上り位置情報Aを生成する。更にカウンタ606の値と設定部602の立下り設定値を立下り比較部604で比較して、立下りタイミング信号と立下り位置情報Bを生成する。
【0083】
立上り情報=立上り設定値-カウンタ値=Aを計算する。立下り情報=立下り設定値-カウンタ値=Bを計算する。0≦A<Nの時、立上りタイミングと判定し、0≦B<Nの時、立下りタイミングと判定する。立上り判定と立下り判定がどちらも発生していない時と、どちらか一方が発生している時は実施例1と同様となる。そのため立上りパターン生成S1304と立下りパターン生成S1305と一定パターン生成S1306の説明は省略する。
【0084】
パルスパターン生成S1303はS1302によって立上りタイミングと立下りタイミングが同時に発生した場合で、立上り位置情報Aと立下り位置情報Bから、A個の0と(B-A)個の1と残り0を連結してN(=24)ビットのパターンデータを生成する。
図14に示すパターンデータはA=4(1401)、B=17(1402)の場合を示している。
【0085】
カウントアップS1307は実施例1と同様で、次のカウント値=今のカウント値+Nを計算する。実施例ではN=24である。
【0086】
周期判定S1308も実施例1と同様で、カウントオーバー値Cが0以上(C≧0)で判定する。周期タイミングと判定されなかった時は、S1302に戻る。
【0087】
カウンタ初期化S1309も実施例1と同様で、カウンタオーバー値Cを次のPWM周期のカウンタ606の初期値としてセットする。
【0088】
次パラメータ設定S1310も実施例1と同様で、次の画素の入力画像データとサイズデータに対応したPWMデータ(周期比較値、立上り比較値、立下り比較値)をメモリ509から読み出す。そして、S1302からS1309の手順を繰り返す。
【0089】
上述の動作について
図15を用いて設定部602とカウンタ606の値を説明する。
図15はカウンタ606の値を縦軸に、時間経過を横軸としている。1501は逓倍クロックclk2の3.84GHzでカウントアップした場合のカウント値遷移である。但し、説明のために示したもので実際には3.84GHzでカウントアップするカウンタはない。一方で1505はclk1の160MHzでカウントアップしているカウンタ606のカウント値遷移である。
【0090】
横軸=0の時点1506ではカウンタ606の値は0である。この時、立上り比較値1502、立下り比較値1503、周期比較値1504が設定部602に設定される。(S1301)
立上り/立下り判定S1302では立上り位置情報A=53-0=53、立下り位置情報B=57-0=57で、0≦A<N(=24)、0≦B<N(=24)はともに不成立のため、一定パターン生成S1306となる。
【0091】
一定パターン生成S1306では実施例1と同様で、前回パターンは無いため出力初期値0を24ビットのパターンを生成する。
【0092】
カウントアップS1307も実施例1と同様で、+N(=24)を実行してカウンタ606=24となる。
【0093】
周期判定S1308も実施例1と同様で、カウントオーバー値C=24-90=-66で、C≧0は不成立のため、立上り判定S1302に戻る。
【0094】
ここで、clk1クロックの1周期時間が経過することで、生成した全て0のビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
【0095】
次にclk1クロックの時間経過により、
図15の横軸1507となる。カウンタ606の値は24で、上述のS1302に戻り、同様の処理を行う。立上り/立下り判定S1302では立上り位置情報A=53-24=29、立下り位置情報B=57-24=33で、0≦A<N(=24)、0≦B<N(=24)はともに不成立のため、一定パターン生成S1306となる。
【0096】
一定パターン生成S1306では実施例1と同様で、前回パターンは無いため出力初期値0を24ビットのパターンを生成する。カウントアップS1307も実施例1と同様で、+N(=24)を実行してカウンタ606=48となる。周期判定S1308も実施例1と同様で、カウンタオーバー値C=48-90=-42で、C≧0は不成立のため、立上り判定S1302に戻る。ここで、clk1クロックの1周期時間が経過することで、生成した全て0のビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
【0097】
次のclk1クロックの時間経過により、
図15の横軸1508となる。カウンタ606の値は48で、上述のS1302に戻り、同様の処理を行う。立上り/立下り判定S1302では立上り位置情報A=53-48=5、立下り位置情報B=57-48=9で、0≦A<N(=24)、0≦B<N(=24)はともに成立となり、パルスパターン生成S1303となる。
【0098】
パルスパターン生成S1303では、立上り位置情報A=5と立下り位置情報B=9から24ビットのパルスパターンを生成する。
図14のA=5、B=9の場合である。カウントアップS1307も実施例1と同様で、+N(=24)を実行してカウンタ606=72となる。周期判定S1308も実施例1と同様で、カウンタオーバー値C=72-90=-18で、C≧0は不成立のため、立上り判定S1302に戻る。
【0099】
ここで、clk1クロックの1周期時間が経過することで、生成したLow→High→Lowのビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
【0100】
次のclk1クロックの時間経過により、
図15の横軸1509となる。カウンタ606の値は72で、上述のS1302に戻り、同様の処理を行う。立上り/立下り判定S1302では立上り位置情報A=53-72=-19、立下り位置情報B=57-72=-15で、0≦A<N(=24)、0≦B<N(=24)はともに不成立となり、一定パターン生成S1306となる。
【0101】
一定パターン生成S1306では実施例1と同様で、前回パターンのビット23の値0の24ビットのパターンを生成する。カウントアップS1307も実施例1と同様で、+N(=24)を実行してカウンタ606=96となる。周期判定S1308も実施例1と同様で、カウンタオーバー値C=96-90=6となる。C≧0が成立し、カウンタオーバー値Cをカウンタ606へ出力する。カウンタ初期化S1309ではカウンタオーバー値を初期値としてカウンタ606にセットする。カウンタ606の値は6となる。そして次パラメータ設定S1310も実施例1と同様で、次の画素の入力画像データとサイズデータに対応したPWMデータ(周期比較値、立上り比較値、立下り比較値)をメモリ509から読み出し、設定部602に設定する。
【0102】
ここで、同様にclk1クロックの1周期時間が経過することで、生成した全て0のビットパターンがパラシリ変換部610でLSBファーストで順次出力される。以降同様の手順で1ラインの画素を全てPWM信号として出力する。
【0103】
〔実施例3〕
PWMのパルスOFF幅が3.84GHzのN(=24)クロック分以下である条件での動作とする。
図16に示す2パルスの生成で説明する。1パルス目の立上り比較値(1601)は8で、立下り比較値(1602)は54、周期比較値(1603)は56で、2パルス目の立上り比較値(1604)は6で、立下り比較値(1605)は36、周期比較値(1606)は48である。この2パルスの間のパルスOFF幅は56-54+6=8となっている。
【0104】
図18に実施例3のフローチャートを示す。実施例2との違いはパルスパターン生成S1803の動作と次パラメータ1設定S1811が追加されていることである。パルスパターン生成S1803は、0,1,0の凸パターンと1,0,1の凹パターンの2種類を生成する。S1802によって立上りタイミングと立下りタイミングが同時に発生した場合で、立上り位置情報Aと立下り位置情報Bから、A<Bの時は、A個の0と(B-A)個の1と残り0を連結してN(=24)ビットの凸パターンデータを生成する。
図14に示すパターンデータはA=4、B=17の場合を示している。A>Bの時はB個の1と(B-A)個の0と残りは1を連結してN(=24)ビットの凹パターンデータを生成する。
図17に示すパターンデータはA=18(1701)、B=7(1702)の場合を示している。
【0105】
図19を用いて設定部602とカウンタ606の値を説明する。
図19はカウンタ606の値を縦軸に、時間経過を横軸としている。1901は逓倍クロックclk2である3.84GHzでカウントアップした場合のカウント値遷移である。但し、説明のために示したもので実際には3.84GHzでカウントアップするカウンタはない。一方で1905はクロックclk1の160MHzでカウントアップしているカウンタ606のカウント値遷移である。
【0106】
パラメータ設定S1801は、横軸=0の時点1906でカウンタ606の値は0である。この時、立上り比較値1902、立下り比較値1903、周期比較値1904が設定部602に設定される。ここで、立上り比較値=8、立下り比較値=54、周期比較値=56である。
【0107】
立上り/立下り判定S1802では立上り位置情報A=8-0=8、立下り位置情報B=54-0=54で、0≦A<N(=24)、0≦B<N(=24)は立上り比較のみ成立のため、立上りパターン生成S1804となる。立上りパターン生成S1304では立上り位置情報A=8の24ビットパターンを生成する。
図9(a)のA=8の場合のパターンが生成される。次パラメータ1設定S1811では、次の画素の入力画像データとサイズデータに対応したPWMデータをメモリ509から読み出し、立上り設定値と立下り設定値を更新する。今は立上りタイミングのため、立上り比較値のみ更新する。次PWMの立上り比較値と現在周期比較値を加算して(立上り比較値+現在の周期比較値=6+56=62)設定部602に設定する。
図19の1911となる。カウントアップS1807は実施例1と同様で、+N(=24)を実行してカウンタ606=24となる。周期判定S1808も実施例1と同様で、カウンタオーバー値C=24-56=-32で、C≧0は不成立のため、立上り判定S1802に戻る。
【0108】
ここで、clk1クロックの1周期時間が経過することで、生成した立上りのビットパターンがパラシリ変換部610でLSBファーストで順次出力される。次にclk1クロックの時間経過により、
図19の横軸1907となる。カウンタ606の値は24で、同様の処理を行う。立上り/立下り判定S1802では立上り位置情報A=62-24=38、立下り位置情報B=54-56=-2で、0≦A<N(=24)、0≦B<N(=24)はともに不成立のため、一定パターン生成S1806となる。
【0109】
一定パターン生成S1806は実施例1と同様で、前回パターンの最終ビット(bit23)の値=1を24個連結した24ビットパターンを生成する。カウントアップS1807も実施例1と同様で、+N(=24)を実行してカウンタ606=48となる。周期判定S1808も実施例1と同様で、カウンタオーバー値=48-56=―8で、C≧0は不成立のため、立上り判定S1802に戻る。
【0110】
ここで、同様にclk1クロックの1周期時間が経過することで、生成した全て1のビットパターンがパラシリ変換部610でLSBファーストで順次出力される。次のclk1クロックの時間経過により、
図19の横軸1908となる。カウンタ606の値は48で、同様の処理を行う。立上り/立下り判定S1802では立上り位置情報A=62-48=14、立下り位置情報B=54-48=6で、0≦A<N(=24)、0≦B<N(=24)はともに成立となり、パルスパターン生成S1803となる。パルスパターン生成S1303で、A<BもしくはA>Bを確認する。立上り位置情報A=14、立下り位置情報B=6でA>Bのため、B個の1と(B-A)個の0と残りは1を連結してN(=24)ビットの凹パターンデータを生成する。
図17に示すパターンデータのA=14(1701)、B=6(1702)の場合となる。次パラメータ1設定S1811で、次の画素の入力画像データとサイズデータに対応したPWMデータをメモリ509から読み出し、立上り比較値と立下り比較値を更新する。次PWMの立上り比較値と現在周期比較値と次周期比較値を加算して(9+56+48=113)立上り比較値を計算し、次PWM立下り比較値と現在周期比較値を加算して(36+56=92)立上り比較値を計算し、設定部602に設定する。
図19の1912(立上り比較値)と1913(立下り比較値)となる。カウントアップS1807も実施例1と同様で、+N(=24)を実行してカウンタ606=72となる。周期判定S1808も実施例1と同様で、カウンタオーバー値C=72-56=16で、C≧0は成立のため、カウンタオーバー値Cをカウンタ606へ出力する。カウンタ初期化S1809ではカウンタオーバー値を初期値としてカウンタ606にセットする。カウンタ606の値は16となる。次パラメータ2設定S1810では、次の画素の入力画像データとサイズデータに対応したPWMデータをメモリ509から読み出し、次PWM周期比較値を設定部602に設定する。同時に立上り比較値と立下り比較値から現在のPWM周期比較値を減算する。周期比較値=48(1914)、立上り比較値=113(1912)―56=57、立下り比較値=92(1913)―56=36となる。そして、S1802に戻り、同様の処理を行う。
図19の1915(立上り比較値)と1916(立下り比較値)である。
【0111】
ここで、同様にclk1クロックの1周期時間が経過することで、生成した凹ビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
【0112】
次のclk1クロックの時間経過により、
図19の横軸1909となる。カウンタ606の値は16で、同様の処理を行う。立上り/立下り判定S1802では立上り位置情報A=57-16=41、立下り位置情報B=36-16=20で、0≦A<N(=24)、0≦B<N(=24)は立下りタイミングが成立となり、立下りパターン生成S1805となる。立下りパターン生成S1805では実施例1と同様で、立下り位置情報B=20の24ビットパターンを生成する。
図9(b)のB=20の場合のパターンが生成される。
【0113】
次パラメータ1設定S1811で、次の画素の入力画像データとサイズデータに対応したPWMデータをメモリ509から読み出し、立上り比較値と立下り比較値を更新する。今は立下りタイミングのみのため、次PWM立下り比較値と現在周期比較値を加算して(40+48=88)立上り比較値を計算し、設定部602に設定する。次PWM立下り比較値40は図示しない。カウントアップS1807も実施例1と同様で、+N(=24)を実行してカウンタ606=40となる。周期判定S1808も実施例1と同様で、カウンタオーバー値C=40-48=-8となる。C≧0は不成立のため、立上り判定S1802に戻る。
【0114】
ここで、同様にclk1クロックの1周期時間が経過することで、生成した立下りのビットパターンがパラシリ変換部610でLSBファーストで順次出力される。
【0115】
以降同様の手順で1ラインの画素を全てPWM信号として出力する。以上の様にPWMカウンタからN(=24)ビットパターンデータを生成することで、パラシリ変換回路に入力前の一時記憶部とその制御回路を無くし、回路規模を小さく簡単化することが可能となる。
【符号の説明】
【0116】
508 制御部
602 設定部
603 立上り比較部
604 立下り比較部
605 周期比較部