(57)【特許請求の範囲】
【請求項１】
非同期バスとマクロ回路との間に配置される非同期バスインターフェイス装置において、
マイクロプロセッサから前記非同期バスを介して送られた書き込み要求信号に応じて前記マイクロプロセッサの書き込みデータを一時保存する外部レジスタ部と、
前記マイクロプロセッサから書き込み要求信号を受信したとき、マクロ回路の動作クロックに同期して内部レジスタ書き込み信号を生成する調停部と、
前記外部レジスタ部から出力されるデータを前記内部レジスタ書き込み信号が入力されたときに読み込んで一時保存し、この保存しているデータを前記マクロ回路の動作クロックに同期して出力する内部レジスタ部と、
前記内部レジスタから出力されるデータと所定の割り込み発生条件値とを比較し、当該比較結果が一致する場合に割り込み発生信号を出力する割り込み判定部と、
前記外部レジスタ部におけるデータ保存のタイミングと前記内部レジスタ部におけるデータ保存のタイミングとのずれを認識して、このずれの期間における割り込み発生を抑制するための割り込み抑制信号を出力する状態管理制御部と、
前記割り込み発生信号と前記割り込み抑制信号とに基づいて、前記マクロ回路への割り込みの発生を決定する割り込み発生フラグを出力する割り込み制御部とを備えることを特徴とする非同期バスインターフェイス装置。
【請求項２】
非同期バスから出力されるデータを保存する外部レジスタと、
前記外部レジスタに保存されているデータをマクロ回路の動作するクロックに同期して取り込む内部レジスタと、
前記内部レジスタが前記外部レジスタに保存されているデータの取り込みを開始するための内部レジスタ書き込み信号を生成する調停部と、
前記内部レジスタに取り込まれたデータと所定の割り込み発生条件値とを比較し、当該比較結果が一致する場合に割り込み発生信号を出力する割り込み判定部と、
前記割り込み発生信号を入力し、前記マクロ回路への割り込み発生を制御する割り込み制御部とを備え、
前記内部レジスタは、前記外部レジスタに保存されているデータの取り込みが完了したときに内部レジスタ書き込み終了信号を出力し、前記割り込み制御部は、前記内部レジスタ書き込み信号と前記内部レジスタ書き込み終了信号とに基づいて前記マクロ回路への割り込み発生を制御することを特徴とする非同期バスインターフェイス装置。
【請求項３】
請求項２記載の非同期バスインターフェイス装置において、
前記内部レジスタ書き込み信号と前記内部レジスタ書き込み終了とから割り込み抑制信号を生成する状態管理制御部を備え、
前記割り込み制御部は、前記割り込み抑制信号を入力することを特徴とする非同期バスインターフェイス装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の非同期バスインターフェイス装置において、
前記割り込み判定部は、一定周期毎にカウントアップするカウンタと、前記内部レジスタに取り込まれたデータと前記カウンタのカウント値を比較する一致回路を有することを特徴とする非同期バスインターフェイス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータの非同期バスとマクロ回路との間に配置される非同期バスインターフェイス装置に関するものである。
【０００２】
【従来の技術】
ＣＰＵと外部周辺装置で構成されるようなシステム、例えば各種機器に組み込まれて、機器を制御する機器組み込み用のマイクロコンピュータシステムにおいて、ＣＰＵは近年ますます高速化が図られている。これに対して、周辺装置は機械的な動作を含むものや、アナログ入力装置などでは高速化が困難なものもあり、また周辺装置では高速化を図ると消費電力が急激に増加するものもあるため、近年の低省電力化が叫ばれている状況では、周辺装置の動作周波数はより低くなる傾向にある。
【０００３】
このことは周辺装置の動作においては、バスへのウエイトサイクルが増加することとなり、パフォーマンスを低下させることとなる。ＣＰＵと周辺機能との間の動作周波数の相対差が大きくなることにより、周辺装置の応答時間が増加すると、ＣＰＵから周辺装置にデータを転送するときのバスウエイト時間が長くなり、処理性能が低下する問題があった。
【０００４】
そこで、このような問題を解決する方法として、非同期バスを介してＣＰＵとハンドシェイクを行ってデータを受信、一時記憶し、一時記憶したデータを周辺装置の動作クロック周波数に同期して周辺装置へ出力する非同期バスインターフェイス装置を非同期バスと周辺装置の間に配置した機器組み込み用のマイクロコンピュータシステムが知られている。図９は、このような非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【０００５】
このマイクロコンピュータシステムは、ＣＰＵ８−１と、非同期バス８−２と、複数のマクロ回路８−３と、非同期バスインターフェイス装置８−４とを備えている。非同期バスインターフェイス装置８−４は、外部レジスタ部８−５と内部レジスタ部８−６と調停部８−７と割り込み判定部８−８と割り込み制御部８−９とを備えている。ＣＰＵ８−１と非同期バスインターフェイス装置８−４の動作周波数の差を調整するために、非同期バス８−２には、高速動作が可能な外部レジスタ部８−５を接続し、その後ろに低速な周辺装置に合せた内部レジスタ部８−６を接続するような構成としている。
【０００６】
ＣＰＵ８−１は、非同期バス８−２を通して、非同期バスインターフェイス装置８−４に書き込み要求信号を送る。外部レジスタ部８−５は、ＣＰＵ８−１から非同期バス８−２を介して送られた書き込み要求信号に応じてＣＰＵ８−１からの書き込みデータを取り込んで蓄積する。そして、外部レジスタ部８−５は、蓄積したデータ（外部レジスタ値）を内部クロック信号に同期して内部レジスタ部８−６へ送る。調停部８−７は、ＣＰＵ８−１からの書き込み要求に応じて調停部８−７内部の書き込み要求フラグをセットして、内部レジスタ部８−６に内部レジスタ書き込み信号を送る。
【０００７】
内部レジスタ部８−６は、調停部８−７から内部レジスタ書き込み信号が出力されると、外部レジスタ部８−５から出力された書き込みデータを取り込んで蓄積し、このデータ（内部レジスタ値）を割り込み判定部８−８に送る。割り込み判定部８−８は、内部レジスタ部８−６から出力された内部レジスタ値と所定の割り込み発生条件値とを比較して、一致する場合は、割り込み制御部８−９に割り込み発生信号を送る。割り込み制御部８−９は、割り込み判定部８−８からの割り込み発生信号と外部からの割り込みクリア信号とから、割り込み発生フラグを出力する。
【０００８】
図１０のフローチャートを用いて調停部８−７の動作を詳細に説明する。調停部８−７は、ＣＰＵ８−１からの書き込み要求を受けると（ステップ９−１）、内部の書き込み要求フラグをセットし（ステップ９−２）、新たにＣＰＵ８−１からの書き込み要求があるかどうか判断する（ステップ９−３）。書き込み要求がある場合はステップ９−２へ戻る。新たな書き込み要求が無い場合、調停部８−７は、書き込み要求フラグをリセットして（ステップ９−４）、内部レジスタ部８−６に内部レジスタ書き込み信号を送る（ステップ９−５）。
【０００９】
【発明が解決しようとする課題】
しかしながら、図９に示す非同期バスインターフェイス装置によると、図１１に示すような問題が生じる。すなわち、外部レジスタ部８−５は、ＣＰＵ８−１からの書き込み要求信号の立ち下がりで、ＣＰＵ８−１から送られたデータ「Ｋ」を取り込む（図１１（ａ）、図１１（ｃ））。通常、ＣＰＵ８−１は、書き込み要求信号の送信後、データ「Ｋ」が内部レジスタ部８−６に書き込まれる前のデータ「Ｍ」によって割り込みがかかるのを防ぐため、図１１（ｂ）に示すような割り込みクリア信号を出力する。
【００１０】
この割り込みクリア信号により、書き込み前のデータ「Ｍ」による割り込みをクリアさせる。しかし、内部レジスタ部８−６への書き込みが割り込みクリア信号のタイミングより遅い場合、内部レジスタ部８−６へのデータ「Ｋ」の書き込みが完了する前の時点で、外部の割り込み発生条件値と一致する状態が発生すると、割り込みがかかる状態となってしまう。
【００１１】
このような割り込みの発生を回避するために、図１２に示すような方法が考えられる。外部レジスタ部８−５は、ＣＰＵ８−１からの書き込み要求信号の立ち下がりで、ＣＰＵ８−１から送られたデータ「Ｋ」を取り込む（図１２（ａ）、図１２（ｄ））。ここで、内部レジスタ部８−６への書き込みが遅くなることを考慮して、ＣＰＵ８−１は、内部レジスタ部８−６への書き込みに要する時間待った後に割り込みクリア信号を出力する（図１２（ｂ））。
【００１２】
これにより、割り込み発生条件値と一致する状態が発生して、図１２（ｆ）のように割り込み発生信号が生じても、割り込みクリア信号により割り込み発生フラグがクリアされる（図１２（ｇ））。こうして、データ「Ｋ」が内部レジスタ部８−６に書き込まれる前のデータ「Ｍ」によって割り込みがかかることを防止できる。ただし、図１２で説明したような方法は、ソフトウェアの作成の制限事項として、ソフトウェアの作成を困難にする場合が多く、また場合によってはＣＰＵ８−１がその期間占有されるためレスポンスの低下、ＣＰＵ使用効率の低下が考えられる。
【００１３】
本発明は、上記課題を解決するためになされたもので、ソフトウェア上の制限なしで、なおかつＣＰＵの使用効率を下げることのない非同期バスインターフェイス装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明の非同期バスインターフェイス装置（１−４，４−４，５−４，６−４ａ）は、マイクロプロセッサ（１−１，４−１，５−１，６−１ｂ）から非同期バス（１−２，４−２，５−２，６−２）を介して送られた書き込み要求信号に応じて前記マイクロプロセッサの書き込みデータを一時保存する外部レジスタ部（１−５，４−５，５−５ａ，５−５ｂ，７−５）と、前記マイクロプロセッサから書き込み要求信号を受信したとき、マクロ回路の動作クロックに同期して内部レジスタ書き込み信号を生成する調停部（１−７，４−７，５−７，７−７）と、前記外部レジスタ部から出力されるデータを前記内部レジスタ書き込み信号が入力されたときに読み込んで一時保存し、この保存しているデータを前記マクロ回路の動作クロックに同期して出力する内部レジスタ部（１−６，４−６，５−６ａ，５−６ｂ，７−６）と、前記内部レジスタから出力されるデータと所定の割り込み発生条件値とを比較し、当該比較結果が一致する場合に割り込み発生信号を出力する割り込み判定部と、前記外部レジスタ部におけるデータ保存のタイミングと前記内部レジスタ部におけるデータ保存のタイミングとのずれを認識して、このずれの期間における割り込み発生を抑制するための割り込み抑制信号を出力する状態管理制御部（１−１０，４−１０，５−１０，７−１０）と、前記割り込み発生信号と前記割り込み抑制信号とに基づいて、前記マクロ回路への割り込みの発生を決定する割り込み発生フラグを出力する割り込み制御部とを備えるものである。
また、本発明の非同期バスインターフェイス装置は、非同期バスから出力されるデータを保存する外部レジスタと、前記外部レジスタに保存されているデータをマクロ回路の動作するクロックに同期して取り込む内部レジスタと、前記内部レジスタが前記外部レジスタに保存されているデータの取り込みを開始するための内部レジスタ書き込み信号を生成する調停部と、前記内部レジスタに取り込まれたデータと所定の割り込み発生条件値とを比較し、当該比較結果が一致する場合に割り込み発生信号を出力する割り込み判定部と、前記割り込み発生信号を入力し、前記マクロ回路への割り込み発生を制御する割り込み制御部とを備え、前記内部レジスタは、前記外部レジスタに保存されているデータの取り込みが完了したときに内部レジスタ書き込み終了信号を出力し、前記割り込み制御部は、前記内部レジスタ書き込み信号と前記内部レジスタ書き込み終了信号とに基づいて前記マクロ回路への割り込み発生を制御するものである。
また、本発明の非同期バスインターフェイス装置の１構成例は、前記内部レジスタ書き込み信号と前記内部レジスタ書き込み終了とから割り込み抑制信号を生成する状態管理制御部を備え、前記割り込み制御部は、前記割り込み抑制信号を入力するものである。
また、本発明の非同期バスインターフェイス装置の１構成例は、前記割り込み判定部は、一定周期毎にカウントアップするカウンタと、前記内部レジスタに取り込まれたデータと前記カウンタのカウント値を比較する一致回路を有するものである。
【００１５】
【発明の実施の形態】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の第１の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図、図２は図１の非同期バスインターフェイス装置の動作を示すタイミングチャート図である。図１のマイクロコンピュータシステムは、ＣＰＵ１−１と、非同期バス１−２と、複数のマクロ回路１−３と、非同期バスインターフェイス装置１−４とを備えている。非同期バスインターフェイス装置１−４は、外部レジスタ部１−５と内部レジスタ部１−６と調停部１−７と割り込み判定部１−８と割り込み制御部１−９と状態管理制御部１−１０とを備えている。
【００１６】
ＣＰＵ１−１は、非同期バス１−２を通して、非同期バスインターフェイス装置１−４に書き込みデータ及び書き込み要求信号を送る。なお、ＣＰＵ１−１からは、送信先のアドレスとして、非同期バスインターフェイス装置１−４を示すアドレスも併せて送られるが、ここでは説明を簡便にするためアドレスについては省略する。
【００１７】
外部レジスタ部１−５は、ＣＰＵ１−１から非同期バス１−２を介して送られた書き込み要求信号に応じてＣＰＵ１−１からの書き込みデータを取り込んで蓄積する。そして、外部レジスタ部１−５は、蓄積したデータ（外部レジスタ値）を内部クロック（マクロ回路の動作クロック）に同期して内部レジスタ部１−６へ送る。
【００１８】
調停部１−７は、ＣＰＵ１−１からの書き込み要求に応じて調停部１−７内部の書き込み要求フラグをセットして、内部レジスタ部１−６に内部レジスタ書き込み信号を送る。内部レジスタ部１−６は、調停部１−７から内部レジスタ書き込み信号が出力されると、外部レジスタ部１−５から出力された書き込みデータを取り込んで蓄積し、このデータ（内部レジスタ値）を割り込み判定部１−８に送る。
【００１９】
割り込み判定部１−８は、内部レジスタ部１−６から出力された内部レジスタ値と所定の割り込み発生条件値とを比較して、一致する場合は、割り込み制御部１−９と図示しない外部の割り込みコントローラとに割り込み発生信号を送る。状態管理制御部１−１０は、ＣＰＵ１−１から調停部１−７を通じて送られる書き込み要求信号と、データ書き込みの終了後に内部レジスタ部１−６から出力される内部レジスタ書き込み終了信号とに基づき、割り込み抑制信号を生成して割り込み制御部１−９に送る。
【００２０】
割り込み制御部１−９は、割り込み判定部１−８の割り込み発生信号と、状態管理制御部１−１０の割り込み抑制信号とを受けて、割り込み発生フラグの制御を行う。割り込み制御部１−９は、割り込み発生信号が出力され、かつ割り込み抑制信号が出力されていない場合には、割り込み発生フラグをオンにし、割り込み発生信号が出力され、かつ割り込み抑制信号が出力されている場合には、割り込み発生フラグをオフのままとする。
【００２１】
なお、割り込み発生信号と割り込み発生フラグは、外部の図示しない割り込みコントローラによって保持され管理される。このうち、割り込み発生信号は、割り込みの発生そのものを示し、割り込み発生フラグは、この割り込みがどこから発生したかを示している。割り込み発生信号が保持されていたとしても、対応する割り込み発生フラグがオフであれば、割り込みコントローラは、割り込みが発生したとは認識しない。割込みコントローラは、割り込み発生信号が出力され、かつ対応する割り込み発生フラグがオンである場合、対応するマクロ回路１−３に割り込みをかける。割り込みをかけられたマクロ回路１−３は、非同期バスインターフェイス装置１−４の内部レジスタ部１−６から内部レジスタ値を引き取る。
【００２２】
次に、図１と図２を用いて本実施の形態の動作をより詳細に説明する。まず、ＣＰＵ１−１からは、非同期バス１−２を通して、外部レジスタ部１−５へ書き込みデータ（ここでは値を「Ｋ」とする）と図２（ａ）に示す書き込み要求信号とが送られる。外部レジスタ部１−５は、書き込み要求信号に応じて書き込みデータ「Ｋ」を取り込む。これにより、外部レジスタ値は、以前の値「Ｍ」から新たな値「Ｋ」に書き換わる（図２（ｂ））。
【００２３】
外部レジスタ部１−５は、新たな外部レジスタ値「Ｋ」を内部レジスタ部１−６へ送る。調停部１−７は、ＣＰＵ１−１からの書き込み要求に応じて内部の書き込み要求フラグをセットして、内部レジスタ部１−６に内部レジスタ書き込み信号を送る（図２（ｃ））。さらに、調停部１−７は、ＣＰＵ１−１から送られてきた書き込み要求信号を状態管理制御部１−１０に送る。
【００２４】
内部レジスタ部１−６は、調停部１−７から内部レジスタ書き込み信号が出力されると、外部レジスタ部１−５から出力された書き込みデータを取り込んで内部レジスタ値の書き換えを行う。しかし、この内部レジスタ１−６はマクロ回路１−３の動作クロックに従うため、ＣＰＵ１−１などの動作速度に比較して遅く、内部レジスタ部１−６の書き換えは内部レジスタ書き込み信号から遅れて実行される（図２（ｄ））。
【００２５】
状態管理制御部１−１０は、ＣＰＵ１−１から調停部１−７を通じて送られる書き込み要求信号と内部レジスタ部１−６から出力される内部レジスタ書き込み終了信号とに基づき、図２（ｅ）のような割り込み抑制信号を生成して割り込み制御部１−９に送る。この割り込み抑制信号は、書き込み要求信号の立ち下がりに応じてロー（Low ）レベルからハイ（High）レベルに立ち上がり、内部レジスタ書き込み終了信号に応じてローレベルに立ち下がる信号である。
【００２６】
割り込み判定部１−８は、内部レジスタ部１−６から出力された内部レジスタ値と所定の割り込み発生条件値とを比較して、一致する場合は、割り込み制御部１−９と図示しない外部の割り込みコントローラとに割り込み発生信号を出力する。図２の例では、データ「Ｋ」が内部レジスタ部１−６に書き込まれる前のデータ「Ｍ」によって割り込み判定部１−８が図２（ｆ）のような割り込み発生信号を出力している。
【００２７】
割り込み制御部１−９は、割り込み判定部１−８から出力される割り込み発生信号と、状態管理制御部１−１０から出力される割り込み抑制信号とを受けて、割り込み発生フラグのオン／オフ制御を行う。図２の例では、状態管理制御部１−１０から割り込み抑制信号が出力されているため、内部レジスタ書き換え完了前のデータ「Ｍ」によって割り込み発生信号がハイレベルになっていたとしても、割り込み制御部１−９は、割り込みフラグを変化させずオフ（ローレベル）のままとする（図２（ｇ））。
【００２８】
このように、本実施の形態では、ＣＰＵ１−１から外部レジスタ部１−５への書き込み要求信号と内部レジスタ部１−６からの内部レジスタ書き込み終了信号とに基づいて、外部レジスタ部１−５におけるレジスタ値の書き換え開始時から内部レジスタ部１−６におけるレジスタ値の書き換え終了時までの期間を割り込み抑制期間として、状態管理制御部１−１０が割り込み抑制信号を生成して割り込み制御部１−９に与えるため、割り込み判定部１−８が割り込み発生信号を生成しても、実際の割り込みを起こさないようにすることができ、非同期バスインターフェイス装置１−４が誤った割り込み条件での内部動作を起こすことを防いでいる。
【００２９】
次に、図３を用いて本実施の形態の状態管理制御部１−１０と割り込み制御部１−９の動作を詳細に説明する。状態管理制御部１−１０は、ＣＰＵ１−１から調停部１−７を通じて書き込み要求信号を受けると（ステップ３−１）、内部の割り込み抑制フラグをオンにして割り込み抑制信号を出力する（ステップ３−２）。
【００３０】
割り込み判定部１−８は、内部レジスタ値と割り込み発生条件値とを比較して割り込み発生の判断を行い（ステップ３−３）、一致する場合は、割り込み発生信号を出力する。割り込み発生信号が出力されていない場合（ステップ３−３においてＮＯ）、あるいは割り込み発生信号が出力され割り込み抑制フラグがオンである場合（ステップ３−４においてＹＥＳ）、状態管理制御部１−１０は、内部レジスタ書き込み終了信号を基に内部レジスタ部１−６の書き込みが完了しているかどうかを判定して（ステップ３−６）、書き込みが完了していない場合はステップ３−１へ戻る。
【００３１】
内部レジスタ部１−６の書き込みが完了している場合、状態管理制御部１−１０は、割り込み抑制フラグをオフにして割り込み抑制信号の出力を停止し（ステップ３−７）、ステップ３−１へ戻る。ステップ３−４において割り込み抑制信号が出力されていない場合、割り込み制御部１−９は、割り込みフラグをオンにする（ステップ３−５）。
【００３２】
以上説明したように、本実施の形態では、状態管理制御部１−１０が外部レジスタ部１−５への書き込み要求信号と内部レジスタ部１−６の書き込み終了信号とから割り込み抑制信号を生成し、割り込み制御部１−９へ割り込み抑制信号を送信することにより割り込み発生信号をマスクするか否かの判断を割り込み制御部１−９にさせることにより、外部レジスタ部１−５と内部レジスタ部１−６の書き込みタイミングの差による、誤った割り込みの発生を防ぐことができる。
【００３３】
その結果、従来のようなソフトウエアでの待ち時間・一定時間の確保が不要となる。また、非同期バスインターフェイスへのウエイトが発生しない。つまり、マクロ回路１−３の即時応答性が求められる場合においても、ＣＰＵ１−１への待ち時間が無く、ＣＰＵ１−１の処理効率が向上可能となる。
【００３４】
［第２の実施の形態］
図４は本発明の第２の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。図４のマイクロコンピュータシステムは、ＣＰＵ４−１と非同期バス４−２と複数のマクロ回路４−３と非同期バスインターフェイス装置４−４とを備えている。
【００３５】
非同期バスインターフェイス装置４−４は、外部レジスタ部４−５と内部レジスタ部４−６と調停部４−７と状態管理制御部１−１０と割り込み処理部４−１１とを備えている。本実施の形態は、第１の実施の形態における割り込み判定部１−８と割り込み制御部１−９とを合わせた機能を割り込み処理部４−１１で行わせるようにしたものである。
【００３６】
以下、本実施の形態の動作を図４を用いて説明する。ＣＰＵ４−１、非同期バス４−２、外部レジスタ部４−５、内部レジスタ部４−６、調停部４−７、状態管理制御部４−１０の動作は、それぞれＣＰＵ１−１、非同期バス１−２、外部レジスタ部１−５、内部レジスタ部１−６、調停部１−７、状態管理制御部１−１０と同様である。
【００３７】
割り込み処理部４−１１は、内部レジスタ部４−６から出力された内部レジスタ値と所定の割り込み発生条件値とを比較して、一致する場合は、状態管理制御部４−１０から割り込み抑制信号が出力されているかどうかを判断する。割り込み処理部４−１１は、割り込み抑制信号が出力されていない場合、割り込み発生フラグをオンにして外部の割り込みコントローラに出力し、割り込み抑制信号が出力されている場合、割り込み発生フラグをオフのままとする。以上のように、本実施の形態では、不要な割り込み発生信号を外部に出力しないため、ＣＰＵ４−１や他のマクロ回路４−３に無用な処理を減らすことができる。
【００３８】
［第３の実施の形態］
図５は本発明の第３の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図、図６は図５の非同期バスインターフェイス装置の動作を示すタイミングチャート図である。図５のマイクロコンピュータシステムは、ＣＰＵ５−１と非同期バス５−２と複数のマクロ回路５−３と非同期バスインターフェイス装置５−４とを備えている。
【００３９】
非同期バスインターフェイス装置５−４は、デューティ設定外部レジスタ部５−５ａと周期設定外部レジスタ部５−５ｂとデューティ設定内部レジスタ部５−６ａと周期設定内部レジスタ部５−６ｂと調停部５−７と一致回路５−８ａと一致回路５−８ｂと割り込み制御部５−９と状態管理制御部５−１０とフリーランニングカウンタ５−１１とＰＷＭ出力生成制御部５−１２とを備えている。
【００４０】
本実施の形態は、同一の非同期バスインターフェイス装置５−４内に、複数のレジスタを持ち、ＰＷＭ（Pulse Width Modulator）の動作を可能にしたものである。まず、ＣＰＵ５−１よりデューティ設定外部レジスタ部５−５ａもしくは周期設定外部レジスタ部５−５ｂのいずれかに書き込みデータおよび書き込み要求信号が送られる。このとき、デューティ設定外部レジスタ部５−５ａに書き込まれる書き込みデータは、ＰＷＭ出力パルスのデューティ設定用のデータであり、周期設定外部レジスタ部５−５ｂに書き込まれる書き込みデータは、ＰＷＭ出力パルスの周期設定用のデータである。
【００４１】
調停部５−７は、ＣＰＵ５−１からの書き込み要求に応じて調停部５−７内部の書き込み要求フラグをセットする。このとき、調停部５−７は、デューティ設定外部レジスタ部５−５ａへのデータ書き込みの場合には、レジスタ部５−５ａに対応する書き込み要求フラグをセットし、周期設定外部レジスタ部５−５ｂへのデータ書き込みの場合には、レジスタ部５−５ｂに対応する書き込み要求フラグをセットする。
【００４２】
そして、調停部５−７は、セットした書き込み要求フラグに応じて、デューティ設定内部レジスタ部５−６ａもしくは周期設定内部レジスタ部５−６ｂに内部レジスタ書き込み信号を送る。調停部５−７は、デューティ設定外部レジスタ部５−５ａに対応する書き込み要求フラグをセットした場合には、デューティ設定内部レジスタ部５−６ａに内部レジスタ書き込み信号を送り、周期設定外部レジスタ部５−５ｂに対応する書き込み要求フラグをセットした場合には、周期設定内部レジスタ部５−６ｂに内部レジスタ書き込み信号を送る。
【００４３】
デューティ設定内部レジスタ部５−６ａは、調停部５−７から内部レジスタ書き込み信号が出力されると、デューティ設定外部レジスタ部５−５ａから出力された書き込みデータを取り込んで蓄積し、内部レジスタ値を一致回路５−８ａに送る。一方、周期設定内部レジスタ部５−６ｂは、調停部５−７から内部レジスタ書き込み信号が出力されると、周期設定外部レジスタ部５−５ｂから出力された書き込みデータを取り込んで蓄積し、内部レジスタ値を一致回路５−８ｂに送る。
【００４４】
フリーランニングカウンタ５−１１は、一定周期毎にカウントアップされる割り込み発生条件値を出力する。そして、フリーランニングカウンタ５−１１は、一致回路５−８ｂから一致信号が出力されると、割り込み発生条件値を初期値（０）にリセットする。
【００４５】
一致回路５−８ａは、デューティ設定内部レジスタ部５−６ａから出力された内部レジスタ値とフリーランニングカウンタ５−１１から出力された割り込み発生条件値とを比較して、一致する場合は、割り込み制御部５−９及びＰＷＭ出力生成制御部５−１２に一致信号を送る。一致回路５−８ｂは、周期設定内部レジスタ部５−６ｂから出力された内部レジスタ値とフリーランニングカウンタ５−１１から出力された割り込み発生条件値とを比較して、一致する場合は、割り込み制御部５−９及びＰＷＭ出力生成制御部５−１２に一致信号を送る。
【００４６】
ＰＷＭ出力生成制御部５−１２は、状態管理制御部５−１０から出力される割り込み抑制信号と、一致回路５−８ａ，５−８ｂから出力される一致信号とに基づいて、ＰＷＭ出力を変化させる。ＰＷＭ出力生成制御部５−１２は、一致回路５−８ｂから一致信号が出力されると、ＰＷＭ出力をローレベルからハイレベルに立ち上げ、一致回路５−８ａから一致信号が出力されると、ＰＷＭ出力をハイレベルからローレベルに立ち下げる。
【００４７】
状態管理制御部５−１０は、ＣＰＵ５−１から調停部５−７を通じて送られる書き込み要求信号と、データ書き込みの終了後にデューティ設定内部レジスタ部５−６ａもしくは周期設定内部レジスタ部５−６ｂから出力される内部レジスタ書き込み終了信号とに基づき、割り込み抑制信号を生成して割り込み制御部５−９及びＰＷＭ出力生成制御部５−１２に送る。また、状態管理制御部５−１０は、デューティ設定内部レジスタ部５−６ａもしくは周期設定内部レジスタ部５−６ｂから内部レジスタ書き込み終了信号が出力されると、フリーランニングカウンタ５−１１をリセットする。
【００４８】
割り込み制御部５−９は、一致回路５−８ｂから出力される一致信号と、状態管理制御部５−１０から出力される割り込み抑制信号とを受けて、割り込み発生フラグのオン／オフ制御を行う。
【００４９】
次に、図６を用いて本実施の形態の動作をより詳細に説明する。まず、周期設定外部レジスタ部５−５ｂには、ＣＰＵ５−１から図６（ｂ）のように書き込みデータ「Ｔ１」が予め書き込まれ、デューティ設定外部レジスタ部５−５ａには、図６（ｄ）のように書き込みデータ「Ｄ１」が予め書き込まれているとする。また、ＰＷＭ出力はローレベルから始まるものとする。
【００５０】
周期設定外部レジスタ部５−５ｂは、外部レジスタ値「Ｔ１」を周期設定内部レジスタ部５−６ｂへ送り、デューティ設定外部レジスタ部５−５ａは、外部レジスタ値「Ｄ１」をデューティ設定内部レジスタ部５−６ａへ送る。内部レジスタ部５−６ｂは、調停部５−７からの内部レジスタ書き込み信号に応じて、外部レジスタ部５−５ｂから出力された書き込みデータを取り込んで内部レジスタ値を図６（ｃ）のように「Ｔ１」に書き換え、内部レジスタ部５−６ａは、内部レジスタ書き込み信号に応じて、外部レジスタ部５−５ａから出力された書き込みデータを取り込んで内部レジスタ値を図６（ｅ）のように「Ｄ１」に書き換える。
【００５１】
一方、図６の時刻ｔ１でカウントアップが開始された割り込み発生条件値は、時刻ｔ２で周期設定内部レジスタ部５−６ｂの内部レジスタ値「Ｔ１」と一致し、これにより一致回路５−８ｂから一致信号が出力されるので、ＰＷＭ出力生成制御部５−１２が図６（ｆ）に示すようにＰＷＭ出力をハイレベルに立ち上げ、フリーランニングカウンタ５−１１が割り込み発生条件値を初期値にリセットする。割り込み制御部５−９は、一致回路５−８ｂから一致信号が出力され、かつ状態管理制御部５−１０から割り込み抑制信号が出力されていないことから、図６（ｇ）に示すように割り込み発生フラグをオンにする。
【００５２】
再び割り込み発生条件値のカウントアップが開始され、時刻ｔ３でデューティ設定内部レジスタ部５−６ａの内部レジスタ値「Ｄ１」と割り込み発生条件値とが一致すると、一致回路５−８ａから一致信号が出力されるので、ＰＷＭ出力生成制御部５−１２がＰＷＭ出力をローレベルに立ち下げる。時刻ｔ４の動作は時刻ｔ２と同様である。
【００５３】
次に、ＣＰＵ５−１からは、デューティ設定外部レジスタ部５−５ａへ書き込みデータ「Ｄ２」と書き込み要求信号とが送られる。外部レジスタ部５−５ａは、書き込み要求信号に応じて、外部レジスタ値を「Ｄ１」から「Ｄ２」に書き換える。調停部５−７は、デューティ設定内部レジスタ部５−６ａに内部レジスタ書き込み信号を送る。
【００５４】
デューティ設定内部レジスタ部５−６ａは、調停部５−７から内部レジスタ書き込み信号が出力されると、外部レジスタ部５−５ａから出力された書き込みデータを取り込んで内部レジスタ値を「Ｄ２」に書き換える。内部レジスタ値が書き換えられ、内部レジスタ部５−６ａから内部レジスタ書き込み終了信号が出力されると、状態管理制御部５−１０は、フリーランニングカウンタ５−１１をリセットする（時刻ｔ５）。
【００５５】
再び割り込み発生条件値のカウントアップが開始され、時刻ｔ６でデューティ設定内部レジスタ部５−６ａの内部レジスタ値「Ｄ２」と割り込み発生条件値とが一致すると、一致回路５−８ａから一致信号が出力されるので、ＰＷＭ出力生成制御部５−１２がＰＷＭ出力をローレベルに立ち下げる。時刻ｔ７，ｔ８の動作はそれぞれ時刻ｔ２，ｔ６と同様である。
【００５６】
次に、ＣＰＵ５−１からは、周期設定外部レジスタ部５−５ｂへ書き込みデータ「Ｔ２」と書き込み要求信号とが送られる。外部レジスタ部５−５ｂは、書き込み要求信号に応じて、外部レジスタ値を「Ｔ１」から「Ｔ２」に書き換える。調停部５−７は、周期設定内部レジスタ部５−６ｂに内部レジスタ書き込み信号を送る。
【００５７】
周期設定内部レジスタ部５−６ｂは、調停部５−７から内部レジスタ書き込み信号が出力されると、外部レジスタ部５−５ｂから出力された書き込みデータを取り込んで内部レジスタ値を「Ｔ２」に書き換える。内部レジスタ値が書き換えられ、内部レジスタ部５−５ｂから内部レジスタ書き込み終了信号が出力されると、状態管理制御部５−１０は、フリーランニングカウンタ５−１１をリセットする（時刻ｔ９）。
【００５８】
ここで、時刻ｔ９においても、時刻ｔ２，ｔ４，ｔ７と同じように割り込み発生フラグがオンとなるはずであるが、外部レジスタ部５−５ｂにおけるレジスタ値の書き換え開始時から内部レジスタ部５−６ｂにおけるレジスタ値の書き換え終了時までの期間を割り込み抑制期間として、状態管理制御部５−１０が割り込み抑制信号を生成するため、割り込み制御部５−９は、一致回路５−８ｂから一致信号が出力されても、割り込み発生フラグを変化させずオフのままとする。時刻ｔ１０の動作は時刻ｔ６と同様である。
【００５９】
時刻ｔ１１で周期設定内部レジスタ部５−６ｂの内部レジスタ値「Ｔ２」と割り込み発生条件値とが一致すると、一致回路５−８ｂから一致信号が出力されるので、ＰＷＭ出力生成制御部５−１２がＰＷＭ出力をハイレベルに立ち上げ、フリーランニングカウンタ５−１１が割り込み発生条件値をリセットし、割り込み制御部５−９が割り込み発生フラグをオンにする。
【００６０】
［第４の実施の形態］
図７は本発明の第４の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。図７のマイクロコンピュータシステムは、ＣＰＵ６−１ａ，６−１ｂと非同期バス６−２と非同期バスインターフェイス装置であるウオッチドックタイマ（Watch Dog Timer 、以下、ＷＤＴと略する）６−４ａと割り込み制御部６−４ｂとバス・ドライバ６−５ａ，６−５ｂ，６−６ａ，６−６ｂとセンサ６−７ａ，６−７ｂと出力装置（デジタルパネル）６−８とを備えている。
【００６１】
図８は図７のＷＤＴ６−４ａの構成を示すブロック図である。ＷＤＴ６−４ａは、外部ＷＤＴレジスタ部７−５と内部ＷＤＴレジスタ部７−６と調停部７−７と割り込み判定部７−８と割り込み制御部７−９とを備えている。本実施の形態は、センサ６−７ａの出力結果をＣＰＵ６−１ａ、非同期バス６−２を介して出力装置６−８に表示し、またセンサ６−７ｂの出力結果をＣＰＵ６−１ｂ、非同期バス６−２を介して出力装置６−８に表示するシステムであり、ＷＤＴ６−４ａの利用許可時間を設定するレジスタに対して第１の実施の形態の構成を適用した例である。本実施の形態では、ＣＰＵ６−１ｂがバスマスタ、ＣＰＵ６−１ａがバススレーブとなっている。
【００６２】
ＣＰＵ６−１ｂが非同期バス６−２を利用している場合は、バス・ドライバ６−６ａがインアクティブ（非活性）状態、バス・ドライバ６−６ｂがアクティブ（活性）状態となっており、ＣＰＵ６−１ｂからバス・ドライバ６−６ｂ及び非同期バス６−２を介してセンサ６−７ｂの出力結果が出力装置６−８に表示される。
【００６３】
ＣＰＵ６−１ａが非同期バス６−２を利用したいときは、ＣＰＵ６−１ｂ側の割り込み制御部６−４ｂに対してバス利用要求を送出する。これにより、割り込み制御部６−４ｂは、ＣＰＵ６−１ｂに対して割り込みをかける。ＣＰＵ６−１ｂは、ＣＰＵ６−１ａに非同期バス６−２の利用を許可してもよい場合は、ＷＤＴ６−４ａに利用許可時間を設定する。すなわち、ＣＰＵ６−１ｂは、非同期バス６−２を通じて、ＷＤＴ６−４ａの外部ＷＤＴレジスタ部７−５へ書き込みデータ（利用許可時間）と書き込み要求信号とを送る。
【００６４】
外部ＷＤＴレジスタ部７−５は、書き込み要求信号に応じて書き込みデータを取り込む。調停部７−７は、ＣＰＵ６−１ｂからの書き込み要求に応じて内部ＷＤＴレジスタ部７−６に内部レジスタ書き込み信号を送る。内部ＷＤＴレジスタ部７−６は、調停部７−７から内部レジスタ書き込み信号が出力されると、外部ＷＤＴレジスタ部７−５から出力された書き込みデータを取り込んで内部レジスタ値の書き換えを行う。
【００６５】
ＣＰＵ６−１ｂは、ＷＤＴ６−４ａに利用許可時間を設定した後、ＣＰＵ６−１ａに対してバス利用許可を出力する。これにより、バス・ドライバ６−６ａがアクティブ状態、バス・ドライバ６−６ｂがインアクティブ状態となり、ＣＰＵ６−１ａからバス・ドライバ６−６ａ及び非同期バス６−２を介してセンサ６−７ａの出力結果が出力装置６−８に表示される。
【００６６】
次に、ＷＤＴ６−４ａの割り込み判定部７−８は、内部レジスタ値の書き換え時からの経過時間を計測するタイマを備えており、内部ＷＤＴレジスタ部７−６から出力された内部レジスタ値（利用許可時間）と計測中の経過時間とを比較する。そして、割り込み判定部７−８は、内部レジスタ値と経過時間とが一致する場合は、割り込み制御部７−９とＣＰＵ６−１ｂ側の割り込み制御部６−４ｂにバス利用完了割り込み信号を送る。
【００６７】
状態管理制御部７−１０は、ＣＰＵ６−１ｂから調停部７−７を通じて送られる書き込み要求信号と内部ＷＤＴレジスタ部７−６から出力される内部レジスタ書き込み終了信号とに基づき、第１の実施の形態と同様に割り込み抑制信号を生成して割り込み制御部７−９に送る。
【００６８】
割り込み制御部７−９は、割り込み判定部７−８から出力されるバス利用完了割り込み信号と、状態管理制御部７−１０から出力される割り込み抑制信号とを受けて、割り込み発生フラグのオン／オフ制御を行う。割り込み制御部７−９は、バス利用完了割り込み信号が出力され、かつ割り込み抑制信号が出力されていない場合には、割り込み発生フラグをオンにし、バス利用完了割り込み信号が出力され、かつ割り込み抑制信号が出力されている場合には、割り込み発生フラグをオフのままとする。
【００６９】
ＣＰＵ６−１ｂ側の割り込み制御部６−４ｂは、ＷＤＴ６ａからバス利用完了割り込み信号が出力され、かつ割り込み発生フラグがオンの場合には、ＣＰＵ６−１ｂに対してバス利用完了割り込みをかける。このバス利用完了割り込みに応じて、ＣＰＵ６−１ｂは、ＣＰＵ６−１ａに対するバス利用許可を解除する。これにより、バス・ドライバ６−６ａがインアクティブ状態、バス・ドライバ６−６ｂがアクティブ状態となり、ＣＰＵ６−１ｂが非同期バス６−２を利用する状態に戻る。
【００７０】
本実施の形態では、利用許可時間の設定後に、直ちにＣＰＵ６−１ａが非同期バス６−２を利用する動作が可能となる利点を持ち、非同期バス６−２の利用頻度がＣＰＵ６−１ａと比較してＣＰＵ６−１ｂの方が大きい場合に特に有効である。
【００７１】
【発明の効果】
本発明によれば、外部レジスタ部におけるデータ保存のタイミングと内部レジスタ部におけるデータ保存のタイミングとのずれを認識して、このずれの期間における割り込み発生を抑制する状態管理制御部を設けることにより、外部レジスタ部におけるデータ保存のタイミングと内部レジスタ部におけるデータ保存のタイミングとのずれを認識して、このずれの期間を割り込み抑制期間とするので、外部レジスタ部と内部レジスタ部の書き込みタイミングの差による誤った割り込みの発生を防ぐことができる。その結果、従来のようなソフトウエアによる待ち時間・一定時間の確保が不要となる。また、非同期バスインターフェイスへのウエイトが発生しない。つまり、マクロ回路の即時応答性が求められる場合においても、マイクロコンピュータへの待ち時間が無く、マイクロコンピュータの処理効率を向上させることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【図２】  図１の非同期バスインターフェイス装置の動作を示すタイミングチャート図である。
【図３】  図１の非同期バスインターフェイス装置の割り込み制御部と状態管理制御部の動作を示すフローチャート図である。
【図４】  本発明の第２の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【図５】  本発明の第３の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【図６】  図５の非同期バスインターフェイス装置の動作を示すタイミングチャート図である。
【図７】  本発明の第４の実施の形態となる非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【図８】  図７のウオッチドックタイマの構成を示すブロック図である。
【図９】  従来の非同期バスインターフェイス装置を備えたマイクロコンピュータシステムの構成を示すブロック図である。
【図１０】  図９の非同期バスインターフェイス装置の調停部の動作を示すフローチャート図である。
【図１１】  図９の非同期バスインターフェイス装置の問題点を説明するタイミングチャート図である。
【図１２】  図９の非同期バスインターフェイス装置の問題点を解決する従来手法を説明するタイミングチャート図である。
【符号の説明】
１−１、４−１、５−１、６−１ａ、６−１ｂ…ＣＰＵ、１−２、４−２、５−２、６−２…非同期バス、１−３、４−３、５−３…マクロ回路、１−４、４−４、５−４…非同期バスインターフェイス装置、１−５、４−５、５−５ａ、５−５ｂ…外部レジスタ部、１−６、４−６、５−６ａ、５−６ｂ…内部レジスタ部、１−７、４−７、５−７…調停部、１−８…割り込み判定部、１−９、５−９…割り込み制御部、１−１０、４−１０、５−１０…状態管理制御部、４−１１…割り込み処理部、５−１１…フリーランニングカウンタ、５−１２…ＰＷＭ出力生成制御部、６−４ａ…ウオッチドックタイマ。
【図１】
0003853188.tif 000002
【図２】
0003853188.tif 000003
【図３】
0003853188.tif 000004
【図４】
0003853188.tif 000005
【図５】
0003853188.tif 000006
【図６】
0003853188.tif 000007
【図７】
0003853188.tif 000008
【図８】
0003853188.tif 000009
【図９】
0003853188.tif 000010
【図１０】
0003853188.tif 000011
【図１１】
0003853188.tif 000012
【図１２】
0003853188.tif 000013