JP4135374B2 - 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 - Google Patents
拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 Download PDFInfo
- Publication number
- JP4135374B2 JP4135374B2 JP2002044698A JP2002044698A JP4135374B2 JP 4135374 B2 JP4135374 B2 JP 4135374B2 JP 2002044698 A JP2002044698 A JP 2002044698A JP 2002044698 A JP2002044698 A JP 2002044698A JP 4135374 B2 JP4135374 B2 JP 4135374B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- bits
- unit
- body side
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明は、PCI(Peripheral Component Interconnect)バスなどの拡張バスに接続可能な拡張カード、および拡張カードの記憶部へのデータ書き込み方法に関する。
【0002】
【従来の技術】
CPUおよびメモリとブリッジを介して結ばれたPCIバスに接続して使用され、コンピュータの機能を拡張するためのPCIカードが知られている。このようなPCIカードの1つとして、画像処理機能を有するDSP(Digital Signal Processor)を搭載したものが存在する。かかるDSPによる高速処理を実現するため、DSPを搭載したPCIカードの内部バスは、一般にバス幅が64ビットの高速バスとされる。
【0003】
ここで、高速な64ビット内部バスを利用してスキャナなどの外部デバイスとのデータのやり取りを行うため、DSPを搭載したPCIカードを外部デバイスインタフェースとして使用することが提案されている。
【0004】
この外部デバイスインタフェース用のPCIカードを使用して、たとえばスキャナにより取得された画像データをコンピュータ側のメモリに取り込む場合、コンピュータ側からPCIカードに設けられたバッファに対してリード命令が出される。つまり、スキャナから転送される画像データは、PCIカードのバッファに一旦記憶された後、上記リード命令にしたがって、バッファからPCIバスを通ってコンピュータ側のメモリに送られる。
【0005】
【発明が解決しようとする課題】
ところで、外部デバイスから入力されるデータのバッファリングを行う場合、一般に、先入れ先出し(FIFO)方式のバッファが使用される。したがって、上記した外部デバイスインタフェース用のPCIカードのバッファとしては、64ビット内部バス上に設けられることから、64ビット単位でFIFO方式によりデータを蓄積可能なバッファが使用される。これに対し、PCIカードが接続されるPCIバスとしては、バス幅が32ビットである32ビットPCIバスと、バス幅が64ビットである64ビットPCIバスとの2種類が存在する。
【0006】
このため、PCIカードが32ビットPCIバスに接続され、CPUが32ビットPCIバス経由でバッファにリードアクセスするときは、64ビットデータに対して2回のリード命令を出す必要がある。ここで、1回目のリード命令は、バッファに記憶されている64ビットデータのうち下位32ビットのデータに対する命令であり、2回目のリード命令は、バッファに記憶されている64ビットデータのうち上位32ビットのデータに対する命令である。一方、PCIカードが64ビットPCIバスに接続され、CPUが64ビットPCIバス経由でバッファにリードアクセスするときは、1回のリード命令を出せば済む。
【0007】
しかしながら、32ビットPCIバス経由で64ビットデータに対して2回のリード命令が出される場合、1回ごとにバッファから64ビット単位でデータが出力されてしまう。すなわち、1回目のリード命令により、64ビットバッファに記憶されている64ビットデータのすべてが出力されて、そのうちの下位32ビットのデータだけが32ビットPCIバスに転送され、2回目のリード命令により、次の64ビットデータが出力されて、そのうちの上位32ビットのデータだけが32ビットPCIバスに転送されることになる。このため、1回目のリード命令時に出力される64ビットデータの上位32ビットのデータ、および2回目のリード命令時に出力される64ビットデータの下位32ビットのデータが消滅してしまうという問題があった。
【0008】
本発明は、かかる課題を解決するためになされたものであり、本発明の目的は、拡張カードが接続される拡張バスのバス幅が32ビットまたは64ビットのいずれであっても、拡張カードに設けられたFIFO方式の記憶部に拡張バス経由でリードアクセスすることにより欠損のないデータを得ることである。
【0009】
【課題を解決するための手段】
本発明の目的は、下記する手段により達成される。
【0010】
(1)コンピュータ機器本体におけるバス幅が32ビットのコンピュータ機器本体側バスとバス幅が64ビットのコンピュータ機器本体側バスとの双方に接続可能なバス用接続部を有する拡張カードであって、前記拡張カードのデバイス用接続部を介して所定のデバイスからデータを受信して、受信されたデータを64ビット単位で先入れ先出し方式により一時的に記憶するFIFO型バッファ部と、バス幅が64ビットであり、前記FIFO型バッファ部が接続される内部バスと、前記内部バスに接続されており当該内部バスを介して前記FIFOバッファ部にアクセスしてデータを読み出し、読み出されたデータを前記バス用接続部を介して前記コンピュータ機器本体側バスに渡すプロセッサと、前記バス用接続部が接続される前記コンピュータ機器本体側バスのバス幅を検知するバス幅検知部と、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅に応じて、前記内部バスに接続されている前記FIFO型バッファ部へのデータのセット数を変更する書き込みモード設定部と、を有し、前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットである場合、前記FIFO型バッファ部に64ビット単位で同じ内容のデータを2セット分、セットするための書き込みモードの設定を行うことを特徴とする拡張カード。
(2)前記プロセッサは、画像処理機能を有するデジタルシグナルプロセッサであることを特徴とする上記(1)に記載の拡張カード。
【0012】
(3)前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数と、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数との比を1:2とすることを特徴とする上記(2)に記載の拡張カード。
【0013】
(4)前記コンピュータ機器本体側バスはPCIバスであることを特徴とする上記(2)または(3)に記載の拡張カード。
(5)前記所定のデバイスからデータが32ビット単位で第1のクロックにしたがって転送される場合、前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるとき、前記第1のクロックにしたがって64ビット単位でデータを前記記憶部に書き込む第1の書き込みモードの設定を行い、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるとき、前記第1のクロックに対し周波数が2分の1である第2のクロックにしたがって64ビット単位でデータを前記記憶部に書き込む第2の書き込みモードの設定を行うことを特徴とする上記(2)に記載の拡張カード。
(6)前記バス幅検知部は、前記バス用接続部が接続される前記コンピュータ機器本体側バスのバスの信号を用いて当該コンピュータ機器本体側バスのバス幅を検知することを特徴とする上記(2)〜(5)のいずれか1つに記載の拡張カード。
(7)前記データは、画像データであることを特徴とする上記(2)〜(6)のいずれか1つに記載の拡張カード。
(8)前記所定のデバイスは、原稿を読み取って画像データを取得する画像読取部を備えることを特徴とする上記(2)〜(7)のいずれか1つに記載の拡張カード。
【0014】
(9)コンピュータ機器本体におけるバス幅が32ビットのコンピュータ機器本体側バスとバス幅が64ビットのコンピュータ機器本体側バスとの双方に接続可能なバス用接続部を有する拡張カードに設けられたFIFO型バッファ部にデータを書き込むためのデータ書き込み方法であって、前記バス用接続部が接続されている前記コンピュータ機器本体側バスのバス幅が32ビットまたは64ビットのいずれであるかを検知する段階と、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅に応じて、バス幅が64ビットである内部バスに接続されている前記FIFO型バッファ部へのデータのセット数を変更する書き込みモード設定段階と、前記拡張カードのデバイス用接続部を介して所定のデバイスからデータを受信して、受信されたデータを64ビット単位で前記セット数分にわたって前記データを先入れ先出し方式により前記FIFO型バッファ部に一時的に書き込むデータ書き込み段階と、前記内部バスに接続されているプロセッサが、当該内部バスを介して前記FIFOバッファ部にアクセスしてデータを読み出す段階と、前記プロセッサが、読み出されたデータを前記バス用接続部を介して前記コンピュータ機器本体側バスに渡す段階と、を有し、前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットである場合、前記FIFO型バッファ部に64ビット単位で同じ内容のデータを2セット分、セットするための書き込みモードに設定し、前記データ書き込み段階では、前記検知されたバス幅が32ビットである場合、前記記憶部に64ビット単位で同じ内容のデータを先入れ先出し方式により2セット分、セットすることを特徴とするデータ書き込み方法。
(10)前記プロセッサは、画像処理機能を有するデジタルシグナルプロセッサであることを特徴とする上記(9)に記載のデータ書き込み方法。
(11)前記書き込みモード設定段階は、検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数と、検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数との比を1:2とすることを特徴とする上記(10)に記載のデータ書き込み方法。
【0015】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【0016】
図1は、本発明の一実施形態にかかる拡張カードを使用して構成された通信システムの構成を示すブロック図である。
【0017】
図1に示す通信システムは、多機能周辺機器(MFP:Multi-Function Peripheral)7を有しており、このMFP7は、通信ネットワーク6を介して図示しない他の機器と相互に通信可能に接続されている。通信ネットワーク6は、電話網、ISDN、パケット交換網等の公衆網、およびLAN、WAN、インターネット等のコンピュータネットワークを含むものである。
【0018】
図1に示すように、MFP7は、パソコン1、スキャナ3、操作パネル4、およびプリンタ5を有しており、パソコン1とスキャナ3とは、拡張カードとしてのPCIカード2を介して接続されている。
【0019】
MFP7は、スキャナ3で原稿を読み取って得た画像データをプリンタ5に送って印刷するという複写機としての機能のほかに、スキャナ3で取得された画像データを通信ネットワーク6を介して他の機器に送信するというネットワークスキャナとしての機能と、通信ネットワーク6を介して他の機器から受信したデータをプリンタ5で印刷するというネットワークプリンタとしての機能とを有している。操作パネル4は、ユーザがMFP7に対して各種操作指示を行うための操作部と各種の表示を行うための表示部とから構成される。
【0020】
図2は、パソコン1の構成の一例を示すブロック図である。
【0021】
図2に示すように、パソコン1は、CPU10、ブリッジ11、メモリ12、およびPCIスロット13を有している。CPU10とブリッジ11とは、フロントサイドバス14で結ばれ、ブリッジ11とメモリ12とは、メモリバス15で結ばれている。また、ブリッジ11とPCIスロット13とは、PCIバス16で結ばれている。なお、図2においては、PCIバス16を経由したデータ転送に関する構成要素が主として示されており、他の構成要素は図示省略する。
【0022】
CPU10は、制御プログラムにしたがって、各種の演算および制御を行う。ブリッジ11は、バス14〜16を介したデータの受け渡しを管理する。
【0023】
メモリ12は、ROMおよびRAMから構成されており、制御プログラムおよび各種データが記憶されると共に、プログラムを実行するための作業領域として一時的に使用される。PCIスロット13は、PCIカード2をPCIバス16に接続するために、PCIカード2が挿し込まれる接続部であり、通常複数設けられている。
【0024】
PCIバス16は、コンピュータの機能を拡張するための拡張バスの1つであり、バス幅が32ビットの32ビットPCIバス、またはより高速なデータ転送が可能なバス幅が64ビットの64ビットPCIバスである。
【0025】
本実施形態では、MFP7は、パソコン1をベースとして構成されている。したがって、パソコン1における各種ジョブの管理、周辺外部デバイスとの通信、ファイルフォーマット変換などの処理がソフトウエアにより実行され得る。このため、バージョンアップやバグの修正を容易に行うことができ、しかも、パソコンの性能向上に伴って全体的な処理能力も向上する利点がある。さらに、パソコン1のPCIスロット13に各種のPCIカード2を接続することにより、パソコン1の機能をハードウエアの面から拡張することが可能とされている。
【0026】
図3は、PCIカード2の構成の一例を示すブロック図である。
【0027】
図3に示すように、PCIカード2は、DSP20、SDRAM21、バッファ部22、バス用接続部23、およびデバイス用接続部24を有している。DSP20、SDRAM21、およびバッファ部22は、高速なデータ転送が可能なバス幅が64ビットのSDRAMバス26を介して相互に接続されている。
【0028】
DSP20は、PCIブリッジ200、演算部201、およびSDRAMコントローラ202を有している。PCIブリッジ200は、バス用接続部23がパソコン1のPCIスロット13に挿し込まれることにより、パソコン1のPCIバス16を介してブリッジ11と接続される。このPCIブリッジ200は、PCIバス16を介したデータの受け渡しを管理する。演算部201は、たとえば画像処理のための高速演算を行う。SDRAMコントローラ202は、SDRAMバス26の制御を行う。SDRAM21は、各種演算処理のためのデータなどを記憶するシンクロナスDRAMである。
【0029】
バッファ部22は、書き込み部220、バッファ221、読み出し部222、およびバス幅検知部223を有している。書き込み部220は、たとえばデバイス用接続部24を介して転送されるデータを受信し、受信したデータをバッファ221に書き込む。バッファ221は、書き込み部220により書き込まれたデータを64ビット単位でFIFO方式により蓄積する。読み出し部222は、バッファ221に蓄積されているデータを読み出す。また、読み出し部222は、読み出したデータをSDRAMバス26で使用されるデータ形式に変換する。バス幅検知部223は、バス用接続部23が接続されるPCIバス16のバス幅を検知する。
【0030】
バス用接続部23は、PCIカード2をPCIバス16に接続するための、パソコン1のPCIスロット13に挿し込み可能な接続端子である。ここで、PCIカード2は、32ビットPCIバスおよび64ビットPCIバスの任意の一方に接続可能とされている。デバイス用接続部24は、PCIカード2をスキャナ3などの外部デバイスと接続するためのコネクタである。
【0031】
次に、図4を参照して、バッファ部22の構成の一例を詳細に説明する。
【0032】
図4に示すように、書き込み部220は、データ変換部2200と、2分周回路2201とを有している。データ変換部2200は、スキャナ3から転送される32ビットデータS#DATAを64ビットデータに変換する。2分周回路2201は、スキャナ3から32ビットデータが転送されるときの同期クロックである第1クロックS#CLKから、第1クロックの周波数を2分の1にした第2クロックHS#CLKを生成する。本実施形態では、スキャナ3から転送されるデータの幅は32ビットであるため、64ビット単位で記憶されるバッファ221に書き込む前に、データ変換部2200によりデータ幅が64ビットに変換される。この変換によりデータ幅が2倍となるため、データ変換部2200におけるデータ同期クロックは、図示のように第2クロックとなる。
【0033】
バス幅検知部223には、REQ64#信号が入力される。REQ64#信号は、PCIバス16を介したデータ転送の開始を示すFRAME#信号と同時にL(Low)となる場合、バス用接続部23が接続されるPCIバス16が64ビットPCIバスであることを示すPCIバス信号の1つである。バス幅検知部223は、D−FF(D−フリップフロップ)から構成されており、FRAME#信号をインバータ224で反転した信号が加えられた際のREQ64#信号がラッチされて、Detect64信号として出力される。このように、バス幅検知部223は、REQ64#信号を用いてPCIバス16のバス幅を検知し、PCIバス16が64ビットPCIバスである場合にL(Low)、PCIバス16が32ビットPCIバスである場合にH(High)となるDetect64信号を出力する。
【0034】
また、書き込み部220は、OR回路2202、AND回路2203、2204、およびインバータ2205から構成される書き込みモード設定部を有している。この書き込みモード設定部は、バス幅検知部223からのDetect64信号に応じて、スキャナ3から転送されるデータに基づくバッファ221への書き込み内容を規定するための書き込みモードを設定する。具体的には、Detect64信号に応じて、バッファ221へのデータ書き込み用クロックが、第1クロックまたは第2クロックのいずれかに切り替えられる。
【0035】
図5は、スキャナ3の構成の一例を示すブロック図である。
【0036】
スキャナ3は、CPU30、メモリ31、画像読取部32、およびインタフェース33を備えており、これらはバス35を介して相互に接続されている。
【0037】
CPU30は、制御プログラムにしたがって、各種の演算および制御を行う。メモリ31は、ROMおよびRAMから構成されており、制御プログラムおよび各種データが記憶されると共に、プログラムを実行するための作業領域として一時的に使用される。画像読取部32は、原稿を読み取って画像データを取得する。具体的には、原稿読取部32は、所定の読取位置にセットされた原稿に光を当て、その反射光をCCDなどの受光素子を用いて電気信号に変換し、この電気信号から画像データを生成する。原稿読取部32は、自動原稿搬送装置(ADF)を備えていてもよい。インタフェース33は、スキャナ3をPCIカード2に接続するためのインタフェースである。
【0038】
次に、図6〜図8を参照して、MFP7における画像読取処理の手順の一例について説明する。ここでは、パソコン1に対する外部デバイスとしてのスキャナ3で原稿を読み取って得た画像データを、パソコン1のメモリ12に転送する処理について説明する。
【0039】
まず、図6を参照して、PCIカード2におけるDSP20の動作について説明する。図6のフローチャートに示されるアルゴリズムは、プログラムとして図示しない記憶部に記憶されており、CPU10からのリード命令に基づいてDRAMコントローラ202によって実行される。
【0040】
ステップS101では、画像読取処理の間、常に、バッファ221がデータで満杯(FULL)であるか否かが判断される。すなわち、SDRAMコントローラ202は、バッファ部22の読み出し部222における図示しないバッファステータスレジスタをポーリングし、バッファ221がFULLか否かを判断する。バッファ221がFULLの場合(ステップS101:YES)、ステップS102の処理が実行され、バッファ221がFULLでない場合(ステップS101:NO)、バッファ221がFULLになるまで待機する。
【0041】
ステップS102では、バッファ221に蓄積されたデータが読み出される。ここで、PCIカード2が接続されるPCIバス16が64ビットPCIバスである場合、1回のリード命令で64ビットデータが読み出される。一方、PCIカード2が接続されるPCIバス16が32ビットPCIバスである場合、2回のリード命令が組となって発行され、1回目のリード命令でバッファ221に記憶されている64ビットデータのうち下位32ビットのデータが読み出され、2回目のリード命令でバッファ221に記憶されている次の64ビットデータのうち上位32ビットのデータが読み出される。この場合、1回目のリード命令時における最初の64ビットデータのうち上位32ビットのデータと、2回目のリード命令時における次の64ビットデータのうち下位32ビットのデータとは、結果的に破棄されることになる。なお、バッファ221から読み出されたデータは、PCIバス16を介してパソコン1のメモリ12に転送される。
【0042】
ステップS103では、バッファ221内のデータが空(EMPTY)であるか否かが判断される。すなわち、SDRAMコントローラ202は、再度、読み出し部222におけるバッファステータスレジスタをポーリングし、バッファ221がEMPTYか否かを判断する。バッファ221がEMPTYでない場合(ステップS103:NO)、ステップS102に戻る。一方、バッファ221がEMPTYとなった場合(ステップS101:YES)、ステップS101に戻って、次のデータに対する処理が行われる。
【0043】
次に、図7を参照して、スキャナ3における画像データの転送処理について説明する。図7のフローチャートに示されるアルゴリズムは、プログラムとしてメモリ31に記憶されており、CPU30によって実行される。
【0044】
ステップS201では、バッファ221からの信号に基づいて、PCIカード2のバッファ221がEMPTYであるか否かが判断される。バッファ221がEMPTYの場合(ステップS201:YES)、ステップS202の処理が実行され、バッファ221がEMPTYでない場合(ステップS201:NO)、バッファ221がEMPTYになるまで待機する。
【0045】
ステップS202では、原稿を読み取って得た画像データの出力準備が完了したか否かが判断される。画像データの出力準備が完了した場合(ステップS202:YES)、ステップS203の処理が実行され、出力準備が完了していない場合(ステップS202:NO)、出力準備が完了するまで待機する。
【0046】
ステップS203では、PCIカード2に対して、書き込み要求が出力される。すなわち、PCIカード2のバッファ221へのデータ書き込みを要求するためのWRREQ信号がHにドライブされる。
【0047】
ステップS204では、PCIカード2に対して、前述した第1クロックに同期して、取得した画像データが32ビット単位で出力される。
【0048】
ステップS205では、バッファ221からの信号に基づいて、PCIカード2のバッファ221がFULLであるか否かが判断される。バッファ221がFULLでない場合(ステップS205:NO)、ステップS204に戻る。一方、バッファ221がFULLとなった場合(ステップS205:YES)、ステップS201に戻って、次のデータに対する処理が行われる。
【0049】
次に、図4、図8〜図10を参照して、PCIカード2におけるバッファ部22の動作について説明する。図8は、PCIカード2におけるバッファ部22の動作を示すフローチャート、図9は、PCIカード2が64ビットPCIバスに接続された場合のPCIバス信号の一例を示すタイミングチャート、図10は、PCIカード2が32ビットPCIバスに接続された場合のPCIバス信号の一例を示すタイミングチャートである。
【0050】
ステップS301では、PCIバス16のFRAME#信号がLであるか否かが判断される。図9および図10に示すように、FRAME#信号は、HからLになることによってPCIバス16を介したデータ転送の開始を示す。FRAME#信号がLである場合(ステップS301:YES)、ステップS302の処理が実行され、FRAME#信号がLでない場合(ステップS301:NO)、FRAME#信号がLとなるまで待機する。
【0051】
ステップS302では、PCIバス16のREQ64#信号がLであるか否かが判断される。REQ64#信号がLである場合(ステップS302:YES、図9参照)、バス幅検知部223のDetect64信号がLとなり、バス用接続部23が接続されたPCIバス16が64ビットPCIバスであると判断され、ステップS303の処理が実行される。一方、REQ64#信号がLでない場合(ステップS302:NO、図10参照)、バス幅検知部223のDetect64信号がHとなり、バス用接続部23が接続されたPCIバス16が32ビットPCIバスであると判断され、ステップS304の処理が実行される。
【0052】
ステップS303では、バッファ221の書き込みクロック端子WRCLKに入力されるデータ書き込み用クロックが、第2クロック、すなわちスキャナ3から32ビットデータが転送されるときの同期クロックである第1クロックの周波数を2分の1にした第2クロックに設定される。
【0053】
ステップS304では、バッファ221の書き込みクロック端子WRCLKに入力されるデータ書き込み用クロックが、第1クロック、すなわちスキャナ3から32ビットデータが転送されるときの同期クロックである第1クロックに設定される。
【0054】
なお、図6〜図8に示される処理の実行は、PCIバス16を介して所定の全データが転送されたときに終了する。
【0055】
図6〜図8を参照して説明したように、PCIカード2が接続されるPCIバスが64ビットPCIバスである場合、スキャナ3から32ビットデータが転送されるときの同期クロックである第1クロックの周波数を2分の1にした第2クロックを用いてバッファ221にデータが書き込まれる。このときのデータ書き込み用クロックである第2クロックは、データ変換部2220におけるデータ同期クロックと同じであるため、バッファ221に64ビット単位で1回ずつデータを書き込むことになる。したがって、64ビットPCIバスを介して1回のリード命令で64ビットデータを読み出すことができる。すなわち、図9に示すように、たとえばデータD1、D2の合計64ビットデータが一度に転送される。なお、ここでは、1回のアドレス信号の送出で複数のデータを連続的に転送するバースト転送が行われる。
【0056】
一方、PCIカード2が接続されるPCIバス16が32ビットPCIバスである場合、スキャナ3から32ビットデータが転送されるときの同期クロックである第1クロックを用いてバッファ221にデータが書き込まれる。このときのデータ書き込み用クロックである第1クロックは、データ変換部2220におけるデータ同期クロックである第2クロックに対して周波数が2倍となるため、バッファ221に64ビット単位で同じ内容のデータを2回書き込むことになる。したがって、32ビットPCIバスを介して、1回目のリード命令でバッファ221に記憶されている64ビットデータのうち下位32ビットのデータ(たとえば図10のデータD1)が読み出され、2回目のリード命令でバッファ221に記憶されている次の64ビットデータのうち上位32ビットのデータ(たとえば図10のデータD2)が読み出されるリードアクセスが行われた場合であっても、スキャナ3から転送される画像データを欠損することなく読み出すことが可能となる。
【0057】
このように、本実施形態によれば、バス幅検知部223により検知されたPCIバス16のバス幅に応じて、スキャナ3から転送される画像データに基づくバッファ221への書き込み内容を規定するための書き込みモードを設定する。したがって、PCIバス16のバス幅が32ビットである場合にバッファ221に64ビット単位で同じ内容のデータを2回書き込むことが可能となり、PCIカード2が接続されるPCIバス16のバス幅が32ビットまたは64ビットのいずれであっても、PCIカード2に設けられたFIFO方式のバッファ221にPCIバス16経由でリードアクセスすることにより欠損のないデータを得ることができる。
【0058】
本発明は、上記した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【0059】
たとえば、上記した実施形態では、バッファ221へ書き込むためのデータを転送する外部デバイスとして原稿を読み取るタイプのスキャナを例示して説明したが、外部デバイスは特に上記スキャナに限定されるものではなく、フィルムスキャナ、デジタルカメラ、汎用デバイスなどのクロック同期でデータ転送を行うデバイスであれば何でもよい。さらに、本発明は、外部デバイスインタフェース用のPCIカードに限定されるものではなく、PCIカード2内におけるたとえば画像データに対して圧縮処理を行う圧縮デバイスなどの所定のデバイスからバッファ221へ書き込むためのデータを転送する場合にも適用可能である。
【0060】
また、上記した実施形態では、PCIバスに接続可能なPCIカードを例示して説明したが、PCIバスと同様なバス幅を有する他の拡張バスに接続可能な拡張カードにも適用可能である。
【0061】
また、上記した実施形態では、PCIカード2に対して、32ビット単位でデータが転送される場合について説明したが、本発明はこれに限定されるものではなく、たとえば64ビット単位などの他のビット単位でデータが転送される場合にも適用可能である。この場合も上記した実施形態と同様に、PCIバスのバス幅が64ビットであるときのバッファ221へのデータ書き込み用クロックの周波数と、PCIバスのバス幅が32ビットであるときのバッファ221へのデータ書き込み用クロックの周波数との比を1:2にする必要がある。ただし、PCIバスのバス幅が64ビットである場合、外部デバイスから64ビットデータが転送されるときの同期クロックを用いてバッファ221にデータが書き込まれ、一方、PCIバスのバス幅が32ビットである場合、外部デバイスから64ビットデータが転送されるときの同期クロックの周波数を2倍にしたクロックを用いてバッファ221にデータが書き込まれる点で、上記した実施形態と相違するものとなる。
【0062】
また、本発明は、好ましくは画像データを転送する場合に適用されるが、これに限定されるものではなく、他のデータを転送する場合にも適用可能である。
【0063】
また、上記した実施形態では、PCIカード2が適用される対象がMFPである場合について説明したが、本発明はこれに限定されるものではなく、複写機、画像処理装置、コンピュータなどの他の機器にも適用可能である。
【0069】
【発明の効果】
以上説明したように、本発明によれば、検知されたコンピュータ機器本体側バスのバス幅が32ビットである場合、前記記憶部に64ビット単位で同じ内容のデータを先入れ先出し方式により2セット分、セットするので、拡張カードが接続される拡張バスのバス幅が32ビットまたは64ビットのいずれであっても、拡張カード内でコンピュータ機器本体側バスへデータを渡すプロセッサを変更することなく、プロセッサが64ビット幅の内部バスを介してFIFO型バッファ部へアクセスする方式を維持したまま、拡張カードに設けられた先入れ先出し方式の記憶部に拡張バス経由でリードアクセスすることにより欠損のないデータを得ることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態にかかる拡張カードを使用して構成された通信システムの構成を示すブロック図である。
【図2】 パソコン1の構成の一例を示すブロック図である。
【図3】 PCIカード2の構成の一例を示すブロック図である。
【図4】 バッファ部22の構成の一例を詳細に示す図である。
【図5】 スキャナ3の構成の一例を示すブロック図である。
【図6】 PCIカード2におけるDSP20の動作を示すフローチャートである。
【図7】 スキャナ3における画像データの転送処理を示すフローチャートである。
【図8】 PCIカード2におけるバッファ部22の動作を示すフローチャートである。
【図9】 PCIカード2が64ビットPCIバスに接続された場合のPCIバス信号の一例を示すタイミングチャートである。
【図10】 PCIカード2が32ビットPCIバスに接続された場合のPCIバス信号の一例を示すタイミングチャートである。
【符号の説明】
1…パソコン、
10…CPU、
11…ブリッジ、
12…メモリ、
13…PCIスロット、
16…PCI バス、
2…PCIカード(拡張カード)、
20…DSP、
22…バッファ部、
220…書き込み部、
221…バッファ、
222…読み出し部、
223…バス幅検知部、
23…バス用接続部、
26…SDRAMバス、
3…スキャナ(デバイス)、
32…画像読取部、
4…操作パネル、
5…プリンタ、
6…通信ネットワーク、
7…MFP。
Claims (11)
- コンピュータ機器本体におけるバス幅が32ビットのコンピュータ機器本体側バスとバス幅が64ビットのコンピュータ機器本体側バスとの双方に接続可能なバス用接続部を有する拡張カードであって、
前記拡張カードのデバイス用接続部を介して所定のデバイスからデータを受信して、受信されたデータを64ビット単位で先入れ先出し方式により一時的に記憶するFIFO型バッファ部と、
バス幅が64ビットであり、前記FIFO型バッファ部が接続される内部バスと、
前記内部バスに接続されており当該内部バスを介して前記FIFOバッファ部にアクセスしてデータを読み出し、読み出されたデータを前記バス用接続部を介して前記コンピュータ機器本体側バスに渡すプロセッサと、
前記バス用接続部が接続される前記コンピュータ機器本体側バスのバス幅を検知するバス幅検知部と、
前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅に応じて、前記内部バスに接続されている前記FIFO型バッファ部へのデータのセット数を変更する書き込みモード設定部と、を有し、
前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットである場合、前記FIFO型バッファ部に64ビット単位で同じ内容のデータを2セット分、セットするための書き込みモードの設定を行うことを特徴とする拡張カード。 - 前記プロセッサは、画像処理機能を有するデジタルシグナルプロセッサであることを特徴とする請求項1に記載の拡張カード。
- 前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数と、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数との比を1:2とすることを特徴とする請求項2に記載の拡張カード。
- 前記コンピュータ機器本体側バスはPCIバスであることを特徴とする請求項2または3に記載の拡張カード。
- 前記所定のデバイスからデータが32ビット単位で第1のクロックにしたがって転送される場合、前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるとき、前記第1のクロックにしたがって64ビット単位でデータを前記記憶部に書き込む第1の書き込みモードの設定を行い、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるとき、前記第1のクロックに対し周波数が2分の1である第2のクロックにしたがって64ビット単位でデータを前記記憶部に書き込む第2の書き込みモードの設定を行うことを特徴とする請求項2に記載の拡張カード。
- 前記バス幅検知部は、前記バス用接続部が接続される前記コンピュータ機器本体側バスのバスの信号を用いて当該コンピュータ機器本体側バスのバス幅を検知することを特徴とする請求項2〜5のいずれか1つに記載の拡張カード。
- 前記データは、画像データであることを特徴とする請求項2〜6のいずれか1つに記載の拡張カード。
- 前記所定のデバイスは、原稿を読み取って画像データを取得する画像読取部を備えることを特徴とする請求項2〜7のいずれか1つに記載の拡張カード。
- コンピュータ機器本体におけるバス幅が32ビットのコンピュータ機器本体側バスとバス幅が64ビットのコンピュータ機器本体側バスとの双方に接続可能なバス用接続部を有する拡張カードに設けられたFIFO型バッファ部にデータを書き込むためのデータ書き込み方法であって、
前記バス用接続部が接続されている前記コンピュータ機器本体側バスのバス幅が32ビットまたは64ビットのいずれであるかを検知する段階と、
前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅に応じて、バス幅が64ビットである内部バスに接続されている前記FIFO型バッファ部へのデータのセット数を変更する書き込みモード設定段階と、
前記拡張カードのデバイス用接続部を介して所定のデバイスからデータを受信して、受信されたデータを64ビット単位で前記セット数分にわたって前記データを先入れ先出し方式により前記FIFO型バッファ部に一時的に書き込むデータ書き込み段階と、
前記内部バスに接続されているプロセッサが、当該内部バスを介して前記FIFOバッファ部にアクセスしてデータを読み出す段階と、
前記プロセッサが、読み出されたデータを前記バス用接続部を介して前記コンピュータ機器本体側バスに渡す段階と、を有し、
前記書き込みモード設定部は、前記バス幅検知部により検知された前記コンピュータ機器本体側バスのバス幅が32ビットである場合、前記FIFO型バッファ部に64ビット単位で同じ内容のデータを2セット分、セットするための書き込みモードに設定し、
前記データ書き込み段階では、前記検知されたバス幅が32ビットである場合、前記記憶部に64ビット単位で同じ内容のデータを先入れ先出し方式により2セット分、セットすることを特徴とするデータ書き込み方法。 - 前記プロセッサは、画像処理機能を有するデジタルシグナルプロセッサであることを特徴とする請求項9に記載のデータ書き込み方法。
- 前記書き込みモード設定段階は、検知された前記コンピュータ機器本体側バスのバス幅が64ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数と、検知された前記コンピュータ機器本体側バスのバス幅が32ビットであるときの前記記憶部へのデータ書き込み用クロックの周波数との比を1:2とすることを特徴とする請求項10に記載のデータ書き込み方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002044698A JP4135374B2 (ja) | 2002-02-21 | 2002-02-21 | 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002044698A JP4135374B2 (ja) | 2002-02-21 | 2002-02-21 | 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003242101A JP2003242101A (ja) | 2003-08-29 |
JP2003242101A5 JP2003242101A5 (ja) | 2005-06-23 |
JP4135374B2 true JP4135374B2 (ja) | 2008-08-20 |
Family
ID=27783969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002044698A Expired - Fee Related JP4135374B2 (ja) | 2002-02-21 | 2002-02-21 | 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4135374B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20022113A (fi) * | 2002-11-29 | 2004-08-06 | Nokia Corp | Menetelmä ja järjestelmä väyläleveyden tunnistamiseksi, elektroniikkalaite ja oheislaite |
JP4652274B2 (ja) * | 2006-05-10 | 2011-03-16 | 富士フイルム株式会社 | デジタルカメラ |
-
2002
- 2002-02-21 JP JP2002044698A patent/JP4135374B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003242101A (ja) | 2003-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7724388B2 (en) | Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method | |
CN105915780B (zh) | 图像信号处理器和包括图像信号处理器的装置 | |
TW541459B (en) | Direct memory access controller for converting a transfer mode flexibly in accordance with a data transfer counter value | |
JP2008107937A (ja) | バスリピータ | |
EP1355487A1 (en) | Data transfer device | |
JP4135374B2 (ja) | 拡張カードおよび拡張カードの記憶部へのデータ書き込み方法 | |
JP4928497B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体 | |
JP3523181B2 (ja) | 非同期バスインタフェース回路及びマイクロコンピュータ | |
JP3730586B2 (ja) | 画像処理装置 | |
JP3970728B2 (ja) | データ通信装置 | |
JP2001338286A (ja) | 画像処理方法と装置 | |
JP6833491B2 (ja) | 情報処理装置 | |
JP2006094400A (ja) | 画像処理装置および画像処理方法 | |
KR100570786B1 (ko) | 복합기기의 제어기 | |
JP3295875B2 (ja) | ファクシミリ装置 | |
JP2009069974A (ja) | バスインターフェース回路および情報処理装置 | |
JP2001167046A (ja) | 画像処理装置 | |
JP2001103227A (ja) | 情報出力装置 | |
JP4158575B2 (ja) | データ処理システム | |
JP3339782B2 (ja) | 多機能周辺装置 | |
TW417394B (en) | JPEG interface model and method capable of reading a predetermined image data from an A/D converter to the memory of JPEG integrated circuit for storage | |
JPH1153131A (ja) | 印刷装置 | |
JP2567428B2 (ja) | データ転送速度変換装置 | |
JP2002042123A (ja) | 画像処理装置および画像処理方法 | |
JP2004355041A (ja) | Dma転送中継装置,dma転送方法,及びdma転送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041006 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041006 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041006 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080415 |
|
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: 20080513 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080526 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |