(57)【要約】【課題】  １端子のみの入力でベクタテーブル選択用信号を生成する回路を提供する。【解決手段】  リセット期間中に入力端子部１の端子１１に入力されるベクタテーブル選択用の入力信号Ｓを端子機能切り替え回路２に含まれるＡＮＤゲート２１を介してラッチ回路３に入力してリセット解除のタイミングでラッチ回路３に取り込み、非リセットの期間保持する。これにより、非リセットの期間、ラッチ回路３の出力がベクタテーブル選択信号となる。【選択図】  図１
2005196446.tif 000002
【特許請求の範囲】
【請求項１】
１つの入力端子と、
前記入力端子にリセット時に入力される信号のレベルを前記リセットが解除された後は保持するラッチ回路と
を具備し、
非リセット期間の前記ラッチ回路の出力が、２つのベクタテーブルのいずれかを選択するベクタテーブル選択信号となることを特徴とするベクタテーブル選択信号生成回路。
【請求項２】
前記入力端子がプルアップ抵抗またはプルダウン抵抗を有し、前記リセット時に前記入力端子に入力される信号がないときは予め定められたベクタテーブルを選択するベクタテーブル選択信号を出力することを特徴とする請求項１に記載のベクタテーブル選択信号生成回路。
【請求項３】
前記入力端子に接続されて前記入力端子の出力先を切り替える端子機能切り替え回路をさらに有し、リセット時は前記入力端子をベクタテーブル選択信号入力端子として使用し、非リセット時は前記入力端子を通常内部動作用信号入力端子として使用することを特徴とする請求項１または２に記載のベクタテーブル選択信号生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータで使用されるベクタテーブルに関し、特に２つのベクタテーブルから１つを選択する回路に関する。
【背景技術】
【０００２】
マイクロコンピュータに内蔵されるＲＯＭには、プログラムを格納するプログラム領域のほかにベクタテーブルを格納するベクタテーブル領域が設けられている。ベクタテーブルは、割り込みやリセットがかかったときなどにマイクロコンピュータに特定の処理を行なわせるために使用される。
【０００３】
ところで、マイクロコンピュータは、そのプログラムを書き換えることによりさまざまな用途に使用することができる。そのため、ベクタテーブルも、用途によりその処理内容を変更できることが望まれる。また、マイクロコンピュータを使用する装置に故障があっても、正常にベクタテーブルが使用できることが望まれる。
【０００４】
そこで、このような要望に対して、複数のベクタテーブルを用意し、外部ピンによる制御によりベクタテーブルを切り替える方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平１１―３１０６８号公報  （第３ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来の外部ピンによるベクタテーブル切り替え方法では、少なくとも２ピン以上の外部ピンが必要であり、マイクロコンピュータの端子数が増加するという問題があった。
【０００６】
そこで、本発明の目的は、１端子のみの入力でベクタテーブル選択用信号を生成するベクタテーブル選択信号生成回路を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、１つの入力端子と、前記入力端子にリセット時に入力される信号のレベルを前記リセットが解除された後は保持するラッチ回路とを具備し、非リセット期間の前記ラッチ回路の出力が２つのベクタテーブルのいずれかを選択するベクタテーブル選択信号となることを特徴とするベクタテーブル選択信号生成回路が提供される。
【発明の効果】
【０００８】
本発明によれば、１端子のみの入力でベクタテーブルを選択できるので、マイクロコンピュータの端子数の増加を少なくすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例を図面を参照して説明する。
【実施例】
【００１０】
図１は、本発明の実施例に係るベクタテーブル選択信号生成回路の回路図である。なお、ここでは、本実施例のベクタテーブル選択信号生成回路を含むマイクロコンピュータ（図示せず）は２つのベクタテーブルを有しているものとする。
【００１１】
本実施例のベクタテーブル選択信号生成回路は、信号入力端子を有する入力端子部１と、入力端子部1の有する端子をベクタテーブル選択信号入力端子として使用するか、通常内部動作用信号入力端子として使用するかを、リセット信号の極性によって切り替える端子機能切り替え回路２と、端子機能切り替え回路２の出力の１つを入力とし、リセット信号をトリガ信号とするラッチ回路３とを有する。
【００１２】
入力端子部１は、外部からの信号入力用端子１１と、入力端子１１と電源端子との間に接続されるプルアップ抵抗１２とを有する。端子１１に外部からの入力信号Ｓが入力されるときは、この入力信号Ｓをそのまま出力し、端子１１に外部から何も信号が入力されないときは、電源電位レベル（‘１’）を出力する。
【００１３】
なお、本実施例ではプルアップ抵抗を用いた例を示したが、プルアップ抵抗１２の代わりに、端子１１と接地端子との間にプルダウン抵抗を接続してもよい。プルダウン抵抗を接続した場合、端子１１に外部から何も信号が入力されないときは、接地レベル（‘０’）が入力端子部１から出力される。
【００１４】
このようなプルアップ抵抗１２あるいはプルダウン抵抗の接続により、端子１１に外部から何も信号が入力されないときは、予め定めたベクタテーブルの選択が行われる。
【００１５】
端子機能切り替え回路２は、入力端子部１からの出力が入力される２つの２入力のＡＮＤゲート２１、２２を有している。このうち、２入力のＡＮＤゲート２１の他の入力端子にはリセット信号をインバータ２３で反転した信号が入力されている。一方、２入力のＡＮＤゲート２２の他の入力端子にはリセット信号がそのまま入力されている。
【００１６】
ここで、リセット信号は、信号レベル ‘０’のときにリセットがかかり、信号レベル ‘１’のときにリセットが解除されるものとする。したがって、ＡＮＤゲート２１は、リセット信号が‘０’のとき、すなわちリセット状態のときに入力端子部１からの出力を出力し、ＡＮＤゲート２２は、リセット信号が‘１’のとき、すなわちリセットが解除されたときに入力端子部１からの出力を出力する。
【００１７】
これにより、入力端子部１の有する端子１１の機能を、リセット信号の信号レベルにより使い分けることができる。そこで、リセット信号が‘０’のとき、すなわち、リセット期間は、端子１１をベクタテーブル選択信号入力端子と使用し、リセット信号が‘１’のとき、すなわち、非リセット期間は、端子１１を通常内部動作用信号入力端子として使用するものとする。
【００１８】
ラッチ回路３は、端子機能切り替え回路２のＡＮＤゲート２１の出力をデータ入力とし、リセット信号をトリガ信号としてラッチ動作を行う回路である。ここで、ラッチ動作は、リセット信号の‘０’から‘１’への立ち上がりで行われるものとする。したがって、ラッチ回路３は、リセット信号が‘０’から‘１’へ立ち上がる直前にＡＮＤゲート２１から入力されていた信号レベルを取り込み、リセット信号が‘１’の間、すなわち、非リセットの期間、そのレベルを保持し、出力する。
【００１９】
そこで、ここでは、リセット信号が‘０’のとき、すなわち、リセット期間は、入力端子部１の有する端子１１をベクタテーブル選択信号入力端子として使用してベクタテーブルを選択する信号を入力信号Ｓとして入力し、この入力信号Ｓをリセット信号の‘０’から‘１’への立ち上がりでラッチ回路３に保持することにより、ラッチ回路３の出力を、リセット信号が‘１’の間、すなわち、非リセットの期間、ベクタテーブル選択信号として使用する。
【００２０】
図２に、本実施例において上述のベクタテーブル選択信号を出力する動作を行うときの波形図を示す。
【００２１】
リセット信号が‘０’のとき、すなわちリセット期間中に、端子１１の入力信号Ｓにベクタテーブル選択用の入力を与える。例えば、選択対象の２つのベクタテーブルをベクタテーブルＡおよびベクタテーブルＢとしたとき、入力信号Ｓが‘１’のときはベクタテーブルＡを選択し、入力信号Ｓが‘０’のときはベクタテーブルＢを選択するという入力を与える。
【００２２】
この入力信号Ｓの入力レベルは、リセット信号が‘０’から‘１’へ立ち上がるタイミング、すなわちリセットが解除されるタイミングでラッチ回路３にラッチされ、リセット信号が‘１’の間ラッチ回路３に保持される。したがって、リセット信号が解除された後は、端子１１の入力信号Ｓの信号レベルに関わらず、ラッチ回路３は同じレベルの信号を出力する。
【００２３】
つまり、リセット期間中に使用したいベクタテーブルを選択する信号レベルを端子１１に与えると、リセット解除後は、そのベクタテーブルを選択する信号がラッチ回路３から出力され続ける。
【００２４】
なお、リセット期間中に端子１１に何も信号を入力しないと、プルアップ抵抗１２により入力端子部１の出力は‘１’となり、リセット解除後のラッチ回路３の出力は‘１’となる。また、プルアップ抵抗１２の代わりに、端子１１と接地端子との間にプルダウン抵抗を接続すると、リセット期間中に端子１１に信号入力がないときのリセット解除後のラッチ回路３の出力を‘０’とすることができる。
【００２５】
また、リセット解除後は、端子１１を通常の内部動作用信号入力端子として使用するため、入力信号Ｓには、内部回路用入力が与えられる。
【００２６】
図３に、本実施例のベクタテーブル選択信号生成回路の出力を用いて２つのベクタテーブルから１つを選択する例をブロック図で示す。
【００２７】
この例では、２つのベクタテーブル、ベクタテーブルＡとベクタテーブルＢは、共通のアドレス信号Ａ１５〜Ａ０でアクセスされる２つのＲＯＭ、メインＲＯＭ１００とサブＲＯＭ２００に別々に置かれている。
【００２８】
メインＲＯＭ１００には、プログラムも格納されており、１６進数表記のアドレス８０００番地からＦＦＥＦ番地までがプログラム領域、アドレスＦＦＦ０番地からＦＦＦＦ番地までがベクタテーブルＡの領域に分けられている。
【００２９】
一方、サブＲＯＭ２００には、ベクタテーブルＢのみが、アドレスＦＦＦ０番地からＦＦＦＦ番地格納されている。すなわち、ベクタテーブルＢが格納されているアドレスは、ベクタテーブルＡが格納されているアドレスと同じである。これにより、プログラム作成上は、どちらのベクタテーブルを使用するときでも同じアドレスを指定すればよい。
【００３０】
このように、２つのベクタテーブルが別のＲＯＭに格納されている場合、２つのＲＯＭの出力を、図１の回路で生成したベクタテーブル選択信号に基づいて選択することにより、ベクタテーブルを選択することができる。そのため、図３の例では、メインＲＯＭ１００の出力とサブＲＯＭ２００の出力を選択するセレクタ５１を設けている。このセレクタ５１は、セレクト信号端子Ｓに‘１’が入力されたときメインＲＯＭ１００の出力を選択し、セレクト信号端子Ｓに‘０’が入力されたときサブＲＯＭ２００の出力を選択する。
【００３１】
ただし、メインＲＯＭ１００にはプログラムも格納されているため、アドレス信号Ａ１５〜Ａ０がプログラム領域を指定しているときは、セレクタ５１はメインＲＯＭ１００の出力を選択する必要がある。アドレス信号のＡ１５〜Ａ４が‘ＦＦＦＦ’のときベクタテーブルＡをアクセスするので、アドレス信号のＡ１５〜Ａ４が‘ＦＦＦＦ’であるかどうかでプログラム領域を指定しているアドレスか、ベクタテーブルＡを指定しているアドレスかの区別が付く。
【００３２】
そこで、アドレス信号のＡ１５〜Ａ４を入力とするＮＡＮＤゲート５２を設け、このＡＮＤゲート５２の出力とベクタテーブル選択信号をＯＲゲート５３に入力し、ＯＲゲート５３の出力をＲＯＭ選択信号としてセレクタ５１のセレクト信号端子Ｓに入力する。
【００３３】
これにより、セレクタ５１の出力は、アドレス信号Ａ１５〜Ａ０がプログラム領域を指定しているときはメインＲＯＭ１００の出力となり、アドレス信号Ａ１５〜Ａ０がＦＦＦ０番地からＦＦＦＦ番地であるときは、ベクタテーブル選択信号が‘１’のときにメインＲＯＭ１００の出力となり、ベクタテーブル選択信号が‘０’のときにサブＲＯＭ２００の出力となる。
【００３４】
すなわち、アドレス信号Ａ１５〜Ａ０がＦＦＦ０番地からＦＦＦＦ番地であるときに、ベクタテーブル選択信号が‘１’のときはベクタテーブルＡが選択され、ベクタテーブル選択信号が‘０’のときはベクタテーブルＢが選択される。
【００３５】
図４に、本実施例のベクタテーブル選択信号生成回路の出力を用いて２つのベクタテーブルから１つを選択する別の例をブロック図で示す。この例では、ベクタテーブルＡとベクタテーブルＢは１つのＲＯＭの中に格納されている。
【００３６】
アドレス信号Ａ１５〜Ａ０でアクセスされるＲＯＭ３００は、ベクタテーブルＡの領域とベクタテーブルＢの領域、およびプログラム領域に分けられる。ここでは、１６進数表記のアドレス８０００番地からＦＦＤＦ番地までがプログラム領域、アドレスＦＦＥ０番地からＦＦＥＦ番地までがベクタテーブルＢ、アドレスＦＦＦ０番地からＦＦＦＦ番地までがベクタテーブルＡとなっている場合を例にとって説明する。
【００３７】
また、プログラム作成上は、ベクタテーブルＡ、ベクタテーブルＢのいずれを使用する場合でも、アドレスはＦＦＦ０番地からＦＦＦＦ番地が指定されるものとする。そのため、ベクタテーブルＢを選択するときは、外部から与えられるアドレス信号Ａ１５〜Ａ０が‘ＦＦＦ０’〜‘ＦＦＦＦ’であるのを‘ＦＦＥ０’〜‘ＦＦＥＦ’に変換してＲＯＭ３００へ与える必要がある。
【００３８】
このアドレスの変換のために、図４の回路では、アドレス信号Ａ１５〜Ａ５が入力されるＮＡＮＤゲート７１と、ＮＡＮＤゲート７１の出力と図１の回路で生成したベクタテーブル選択信号を入力とし、出力をアドレス変換信号とするＯＲゲート７２と、ＯＲゲート７２から出力されるアドレス変換信号により、アドレス信号Ａ４またはアドレス信号Ａ４をインバータ７４で反転した信号のいずれかを選択するセレクタ７３を設けている。そして、このセレクタ７３の出力をＲＯＭ３００のアドレスＡ４に与える。
【００３９】
ここで、セレクタ７３は、ＯＲゲート７２の出力のアドレス変換信号が‘１’のときに、アドレス信号Ａ４を選択し、アドレス変換信号が‘０’のときに、アドレス信号Ａ４の反転信号を選択するものとする。
【００４０】
これにより、ベクタテーブル選択信号を‘０’としてベクタテーブルＢを選択しているときに、アドレス信号Ａ１５〜Ａ０が‘ＦＦＦ０’〜‘ＦＦＦＦ’が入力されると、このうちのアドレス信号Ａ４だけが反転されて、ＲＯＭ３００には‘ＦＦＥ０’〜‘ＦＦＥＦ’が入力される。
【００４１】
一方、ベクタテーブル選択信号を‘１’としてベクタテーブルＡを選択しているときは、アドレス信号Ａ１５〜Ａ０が、そのままＲＯＭ３００に与えられる。また、プログラム領域を指定するときも、アドレス信号Ａ１５〜Ａ０が、そのままＲＯＭ３００に与えられる。
【００４２】
このように、ベクタテーブル選択信号が‘１’のときにアドレス信号Ａ１５〜Ａ０を‘ＦＦＦ０’〜‘ＦＦＦＦ’とすると、ベクタテーブルＡが選択され、ベクタテーブル選択信号が‘０’のときにアドレス信号Ａ１５〜Ａ０を‘ＦＦＦ０’〜‘ＦＦＦＦ’とすると、ベクタテーブルＢが選択される。
【００４３】
このような本実施例では、１端子のみの入力で、ベクタテーブルを選択するベクタテーブル選択信号を生成することができ、このベクタテーブル選択信号を用いることにより、２つのベクタテーブルから１つを選択することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施例に係るベクタテーブル選択信号生成回路の回路図。
【図２】本発明の実施例に係るベクタテーブル選択信号生成回路の動作を示す波形図。
【図３】本発明の実施例に係るベクタテーブル選択信号生成回路の出力を利用したベクタテーブル選択の例を示すブロック図。
【図４】本発明の実施例に係るベクタテーブル選択信号生成回路の出力を利用したベクタテーブル選択の別の例を示すブロック図。
【符号の説明】
【００４５】
１  入力端子部
２  端子機能切り替え回路
３  ラッチ回路
１１  端子
１２  プルアップ抵抗
２１、２２  ＡＮＤゲート
２３、７４  インバータ
５１、７３  セレクタ
５２、７１  ＮＡＮＤゲート
５３、７２  ＯＲゲート
１００  メインＲＯＭ
２００  サブＲＯＭ
３００  ＲＯＭ
【図１】
2005196446.tif 000003
【図２】
2005196446.tif 000004
【図３】
2005196446.tif 000005
【図４】
2005196446.tif 000006