(57)【要約】【課題】  ２つの装置間のアクセスの衝突によるデータ転送の誤動作を防止する。【解決手段】  衝突検出部１０では、第２の装置がＦＩＦＯメモリ１からデータの読み出しを行っているときに、第１の装置からカウンタ２のカウント値ＣＮＴを読み出すための状態読出信号ＳＲ１を検出した場合に、このカウンタ２のカウント値に拘らずＦＩＦＯメモリ１が満杯であることを示す値を第１の装置に出力する。また、衝突検出部２０では、第１の装置がＦＩＦＯメモリ１にデータの書き込みを行っているときに、第２の装置からカウンタ２のカウント値ＣＮＴを読み出すための状態読出信号ＳＲ２を検出した場合に、このカウンタ２のカウント値ＣＮＴに拘らずＦＩＦＯメモリ１が空であることを示す値を第２の装置に出力する。【選択図】      図１
2005174090.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置から与えられるデータと書込制御信号に従って該データを順次格納し、第２の装置から与えられる読出制御信号に従って該格納されたデータをその格納された順に読み出す先入れ先出しメモリと、
前記書込制御信号に従ってカウントアップし、前記読出制御信号に従ってカウントダウンすることによって前記先入れ先出しメモリに格納されているデータ数を出力するカウンタと、
前記第２の装置が前記先入れ先出しメモリからデータの読み出しを行っているときに、前記第１の装置から前記カウンタのカウント値を読み出すための第１の状態読出信号を検出した場合に、該カウンタのカウント値に拘らず該先入れ先出しメモリが満杯であることを示す値を該第１の装置に出力する第１の衝突検出部と、
前記第１の装置が前記先入れ先出しメモリにデータの書き込みを行っているときに、前記第２の装置から前記カウンタのカウント値を読み出すための第２の状態読出信号を検出した場合に、該カウンタのカウント値に拘らず該先入れ先出しメモリが空であることを示す値を該第２の装置に出力する第２の衝突検出部とを、
備えたことを特徴とするデータ転送回路。
【請求項２】
前記第１の衝突検出部は、
前記第１の状態読出信号を遅延させて第１の遅延信号を出力する第１の遅延部と、前記第１の遅延信号を遅延させて第２の遅延信号を出力する第２の遅延部と、前記第１の状態読出信号のタイミングで前記読出制御信号の状態を保持する第１の保持部と、前記第２の遅延信号のタイミングで前記読出制御信号の状態を保持する第２の保持部と、前記第１の遅延信号のタイミングで前記カウンタのカウント値を保持すると共に、前記第１及び第２の保持部の一方または両方に前記第２の装置が前記先入れ先出しメモリからデータの読み出しを行っていることを示す状態が保持されたときには、該カウンタのカウント値に代えて該先入れ先出しメモリが満杯であることを示す値を保持して前記第１の装置に出力する第１のレジスタとを備え、
前記第２の衝突検出部は、
前記第２の状態読出信号を遅延させて第３の遅延信号を出力する第３の遅延部と、前記第３の遅延信号を遅延させて第４の遅延信号を出力する第４の遅延部と、前記第２の状態読出信号のタイミングで前記書込制御信号の状態を保持する第３の保持部と、前記第４の遅延信号のタイミングで前記書込制御信号の状態を保持する第４の保持部と、前記第３の遅延信号のタイミングで前記カウンタのカウント値を保持すると共に、前記第３及び第４の保持部の一方または両方に前記第１の装置が前記先入れ先出しメモリにデータの書き込みを行っていることを示す状態が保持されたときには、該カウンタのカウント値に代えて該先入れ先出しメモリが空であることを示す値を保持して前記第２の装置に出力する第２のレジスタとを備えたことを特徴とする請求項１記載のデータ転送回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＩＦＯ（first-in first-out：先入れ先出し）バッファを用いてデータ転送を行うデータ転送回路に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２００３−２３４６９号公報
【０００３】
図２は、ＦＩＦＯバッファを用いた従来のデータ転送回路の構成図で、例えばＰＨＳ（Personal Handyphone System）とノート型パーソナルコンピュータ（以下、「パソコン」という）の間でデータ転送を行うためのデータ通信カードに組み込まれるものである。
【０００４】
このデータ転送回路は、例えば、図の左側に接続されるＰＨＳから右側に接続されるパソコンへデータを転送するもので、ＦＩＦＯメモリ１、カウンタ２、バッファ３及びセレクタ４を有している。
【０００５】
ＦＩＦＯメモリ１は、書込データＷＤＴを、書込制御信号ＷＥＮに従って順次格納すると共に、読出制御信号ＲＥＮに従って古いものから順番に読み出し、読出データＲＤＴとして出力するものである。カウンタ２は、ＦＩＦＯメモリ１に格納されているデータ数をカウント値ＣＮＴとして出力するもので、アップダウン・カウンタで構成され、書込制御信号ＷＥＮによってカウント値ＣＮＴが増加し、読出制御信号ＲＥＮによってこのカウント値ＣＮＴが減少するようになっている。
【０００６】
バッファ３は、カウンタ２から出力されるカウント値ＣＮＴを、状態読出信号ＳＲ１に従ってカウント値ＷＣＴとして出力するものである。セレクタ４は、ＦＩＦＯメモリ１の読出データＲＤＴまたはカウンタ２のカウント値ＣＮＴを、状態読出信号ＳＲ２に従って選択して、データＤＡＴとして出力するものである。
【０００７】
このようなデータ転送回路において、ＰＨＳ側からパソコン側への転送すべきデータが発生した場合、ＰＨＳでは状態読出信号ＳＲ１によってカウンタ２のカウント値ＣＮＴを読み出し、書き込み可能なデータ数を確認した後、書込データＷＤＴをＦＩＦＯメモリ１に書き込む。一方、パソコン側では、周期的に状態読出信号ＳＲ２によってカウンタ２のカウント値ＣＮＴを読み出し、読み出し可能なデータ数を確認した後、ＦＩＦＯメモリ１中のデータを読み出す。これにより、ＰＨＳ側からパソコン側への非同期データ転送が行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記データ転送回路では、ＰＨＳ側からＦＩＦＯメモリ１へ書込データＷＤＴを書き込んでいるときに、パソコン側からカウンタ２のカウント値ＣＮＴを読み出すと、不確定なカウント値ＣＮＴが読み出され、実際に格納されているデータよりも多い読出データＲＤＴを読み出してしまうという問題があった。同様に、パソコン側でＦＩＦＯメモリ１から読出データＲＤＴを読み出しているときに、ＰＨＳ側からカウンタ２のカウント値ＣＮＴを読み出すと、不確定なカウント値ＣＮＴが読み出され、空き領域を越える書込データＷＤＴを書き込んでしまうという問題があった。
【０００９】
本発明は、不確定なカウント値ＣＮＴによるデータ転送の誤動作を防止し、確実なデータ転送が可能なデータ転送回路を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明のデータ転送回路は、第１の装置から与えられるデータと書込制御信号に従って該データを順次格納し、第２の装置から与えられる読出制御信号に従って該格納されたデータをその格納された順に読み出すＦＩＦＯメモリと、前記書込制御信号に従ってカウントアップし、前記読出制御信号に従ってカウントダウンすることによって前記ＦＩＦＯメモリに格納されているデータ数を出力するカウンタと、前記第２の装置が前記ＦＩＦＯメモリからデータの読み出しを行っているときに、前記第１の装置から前記カウンタのカウント値を読み出すための第１の状態読出信号を検出した場合に、該カウンタのカウント値に拘らず該ＦＩＦＯメモリが満杯であることを示す値を該第１の装置に出力する第１の衝突検出部と、前記第１の装置が前記ＦＩＦＯメモリにデータの書き込みを行っているときに、前記第２の装置から前記カウンタのカウント値を読み出すための第２の状態読出信号を検出した場合に、該カウンタのカウント値に拘らず該ＦＩＦＯメモリが空であることを示す値を該第２の装置に出力する第２の衝突検出部とを備えたことを特徴としている。
【発明の効果】
【００１１】
本発明では、第２の装置がＦＩＦＯメモリからデータの読み出しを行っているときに、第１の装置からカウンタのカウント値を読み出すための状態読出信号を検出した場合に、このカウンタのカウント値に拘らずＦＩＦＯメモリが満杯であることを示す値を第１の装置に出力する第１の衝突検出部と、第１の装置がＦＩＦＯメモリにデータの書き込みを行っているときに、第２の装置からカウンタのカウント値を読み出すための状態読出信号を検出した場合に、このカウンタのカウント値に拘らずＦＩＦＯメモリが空であることを示す値を第２の装置に出力する第２の衝突検出部を備えている。
【００１２】
これにより、アクセスが衝突した場合に、第１の装置ではＦＩＦＯメモリが満杯であると判断され、このＦＩＦＯメモリへの書き込みが抑制される。また、第２の装置では、ＦＩＦＯメモリが空であると判断され、このＦＩＦＯメモリからの読み出しが抑制される。従って、不確定なカウント値に基づくデータ転送の誤動作が防止され、確実なデータ転送が可能になるという効果がある。
【発明を実施するための最良の形態】
【００１３】
この発明の前記並びにその他の目的と新規な特徴は、次の、好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例】
【００１４】
図１は、本発明の実施例を示すデータ転送回路の構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００１５】
このデータ転送回路は、例えば、図の左側に接続される第１の装置（例えば、ＰＨＳ）から右側に接続される第２の装置（例えば、パソコン）へデータを転送するもので、図２と同様のＦＩＦＯメモリ１、カウンタ２、バッファ３及びセレクタ４に加えて、衝突検出部１０，２０を有している。
【００１６】
ＦＩＦＯメモリ１は、ＰＨＳ側から与えられる書込データＷＤＴを、書込制御信号ＷＥＮに従って順次格納し、パソコン側から与えられる読出制御信号ＲＥＮに従って古いものから順番に読み出して、読出データＲＤＴとして出力するものである。カウンタ２は、ＦＩＦＯメモリ１に格納されているデータ数をカウント値ＣＮＴとして出力するもので、アップダウン・カウンタで構成され、書込制御信号ＷＥＮが与えられるとカウント値ＣＮＴが１だけ増加し、読出制御信号ＲＥＮが与えられるとこのカウント値ＣＮＴが１だけ減少するようになっている。
【００１７】
バッファ３は、ＰＨＳ側から与えられる状態読出信号ＳＲ１に従って、衝突検出部１０によって制御されたカウント値ＷＣＴを出力するものである。また、セレクタ４は、パソコン側から与えられる状態読出信号ＳＲ２に従って、ＦＩＦＯメモリ１の読出データＲＤＴまたは衝突検出部２０で制御されたカウント値ＲＣＴを選択し、データＤＡＴとして出力するものである。
【００１８】
衝突検出部１０は、例えばパソコン側でＦＩＦＯメモリ１から読出データＲＤＴを読み出しているときに、ＰＨＳ側からカウンタ２のカウント値ＣＮＴを読み出そうとした場合のアクセスの衝突を検出し、このＰＨＳに対してＦＩＦＯメモリ１への書き込みを禁止するために、満杯状態を示すカウント値ＷＣＴを出力するものである。一方、衝突検出部２０は、例えばＰＨＳ側でＦＩＦＯメモリ１に書込データＷＤＴを書き込んでいるときに、パソコン側からカウンタ２のカウント値ＣＮＴを読み出そうとした場合のアクセスの衝突を検出し、このパソコンに対してＦＩＦＯメモリ１からの読み出しを禁止するために、空の状態を示すカウント値ＲＣＴを出力するものである。
【００１９】
衝突検出部１０は、カウンタ２から出力されるカウント値ＣＮＴを保持するためのレジスタ（ＲＥＧ）１１と、ＰＨＳ側から与えられる状態読出信号ＳＲ１を所定時間だけ遅延させるための２段の遅延部（ＤＬＹ）１２，１３と、パソコン側から与えられる読出制御信号ＲＥＮを保持するためのフリップフロップ（以下、「ＦＦ」という）１４，１５を有している。
【００２０】
状態読出信号ＳＲ１は、遅延部１２に与えられると共に、ＦＦ１４のクロック端子Ｃに与えられるようになっている。遅延部１２から出力される遅延信号ＤＬ１は、遅延部１３の入力側とレジスタ１１のクロック端子Ｃに与えられ、この遅延部１３から出力される遅延信号ＤＬ２がＦＦ１５のクロック端子Ｃに与えられるようになっている。遅延信号ＤＬ２は、更にインバータ１６で反転されて２入力の論理積ゲート（以下、「ＡＮＤ」という）１７の一方の入力側に与えられ、このＡＮＤ１７の他方の入力側には、遅延信号ＤＬ１が与えられている。そして、ＡＮＤ１７から出力されるセット信号ＳＴ１が、ＦＦ１４，１５のセット端子Ｓに与えられるようになっている。
【００２１】
ＦＦ１４，１５は、データ端子Ｄに与えられる読出制御信号ＲＥＮを、それぞれ遅延信号ＤＬ１，ＤＬ２の立ち下がりのタイミングで保持して出力端子Ｑから出力し、セット端子Ｓにレベル“Ｈ”のセット信号ＳＴ１が与えられたときには、保持内容を強制的に“Ｈ”にセットするものである。ＦＦ１４，１５の出力端子Ｑは、２入力の否定的論理積ゲート（以下、「ＮＡＮＤ」という）１８の入力側に接続され、このＮＡＮＤ１８から出力されるセット信号ＳＥＴが、レジスタ１１のセット端子Ｓに与えられている。
【００２２】
レジスタ１１は、クロック端子Ｃに与えられる遅延信号ＤＬ１の立ち下がりのタイミングで、カウンタ２のカウント値ＣＮＴを保持し、セット端子Ｓに“Ｈ”のセット信号ＳＥＴが与えられたときには、保持内容の全ビットを強制的に“Ｈ”にセットするものである。レジスタ１１の保持内容は、カウント値ＷＣＴとしてバッファ３に与えられるようになっている。
【００２３】
衝突検出部２０は、カウンタ２から出力されるカウント値ＣＮＴを保持するためのレジスタ２１と、パソコン側から与えられる状態読出信号ＳＲ２を所定時間だけ遅延させるための２段の遅延部２２，２３と、ＰＨＳ側から与えられる書込制御信号ＷＥＮを保持するためのＦＦ２４，２５を有している。
【００２４】
状態読出信号ＳＲ２は、遅延部２２に与えられると共に、ＦＦ２４のクロック端子Ｃに与えられるようになっている。遅延部２２から出力される遅延信号ＤＬ３は、遅延部２３の入力側とレジスタ２１のクロック端子Ｃに与えられ、この遅延部２３から出力される遅延信号ＤＬ４がＦＦ２５のクロック端子Ｃに与えられるようになっている。遅延信号ＤＬ３は、更にインバータ２６で反転されて２入力のＡＮＤ２７の一方の入力側に与えられ、このＡＮＤ２７の他方の入力側には、状態読出信号ＳＲ２が与えられている。そして、ＡＮＤ２７の出力側から出力されるセット信号ＳＴ２が、ＦＦ２４，２５のセット端子Ｓに与えられるようになっている。
【００２５】
ＦＦ２４，２５は、データ端子Ｄに与えられる書込制御信号ＷＥＮを、それぞれ遅延信号ＤＬ３，ＤＬ４の立ち下がりのタイミングで保持して出力端子Ｑから出力し、セット端子Ｓに“Ｈ”のセット信号ＳＴ２が与えられたときには、保持内容を強制的に“Ｈ”にセットするものである。ＦＦ２４，２５の出力端子Ｑは、２入力のＮＡＮＤ２８の入力側に接続され、このＮＡＮＤ２８から出力されるリセット信号ＲＳＴが、レジスタ２１のリセット端子Ｒに与えられるようになっている。
【００２６】
レジスタ２１は、クロック端子Ｃに与えられる遅延信号ＤＬ３の立ち下がりのタイミングでカウンタ２のカウント値ＣＮＴを保持し、リセット端子Ｒに“Ｈ”のリセット信号ＲＳＴが与えられたときには、保持している全ビットを強制的にレベル“Ｌ”にリセットするものである。レジスタ２１の保持内容は、カウント値ＲＣＴとしてセレクタ４に与えられるようになっている。
【００２７】
図３は、図１中の衝突検出部２０における動作の一例を示す信号波形図である。以下、この図３を参照しつつ、図１の動作を説明する。
【００２８】
図１の時刻ｔ０において、ＦＩＦＯメモリ１へアクセスが全く行われていない場合、ＰＨＳ側から出力される書込制御信号ＷＥＮ及び状態読出信号ＳＲ１と、パソコン側から出力される読出制御信号ＲＥＮ及び状態読出信号ＳＲ２は、すべて“Ｈ”である。この時のカウンタ２のカウント値ＣＮＴは、ｃｎｔ１とする。状態読出信号ＳＲ２は連続して“Ｈ”となっているので、遅延信号ＤＬ３，ＤＬ４も“Ｈ”であり、ＡＮＤ２７から出力されるセット信号ＳＴ２は“Ｌ”である。後述するように、ＦＦ２４，２５は状態読出信号ＳＲ２の立ち上がりに従ってセットされるので、これらのＦＦ２４，２５から出力される信号Ｓ２４，Ｓ２５も“Ｈ”である。従って、ＮＡＮＤ２８から出力されるリセット信号ＲＳＴは“Ｌ”となり、レジスタ２１には前のタイミングで保持されたカウンタ２のカウント値ＣＮＴ（＝ｃｎｔ０）がそのまま保持されて、カウント値ＲＣＴとして出力されている。
【００２９】
時刻ｔ１において、パソコン側からカウンタ２の内容を読み出すために状態読出信号ＳＲ２が“Ｌ”にされる。この時、ＰＨＳ側からＦＩＦＯメモリ１への書込動作が行われていなければ、書込制御信号ＷＥＮは“Ｈ”である。状態読出信号ＳＲ２が“Ｌ”になったことにより、セレクタ４ではレジスタ２１側が選択され、このレジスタ２１から出力されたカウント値ＲＣＴがデータＤＡＴとしてパソコン側へ出力される。更に、状態読出信号ＳＲ２の立ち下がりによって、ＦＦ２４には書込制御信号ＷＥＮが保持されるが、このＦＦ２４から出力される信号Ｓ２４は“Ｈ”のままである。
【００３０】
時刻ｔ２において、遅延部２２の遅延時間が経過すると、この遅延部２２から出力される遅延信号ＤＬ３が“Ｈ”から“Ｌ”に変化する。これにより、レジスタ２１には、カウンタ２のカウント値ＣＮＴ（＝ｃｎｔ１）が保持され、セレクタ４を介してデータＤＡＴとして出力される。
【００３１】
時刻ｔ３において、遅延部２３の遅延時間が経過すると、この遅延部２３から出力される遅延信号ＤＬ４が“Ｈ”から“Ｌ”に変化する。この遅延信号ＤＬ４の立ち下がりにより、ＦＦ２５には書込制御信号ＷＥＮが保持されるが、このＦＦ２５から出力される信号Ｓ２５は“Ｈ”のままである。従って、ＮＡＮＤ２８から出力されるリセット信号ＲＳＴは“Ｌ”のまま変化せず、レジスタ２１に保持されたカウンタ２のカウント値ＣＮＴ（＝ｃｎｔ１）は、継続してカウント値ＲＣＴとして出力される。
【００３２】
時刻ｔ４において、状態読出信号ＳＲ２が“Ｈ”に戻ると、セレクタ４から出力されるデータＤＡＴはＦＩＦＯメモリ１の読出データＲＤＴに切り替えられる。一方、ＡＮＤ２７から出力されるセット信号ＳＴ２が“Ｈ”となり、ＦＦ２４，２５がセットされる。この場合、ＦＦ２４，２５から出力される信号Ｓ２４，Ｓ２５は、既に“Ｈ”となっているので、変化しない。
【００３３】
時刻ｔ５において、遅延部２２の遅延時間が経過すると、この遅延部２２から出力される遅延信号ＤＬ３が“Ｌ”から“Ｈ”に変化する。これにより、ＡＮＤ２７から出力されるセット信号ＳＴ２が“Ｌ”となる。
【００３４】
更に、時刻ｔ６において、遅延部２３の遅延時間が経過すると、この遅延部２３から出力される遅延信号ＤＬ４が“Ｈ”から“Ｌ”に変化する。これにより、時刻ｔ０と同じ状態に戻る。
【００３５】
このように、ＰＨＳ側とパソコン側のアクセスが衝突しない場合には、パソコン側でカウンタ２のカウント値ＣＮＴを正しく読み出すことができる。
【００３６】
次に、時刻ｔ１１において、パソコン側からカウンタ２の内容を読み出すために状態読出信号ＳＲ２が“Ｌ”にされる。この時、ＰＨＳ側からＦＩＦＯメモリ１への書込動作が行われていなければ、書込制御信号ＷＥＮは“Ｈ”である。状態読出信号ＳＲ２が“Ｌ”になったことにより、セレクタ４ではレジスタ２１側が選択され、このレジスタ２１から出力されるカウント値ＲＣＴがデータＤＡＴとして出力される。更に、この状態読出信号ＳＲ２の立ち下がりによって、ＦＦ２４には書込制御信号ＷＥＮが保持されるが、このＦＦ２４から出力される信号Ｓ２４は“Ｈ”のままである。
【００３７】
時刻ｔ１２において、ＰＨＳ側からＦＩＦＯメモリ１への書込動作が開始されると、この書込動作の開始に伴って書込制御信号ＷＥＮが“Ｌ”となり、カウンタ２の値が更新される。これにより、カウンタ２のカウント値ＣＮＴは、不確定値（ｉｎｖａｌｉｄ）となる。
【００３８】
時刻ｔ１３において、遅延部２２の遅延時間が経過すると、この遅延部２２から出力される遅延信号ＤＬ３が“Ｈ”から“Ｌ”に変化する。これにより、レジスタ２１には、カウンタ２のカウント値ＣＮＴ（＝ｉｎｖａｌｉｄ）が保持され、セレクタ４を介してデータＤＡＴとして出力される。
【００３９】
時刻ｔ１４において、遅延部２３の遅延時間が経過すると、この遅延部２３から出力される遅延信号ＤＬ４が“Ｈ”から“Ｌ”に変化する。この遅延信号ＤＬ４の立ち下がりにより、ＦＦ２５には書込制御信号ＷＥＮが保持され、このＦＦ２５から出力される信号Ｓ２５は“Ｌ”となる。これにより、ＮＡＮＤ２８から出力されるリセット信号ＲＳＴが“Ｈ”となり、レジスタ２１の保持内容はリセットされて“０”となって、この“０”がカウント値ＲＣＴとして出力される。パソコン側では、読み出されたカウント値ＲＣＴが“０”であるので、ＦＩＦＯメモリ１にデータが存在しないと判断して、このＦＩＦＯメモリ１に対するデータの読出動作は行われない。但し、パソコン側では、一定周期でカウンタ２のカウント値ＣＮＴを読み出しているので、次の読み出しタイミングでＰＨＳ側との衝突が発生しなければ、正しいカウント値が読み出され、ＦＩＦＯメモリ１に保持されたデータを読み出すことができる。
【００４０】
時刻ｔ１５において、状態読出信号ＳＲ２が“Ｈ”に戻ると、セレクタ４から出力されるデータＤＡＴはＦＩＦＯメモリ１の読出データＲＤＴに切り替えられる。一方、ＡＮＤ２７から出力されるセット信号ＳＴ２が“Ｈ”となり、ＦＦ２４，２５がセットされて信号Ｓ２４，Ｓ２５は“Ｈ”となる。
【００４１】
時刻ｔ１６において、遅延部２２の遅延時間が経過すると、この遅延部２２から出力される遅延信号ＤＬ３が“Ｌ”から“Ｈ”に変化する。これにより、ＡＮＤ２７から出力されるセット信号ＳＴ２が“Ｌ”となる。
【００４２】
時刻ｔ１７において、遅延部２３の遅延時間が経過すると、この遅延部２３から出力される遅延信号ＤＬ４が“Ｈ”から“Ｌ”に変化する。
【００４３】
更に、時刻ｔ１８において、ＰＨＳ側からＦＩＦＯメモリ１への書込動作が終了すると、書込制御信号ＷＥＮが“Ｈ”となり、カウンタ２のカウント値ＣＮＴが更新されてｃｎｔ２となり、時刻ｔ０と同じ状態に戻る。
【００４４】
なお、衝突検出部１０の動作も、衝突検出部２０とほぼ同様である。但し、衝突検出部１０では、パソコン側のＦＩＦＯメモリ１の読出動作と、ＰＨＳ側のカウンタ２の読出動作が衝突した場合に、ＰＨＳ側へＦＩＦＯメモリ１が満杯であることを示すカウント値ＷＣＴが出力されるようになっている。
【００４５】
このように、本実施例のデータ転送回路は、一方の装置（例えば、パソコン）がカウンタ２のカウント値ＣＮＴを読み出すタイミングの直前と直後に、他方の装置（例えば、ＰＨＳ）からＦＩＦＯメモリ１へのアクセスが行われていない場合に限り、この一方の装置へカウンタ２のカウント値ＣＮＴを出力し、それ以外の場合には、読み出しが不要、或いは書き込みが不可能であることを示すカウント値を出力する衝突検出部１０，２０を有している。これにより、アクセスの衝突によって不確定なカウント値ＣＮＴを読み出して、誤った読み出しや書き込み動作を行うことを防止することができるという利点がある。
【００４６】
なお、以上説明した実施例は、あくまでも、この発明の技術内容を明らかにするためのものである。この発明は、上記実施例にのみ限定して狭義に解釈されるものではなく、この発明の特許請求の範囲に述べる範囲内で、種々変更して実施することができる。その変形例としては、例えば、次のようなものがある。
【００４７】
（ａ）  ＰＨＳ側からパソコン側へデータ転送を行うためのデータ転送回路を説明したが、同様の回路を用いてパソコン側からＰＨＳ側へデータ転送を行うことができる。
【００４８】
（ｂ）  データ転送を行う装置は、ＰＨＳやパソコンに限定されない。
【００４９】
（ｃ）  衝突検出部１０，２０の回路構成は、例示したものに限定されない。カウンタ２への同時アクセスを検出して、このカウンタ２のカウント値ＣＮＴを読み出そうとしている装置へ、データ転送を停止させるようなカウント値ＣＮＴを出力することができるものであれば、同様に適用可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施例を示すデータ転送回路の構成図である。
【図２】従来のデータ転送回路の構成図である。
【図３】図１中の衝突検出部２０における動作の一例を示す信号波形図である。
【符号の説明】
【００５１】
１    ＦＩＦＯメモリ
２    カウンタ
１０，２０    衝突検出部
１１，２１    レジスタ
１２，１３，２２，２３    遅延部
１４，１５，２４，２５    ＦＦ（フリップフロップ）
１６，２６    インバータ
１７，２７    ＡＮＤ（論理積ゲート）
１８，２８    ＮＡＮＤ（否定的論理積ゲート）
【図１】
2005174090.tif 000003
【図２】
2005174090.tif 000004
【図３】
2005174090.tif 000005