(57)【要約】【課題】  ＣＰＵとＤＭＡとの間のバス競合の影響が最小限に抑えられ、セットアップ時間／ホールド時間をフレキシブルに変更可能なマイクロコンピュータを提供する。【解決手段】  エッジ検出回路１０は、同期信号入力端子２から入力される同期信号ＳＹＮの入力レベル変化（エッジ）を検出する。データラッチ部２０は、外部データ入力端子３から入力されるデジタルデータＤＤをラッチする。アドレス発生回路３０は、アドレス信号ＡＤＤを出力する。書込制御部４０は、ＲＡＭ９０へ書込みを行なうための書込イネーブル信号ＷＥＸを活性化／非活性化する。調停回路６０は、書込制御イネーブル信号ＷＥＸ、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥをモニタし、ＣＰＵ８０がＲＡＭ９０へアクセスしていないサイクルを見出す。【選択図】        図５
2005250683.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される同期信号の入力レベル変化を検出し、該入力レベル変化を知らせるエッジ検出信号を出力するエッジ検出回路と、
前記エッジ検出信号を受けて、外部から入力される外部データをラッチしたデータラッチ信号を出力するデータラッチ部と、
アドレス信号を発生するアドレス発生回路と、
前記データラッチ信号および前記アドレス信号を受けるローカルバスと、
前記エッジ検出信号を受けて書込制御イネーブル信号を活性化する書込制御部と、
読出イネーブル信号および書込イネーブル信号を出力する中央処理装置と、
前記中央処理装置へ入出力されるデータを受けるデータバスと、
前記外部データを記憶する記憶装置と、
前記記憶装置へ入出力されるデータを受けるメモリバスと、
前記ローカルバス、前記データバスおよび前記メモリバスに接続され、前記書込制御イネーブル信号、前記読出イネーブル信号および前記書込イネーブル信号をモニタして前記中央処理装置が前記メモリへアクセスしていないサイクルを見出す調停回路とを備える、マイクロコンピュータ。
【請求項２】
前記エッジ検出回路は、前記同期信号の立ち上がりエッジまたは立ち下がりエッジを検出し、該立ち上がりエッジまたは該立ち下がりエッジのどちらを検出するかはソフトウェアにより選択する、請求項１に記載のマイクロコンピュータ。
【請求項３】
前記データラッチ部は、
前記エッジ検出信号を受けて、ソフトウェアで制御されるタイミング選択信号に応じたラッチイネーブル信号を出力するデータラッチタイミング選択回路と、
前記ラッチイネーブル信号に応じて、前記外部データをラッチした前記データラッチ信号を出力するデータラッチ回路とを含み、
前記データラッチ回路は、前記外部データのビット数ごとに複数のデータラッチ回路ユニットを有する、請求項１に記載のマイクロコンピュータ。
【請求項４】
前記アドレス発生回路は、
前記調停回路から出力される転送完了信号および前記中央処理装置から出力される転送許可ビットを受けて、転送カウント動作のアンダーフロー発生を検出するアンダーフロー信号を出力する転送カウンタと、
前記アンダーフロー信号を受けてアドレス制御信号を出力するトグルラッチと、
前記転送完了信号および前記アドレス制御信号に応じてアドレスカウントのインクリメントを行なう第１および第２のアドレスカウンタと、
前記アドレス制御信号に応じて、前記第１および第２のアドレスカウンタの出力信号のうちいずれか一方を選択して前記アドレス信号として出力するセレクタ回路とを含む、請求項１に記載のマイクロコンピュータ。
【請求項５】
前記転送カウンタは、前記転送許可ビットが転送禁止から転送許可になったとき、または転送カウント動作のアンダーフロー発生時にカウンタ値を所定値に戻す第１のリロードレジスタを有し、
前記第１および第２のアドレスカウンタは、前記転送許可ビットが転送禁止から転送許可になったとき、または転送カウント動作のアンダーフロー発生時にカウンタ値を所定値に戻す第２のリロードレジスタを有する、請求項４に記載のマイクロコンピュータ。
【請求項６】
前記アドレス発生回路は、前記第１および第２のアドレスカウンタの活性時に転送カウント動作のアンダーフローが発生したとき、該アンダーフローの発生を前記中央処理装置に知らせる割り込み信号を発生させる割り込み信号発生回路をさらに含む、請求項４に記載のマイクロコンピュータ。
【請求項７】
前記書込制御部は、
前記エッジ検出信号を受けて転送要求信号を出力するカウンタ転送数制御回路と、
前記転送要求信号および前記調停回路から出力される転送完了信号を受けて前記書込制御イネーブル信号を出力する書込制御回路とを含む、請求項１に記載のマイクロコンピュータ。
【請求項８】
前記カウンタ転送数制御回路は、カウント許可後の最初のアンダーフロー発生後にカウント動作を停止するか、アンダーフロー発生後の最初の前記同期信号のエッジ検出でリロードレジスタ値をリロードしてカウント動作を継続するかを前記中央処理装置によって選択する、請求項７に記載のマイクロコンピュータ。
【請求項９】
前記カウンタ転送数制御回路は、外部からカウント許可が制御され、該外部許可によりロードレジスタ値をリロードし、前記同期信号のエッジ検出ごとにダウンカウントを行ない、アンダーフロー発生後には、前記同期信号のエッジ検出に応じて前記転送要求信号を活性化する、請求項７に記載のマイクロコンピュータ。
【請求項１０】
前記調停回路は、
前記書込イネーブル信号に応じて、前記データラッチ信号および前記中央処理装置から出力されるＣＰＵデータバス信号のいずれか一方を選択するデータバスセレクタと、
前記読出イネーブル信号の反転信号を内部クロック信号でラッチした出力イネーブル信号に応じて、前記記憶装置から出力されるＲＡＭデータバス信号を前記中央処理装置のデータバスへのせる第１のトリステートバッファと、
書込イネーブル信号、書込制御イネーブル信号および読出イネーブル信号の論理出力を前記内部クロック信号でラッチしたデータイネーブル信号に応じて、前記データバスセレクタの出力信号を前記記憶装置の内部のデータバスへのせる第２のトリステートバッファと、
前記読出イネーブル信号と前記書込イネーブル信号との論理出力に応じて、前記アドレス信号および前記中央処理装置から出力されるＣＰＵアドレスバス信号のいずれか一方を選択するアドレスセレクタと、
前記書込イネーブル信号、前記読出イネーブル信号および前記書込制御イネーブル信号を受けて、前記書込制御部へのデータ転送要求が完了したことを伝える転送完了信号を生成する論理回路群とを含む、請求項１に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マイクロコンピュータに関し、より特定的には、ある信号に同期して送信されてくるデータを内蔵された記憶装置に取り込むマイクロコンピュータに関する。
【背景技術】
【０００２】
ある信号に同期して送信されてくる複数ビットのデータを、マイクロコンピュータ（以下、マイコンとも称す）に内蔵したＲＡＭ（Random Access Memory）などの記憶装置に取り込む場合、たとえば以下のような従来技術がある。
【０００３】
従来のインターフェイス回路は、クロック信号の立ち上がりおよび立ち下がりで、書込制御信号、アドレス制御信号およびデータを保持することが可能となり、読み書きに必要な待ち時間を短縮することができる（たとえば、特許文献１参照）。
【０００４】
従来のマイクロコンピュータシステムは、マイクロコンピュータと外部との間のデータ転送制御およびマイクロコンピュータ内部の演算処理を並列的に処理することができる（たとえば、特許文献２参照）。
【０００５】
従来のデータ処理装置は、１つのバス上でシングルエッジアクセスとダブルエッジアクセスとを切り替えて使用できるようにすることにより、バス上でのストリームデータの転送を効率よく行なえるようになる（たとえば、特許文献３参照）。
【０００６】
従来の高速／低速インターフェイス回路は、以前のデータをメモリから読み出す間だけセレクタをＩ／Ｏ回路側に切り替え制御してラッチ回路にいったんラッチさせ、Ｉ／Ｏ回路が該ラッチされた以前のデータと該ラッチデータとの比較を行なうことにより、Ｉ／Ｏ回路が共通メモリにアクセスする時間が短縮される（たとえば、特許文献４参照）。
【０００７】
従来のデータ転送制御装置は、通常はバースト動作モードによるＤＭＡ（Direct Memory Access）処理を行ない、中央処理装置（ＣＰＵ：Central Processing Unit）による処理が必要なときには自動的にサイクルスチール動作モードに切り替えることにより、必要に応じて割込みでサイクルスチールモードに切り替えることができる（たとえば、特許文献５参照）。
【０００８】
従来のバス調停装置は、バスにアクセスする頻度の最も高いバスマスタに対する調停時間を短縮することができ、さらに、２つのバスマスタ間の調停を順次繰り返すことにより３つ以上のバスマスタがある場合にも容易に適用できる（たとえば、特許文献６参照）。
【特許文献１】特開２００３−６７３２４号公報
【特許文献２】特開２００１−２０９６０９号公報
【特許文献３】特開２００１−６７３１０号公報
【特許文献４】特開平４−２１８８５７号公報
【特許文献５】特開平１−２９１３５４号公報
【特許文献６】特開昭６４−７６２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
外部信号に同期して入力されるパラレルデータをＤＭＡで取り込む場合、次のような問題があった。第１に、ＣＰＵとＤＭＡとの間のバス競合により、ＤＭＡ起動サイクルが乱れることがある。これが外部データ取込み高速化のネックとなるため、ＣＰＵにアクセス制限を課す必要があった。第２に、ＤＭＡ起動タイミングによっては、セットアップ時間／ホールド時間を規定する必要があり、これがマイコン高速化のネックとなっていた。
【００１０】
上記に示した従来技術は、これらの問題を部分的には解決し得るものの、これらの問題を解決する手段は当該従来技術だけには限られない。
【００１１】
それゆえに、この発明の目的は、ＣＰＵとＤＭＡとの間のバス競合の影響が最小限に抑えられ、セットアップ時間／ホールド時間をフレキシブルに変更可能なマイクロコンピュータを提供することである。
【課題を解決するための手段】
【００１２】
この発明によるマイクロコンピュータは、外部から入力される同期信号の入力レベル変化を検出し、該入力レベル変化を知らせるエッジ検出信号を出力するエッジ検出回路と、エッジ検出信号を受けて、外部から入力される外部データをラッチしたデータラッチ信号を出力するデータラッチ部と、アドレス信号を発生するアドレス発生回路と、データラッチ信号およびアドレス信号を受けるローカルバスと、エッジ検出信号を受けて書込制御イネーブル信号を活性化する書込制御部と、読出イネーブル信号および書込イネーブル信号を出力する中央処理装置と、中央処理装置へ入出力されるデータを受けるデータバスと、外部データを記憶する記憶装置と、記憶装置へ入出力されるデータを受けるメモリバスと、ローカルバス、データバスおよびメモリバスに接続され、書込制御イネーブル信号、読出イネーブル信号および書込イネーブル信号をモニタして中央処理装置がメモリへアクセスしていないサイクルを見出す調停回路とを備える。
【発明の効果】
【００１３】
この発明によれば、ＣＰＵとＤＭＡとの間のバス競合の影響が最小限に抑えられ、セットアップ時間／ホールド時間がフレキシブルに変更可能となり、外部とのインターフェイスが高速化される。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００１５】
図１は、この発明の実施の形態を説明する背景となるマイクロコンピュータシステム１００のブロック構成を示したブロック図である。
【００１６】
図１を参照して、マイクロコンピュータシステム１００は、センサ１１０と、ＡＤ変換器１２０と、ＡＳＩＣ（Application Specific Integrated Circuit）１３０と、ＲＡＭ１４０と、マイコン１５０と、外部バス１６０とを備える。
【００１７】
センサ１１０は、ある事象を検出して、それに応じたアナログ信号ＡＮＡを出力する。ＡＤ変換器１２０は、アナログ信号ＡＮＡをデジタルデータＤＤに変換するとともに、同期信号ＳＹＮを出力する。ＡＤ変換の精度（デジタルデータＤＤの出力データ幅）は、この実施の形態では、便宜上８ビットとしている。
【００１８】
ＡＳＩＣ１３０は、デジタルデータＤＤおよび同期信号ＳＹＮを受けて、同期信号ＳＹＮの立ち上がりエッジまたは立ち下がりエッジを検出する。ＡＳＩＣ１３０は、ＲＡＭ１４０へデータを書き込むために必要なアドレス信号や各種制御信号などを生成し、同期信号ＳＹＮの各エッジに同期したデータをＲＡＭ１４０に出力する。ＡＳＩＣ１３０は、マイコン１５０の外付け論理回路である。
【００１９】
マイコン１５０は、外部バス１６０を介して、外付けメモリであるＲＡＭ１４０に接続される。マイコン１５０は、ソフトウェアを実行することにより、アドレス信号ＡＤＤを用いて、ＲＡＭ１４０に格納されているデータＤＡＴを読み出す。
【００２０】
図２は、この発明の実施の形態を説明する背景となるマイクロコンピュータシステム１００の信号波形を示した波形図である。
【００２１】
図２に示すように、デジタルデータＤＤは、同期信号ＳＹＮに同期して変化する。同期信号ＳＹＮの周期は、図１に示したマイクロコンピュータシステム１００の要求によって決まる。
【００２２】
図１を参照して、外部バス１６０を介した動作サイクルは、マイコン１５０内部の動作サイクルより長くなることが一般的である。したがって、マイコン１５０に取り込むデータ量が多くなるほど、マイコン１５０のＣＰＵ処理時間のうちデータ取り込みにかかる時間が多くなり、その他の処理に割けるＣＰＵ時間が少なくなる。そのため、マイコン１５０内部の動作サイクルが高速化されても、それに比例したマイクロコンピュータシステム１００の処理能力向上が期待できない。
【００２３】
また、マイクロコンピュータシステム１００の場合、マイコン１５０の外部に外部バス１６０をはじめとする配線が多数必要となる。そのため、配線ノイズの問題が発現し、ノイズ対策用に新たな部品が必要となる場合もある。ゆえに、マイクロコンピュータシステム１００は、ＡＳＩＣ１３０やＲＡＭ１４０等の外付け部品のコストと併せて、コストおよび実装面積の観点から問題がある。
【００２４】
図３は、この発明の実施の形態を説明する背景となるマイクロコンピュータシステム２００のブロック構成を示したブロック図である。
【００２５】
図３を参照して、マイクロコンピュータシステム２００は、センサ２１０と、ＡＤ変換器２２０と、マイコン２３０とを備える。マイコン２３０は、ポート２３１と、ＤＭＡ転送要求検出回路２３２と、ＤＭＡ２３３と、内部バス２３４と、ＲＡＭ２３５と、ＣＰＵ２３６とを含む。
【００２６】
センサ２１０は、ある事象を検出して、それに応じたアナログ信号ＡＮＡを出力する。ＡＤ変換器２２０は、アナログ信号ＡＮＡをデジタルデータＤＤに変換するとともに、同期信号ＳＹＮを出力する。ポート２３１は、デジタルデータＤＤを受けて、読出データ信号ＲＤを出力する。ＤＭＡ転送要求検出回路２３２は、同期信号ＳＹＮの立ち上がりエッジまたは立ち下がりエッジを検出し、ＤＭＡ２３３に対してＤＭＡ転送要求信号ＲＥＱを出力する。
【００２７】
ＤＭＡ２３３は、ＤＭＡ転送要求信号ＲＥＱを受けて、ポート２３１から読出データ信号ＲＤ（デジタルデータＤＤ）を読み出し、内部バス２３４を介してＲＡＭ２３５に書込データ信号ＷＴ（デジタルデータＤＤ）を書き込む。読出データ信号ＲＤが読み出されるポート２３１のアドレスおよび書込データ信号ＷＴが書き込まれるＲＡＭ２３５のアドレスは、いずれもＣＰＵ２３６のソフトウェアによって予め設定されている。
【００２８】
ＲＡＭ２３５に書込データ信号ＷＴが書き込まれるたびに当該アドレスがインクリメントされるように設定しておけば、ＣＰＵ２３６の負荷なくＲＡＭ２３５内に書込データ信号ＷＴが順番に書き込まれることになる。
【００２９】
図４は、この発明の実施の形態を説明する背景となるマイクロコンピュータシステム２００の信号波形を示した波形図である。
【００３０】
図４を参照して、時刻ｔ１において同期信号ＳＹＮが立ち上がり、時刻ｔ２においてマイコン２３０の内部クロック信号ＣＬＫが立ち上がる。図３のＤＭＡ転送要求検出回路２３２は、内部クロック信号ＣＬＫの立ち上がりを受けて同期信号ＳＹＮの変化を検知し、時刻ｔ３においてＤＭＡ転送要求信号ＲＥＱを出力する。図３のＤＭＡ２３３は、ＤＭＡ転送要求信号ＲＥＱの出力を受けて、時刻ｔ４において読出データ信号ＲＤの読出し動作を行ない、時刻ｔ５において書込データ信号ＷＴの書込み動作を行なう。ここで、時刻ｔ３〜ｔ４の時間をセットアップ時間ＳＵと呼ぶ。また、時刻ｔ５〜ｔ６の時間をホールド時間ＨＤと呼ぶ。
【００３１】
図３を参照して、マイクロコンピュータシステム２００では、ＣＰＵ２３６とＤＭＡ２３３とが同じ内部バス２３４を介してＲＡＭ２３５へアクセスする。そのため、ＤＭＡ２３３が連続して内部バス２３４のバス権を獲得できる構成の場合、マイコン２３０は、最高で１回転送／２サイクルの割合でデジタルデータＤＤを取り込むことが可能である。
【００３２】
しかしながら、この場合、ＤＭＡ２３３がＲＡＭ２３５にアクセスしている間、ＣＰＵ２３６はＲＡＭ２３５にアクセスできないことになる。また、マイコン２３０がＲＡＭ２３５とともにＲＯＭ（Read Only Memory）も内蔵していた場合、当該ＲＯＭはＲＡＭ２３５と同じ内部バス２３４に接続されるのが通常である。したがって、この場合、ＣＰＵ２３６は、当該ＲＯＭからのプログラムコードをフェッチできず、ＣＰＵ２３６の動作そのものが停止してしまう。
【００３３】
他方、１回のＤＭＡ転送が完了する度にいったん内部バス２３４の使用権をＣＰＵ２３６へ返す構成の場合、ＣＰＵ２３６の動作は間欠的となる。この場合、ＣＰＵ２３６が１サイクルだけ内部バス２３４を使用してからＤＭＡ２３３にバス使用権を渡すものと仮定すると、データ取り込みの最高速度は１回転送／３サイクルとなる。そのため、マイコン２３０のデータの取り込み速度が低下する。
【００３４】
また、マイコン２３０がポート２３１を介してデジタルデータＤＤを読み出す場合、正しいデータをＲＡＭ２３５に書き込むため、読出データ信号ＲＤに対してセットアップ時間ＳＵおよびホールド時間ＨＤ（いずれも図４を参照）が要求される。しかしながら、同期信号ＳＹＮとデジタルデータＤＤとの間に伝播遅延ＤＬＹ（図４参照）が存在するなどの要因があると、セットアップ時間ＳＵおよびホールド時間ＨＤの条件が満たせなくなる可能性がある。これにより、同期信号ＳＹＮの周期を長くするなど、マイクロコンピュータシステム２００のシステム性能を落とさざるを得ない事態が発生する。
【００３５】
また、この場合、同期信号ＳＹＮの立ち上がりエッジまたは立ち下がりエッジを検出するごとにＤＭＡ転送が行なわれ、エッジの数だけデジタルデータＤＤが取り込まれる。しかしながら、ＣＣＤ（Charge Coupled Device）に無効画素領域があるように、デジタルデータＤＤにも不要データが存在する。そして、この場合、ＲＡＭ２３５は、当該不要データを取り込んでしまう可能性がある。これにより、ＲＡＭ２３５の記憶領域が無駄に消費されてしまうという問題があった。
【００３６】
この発明の実施の形態では、以上のような問題点を解決するマイクロコンピュータの構成および動作について詳細に説明する。
【００３７】
図５は、この発明の実施の形態によるマイクロコンピュータ１のブロック構成を示したブロック図である。
【００３８】
図５を参照して、この発明の実施の形態によるマイクロコンピュータ１は、同期信号入力端子２と、外部データ入力端子３と、エッジ検出回路１０と、データラッチ部２０と、アドレス発生回路３０と、書込制御部４０と、ローカルバス５１と、データバス５２と、メモリバス５３と、調停回路６０と、ＣＰＵ８０と、ＲＡＭ９０とを備える。
【００３９】
エッジ検出回路１０は、同期信号入力端子２から入力される同期信号ＳＹＮの入力レベル変化（エッジ）を検出し、エッジ検出を知らせるエッジ検出信号ＥＯＵＴを出力する。入力レベル変化には立ち上がりエッジと立ち下がりエッジとがあるが、これらはソフトウェアによって選択可能である。データラッチ部２０は、エッジ検出信号ＥＯＵＴを受けて、外部データ入力端子３から入力されるデジタルデータＤＤをラッチしたデータラッチ信号ＲＤＡＴをローカルバス５１に出力する。
【００４０】
アドレス発生回路３０は、調停回路６０から出力される転送完了信号ＦＮ等に応じて、ローカルバス５１にアドレス信号ＡＤＤを出力する。書込制御部４０は、エッジ検出信号ＥＯＵＴを受けて、ＲＡＭ９０へ書込みを行なうための書込制御イネーブル信号ＷＥＸを活性化する。また、書込制御部４０は、調停回路６０から出力される転送完了信号ＦＮを受けて、書込制御イネーブル信号ＷＥＸを非活性化する。
【００４１】
ＣＰＵ８０は、メモリバス５３を介して調停回路６０に読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥを出力する。調停回路６０は、書込制御イネーブル信号ＷＥＸ、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥをモニタし、ＣＰＵ８０がＲＡＭ９０へアクセスしていないサイクルを見出す。また、調停回路６０は、ＲＡＭ９０へデータラッチ信号ＲＤＡＴを書き込むための各種信号をデータバス５２を介してＲＡＭ９０へ出力するとともに、転送完了信号ＦＮをアドレス発生回路３０および書込制御部４０へ出力する。ＲＡＭ９０は、メモリバス５３を介して調停回路６０に接続される。
【００４２】
次に、各ブロックの具体的な回路構成および動作について説明する。
【００４３】
図６は、この発明の実施の形態によるエッジ検出回路１０の一例であるエッジ検出回路１０Ｕの回路構成を示した回路図である。
【００４４】
図６を参照して、エッジ検出回路１０Ｕは、同期信号ＳＹＮの立ち上がりエッジを検出する立ち上がりエッジ検出回路であって、フリップフロップ回路１１Ｕ，１２Ｕと、インバータ１３Ｕと、ＡＮＤ回路１４Ｕとを含む。
【００４５】
フリップフロップ回路１１Ｕ，１２Ｕは、マイコン１の内部クロック信号ＣＬＫに同期して動作する。フリップフロップ回路１１Ｕは、同期信号ＳＹＮを一時的に保持した後、ノードＮ１Ｕに出力する。フリップフロップ回路１２Ｕは、フリップフロップ回路１１Ｕの出力信号を一時的に保持する。インバータ１３Ｕは、フリップフロップ回路１２Ｕの出力信号を反転してノードＮ２Ｕに出力する。ＡＮＤ回路１４Ｕは、ノードＮ１Ｕ，Ｎ２Ｕからの入力信号を受けて、エッジ検出信号ＥＯＵＴを出力する。
【００４６】
図７は、この発明の実施の形態によるエッジ検出回路１０の一例であるエッジ検出回路１０Ｕの動作タイミングを示したタイミング図である。
【００４７】
図７に示すように、時刻ｔ１において、内部クロック信号ＣＬＫに同期して、同期信号ＳＹＮが立ち上がる。これを受けて、時刻ｔ２において、ノードＮ１Ｕの電位レベルがＨレベル（論理ハイ）に立ち上がる。このときノードＮ２ＵはすでにＨレベルなので、時刻ｔ２において、エッジ検出信号ＥＯＵＴがＬレベル（論理ロー）からＨレベルに立ち上がる。時刻ｔ３において、ノードＮ２Ｕの電位レベルがＬレベルに立ち下がるのを受けて、エッジ検出信号ＥＯＵＴも同時にＬレベルに立ち下がる。
【００４８】
図８は、この発明の実施の形態によるエッジ検出回路１０の他の一例であるエッジ検出回路１０Ｄの回路構成を示した回路図である。
【００４９】
図８を参照して、エッジ検出回路１０Ｄは、同期信号ＳＹＮの立ち下がりエッジを検出する立ち下がりエッジ検出回路であって、フリップフロップ回路１１Ｄ，１２Ｄと、インバータ１３Ｄ，１５Ｄと、ＯＲ回路１４Ｄとを含む。
【００５０】
フリップフロップ回路１１Ｄ，１２Ｄは、マイコン１の内部クロック信号ＣＬＫに同期して動作する。フリップフロップ回路１１Ｄは、同期信号ＳＹＮを一時的に保持した後、ノードＮ１Ｄに出力する。フリップフロップ回路１２Ｄは、フリップフロップ回路１１Ｄの出力信号を一時的に保持する。インバータ１３Ｄは、フリップフロップ回路１２Ｄの出力信号を反転してノードＮ２Ｄに出力する。ＯＲ回路１４Ｄは、ノードＮ１Ｄ，Ｎ２Ｄからの入力信号を受ける。インバータ１５Ｄは、ＯＲ回路１４Ｄからの出力信号を反転したエッジ検出信号ＥＯＵＴを出力する。
【００５１】
図９は、この発明の実施の形態によるエッジ検出回路１０の他の一例であるエッジ検出回路１０Ｄの動作タイミングを示したタイミング図である。
【００５２】
図９に示すように、時刻ｔ１において、内部クロック信号ＣＬＫに同期して、同期信号ＳＹＮが立ち下がる。これを受けて、時刻ｔ２において、ノードＮ１Ｄの電位レベルがＬレベルに立ち下がる。このときノードＮ２ＤはすでにＬレベルなので、時刻ｔ２において、エッジ検出信号ＥＯＵＴがＬレベルからＨレベルに立ち上がる。時刻ｔ３において、ノードＮ２Ｄの電位レベルがＨレベルに立ち上がるのを受けて、エッジ検出信号ＥＯＵＴは同時にＬレベルに立ち下がる。
【００５３】
図１０は、この発明の実施の形態によるデータラッチ部２０のブロック構成を示したブロック図である。
【００５４】
図１０を参照して、データラッチ部２０は、データラッチタイミング選択回路２１と、データラッチ回路２６とを含む。データラッチタイミング選択回路２１は、図５のエッジ検出回路１０から出力されるエッジ検出信号ＥＯＵＴを受けて、タイミング選択信号ＴＭに応じたラッチイネーブル信号ＲＥＮを出力する。データラッチ回路２６は、ラッチイネーブル信号ＲＥＮに応じて、外部から入力されるデジタルデータＤＤをラッチしたデータラッチ信号ＲＤＡＴを出力する。
【００５５】
図１１は、データラッチタイミング選択回路２１の具体的な回路構成を示した回路図である。
【００５６】
図１１を参照して、データラッチタイミング選択回路２１は、フリップフロップ回路２２〜２４と、セレクタ２５とを含む。フリップフロップ回路２２は、図５のエッジ検出回路１０から出力されるエッジ検出信号ＥＯＵＴを一時的に保持する。フリップフロップ回路２３は、フリップフロップ回路２２の出力信号を一時的に保持する。フリップフロップ回路２４は、フリップフロップ回路２３の出力信号を一時的に保持する。
【００５７】
セレクタ２５は、タイミング選択信号ＴＭに応じて、エッジ検出信号ＥＯＵＴおよびフリップフロップ回路２２〜２４から出力される信号のいずれかを選択し、ラッチイネーブル信号ＲＥＮとして出力する。タイミング選択信号ＴＭは、データラッチのタイミングが最適となるようにソフトウェアによって制御される。
【００５８】
図１２は、データラッチ回路２６の具体的な回路構成を示した回路図である。
【００５９】
図１２を参照して、データラッチ回路２６は、データラッチ回路ユニット２６＿ｋ（ｋ＝０，１，…）を含む。データラッチ回路ユニット２６＿ｋは、デジタルデータＤＤのうちビットｋのデジタルデータＤＤｋを受ける。ここでは、データラッチ回路ユニット２６＿０，２６＿１について説明する。
【００６０】
データラッチ回路ユニット２６＿０は、インバータ２７＿０と、ＡＮＤ回路２８＿０と、フリップフロップ回路２９＿０とを含む。インバータ２７＿０は、内部クロック信号ＣＬＫを反転する。ＡＮＤ回路２８＿０は、ラッチイネーブル信号ＲＥＮおよびインバータ２７＿０の出力信号を受ける。フリップフロップ回路２９＿０は、ＡＮＤ回路２８＿０から出力される信号のタイミングに応じて、ビット０のデジタルデータＤＤ０を一時的に保持した後、デジタルデータＤＤ０に対応したデータラッチ信号ＲＤＡＴ０を出力する。
【００６１】
データラッチ回路ユニット２６＿１は、インバータ２７＿１と、ＡＮＤ回路２８＿１と、フリップフロップ回路２９＿１とを含む。インバータ２７＿１は、内部クロック信号ＣＬＫを反転する。ＡＮＤ回路２８＿１は、ラッチイネーブル信号ＲＥＮおよびインバータ２７＿１の出力信号を受ける。フリップフロップ回路２９＿１は、ＡＮＤ回路２８＿１から出力される信号のタイミングに応じて、ビット１のデジタルデータＤＤ１を一時的に保持した後、デジタルデータＤＤ１に対応したデータラッチ信号ＲＤＡＴ１を出力する。
【００６２】
図１３は、この発明の実施の形態によるデータラッチ部２０の動作タイミングを示したタイミング図である。図１３は、同期信号ＳＹＮの立ち上がりエッジを検出する場合の動作タイミング図である。
【００６３】
図１３に示すように、時刻ｔ１において、内部クロック信号ＣＬＫに同期した同期信号ＳＹＮが立ち上がり、それに応じてデジタルデータＤＤが変化する。この同期信号ＳＹＮの立ち上がりを受けて、時刻ｔ２において、エッジ検出信号ＥＯＵＴがＨレベルに立ち上がる。時刻ｔ３において、内部クロック信号ＣＬＫがＬレベルに立ち下がり、これを受けてデータラッチ信号ＲＤＡＴが出力される。
【００６４】
図１４は、同期信号ＳＹＮに対してデジタルデータＤＤが遅延している場合におけるデータラッチ部２０の動作タイミングを示したタイミング図である。
【００６５】
図１４に示すように、時刻ｔ１において同期信号ＳＹＮが立ち上がり、時刻ｔ４においてデジタルデータＤＤが変化する。すなわち、同期信号ＳＹＮとデジタルデータＤＤとの間には、伝播遅延ＤＬＹが存在する。これにより、デジタルデータＤＤの確定が図１３の場合に比べて遅れてしまう。そのため、データラッチ回路２６は、誤って前のデジタルデータ値をラッチしてしまう可能性がある。
【００６６】
ここで、仮に、データラッチ部２０においてデータラッチタイミング選択回路２１が存在しなかった場合を考える。この場合、時刻ｔ１における同期信号ＳＹＮの立ち上がりを受けて、時刻ｔ２においてラッチイネーブル信号ＲＥＮＸが立ち上がる。これを受けて、時刻ｔ３において、データラッチ信号ＲＤＡＴＸが変化する。しかしながら、時刻ｔ３において、デジタルデータＤＤはまだ変化していない。そのため、データラッチ信号ＲＤＡＴＸのＸ０，Ｘ１，Ｘ２，…のうち、先頭のＸ０は、誤ってラッチされた信号として誤信号となる。
【００６７】
これに対し、データラッチ部２０においてデータラッチタイミング選択回路２１が存在する場合を考える。この場合、時刻ｔ１における同期信号ＳＹＮの立ち上がりから一定時間遅延した時刻ｔ５において、ラッチイネーブル信号ＲＥＮＹが立ち上がる。これを受けて、時刻ｔ６において、データラッチ信号ＲＤＡＴＹが変化する。時刻ｔ６の時点において、デジタルデータＤＤはすでに変化している。したがって、データラッチ信号ＲＤＡＴＹのＹ０，Ｙ１，Ｙ２，…は、いずれも、誤ってラッチされた信号として誤信号となることはない。
【００６８】
図１５は、この発明の実施の形態によるアドレス発生回路３０のブロック構成を示したブロック図である。
【００６９】
図１５を参照して、アドレス発生回路３０は、転送カウンタ３１と、トグルラッチ３２と、インバータ３３と、ＡＮＤ回路３４，３５と、アドレスカウンタ３６，３７と、セレクタ回路３８とを含む。
【００７０】
転送カウンタ３１は、転送完了信号ＦＮおよび図５のＣＰＵ８０から出力される転送許可ビットＣＰＵＷＴを受けて、アンダーフロー信号ＵＦを出力する。転送カウンタ３１は、転送完了信号ＦＮを受けるたびに、ＣＰＵ８０によって予め設定された転送カウント値をデクリメントする。トグルラッチ３２は、アンダーフロー信号ＵＦを受けて、アドレス制御信号ＡＣＴＲを出力する。
【００７１】
インバータ３３は、アドレス制御信号ＡＣＴＲを反転する。ＡＮＤ回路３４は、インバータ３３から出力される信号および図５の調停回路６０から出力される転送完了信号ＦＮを受ける。アドレスカウンタ３６は、ＡＮＤ回路３４の出力信号を受けてアドレスカウントのインクリメントを行なう。ＡＮＤ回路３５は、アドレス制御信号ＡＣＴＲおよび転送完了信号ＦＮを受ける。アドレスカウンタ３７は、ＡＮＤ回路３５の出力信号を受けてアドレスカウントのインクリメントを行なう。
【００７２】
セレクタ回路３８は、トグルラッチ３２から出力されるアドレス制御信号ＡＣＴＲに応じて、アドレスカウンタ３６，３７の出力信号のうちいずれか一方を選択し、図５のＲＡＭ９０へのアドレス信号ＡＤＤとして出力する。これにより、転送カウンタ３１がアンダーフローするたびに、アドレス信号ＡＤＤを切り替えることが可能となる。また、ＲＡＭ９０に書き込まれるデータを２つの領域に振り分けて格納することが可能となる。
【００７３】
転送カウンタ３１は、一定の条件を満たしたときにカウンタ値を一定値に戻すためのリロードレジスタを含んでもよい。ここで、一定の条件とは、たとえば、転送許可ビットＣＰＵＷＴが転送禁止から転送許可になったとき、または転送カウント動作のアンダーフロー発生時などが挙げられる。なお、転送許可ビットＣＰＵＷＴは、ＣＰＵ８０によって設定可能なラッチ出力である。同様に、アドレスカウンタ３６，３７は、上記と同じ条件を満たしたときにカウンタ値を一定値に戻すためのリロードレジスタを含んでもよい。
【００７４】
転送カウンタ３１およびアドレスカウンタ３６，３７がこのようなリロードレジスタを含むことにより、ＲＡＭ９０に書き込まれるデータを２つの領域に振り分けて格納することが全てハードウェアによって行なわれるようになる。
【００７５】
また、アドレス発生回路３０は、アドレスカウンタ３６，３７の活性時に転送カウンタ３１がアンダーフローした場合、そのことをＣＰＵ８０に知らせる割り込み信号を発生させる割り込み信号発生回路を含んでもよい。たとえば、トグルラッチ３２から出力されるアドレス制御信号ＡＣＴＲが変化して、セレクタ回路３８の選択がアドレスカウンタ３６からアドレスカウンタ３７に切り替わった場合について考える。なお、トグルラッチ３２から出力されるアドレス制御信号ＡＣＴＲは、転送カウンタ３１のアンダーフロー発生を受けて変化する。
【００７６】
この場合、当該割り込み信号発生回路は、アドレスカウンタ３７に対応した割り込み信号を発生する。ＣＰＵ８０は、当該割り込み信号を受けて、アドレスカウンタ３６によって指定された領域に格納されるデータを処理することができる。また、このとき、外部からのデータは、アドレスカウンタ３７で指定される領域へ格納されるため、ＣＰＵ８０がアドレスカウンタ３６によって指定される領域のデータ処理をする妨げとはならない。したがって、ＣＰＵ８０は、アドレスカウンタ３６によって指定された領域に格納されたデータを処理すると同時に、外部からのデータも取り込み続けることが可能となる。
【００７７】
図１６は、この発明の実施の形態による書込制御部４０のブロック構成を示したブロック図である。
【００７８】
図１６を参照して、書込制御部４０は、カウンタ転送数制御回路４１と、書込制御回路４５とを含む。カウンタ転送数制御回路４１は、図５のエッジ検出回路１０から出力されるエッジ検出信号ＥＯＵＴを受けて、転送要求信号ＲＥＱを出力する。書込制御回路４５は、転送要求信号ＲＥＱを受けて、書込制御イネーブル信号ＷＥＸを出力する。
【００７９】
書込制御部４０は、エッジ検出信号ＥＯＵＴを受けて、図５のＲＡＭ９０へデータ書込みを行なうための書込制御イネーブル信号ＷＥＸを活性化する。また、書込制御部４０は、図５の調停回路０から出力される転送完了信号ＦＮを受けて、書込制御イネーブル信号ＷＥＸを非活性化する。
【００８０】
図１７は、カウンタ転送数制御回路４１の一例であるカウンタ転送数制御回路４１Ａのブロック構成を示したブロック図である。
【００８１】
図１７を参照して、カウンタ転送数制御回路４１Ａは、リロードレジスタ４２Ａと、カウンタ４３Ａと、ＡＮＤ回路４４Ａとを含む。
【００８２】
リロードレジスタ４２Ａは、図５のＣＰＵ８０によるカウント許可時またはアンダーフロー発生時にカウンタ４３Ａのカウント値をリセットする。カウンタ４３Ａは、図５のエッジ検出回路１０から出力されるエッジ検出信号ＥＯＵＴをカウントソースとして同期信号ＳＹＮのエッジをカウントし、転送要求イネーブル信号（アンダーフロー信号）ＲＥＱＥＮを出力する。ＡＮＤ回路４４Ａは、エッジ検出信号ＥＯＵＴおよび転送要求イネーブル信号ＲＥＱＥＮを受けて、転送要求信号ＲＥＱを出力する。
【００８３】
カウンタ転送数制御回路４１Ａは、カウント許可後の最初のアンダーフロー発生後にカウント動作を停止するか、アンダーフロー発生後の最初のエッジ検出でリロードレジスタ値をカウンタ４３Ａへリロードしてカウント動作を継続するかをＣＰＵ８０によって選択できるものとする。
【００８４】
「アンダーフロー発生後にカウント動作を停止する」モードを選択した場合、カウント許可後にリロードレジスタ値がカウンタ４３Ａへリロードされ、同期信号ＳＹＮのエッジが検出されるたびにカウント値がカウントダウンされる。カウンタ４３Ａがアンダーフローするまで、転送要求信号（アンダーフロー信号）ＲＥＱＥＮはＬレベルである。そのため、同期信号ＳＹＮのエッジが検出されても、ＡＮＤ回路４４Ａから出力される転送要求信号ＲＥＱはＬレベルのままである。
【００８５】
ここで、カウンタ４３Ａがアンダーフローを発生すると、転送要求イネーブル信号ＲＥＱＥＮはＨレベルの状態に移行する。その後、同期信号ＳＹＮのエッジが検出されれば、ＡＮＤ回路４４Ａの入力はともにＨレベルとなり、転送要求信号がＨレベルに活性化される。これにより、たとえば、同期信号ＳＹＮのエッジを任意の回数だけ検出してから外部データの取り込みを開始する、というような制御ができるようになる。
【００８６】
「リロードレジスタ値をカウンタ４３Ａへリロードしてカウント動作を継続する」モードを選択した場合、ＡＮＤ回路４４Ａの作用により、カウンタ４３Ａがアンダーフロー状態にあったときに検知された同期信号ＳＹＮのエッジに対してのみ転送要求信号ＲＥＱがＨレベルとなる。これにより、たとえば、同期信号ＳＹＮのエッジを任意の回数だけ検出したのに対して１回だけ外部からデータの取り込みを行なう、というような制御ができるようになる。
【００８７】
図１８は、カウンタ転送数制御回路４１の他の一例であるカウンタ転送数制御回路４１Ｂのブロック構成を示したブロック図である。
【００８８】
図１８を参照して、カウンタ転送数制御回路４１Ｂは、カウンタ転送数制御回路４１Ａを発展させたものであって、リロードレジスタ４２Ｂと、カウンタ４３Ｂと、エッジ検出回路１０Ｂと、ＡＮＤ回路４４Ｂとを含む。
【００８９】
リロードレジスタ４２Ｂは、図５のＣＰＵ８０によるカウント許可時またはアンダーフロー発生時にカウンタ４３Ｂのカウント値をリセットする。エッジ検出回路１０Ｂは、同期信号ＳＹＮのエッジ検出ごとにダウンカウントを行ない、外部からの許可信号ＰＴに応じてリロードレジスタ値をカウンタ４３Ｂへリロードする。カウンタ４３Ｂは、図５のエッジ検出回路１０から出力されるエッジ検出信号ＥＯＵＴをカウントソースとして同期信号ＳＹＮのエッジをカウントし、転送要求イネーブル信号（アンダーフロー信号）ＲＥＱＥＮを出力する。ＡＮＤ回路４４Ｂは、エッジ検出信号ＥＯＵＴおよび転送要求イネーブル信号ＲＥＱＥＮを受けて、転送要求信号ＲＥＱを出力する。
【００９０】
カウンタ転送数制御回路４１Ｂは、外部からカウント許可を制御可能にするとともに、外部許可によりロードレジスタ値をカウンタ４３Ｂへリロードし、同期信号ＳＹＮのエッジ検出ごとにダウンカウントを行なう。アンダーフロー発生後には、同期信号ＳＹＮのエッジ検出に応じて転送要求信号ＲＥＱがＨレベルに活性化される。
【００９１】
カウンタ転送数制御回路４１Ｂのような制御が有効な例として、ＣＣＤセンサを例にとって考える。ＣＣＤセンサの場合、垂直同期信号ＶＳＹＮＣおよび水平同期信号ＨＳＹＮＣがアサートされてから実際に有効な画像データが出力されるまでの間には、無効画素に起因した無効な画像同期クロック信号が出力されるのが一般的である。
【００９２】
このような場合、たとえば、図１８を参照して、外部からの許可信号ＰＴとして水平同期信号ＨＳＹＮＣを、同期信号ＳＹＮとして画像同期クロック信号をそれぞれ用いることにより、無効画素領域をハードウェア的に間引いて、必要な画素領域のみを選択的に取り込むことが可能となる。さらに、カウンタ４３Ｂを複数のカウンタ回路に分割することによって、外部からのデータを取り込むか否かをより細かく制御することが可能となる。
【００９３】
図１９は、書込制御回路４５の具体的な回路構成を示した回路図である。
【００９４】
図１９を参照して、書込制御回路４５は、インバータ４６，４９と、ＡＮＤ回路４７と、フリップフロップ回路４８とを含む。インバータ４６は、内部クロック信号ＣＬＫを反転する。ＡＮＤ回路４７は、インバータ４６の出力信号およびカウンタ転送数制御回路４１から出力される転送要求信号ＲＥＱを受ける。
【００９５】
フリップフロップ回路４８は、図５の調停回路６０から出力される転送完了信号ＦＮに同期して動作し、ＡＮＤ回路４７の出力信号を一時的に保持する。インバータ４９は、フリップフロップ回路４８からの出力信号を反転して書込制御イネーブル信号ＷＥＸを出力する。なお、フリップフロップ回路４８は、ハードウェアのリセット時に書込制御イネーブル信号ＷＥＸを非活性化とするためのリセット端子４８Ｒを有している。
【００９６】
図２０は、書込制御回路４５の動作タイミングを示したタイミング図である。
【００９７】
図２０に示すように、時刻ｔ１において、内部クロック信号ＣＬＫに同期して転送要求信号ＲＥＱが立ち上がる。これを受けて、時刻ｔ２において、書込制御イネーブル信号ＷＥＸがＬレベルに立ち下がる。時刻ｔ３において、転送要求信号ＲＥＱが立ち下がるとともに、転送完了信号ＦＮが立ち上がる。これを受けて、時刻ｔ４において、書込制御イネーブル信号ＷＥＸがＨレベルに立ち上がる。時刻ｔ５において、内部クロック信号ＣＬＫに同期して転送完了信号ＦＮが立ち下がる。
【００９８】
図２１は、この発明の実施の形態による調停回路６０の具体的な回路構成を示した回路図である。
【００９９】
図２１を参照して、調停回路６０は、フリップフロップ回路６２，６５，６６，７４と、データバスセレクタ６７と、トリステートバッファ６８，６９と、ＡＮＤ回路６４，７０，７３，７６と、アドレスセレクタ７１と、インバータ６１，７２，７７と、ＮＡＮＤ回路６３，７５とを含む。フリップフロップ回路６２，６５，６６，７４は、いずれも内部クロック信号ＣＬＫに同期して動作する。
【０１００】
インバータ６１は、図５のＣＰＵ８０から出力される読出イネーブル信号ＲＥを反転する。なお、読出イネーブル信号ＲＥは、ＲＡＭ内部の読出し信号ＲＡＭＲＤとしてＲＡＭ９０へも出力される。フリップフロップ回路６２は、インバータ６１の出力信号を一時的に保持した後、出力イネーブル信号ＯＥとして出力する。
【０１０１】
ＮＡＮＤ回路６３は、図５のＣＰＵ８０から出力される書込イネーブル信号ＷＥおよび図５の書込制御部４０から出力される書込制御イネーブル信号ＷＥＸを受ける。ＡＮＤ回路６４は、読出イネーブル信号ＲＥおよびＮＡＮＤ回路６３の出力信号を受ける。フリップフロップ回路６５は、ＡＮＤ回路６４の出力信号を一時的に保持した後、データイネーブル信号ＤＥとして出力する。
【０１０２】
フリップフロップ回路６６は、書込イネーブル信号ＷＥを一時的に保持する。データバスセレクタ６７は、書込イネーブル信号ＷＥに応じて、ＣＰＵ８０から出力されるＣＰＵデータバス信号ＣＰＵＤＢおよび図５のデータラッチ部２０から出力されるデータラッチ信号ＲＤＡＴのいずれか一方を選択する。データバスセレクタ６７は、書込イネーブル信号ＷＥがＬレベルのときＣＰＵデータバス信号ＣＰＵＤＢを選択し、書込イネーブル信号ＷＥがＨレベルのときデータラッチ信号ＲＤＡＴを選択する。
【０１０３】
データバスセレクタ６７は、ＣＰＵ８０がＲＡＭ９０へ書込みアクセスすることで書込イネーブル信号ＷＥがＬレベルになると、それに続く内部クロック信号ＣＬＫの立ち上がりに同期してＣＰＵデータバス信号ＣＰＵＤＢを出力する。データバスセレクタ６７が内部クロック信号ＣＬＫの立ち上がりに同期してＣＰＵデータバス信号ＣＰＵＤＢを出力するのは、ＣＰＵ８０がデータを出力するタイミングに合わせるためである。
【０１０４】
トリステートバッファ６８は、出力イネーブル信号ＯＥに応じて、ＲＡＭ９０から出力されるＲＡＭデータバス信号ＲＡＭＤＢをバッファリングする。トリステートバッファ６９は、ＣＰＵ８０がＲＡＭ９０への読出しアクセスを実行した場合、出力イネーブル信号ＯＥに応じて、ＲＡＭデータバス信号ＲＡＭＤＢをＣＰＵ８０のデータバスへのせる。
【０１０５】
出力イネーブル信号ＯＥは、読出イネーブル信号ＲＥの反転信号を内部クロックＣＬＫでラッチしたものである。読出イネーブル信号ＲＥの反転信号を内部クロックＣＬＫでラッチするのは、読出イネーブル信号ＲＥがＬレベルとなって最初の内部クロックＣＬＫの立ち上がりタイミングに合わせるためである。
【０１０６】
トリステートバッファ６９は、データイネーブル信号ＤＥに応じて、データバスセレクタ６２の出力信号をバッファリングする。トリステートバッファ６９は、ＣＰＵ８０がＲＡＭ９０への書込みアクセスを実行した場合または転送要求信号ＲＥＱが活性化された場合に、データイネーブル信号ＤＥに応じて、データバスセレクタ６２の出力信号をＲＡＭ９０内部のデータバスへのせる。
【０１０７】
データイネーブル信号ＤＥは、書込イネーブル信号ＷＥ、書込制御イネーブル信号ＷＥＸおよび読出イネーブル信号ＲＥの論理出力を内部クロック信号ＣＬＫでラッチしたものである。これらの制御信号の論理出力を内部クロック信号ＣＬＫでラッチするのは、ＣＰＵ８０が書込みデータを出力するタイミングに合わせるためである。言い換えると、ＲＡＭ９０のバスアクセスプロトコルに合わせるためである。読出イネーブル信号ＲＥは、ＣＰＵ９０が読出しアクセスしている状態を判別するために必要となる。
【０１０８】
ＡＮＤ回路７０は、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥを受ける。アドレスセレクタ７１は、ＡＮＤ回路７０の出力信号に応じて、ＣＰＵ８０から出力されるＣＰＵアドレスバス信号ＣＰＵＡＢおよび図５のアドレス発生回路３０から出力されるアドレス信号ＡＤＤのいずれか一方を選択し、ＲＡＭ９０内部への読出し信号ＲＡＭＲＤとして出力する。アドレスセレクタ７１は、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥのどちらか一方がＬレベルのときＣＰＵアドレスバス信号ＣＰＵＡＢを選択し、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥがともにＨレベルのときアドレス信号ＡＤＤを選択する。
【０１０９】
インバータ７２は、書込制御イネーブル信号ＷＥＸを反転する。ＡＮＤ回路７３は、読出イネーブル信号ＲＥ、書込イネーブル信号ＷＥ、およびインバータ７２の出力信号を受ける。フリップフロップ回路７４は、ＡＮＤ回路７３の出力信号を一時的に保持した後、転送完了信号ＦＮとして図５のアドレス発生回路３０および書込制御部４０に出力する。
【０１１０】
転送完了信号ＦＮは、書込制御部４０へのデータ転送要求が完了したことを伝える信号である。転送完了信号ＦＮは、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥがいずれもＨレベルで、かつ、書込制御イネーブル信号ＷＥＸがＬレベルであった場合に活性化される。この場合、ＣＰＵ８０はＲＡＭ９０へアクセスしておらず、かつ、取り込まれたデジタルデータＤＤの転送要求がある。このとき、デジタルデータＤＤの転送要求が実効されるため、転送完了信号ＦＮはＨレベルとなる。
【０１１１】
Ｈレベルとなった転送完了信号ＦＮは、書込制御部４０へ入力される。これにより、書込制御イネーブル信号ＷＥＸが非活性化され、外部から取り込まれたデジタルデータＤＤの転送が完了する。なお、図１５において説明したように、図５のアドレス発生回路３０をアドレスカウンタ３６，３７で構成し、そのカウントソースを転送完了信号ＦＮとすることにより、ＲＡＭ９０への書込みデータごとに格納先のアドレスを変更させることも可能である。
【０１１２】
ＮＡＮＤ回路７５は、書込イネーブル信号ＷＥおよび書込制御イネーブル信号ＷＥＸを受ける。ＡＮＤ回路７６は、読出イネーブル信号ＲＥおよびＮＡＮＤ回路７５の出力信号を受ける。インバータ７７は、ＡＮＤ回路７６の出力信号を反転し、ＲＡＭ９０への書込み信号ＲＡＭＷＴとして出力する。
【０１１３】
図２２は、この発明の実施の形態による調停回路６０の動作タイミングを示したタイミング図である。
【０１１４】
図２２に示すように、時刻ｔ１において、内部クロック信号ＣＬＫに同期して、読出イネーブル信号ＲＥが立ち下がるとともに、ＣＰＵアドレスバス信号ＣＰＵＡＢが入力される。時刻ｔ２において、内部クロック信号ＣＬＫに同期して、ＲＡＭデータバス信号ＲＡＭＤＢが出力される。時刻ｔ３において、内部クロック信号ＣＬＫに同期して、読出イネーブル信号が立ち上がるとともに、書込イネーブル信号ＷＥが立ち下がる。
【０１１５】
時刻ｔ４において、内部クロック信号ＣＬＫに同期して、ＣＰＵアドレスバス信号ＣＰＵＡＢが入力される。時刻ｔ５において、内部クロック信号ＣＬＫに同期して、書込イネーブル信号ＷＥが立ち上がるとともに、ＲＡＭデータバス信号ＲＡＭＤＢが出力される。このように、図５のＲＡＭ９０へ入力されるＣＰＵアドレスバス信号ＣＰＵＡＢ、およびＲＡＭ９０から出力されるＲＡＭデータバス信号ＲＡＭＤＢは、ともに、読出イネーブル信号ＲＥおよび／または書込イネーブル信号ＷＥに応じて変化する。
【０１１６】
ＲＡＭ９０への読出しまたは書込みのアクセスするためには、アドレス信号ＡＤＤ、データラッチ信号ＲＤＡＴなどのデータ信号、読出イネーブル信号ＲＥ、および書込イネーブル信号ＷＥが必要となる。アドレス信号ＡＤＤは、ＲＡＭ９０にとって入力となる。読出イネーブル信号ＲＥは、ＲＡＭ９０にとって入力となり、読出しアクセス時のみＬレベルとなる。書込イネーブル信号ＷＥは、ＲＡＭ９０にとって入力となり、書込みアクセス時のみＨレベルとなる。なお、ＲＡＭ９０へのアクセスサイクルは、マイクロコンピュータ１の内部クロックＣＬＫ１サイクルとする。
【０１１７】
上記のように、ＣＰＵ８０がＲＡＭ９０へアクセスしていないバスサイクルを検知して、そのサイクルでＲＡＭ９０へ書込み動作を行なうことにより、ＣＰＵ８０の動作を妨げることなく外部から取り込んだデジタルデータＤＤをＲＡＭ９０へ格納することができる。なお、この発明の実施の形態では、記憶装置としてＲＡＭ９０を例示しているが、書込み可能な記憶措置であればどのような記憶装置であってもよい。
【０１１８】
以上のように、この発明の実施の形態によれば、書込制御イネーブル信号ＷＥＸ、読出イネーブル信号ＲＥおよび書込イネーブル信号ＷＥをモニタし、ＣＰＵ８０がＲＡＭ９０へアクセスしていないサイクルを見出すことにより、ＣＰＵとＤＭＡとの間のバス競合の影響が最小限に抑えられ、セットアップ時間／ホールド時間がフレキシブルに変更可能となる。
【０１１９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２０】
【図１】この発明の実施の形態を説明する背景となるマイクロコンピュータシステム１００のブロック構成を示したブロック図である。
【図２】この発明の実施の形態を説明する背景となるマイクロコンピュータシステム１００の信号波形を示した波形図である。
【図３】この発明の実施の形態を説明する背景となるマイクロコンピュータシステム２００のブロック構成を示したブロック図である。
【図４】この発明の実施の形態を説明する背景となるマイクロコンピュータシステム２００の信号波形を示した波形図である。
【図５】この発明の実施の形態によるマイクロコンピュータ１のブロック構成を示したブロック図である。
【図６】この発明の実施の形態によるエッジ検出回路１０の一例であるエッジ検出回路１０Ｕの回路構成を示した回路図である。
【図７】この発明の実施の形態によるエッジ検出回路１０の一例であるエッジ検出回路１０Ｕの動作タイミングを示したタイミング図である。
【図８】この発明の実施の形態によるエッジ検出回路１０の他の一例であるエッジ検出回路１０Ｄの回路構成を示した回路図である。
【図９】この発明の実施の形態によるエッジ検出回路１０の他の一例であるエッジ検出回路１０Ｄの動作タイミングを示したタイミング図である。
【図１０】この発明の実施の形態によるデータラッチ部２０のブロック構成を示したブロック図である。
【図１１】データラッチタイミング選択回路２１の具体的な回路構成を示した回路図である。
【図１２】データラッチ回路２６の具体的な回路構成を示した回路図である。
【図１３】この発明の実施の形態によるデータラッチ部２０の動作タイミングを示したタイミング図である。
【図１４】同期信号ＳＹＮに対してデジタルデータＤＤが遅延している場合におけるデータラッチ部２０の動作タイミングを示したタイミング図である。
【図１５】この発明の実施の形態によるアドレス発生回路３０のブロック構成を示したブロック図である。
【図１６】この発明の実施の形態による書込制御部４０のブロック構成を示したブロック図である。
【図１７】カウンタ転送数制御回路４１の一例であるカウンタ転送数制御回路４１Ａのブロック構成を示したブロック図である。
【図１８】カウンタ転送数制御回路４１の他の一例であるカウンタ転送数制御回路４１Ｂのブロック構成を示したブロック図である。
【図１９】書込制御回路４５の具体的な回路構成を示した回路図である。
【図２０】書込制御回路４５の動作タイミングを示したタイミング図である。
【図２１】この発明の実施の形態による調停回路６０の具体的な回路構成を示した回路図である。
【図２２】この発明の実施の形態による調停回路６０の動作タイミングを示したタイミング図である。
【符号の説明】
【０１２１】
１，１５０，２３０  マイクロコンピュータ、２  同期信号入力端子、３  外部データ入力端子、１０，１０Ｕ，１０Ｄ，１０Ｂ  エッジ検出回路、１１Ｕ，１１Ｄ，１２Ｕ，１２Ｄ，２２〜２４，４８，６２，６５，６６，７４  フリップフロップ回路、１３Ｕ，１３Ｄ，１５Ｄ，３３，４６，４９，６１，７２，７７  インバータ、１４Ｕ，３４，３５，４４Ａ，４４Ｂ，４７，６４，７０，７３，７６  ＡＮＤ回路、１４Ｄ  ＯＲ回路、２０  データラッチ部、２１  データラッチタイミング選択回路、２５  セレクタ、２６  データラッチ回路、２６＿ｋ  データラッチ回路ユニット、３０  アドレス発生回路、３１  転送カウンタ、３２  トグルラッチ、３６，３７  アドレスカウンタ、３８  セレクタ回路、４０  書込制御部、４１，４１Ａ，４１Ｂ  カウンタ転送数制御回路、４２Ａ，４２Ｂ  リロードレジスタ、４３Ａ，４３Ｂ  カウンタ、４５  書込制御回路、５１  ローカルバス、５２  データバス、５３  メモリバス、６０  調停回路、６７  データバスセレクタ、６８，６９  トリステートバッファ、７１  アドレスセレクタ、６３，７５  ＮＡＮＤ回路、８０，２３６  ＣＰＵ、９０，１４０，２３５  ＲＡＭ、１００，２００  マイクロコンピュータシステム、１１０，２１０  センサ、１２０，２２０  ＡＤ変換器、１３０  ＡＳＩＣ、１６０  外部バス、２３１  ポート、２３２  ＤＭＡ転送要求検出回路、２３３  ＤＭＡ、２３４  内部バス。
【図１】
2005250683.tif 000003
【図２】
2005250683.tif 000004
【図３】
2005250683.tif 000005
【図４】
2005250683.tif 000006
【図５】
2005250683.tif 000007
【図６】
2005250683.tif 000008
【図７】
2005250683.tif 000009
【図８】
2005250683.tif 000010
【図９】
2005250683.tif 000011
【図１０】
2005250683.tif 000012
【図１１】
2005250683.tif 000013
【図１２】
2005250683.tif 000014
【図１３】
2005250683.tif 000015
【図１４】
2005250683.tif 000016
【図１５】
2005250683.tif 000017
【図１６】
2005250683.tif 000018
【図１７】
2005250683.tif 000019
【図１８】
2005250683.tif 000020
【図１９】
2005250683.tif 000021
【図２０】
2005250683.tif 000022
【図２１】
2005250683.tif 000023
【図２２】
2005250683.tif 000024