(57)【要約】    【課題】既存のブリッジ回路よりも回路規模が小さく、かつ、既存のブリッジ回路よりも高性能なブリッジ回路を、提供する。    【解決手段】ブリッジ回路２２を、１個のＦＩＦＯでクロック乗り換えを行う回路であって、ＦＩＦＯの空き領域の有無を検出するための回路（ＩＮ側比較回路等からなる回路）と、読み出すべきデータの有無を検出するための回路（ＯＵＴ側比較回路等からなる回路）とが独立して設けられている回路として構成しておく。    【選択図】図２
2008276283.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するための複数の記憶領域を有し、各記憶領域へのデータの書き込みが第１クロックに同期した形で行われ，各記憶領域からのデータの読み出しが第２クロックに同期した形で行われるＦＩＦＯと、
その値が，データが書き込まれる前記ＦＩＦＯの記憶領域を指定する情報として使用されるレジスタであると共に、前記ＦＩＦＯの記憶領域にデータが書き込まれる度に，その値が“１”インクリメントされるレジスタである第１書込位置管理用レジスタと、
その値が前記第１書込位置管理用レジスタの値と異なった場合に，前記第１書込位置管理用レジスタの値がロードされる，前記第１クロックで動作する第２書込位置管理用レジスタと、
前記第２書込位置管理用レジスタの値が変更された場合に、その変更された値がロードされる，前記第２クロックで動作する第３書込位置管理用レジスタと、
その値が、データを読み出して出力する前記ＦＩＦＯの記憶領域を指定する情報として使用されるレジスタであると共に、データの出力が行われる度に，その値が“１”インクリメントされるレジスタである第１読出位置管理用レジスタと、
その値が前記第１読出位置管理用レジスタの値と異なった場合に，前記第１書込位置管理用レジスタの値がロードされる，前記第２クロックで動作する第２読出位置管理用レジスタと、
前記第２読出位置管理用レジスタの値が変更された場合に，その変更された値がロードされる，前記第２クロックで動作する第３読出位置管理用レジスタと、
前記第１書込位置管理用レジスタの値及び前記第３読出位置管理用レジスタの値から、前記ＦＩＦＯに空き記憶領域が存在するか否かを示す書込可否信号を生成して出力する書込可否信号生成回路と、
前記第１読出位置管理用レジスタの値及び前記第３書込位置管理用レジスタの値から、読み出すべきデータが前記ＦＩＦＯ内に存在するか否かを示す読出可否信号を生成して出力する読出可否信号生成回路と
を備え、
前記第２書込位置管理用レジスタが、
自レジスタの値の前記第３書込位置管理用レジスタへのロードが完了するまでは、その値が前記第１書込位置管理用レジスタの値と異なっても，前記第１書込位置管理用レジスタの値がロードされないレジスタであり、
前記第２読出位置管理用レジスタが、
自レジスタの値の前記第３読出位置管理用レジスタへのロードが完了するまでは、その値が前記第１読出位置管理用レジスタの値と異なっても，前記第１読出位置管理用レジスタの値がロードされないレジスタである
ことを特徴とするブリッジ回路。
【請求項２】
請求項１記載のブリッジ回路と、
メモリと、
ホストＰＣから印刷データを受信する通信インタフェース回路であって、前記ブリッジ回路から，前記ＦＩＦＯに空き記憶領域が存在することを示す書込可否信号が出力されているときに、受信した印刷データを、所定サイズのデータ毎に前記ブリッジ回路へ書き込む通信インタフェース回路と、
前記ブリッジ回路から，読み出すべきデータが前記ＦＩＦＯ内に存在すること示す読出可否信号が出力されているときに、前記ブリッジ回路からデータを読み出して、読み出したデータを，前記メモリ上にＤＭＡ転送するＤＭＡ転送回路と
を備えることを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック乗り換えを行うためのブリッジ回路と、プリンタとに関する。
【背景技術】
【０００２】
近年，市販されている一般的なプリンタは、各種のインタフェース回路によって受信されたデータがメインメモリ上にＤＭＡ転送される装置であると共に、インタフェース回路の動作クロックとコントローラの動作クロックとが異なる装置となっている。
【０００３】
このため、一般的なプリンタには、受信したデータのクロックを変更するための回路（以下、ブリッジ回路と表記する）が搭載されているのであるが、従来のプリンタに用いられているブリッジ回路は、図６に示した構成を有するものとなっている。
【０００４】
なお、この図に示したブリッジ回路は、図７に示した構成のプリンタ５０（ＵＳＢインタフェースを有するプリンタ）内のプリンタ用ＡＳＩＣ６０上の回路として実現されているものであり、ＵＳＢ−ＩＰとは、UCLK〔ＵＳＢの動作クロック；48MHz〕で動作する，通信制御やシリアルデータのパラレル化を行う回路のことである。また、ＤＭＡ転送回路とは、ブリッジ回路から得たデータを，メモリ制御回路（ＲＡＭ，ＲＯＭに対する実際の制御を行う回路）を利用（制御）することによりＲＡＭ上にＤＭＡ転送するための，システムクロック〔図におけるMCLK〕で動作する回路のことである。
【０００５】
図６に戻って、従来のブリッジ回路の説明を続ける。
【０００６】
図から明らかなように、従来のブリッジ回路は、FIFO_0が入力側に解放されている場合には、FIFO_1が出力側に解放され（FIFO_0がデータの書き込み対象となっている場合には、FIFO_1がデータの読み出し対象となり）、FIFO_1が入力側に解放されている場合には、FIFO_0が出力側に解放される回路となっている。
【０００７】
そして、このブリッジ回路は、１パケット（プリンタクラスでは最大512byte）毎に，FIFOの切り替え（各FIFOの解放先を変更する処理）が行われる回路となっている。このため、このブリッジ回路は、１パケット分のデータのFIFO(FIFO_0或いはFIFO_1)への書き込みが完了するまでは、そのデータの読み出しを行えないという欠点を有するものとなっている。また、ＵＳＢパケットの中には、数byteのパケットも存在するため、従来のブリッジ回路は、各FIFOの大部分が使用されないこともある回路となっている。
【０００８】
さらに、従来のブリッジ回路は、パケット通信ではない通信に対して使用する際には、FIFOの切り替えタイミングを決定するために、データの転送量を把握するための回路や、タイムアウトを検出するための回路を付加する必要があるものとなっている。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の課題は、既存のブリッジ回路よりも回路規模が小さく、かつ、既存のブリッジ回路よりも高性能なブリッジ回路を、提供することにある。
【００１０】
また、本発明の他の課題は、既存のプリンタよりも安価に製造でき、かつ、既存のブリッジ回路よりも高性能なプリンタを、提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のブリッジ回路は、（１）データを記憶するための複数の記憶領域を有し、各記憶領域へのデータの書き込みが第１クロックに同期した形で行われ，各記憶領域からのデータの読み出しが第２クロックに同期した形で行われるＦＩＦＯと、（２）その値が，データが書き込まれるＦＩＦＯの記憶領域を指定する情報として使用されるレジスタであると共に、ＦＩＦＯの記憶領域にデータが書き込まれる度に，その値が“１”インクリメントされるレジスタである第１書込位置管理用レジスタと、（３）その値が第１書込位置管理用レジスタの値と異なった場合に，第１書込位置管理用レジスタの値がロードされる，第１クロックで動作する第２書込位置管理用レジスタであって、自レジスタの値の，後述する第３書込位置管理用レジスタへのロードが完了するまでは、その値が第１書込位置管理用レジスタの値と異なっても，第１書込位置管理用レジスタの値がロードされない第２書込位置管理用レジスタと、（４）第２書込位置管理用レジスタの値が変更された場合に、その変更された値がロードされる，第２クロックで動作する第３書込位置管理用レジスタと、（５）その値が、データを読み出して出力するＦＩＦＯの記憶領域を指定する情報として使用されるレジスタであると共に、データの出力が行われる度に，その値が“１”インクリメントされるレジスタである第１読出位置管理用レジスタと、（６）その値が第１読出位置管理用レジスタの値と異なった場合に，第１書込位置管理用レジスタの値がロードされる，第２クロックで動作する第２読出位置管理用レジスタであって、自レジスタの値の，後述する第３読出位置管理用レジスタへのロードが完了するまでは、その値が第１読出位置管理用レジスタの値と異なっても，第１読出位置管理用レジスタの値がロードされない第２読出位置管理用レジスタと、（７）第２読出位置管理用レジスタの値が変更された場合に，その変更された値がロードされる，第２クロックで動作する第３読出位置管理用レジスタと、（８）第１書込位置管理用レジスタの値及び第３読出位置管理用レジスタの値から、ＦＩＦＯに空き記憶領域が存在するか否かを示す書込可否信号を生成して出力する書込可否信号生成回路と、（９）第１読出位置管理用レジスタの値及び第３書込位置管理用レジスタの値から、読み出すべきデータがＦＩＦＯ内に存在するか否かを示す読出可否信号を生成して出力する読出可否信号生成回路とを備える。
【００１２】
すなわち、本発明のブリッジ回路は、１個のＦＩＦＯでクロック乗り換えを行う回路となっている。このため、本発明のブリッジ回路は、２個のＦＩＦＯを必要とする既存のブリッジ回路（図６）よりも回路規模が小さくて済む回路であるとともに、ＦＩＦＯの或る記憶領域に書き込まれたデータを即座に読み出せる回路（既存のブリッジ回路よりも高性能な回路）となっていることになる。また、本発明のブリッジ回路は、ＦＩＦＯの空き領域の有無を検出するための回路と、読み出すべきデータの有無を検出するための回路とが、独立して設けられている回路となっている。このため、このブリッジ回路は、他の構成を採用したシングルＦＩＦＯタイプのブリッジ回路（例えば、第１書込位置管理用レジスタの値及び第３読出位置管理用レジスタの値から、書込可否信号及び読出可否信号を生成するブリッジ回路）よりも、ＦＩＦＯの管理（ブリッジ回路内のデータ管理）が正確に行える回路となっていることにもなる。
【００１３】
そして、本発明のプリンタは、本発明のブリッジ回路が用いられたものとなっている。従って、本発明のプリンタは、用いられているブリッジ回路が，既存のブリッジ回路よりも回路規模が小さく（製造コストが少なく）、かつ、既存のブリッジ回路よりも高性能なものである分、既存のプリンタよりも安価に製造でき、かつ、既存のブリッジ回路よりも高性能なプリンタとなっていると言うことが出来る。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１５】
図１に示してあるように、本発明の一実施形態に係るプリンタ１０は、ＣＰＵ，ＲＯＭ，ＲＡＭ，プリンタ用ＡＳＩＣ２０及び印刷エンジンを備えた装置である。なお、図１及び以下の説明において、UCLKとは、ＵＳＢの動作クロック(48MHz)のことであり、MCLKとは、システムクロック(本実施形態では、100MHz)のことである。
【００１６】
このプリンタ１０は、上記したプリンタ５０（図７）内のプリンタ用ＡＳＩＣ６０を，プリンタ用ＡＳＩＣ２０に交換した装置である。そして、プリンタ用ＡＳＩＣ２０は、プリンタ用ＡＳＩＣ６０内のブリッジ回路（図６）を、図２に示した構成のブリッジ回路２２に交換したＡＳＩＣとなっている。このため、以下では、ブリッジ回路２２の構成，動作を中心に、本実施形態に係るプリンタ１０の構成，動作を説明する。
【００１７】
まず、図２を用いて、ブリッジ回路２２の基本的な構成及び動作を、説明する。
【００１８】
図示してあるように、ブリッジ回路２２は、主な構成要素として、ＦＩＦＯ，ＩＮ側比較回路（書込可否信号生成回路に相当），WRPT_UCLKレジスタ（第１書込位置管理用レジスタに相当），WRPT_P_UCLKレジスタ（第２書込位置管理用レジスタに相当），WRPT_MCLKレジスタ（第３書込位置管理用レジスタに相当），ＯＵＴ側比較回路（読出可否信号生成回路に相当），WRPT_MCLKレジスタ（第１読出位置管理用レジスタに相当），WRPT_P_MCLKレジスタ（第２読出位置管理用レジスタに相当），WRPT_UCLKレジスタ（第３読出位置管理用レジスタに相当）を備えた回路である。
【００１９】
このブリッジ回路２２がＵＳＢ−ＩＰに対して出力しているDATA_INOKは、データを記憶可能な空き領域がＦＩＦＯ内に存在する場合に、そのレベルがハイレベル（=1）となる信号である。また、ブリッジ回路２２がＩＯＤＭＡ回路に対して出力しているDATA_OUTOKは、読み出すべきデータがＦＩＦＯ内に存在する場合に、そのレベルがハイレベルとなる信号である。なお、プリンタ５０に関する説明時には省略したが、従来のブリッジ回路も、これらの信号を出力するものとなっている。そして、ＵＳＢ−ＩＰは、ハイレベルのDATA_INOKが入力されているときに、受信した印刷データを、所定サイズのデータ毎にブリッジ回路へ書き込む回路（ハイレベルのDATA_INOKが入力されていない場合には、受信したデータのバッファリングや、データの受信を一旦中止する回路）となっている。また、ＩＯＤＭＡ回路は、ハイレベルのDATA_OUTOKが入力されているときに機能する回路となっている。
【００２０】
ＵＳＢ−ＩＰからブリッジ回路２２に入力されているWRRDY_UCLKは、データの書き込み要求信号である。ＩＯＤＭＡ回路からブリッジ回路２２に入力されているRDRDY_UCLKは、データの読み出し要求信号である。
【００２１】
そして、本実施形態に係るブリッジ回路２２は、“DATA_INOK=1 and WRRDY_UCLK=1”が成立している状態では、ＵＳＢ−ＩＰからの入力データをUCLKに同期した形でＦＩＦＯに記憶する処理を行い、“DATA_OUTOK=1 and RDRDY_MCLK=1”が成立している状態では、ＦＩＦＯに記憶されている各データをMCLKに同期した形で出力する処理を行う回路となっている。
【００２２】
以上のことを前提に、以下、ブリッジ回路２２の構成及び動作を、さらに具体的に説明する。なお、以下の説明では、Ｘレジスタ（Ｘ=WRPT_UCLK，WRPT_P_UCLK, etc.）から出力される信号／Ｘレジスタが保持している値のことを，Ｘと表記し、ＦＩＦＯに記憶可能なデータ数のことを，ＦＩＦＯ量と表記することにする。
【００２３】
本実施形態に係るブリッジ回路２２が備えるＦＩＦＯ（図２）は、１バイトのデータを５１２個記憶可能なＦＩＦＯ（ＦＩＦＯ量が256であるＦＩＦＯ）である。
【００２４】
ＩＮ側比較回路は、上記したDATA_INOKとして、“WRPT_UCLK-RDPT_UCLK＜ＦＩＦＯ量”が成立しているときにハイレベルとなる信号を出力する回路である。このＩＮ側比較回路は、UCLKで動作する回路（動作クロックとしてUCLKが入力されている回路）となっている。
【００２５】
ＯＵＴ側比較回路は、上記したDATA_OUTOKとして、“WRPT_MCLK≠RDPT_MCLK”が成立しているときにハイレベルとなる信号を出力する回路である。このＯＵＴ側比較回路は、MCLKで動作する回路となっている。
【００２６】
WRPT_UCLKレジスタは、その出力（WRPT_UCLK）が、入力されたデータの格納場所（ＦＩＦＯ内でのデータの格納位置）を指定する情報として使用されるレジスタ（いわゆるライトポインタ）である。このWRPT_UCLKレジスタは、図３に示してあるように、データの書き込みが行われる度に，その値が“１”インクリメントされるレジスタとなっている。
【００２７】
同図に示してあるように、WRPT_P_UCLKレジスタ，WRPT_MCLKレジスタは、それぞれ、UCLK，MCLKが動作クロックとして入力されているレジスタである。そして、WRPT_P_UCLKレジスタは、PLDがハイレベルになったときに、WRPT_UCLKがロードされるようにしたレジスタ（PLDが制御信号として入力されているセレクタを介してWRPT_UCLKレジスタと接続したレジスタ）となっている。また、WRPT_MCLKレジスタは、MLDがハイレベルになったときに、WRPT_P_UCLKがロードされるようにしたレジスタ（MLDが制御信号として入力されているセレクタを介してWRPT_P_UCLKレジスタと接続したレジスタ）となっている。
【００２８】
PLD，MLDは、いずれも、ブリッジ回路２２内に設けられている制御信号出力回路が出力する信号である。そして、制御信号出力回路が出力するPLDは、原則として、“WRPT_UCLK≠WRPT_P_UCLK”が成立したときに、１UCLK分、そのレベルがハイレベルとなる信号であると共に、PLDがハイレベルになった結果として、WRPT_P_UCLKレジスタへロードされた値の，WRPT_MCLKレジスタへのロードが完了するまでは、“WRPT_UCLK≠WRPT_P_UCLK”が成立しても、そのレベルがハイレベルとならない信号となっている。また、制御信号出力回路が出力するMLDは、WRPT_P_UCLKレジスタへ値がロードされた後に，１MCLK分、そのレベルがハイレベルとなる信号となっている。
【００２９】
ここで、図４を用いて、本実施形態に係るブリッジ回路２２内に設けられている制御信号出力回路の具体的な構成を、説明しておくことにする。
【００３０】
ブリッジ回路２２内に設けられている制御信号出力回路は、PLD及びMLDを生成するために、その内部で、PLD_UCLK0，PLD_L_MCLK0，PLD_L_MCLK1，PLD_L_MCLK2，MLD_UCLK0，MLD_UCLK1，MLD_UCLK2，MLD_TG_UCLKといった各種の信号が生成される回路となっている。
【００３１】
これらの信号のうち、PLD_UCLK0は、PLD=1でセット（=1）とされ、MLD_TG_UCLK=1でリセット（=0）とされる信号である。PLD_L_MCLK0は、PLD_UCLK0をMCLK同期した信号（PLD_UCLK0を，MCLKでラッチした信号／ラッチ時に不定状態を取り得る信号）である。PLD_L_MCLK1は、PLD_L_MCLK0をMCLK同期した信号であり、PLD_L_MCLK2は、PLD_L_MCLK1をMCLK同期した信号である。
【００３２】
MLD_UCLK0は、PLD_L_MCLK1をUCLK同期した信号（PLD_L_MCLK1を，UCLKでラッチした信号／ラッチ時に不定状態を取り得る信号）である。MLD_UCLK1は、MLD_UCLK0をUCLK同期した信号であり、MLD_UCLK2は、MLD_UCLK1をUCLK同期した信号である。
【００３３】
MLD_TG_UCLKは、“MLD_UCLK1=1 and MLD_UCLK2=0”が成立するときに、セットされる（ハイレベルとなる）信号である。
【００３４】
そして、制御信号出力回路は、“PLD_L_MCLK1=1 and PLD_L_MCLK2=0”が成立している場合にハイレベルとなる信号をMLDとして出力し、“WRPT_UCLK≠WRPT_P_UCLK and MLD_UCLK1=0”が成立したときに、１UCLK分、ハイレベルとなる信号をPLDとして出力するように、構成した回路となっている。
【００３５】
図２に戻って、ブリッジ回路２２内の残りのレジスタの用途・機能を、説明する。
【００３６】
RDPT_MCLKレジスタは、その出力（RDPT_MCLK）が、ＩＯＤＭＡ回路に対して出力するデータの格納場所を示す情報として使用されるレジスタ（いわゆるリードポインタ）である。このRDPT_MCLKレジスタは、データの出力（ＩＯＤＭＡ回路によるデータの読み出し）が行われる度に，その値が“１”インクリメントされるレジスタとなっている。
【００３７】
そして、ブリッジ回路２２内のRDPT_P_MCLKレジスタ，RDPT_UCLKレジスタは、それぞれ、WRPT_P_UCLKレジスタ，WRPT_MCLKレジスタに対するもの（図３，図４参照）と同様の制御が行われるレジスタとなっている。
【００３８】
以上の説明から明らかなように、本実施形態に係るブリッジ回路２２は、１個のＦＩＦＯでクロック乗り換えを行う回路となっている。このため、このブリッジ回路２２は、２個のＦＩＦＯを必要とする既存のブリッジ回路（図６）よりも回路規模が小さくて済む回路であるとともに、ＦＩＦＯの或る記憶領域に書き込まれたデータを即座に読み出せる回路（既存のブリッジ回路よりも高性能な回路）であることになる。
【００３９】
また、ブリッジ回路２２は、ＦＩＦＯの空き領域の有無を検出するための回路（ＩＮ側比較回路，WRPT_UCLKレジスタ，RDPT_UCLKレジスタ，RDPT_P_MCLKレジスタ，RDPT_MCLKレジスタ等からなる回路）と、読み出すべきデータの有無を検出するための回路（ＯＵＴ側比較回路，RDPT_MCLKレジスタ，WRPT_MCLKレジスタ，WRPT_P_UCLKレジスタ，WRPT_UCLKレジスタ等からなる回路）とが、独立して設けられている回路となっている。しかも、ＦＩＦＯの空き領域の有無／読み出すべきデータの有無を検出するためにブリッジ回路２２内に設けられている各回路は、『その値が前段レジスタの値と異なった場合に，前段のレジスタの値がロードされるレジスタであって、自レジスタの値の，後段のレジスタへのロードが完了するまでは、その値が前段のレジスタの値と異なっても，前段のレジスタの値がロードされないレジスタ』（WRPT_P_MCLKレジスタ，RDPT_P_UCLKレジスタ）を備えた回路となっている。従って、ブリッジ回路２２は、図５に示した構成、WRPT_UCLKレジスタ及びRDPT_UCLKレジスタの値から、DATA_INOK，DATA_OUTOKが生成される構成といったような他の構成を採用したシングルＦＩＦＯタイプのブリッジ回路よりも、ＦＩＦＯの管理（ブリッジ回路２２内のデータ管理）が正確に行える回路となっていることにもなる。
【００４０】
そして、プリンタ１０は、そのようなブリッジ回路２２が用いられたものとなっている。従って、本実施形態のプリンタ１０は、用いられているブリッジ回路２２が，既存のブリッジ回路よりも回路規模が小さく（製造コストが少なく）、かつ、既存のブリッジ回路よりも高性能なものである分、既存のプリンタよりも安価に製造でき、かつ、既存のブリッジ回路よりも高性能なプリンタとなっていると言うことが出来る。
【００４１】
《変形形態》
上記したプリンタ１０，ブリッジ回路２２は、各種の変形を行うことが出来る。例えば、プリンタ１０は、ＵＳＢインタフェースにて印刷データを受信するものであったが、ブリッジ回路２２は、パケット通信ではない通信にも使用できるもの（FIFOの切り替えが不必要なもの）となっている。このため、プリンタ１０を、他のインタフェースにて印刷データを受信するものに変形することが出来る。また、上記したブリッジ回路２２は、プリンタ用ＡＳＩＣ２０上の回路であったが、ブリッジ回路２２を独立した回路（ＩＣ）や、ＵＳＢ−ＩＰ等の通信インタフェース回路が搭載されていないＡＳＩＣ上の回路としておくことも出来る。
【００４２】
さらに、ブリッジ回路２２を、ＦＩＦＯのサイズや、PLD，MLDの生成手順が、上記したものと異なる回路としておいても良いことなどは、当然のことである。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態に係るプリンタの構成図。
【図２】実施形態に係るプリンタが備えるブリッジ回路の構成図。
【図３】実施形態に係るブリッジ回路の要部構成図。
【図４】実施形態に係るブリッジ回路の動作を説明するためのタイミングチャート。
【図５】クロック乗り換えのために使用可能な構成の説明図。
【図６】従来のブリッジ回路の構成図。
【図７】従来のプリンタの構成図。
【符号の説明】
【００４４】
１０，５０  プリンタ、  ２０，６０  プリンタ用ＡＳＩＣ、２２  ブリッジ回路
【図１】
2008276283.tif 000003
【図２】
2008276283.tif 000004
【図３】
2008276283.tif 000005
【図４】
2008276283.tif 000006
【図５】
2008276283.tif 000007
【図６】
2008276283.tif 000008
【図７】
2008276283.tif 000009