(57)【特許請求の範囲】
【請求項１】
チップセレクト信号がアクティブとなっている間にシリアルデータの入力が行なわれ、その後、前記チップセレクト信号が非アクティブに変化すると入力されたデータがメモリセルに書き込まれるように構成されるシリアルＥＥＰＲＯＭについて、前記データの入力を制御するデータ入力制御装置において、
シリアルＥＥＰＲＯＭに入力されるチップセレクト信号の一方のエッジを検出するとそのエッジ検出に基づいてシリアルデータの入力を許可すると共に、データの入力サイクルが終了する以前に他方のエッジを検出するとそのエッジ検出に基づいてシリアルデータの入力を禁止するもので、
前記チップセレクト信号の一方のエッジを検出するとセット状態となることで、シリアルクロックの入力を許可すると共に、前記シリアルクロックに同期して入力データのシリアル／パラレル変換を行なうためのシフトレジスタのリセットを解除する第１フリップフロップと、
データの入力サイクルが終了する以前に前記チップセレクト信号の他方のエッジを検出するとセット状態となることで、前記第１フリップフロップをリセットする信号を出力する第２フリップフロップとを備えて構成されることを特徴とするシリアルＥＥＰＲＯＭのデータ入力制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されたシリアルデータが不揮発性のメモリセルに記憶されるシリアルＥＥＰＲＯＭについて、シリアルデータの入力を制御するデータ入力制御装置に関する。
【０００２】
【発明が解決しようとする課題】
シリアルＥＥＰＲＯＭは、信号線の数を極力少なくすることを目的として、不揮発性のメモリセルに記憶されるデータの入出力をシリアルに行なう。そして、データの入力制御についても、制御信号線を削減するためにチップセレクト信号を利用するように構成されているものがある。
【０００３】
図４には、斯様なタイプのシリアルＥＥＰＲＯＭにおけるデータ入力及び書込みのタイミングチャートの一例を示す。即ち、ハイアクティブのチップセレクト信号ＣＳのレベルがロウからハイに変化すると、シリアルクロックＳＫに同期して、データ入力端子ＤＩにスタートビット、書込み命令、アドレス、データがシリアルに入力される。この時、入力されたデータは、シフトレジスタにおいてシリアル／パラレル変換される。
【０００４】
そして、チップセレクト信号ＣＳのレベルがハイからロウに変化すると、シフトレジスタに保持されたデータをＥＥＰＲＯＭのメモリセルに書込む処理が開始されるようになっている。
【０００５】
しかしながら、斯様な構成のシリアルＥＥＰＲＯＭでは、チップセレクト信号ＣＳのレベルを参照することでデータ入力制御を行なっているため、例えば、チップセレクト信号にノイズが印加されることで、データ入力の途中であるにもかかわらずチップセレクト信号のレベルがロウに変化すると、その時点で入力データの書き込みが行なわれてしまうおそれがある、という問題があった。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、入力サイクルの途中でチップセレクト信号にノイズが印加されたような場合に、不完全なデータをメモリセルに書き込んでしまうことを確実に防止できるシリアルＥＥＰＲＯＭのデータ入力制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１記載のシリアルＥＥＰＲＯＭのデータ入力制御装置によれば、シリアルＥＥＰＲＯＭに入力されるチップセレクト信号の一方のエッジを検出するとそのエッジ検出に基づいてシリアルデータの入力を許可すると共に、データの入力サイクルが終了する以前に他方のエッジを検出するとそのエッジ検出に基づいてシリアルデータの入力を禁止する。
【０００８】
即ち、例えばマイクロコンピュータなどがシリアルＥＥＰＲＯＭに対して出力するチップセレクト信号を変化させてシリアルデータの書込みを行う場合、チップセレクト信号が非アクティブからアクティブに変化する場合と、アクティブから非アクティブに変化する場合とで、チップセレクト信号の夫々異なるエッジが検出される。そして、一方のエッジがデータの入力サイクルの開始を意味すれば、他方のエッジはその入力サイクルの終了を意味することになる。
【０００９】
また、データは、所定のフォーマットに従ってシリアルＥＥＰＲＯＭに入力されるので、データの入力状態を参照すればその入力がどの段階にあるのかを判定することができる。従って、データの入力サイクルが終了する以前にチップセレクト信号の他方のエッジが検出された場合は当該信号の変化タイミングが明らかに異常であるから、その時点でシリアルデータの入力を禁止すれば、不完全なデータがメモリセルに書き込まれてしまうことを確実に防止できる。
【００１０】
また、第１フリップフロップは、チップセレクト信号の一方のエッジを検出するとセット状態となってシリアルクロックの入力を許可すると共に、シリアルクロックに同期して入力データのシリアル／パラレル変換を行なうためのシフトレジスタのリセットを解除する。従って、一方のエッジの検出によってシフトレジスタに対するシリアルデータの入力が可能となる。
【００１１】
そして、第２フリップフロップは、データの入力サイクルが終了する以前にチップセレクト信号の他方のエッジを検出するとセット状態となり、第１フリップフロップをリセットする信号を出力する。すると、その時点でシリアルクロックの入力が禁止されると共にシフトレジスタはリセットされるので、シリアルデータの入力は禁止される。従って、簡単な構成によりデータ入力制御装置を構成することができる。
【００１２】
【発明の実施の形態】
以下、本発明の一実施例について図１乃至図３を参照して説明する。図２は、マイクロコンピュータ（マイコン）１と、シリアルＥＥＰＲＯＭ（以下、単にＥＥＰＲＯＭと称する）２との電気的接続状態を示すものである。マイコン１は、その内部にＣＰＵやＲＯＭ，ＲＡＭなどを有して構成されている。そして、ＥＥＰＲＯＭ２に対してデータの書込み及び読出しを行なうためのインターフェイスであるパラレル／シリアル変換回路，シリアル／パラレル変換回路やアドレスデコーダなども備えている（何れも図示せず）。
【００１３】
そして、マイコン１は、ＥＥＰＲＯＭ２に対してデータの書込みを行う場合はチップセレクト信号ＣＳをアクティブ（ハイレベル）にしてＥＥＰＲＯＭ２のシリアルクロック端子にシリアルクロック信号ＳＫを出力すると共に、データ入力端子ＤＩに、書込み命令，書込みアドレス，書込みデータを順次シリアルに出力する。
【００１４】
また、マイコン１がデータの読出しを行う場合は、同様にチップセレクト信号ＣＳをアクティブにしてシリアルクロック信号ＳＫを出力すると共に、データ入力端子ＤＩに、読出し命令，読出しアドレスを順次シリアルに出力した後、データ出力端子ＤＯよりシリアルに出力される読み出しデータを受信するようになっている。尚、リセット信号は、図示しないリセット回路によってパワーオンリセット時などに出力される。
【００１５】
図１は、ＥＥＰＲＯＭ２の内部を、主として本発明の要旨にかかるデータ入力制御部（データ入力制御装置）３を中心として示すものである。尚、以降では、煩雑となることを避けるため、ＥＥＰＲＯＭ２の端子とその信号名に同じ名称を使用する。ＡＮＤゲート４の一方の入力端子には入力データＤＩが与えられていると共に、他方の入力端子にはチップセレクト信号ＣＳが与えられている。そして、ＡＮＤゲート４の出力端子は、受信レジスタ部５のデータ入力端子Ｄに接続されている。尚、ＡＮＤゲート４の出力端子より出力されるデータを「ｄｉ」とする。
【００１６】
マイコン１より出力されるシリアルクロック信号ＳＫは、Ｄフリップフロップ６（ＦＦ３）のクロック入力端子ＣＬＫに与えられていると共に、ＡＮＤゲート７を介して受信レジスタ部５のクロック入力端子ＣＬＫにも与えられている。Ｄフリップフロップ６のデータ入力端子Ｄはプルアップされており、その出力端子Ｑは、ＡＮＤゲート７のもう１つの入力端子に接続されている。尚、ＡＮＤゲート７の出力端子より出力されるクロック信号を「ｓｋ」とする。
【００１７】
受信レジスタ部５は、入力されるシリアルデータをクロック信号ｓｋに同期してシリアル／パラレル変換するシフトレジスタを備えて構成されている。受信レジスタ部５に入力された命令は、コマンドデコーダ８に出力されてデコードされる。また、受信レジスタ部５に入力されたアドレス、データは、図示しないアドレスバッファ、データバッファに振り分けられて格納されるようになっている。そして、図示しない制御ロジック部が、デコードされた命令に基づいて、メモリセル９との間でデータの書込み、読出し、消去などの処理を実行するようになっている。
【００１８】
また、チップセレクト信号ＣＳは、Ｄフリップフロップ（第１フリップフロップ，ＦＦ１）１０のクロック入力端子ＣＬＫに与えられていると共に、ＮＯＴゲート１１を介してＤフリップフロップ（第２フリップフロップ，ＦＦ２）１２のクロック入力端子ＣＬＫにも与えられている。
【００１９】
Ｄフリップフロップ１０の出力端子Ｑは、受信レジスタ部５、Ｄフリップフロップ６及び１２の各リセット端子ＲＳＴ（ロウアクティブ）に与えられており、Ｄフリップフロップ１２の出力端子Ｑは、ＡＮＤゲート１３の一方の入力端子に接続されている。また、Ｄフリップフロップ１０及び１２のデータ入力端子Ｄは、何れもプルアップされている。
【００２０】
受信完了信号出力部１４，命令終了信号出力部１５及びクロック超過信号出力部１６は、データ入力制御部３内部の制御において使用されるタイミング信号を生成して出力するものである。
【００２１】
受信完了信号出力部１４は、Ｄフリップフロップ１０の出力端子Ｑより与えられる信号レベルがハイになると、クロック信号ｓｋに基づいてデータｄｉの入力ビット数をカウントとする。そして、コマンドデコーダ８によってデコードされた命令内容に応じたデータビット数をカウントすると、ハイレベルの受信完了信号をＮＯＴゲート１７を介してＡＮＤゲート１３のもう一方の入力端子に出力するようになっている。
【００２２】
尚、受信完了信号は、Ｄフリップフロップ１０の出力信号がロウレベルになるとリセットされるようになっている。また、ＡＮＤゲート１３の出力信号は、３入力ＮＯＲゲート１８の１つの入力端子に与えられている。
【００２３】
命令終了信号出力部１５は、Ｄフリップフロップ１２の出力端子Ｑより与えられる信号レベルがハイになると、入力された書込みデータをメモリセル９に書き込む処理に使用されるクロック信号ＷＲ＿ｃｋをカウントする。そして、コマンドデコーダ８によってデコードされた命令内容に応じた書込みクロック数をカウントすると、ハイレベルの命令終了信号をモノパルスでＮＯＲゲート１８の他の１つの入力端子に出力するようになっている。
【００２４】
クロック超過信号出力部１６は、Ｄフリップフロップ１０の出力端子Ｑより与えられる信号レベルがハイになると、クロック信号ｓｋの入力クロック数をカウントする。そして、コマンドデコーダ８によってデコードされた命令内容に応じて定まるクロック信号ｓｋの入力クロック数を超過した場合は、ハイレベルのクロック超過信号をＮＯＲゲート１８の他の１つの入力端子に出力するようになっている。
【００２５】
ＮＯＲゲート１８の出力信号は、遅延素子１９を介して負論理のＯＲゲート２０の一方の入力端子に出力される。また、ＯＲゲート２０の他方の入力端子には、ロウアクティブのリセット信号が与えられており、ＯＲゲート２０の出力端子は、Ｄフリップフロップ１０のリセット端子に接続されている。
【００２６】
尚、ＥＥＰＲＯＭ２よりデータを読出す場合に動作するデータ出力側の構成については図示を省略するが、受信レジスタ部５の一部はデータを出力する場合にも使用されるようになっている。
【００２７】
次に、本実施例の作用について図３を参照して説明する。図３は、マイコン１がＥＥＰＲＯＭ２にデータの書込みを行う場合におけるタイミングチャートである。マイコン１は、チップセレクト信号ＣＳをハイレベルにすると共に（（ａ）、時点▲１▼参照）、シリアルクロック信号ＳＫを出力する（（ｃ）参照）。
【００２８】
すると、データ入力制御部３におけるＤフリップフロップ１０の出力端子Ｑは、チップセレクト信号ＣＳの立上がりエッジを検出してハイレベルとなるので（（ｉ）又は（ｊ）参照）、受信レジスタ部５及びＤフリップフロップ６のリセットは解除される。そして、Ｄフリップフロップ６はシリアルクロック信号ＳＫの立上がりエッジによってセットされ続けるので、ＡＮＤゲート７はクロック信号ｓｋの出力が可能となる（（ｈ）参照）。
【００２９】
また、ＡＮＤゲート４もチップセレクト信号ＣＳがハイレベルになることでデータｄｉの出力が可能となり（（ｇ）参照）、受信完了信号出力部１４及びクロック超過信号出力部１６は夫々のカウント動作を開始する。
【００３０】
それから、マイコン１は、入力データＤＩとして、最初の２ビットに命令（この場合、書込み）を出力すると（（ｂ）、時点▲２▼参照）、続いて書込みアドレス及び書込みデータをシリアルに出力する（時点▲３▼参照）。
【００３１】
書込みのための入力サイクルが正常に行なわれた場合は、最後のデータが入力されると時点▲４▼において受信完了信号出力部１４が受信完了信号を出力する（（ｄ）参照）。そして、マイコン１は、全てのシリアルデータを出力した後チップセレクト信号ＣＳをロウレベルにする（時点▲５▼参照）。このとき、Ｄフリップフロップ１２の出力端子Ｑは、チップセレクト信号ＣＳの立下がりエッジを検出してハイレベルとなるが、受信完了信号が出力されているのでＡＮＤゲート１３はハイレベルとならない。
【００３２】
受信完了信号が出力されると、受信レジスタ部５のデータバッファにセットされた書込みデータをメモリセル９に書込むための書き込み処理が開始される。すると、書込み用のクロック信号ＷＲ＿ｃｋが図示しない書き込み処理部によって出力され、命令終了信号出力部１５はその出力クロック数をカウントする。そして、所定の書込みクロック数をカウントすると命令終了信号出力部１５は命令終了信号を出力する（時点▲６▼参照）。
【００３３】
その命令終了信号は、ＮＯＲゲート１８及び遅延素子１９を介してＯＲゲート２０に出力されるので、Ｄフリップフロップ１０は、遅延素子１９によって遅延時間が付与されたタイミングでリセットされる（時点▲７▼参照）。すると、それに伴って、受信レジスタ部５及びＤフリップフロップ６並びに１２もリセットされる。
【００３４】
ここで、入力サイクルが行なわれている途中で、ハイレベルとなっているチップセレクト信号ＣＳに時点▲８▼においてノイズが印加された場合を想定する。すると、Ｄフリップフロップ１２の出力端子Ｑはその立下りを検出してハイレベルとなる。
【００３５】
この時、受信完了信号出力部１４は受信完了信号を出力していないので、ＡＮＤゲート１３がハイレベルとなってＤフリップフロップ１０はリセットされる（（ｉ）、時点▲９▼参照）。従って、この時点で入力サイクルは中止されることになり、サイクルの途中で不完全なデータがメモリセル９に書き込まれることは防止される。
【００３６】
その後、マイコン１が、ＥＥＰＲＯＭ２の所定アドレスに書き込もうとしたデータを読み出してみることで、実際に正しく書き込まれているかどうかを確認するベリファイ処理を行なえば書込みが失敗したことを判定できるので、その場合は同じアドレスに対して同じデータの書込みを再実行すれば良い。
【００３７】
また、クロック超過信号出力部１６は、入力サイクルの開始からクロック信号ｓｋの入力数をカウントするが、例えば、シリアルクロック信号ＳＫに対して上述したチップセレクト信号ＣＳと同様にノイズが印加されるなどして、命令完了信号が出力される前に入力クロック数が所定値を超えたような場合はクロック超過信号を出力する（（ｆ）、時点(10)参照）。すると、その時点でＤフリップフロップ１０はリセットされて入力サイクルは中止される。
【００３８】
以上のように本実施例によれば、データ入力制御部３は、マイコン１によってＥＥＰＲＯＭ２に入力されるチップセレクト信号ＣＳの立上がりエッジを検出するとそのエッジ検出に基づいてシリアルデータＤＩの入力を許可すると共に、データの入力サイクルが終了する以前に立下がりエッジを検出するとそのエッジ検出に基づいてシリアルデータＤＩの入力を禁止するようにした。
【００３９】
具体的には、Ｄフリップフロップ１０がチップセレクト信号ＣＳの立上がりエッジを検出するとセット状態となって、シリアルクロック信号ＳＫの入力を許可すると共に受信レジスタ部５のリセットを解除し、Ｄフリップフロップ１２が、受信終了信号が出力される以前にチップセレクト信号ＣＳの立下がりエッジを検出すると、セット状態となってＤフリップフロップ１０をリセットするように構成した。
【００４０】
即ち、データの入力サイクルが終了する以前にチップセレクト信号ＣＳの立下がりエッジが検出された場合は当該信号の変化タイミングが明らかに異常であるから、その時点でシリアルデータの入力を禁止することで、不完全なデータがメモリセル９に書き込まれてしまうことを確実に防止できる。
【００４１】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形又は拡張が可能である。
遅延素子１９は、ＮＯＲゲート１８やＯＲゲート２０などによるゲート遅延時間によってＤフリップフロップ１０をリセットするためのホールドタイムが十分確保できる場合は、不要である。
チップセレクト信号ＣＳはロウアクティブであっても良く、その場合は、第１フリップフロップによって信号の立下りを検出し、第２フリップフロップによって立上りを検出すれば良い。
クロック超過信号出力部１６は、必要に応じて設ければ良い。
【図面の簡単な説明】
【図１】本発明の一実施例であり、シリアルＥＥＰＲＯＭの内部について、主として本発明の要旨にかかるデータ入力制御部を中心として示す図
【図２】マイクロコンピュータとシリアルＥＥＰＲＯＭとの電気的接続状態を示す図
【図３】マイクロコンピュータがシリアルＥＥＰＲＯＭにデータの書込みを行う場合におけるタイミングチャート
【図４】従来のシリアルＥＥＰＲＯＭにおけるデータ入力及び書込みのタイミングチャートの一例を示す図
【符号の説明】
２はシリアルＥＥＰＲＯＭ、３はデータ入力制御部（データ入力制御装置）、５は受信レジスタ部（シフトレジスタ）、９はメモリセル、１０はＤフリップフロップ（第１フリップフロップ）、１２はＤフリップフロップ（第２フリップフロップ）を示す。
【図１】
0004103452.tif 000002
【図２】
0004103452.tif 000003
【図３】
0004103452.tif 000004
【図４】
0004103452.tif 000005