(57)【要約】【課題】データ量の増加を抑制しつつ、データに誤りがあるか否かを検出することが可能なインターフェース回路を提供する。【解決手段】インターフェース回路は、記憶回路にアクセスするべく一方の論理レベルまたは他方の論理レベルに変化するアクセス信号が入力され、アクセス信号を記憶回路に出力する第１出力回路と、第１出力回路から出力されたアクセス信号を出力する第２出力回路と、アクセス信号の少なくとも一部が第１出力回路に入力された後、第１出力回路に入力されるアクセス信号の論理レベル及び第２出力回路から出力されるアクセス信号の論理レベルの変化の回数を比較し、第１出力回路に入力されるアクセス信号に基づく所定のアクセスがされたか否かを示す比較信号を出力する比較回路と、を備えることを特徴とする。【選択図】図１
2010244259.tif 000002
【特許請求の範囲】
【請求項１】
記憶回路にアクセスするべく一方の論理レベルまたは他方の論理レベルに変化するアクセス信号が入力され、前記アクセス信号を前記記憶回路に出力する第１出力回路と、
前記第１出力回路から出力されたアクセス信号を出力する第２出力回路と、
前記アクセス信号の少なくとも一部が前記第１出力回路に入力された後、前記第１出力回路に入力される前記アクセス信号の論理レベル及び前記第２出力回路から出力されるアクセス信号の論理レベルの変化の回数を比較し、前記第１出力回路に入力される前記アクセス信号に基づく所定のアクセスがされたか否かを示す比較信号を出力する比較回路と、
を備えることを特徴とするインターフェース回路。
【請求項２】
請求項１に記載のインターフェース回路であって、
前記比較回路は、
前記第１出力回路に入力される前記アクセス信号の所定のエッジに基づいてカウントする第１カウンタと、
前記第２出力回路から出力されるアクセス信号の前記所定のエッジに基づいてカウントする第２カウンタと、
前記アクセス信号の少なくとも一部が前記第１出力回路に入力されてから所定期間経過後までの間に、前記第１カウンタ及び前記第２カウンタの夫々のカウント値の変化量が同じ場合、前記所定のアクセスがされたことを示す前記比較信号を出力し、前記変化量が異なる場合、前記所定のアクセスがされなかったことを示す前記比較信号を出力する比較信号出力回路と、
を含むことを特徴とするインターフェース回路。
【請求項３】
請求項２に記載のインターフェース回路であって、
前記所定のアクセスがされなかったことを示す前記比較信号に基づいて、前記アクセス信号を前記第１出力回路に対して出力するアクセス信号生成回路を更に備えること、
を特徴とするインターフェース回路。
【請求項４】
請求項２または請求項３に記載のインターフェース回路であって、
前記アクセス信号は、
所定周期のクロック信号であり、
前記比較信号出力回路は、
前記クロック信号に基づいて、前記クロック信号の少なくとも一部が前記第１出力回路に入力されてから前記所定期間経過後に前記比較信号を出力すること、
を特徴とするインターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターフェース回路に関する。
【背景技術】
【０００２】
一般に、メモリとメモリ制御回路との間やモーター駆動回路とマイコンとの間等の異なる機能を有する回路間では、論理レベルのデータが送受信されることにより、所定の処理が実行される。例えば、メモリ制御回路は、プロセッサからのアクセス要求に基づいて、アクセス信号の論理レベルを変化させることによりメモリアクセスを行う。したがって、アクセス信号の論理レベルがノイズ等により変化した場合、メモリ制御回路は、アクセスを正常に行うことができない場合がある。このため、メモリ制御回路は、アクセス信号におけるデータにパリティビットを付加することにより、メモリアクセスの正常性を検出することがある（例えば特許文献１）。具体的には、メモリ制御回路は、プロセッサからの書き込み指示に基づいて、入力されるデータにパリティビットを付加し、メモリにパリティビットの付加されたデータを書き込む。また、メモリ制御回路は、プロセッサからの読み出し指示に基づいて、メモリからパリティビットの付加されたデータを読み出す。そして、メモリ制御回路は、パリティビットを検査することによりメモリアクセスの正常性を検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１６４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述のように、例えばメモリとメモリ制御回路との間等で送受信されるデータにパリティビットを付加する場合、パリティビットを検査することによりデータに誤りがあるか否かを検出することは可能となる。しかしながら、送受信されるデータにパリティビットが付加されると、メモリ及びメモリ制御回路の間で送受信されるデータ量が増加するという問題があった。
【０００５】
本発明は上記課題を鑑みてなされたものであり、データ量の増加を抑制しつつ、データに誤りがあるか否かを検出することが可能なインターフェース回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一つの側面に係るインターフェース回路は、記憶回路にアクセスするべく一方の論理レベルまたは他方の論理レベルに変化するアクセス信号が入力され、前記アクセス信号を前記記憶回路に出力する第１出力回路と、前記第１出力回路から出力されたアクセス信号を出力する第２出力回路と、前記アクセス信号の少なくとも一部が前記第１出力回路に入力された後、前記第１出力回路に入力される前記アクセス信号の論理レベル及び前記第２出力回路から出力されるアクセス信号の論理レベルの変化の回数を比較し、前記第１出力回路に入力される前記アクセス信号に基づく所定のアクセスがされたか否かを示す比較信号を出力する比較回路と、を備えることを特徴とする。
【発明の効果】
【０００７】
データ量の増加を抑制しつつ、データに誤りがあるか否かを検出することが可能なインターフェース回路を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態であるシステムＬＳＩ１０の構成を示す図である。
【図２】本発明の一実施形態であるインターフェース回路２１の構成を示す図である。
【図３】リードアクセスにおいて、端子２２〜２７にノイズが発生しない場合のシステムＬＳＩ１０の動作を示すタイミングチャートである。
【図４】リードアクセスにおいて、端子２２〜２７に所定のタイミングでノイズが発生する場合のシステムＬＳＩ１０の動作を示すタイミングチャートである。
【発明を実施するための形態】
【０００９】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１０】
図１は本発明の一実施形態であるシステムＬＳＩ（Large Scale Integration）１０の構成を示す図である。
【００１１】
システムＬＳＩ１０は、例えば、光ディスク装置（不図示）に設けられ、マイコン２０、インターフェース回路２１、端子２２〜２７を含んで構成される。また、システムＬＳＩ１０は、シリアルフラッシュメモリ１１に格納されたプログラムを実行することにより、例えば、光ディスク装置（不図示）を制御する。
【００１２】
シリアルフラッシュメモリ１１（記憶回路）は、不揮発性のメモリであり、端子１２〜１７を含んで構成される。本実施形態では、マイコン２０により実行されるプログラムデータや、マイコン２０により処理される各種データが格納される。シリアルフラッシュメモリ１１は、端子１２に入力される信号ＣＳ１に基づいてシステムＬＳＩ１０からのアクセスが可能となると、端子１３に入力されるクロックＣＬＫ１に同期して、端子１４に入力されるアクセスデータＳＩ１を取り込む。なお、本実施形態におけるアクセスデータＳＩ１には、例えばプログラムデータ等が格納されている領域のアドレス、リードまたはライトを示すコマンド、及びライトデータが含まれることとする。また、端子１５からは、シリアルフラッシュメモリ１１がリードアクセスされる場合のリードデータＳＯ１が出力される。また、本実施形態のシリアルフラッシュメモリ１１は、端子１６に入力される信号ＷＰ１に基づいて、誤ったデータが書き込まれることを防止し、端子１７に入力される信号ＨＯＬＤ１に基づいて、端子１３に入力されるクロックＣＬＫ１を無効とする。
【００１３】
マイコン２０は、インターフェース回路２１を制御するとともに、インターフェース回路２１から出力されるプログラムデータ等に基づいた処理を行う回路である。本実施形態のマイコン２０は、アクセス要求データＲＥＱ、アドレスＡＤＤＲＥＳＳ、データＤＡＴＡ及びコマンドＣＭＤをインターフェース回路２１に出力し、インターフェース回路２１にシリアルフラッシュメモリ１１の所定アドレスの記憶領域にアクセスをさせる。
【００１４】
インターフェース回路２１は、マイコン２０からのアクセス要求データＲＥＱに基づいて、シリアルフラッシュメモリ１１にアクセスする回路である。本実施形態では、マイコン２０から入力されるアクセス要求データＲＥＱに基づいて、クロックＣＬＫ１を端子２２に、信号ＣＳ１を端子２４にそれぞれ出力し、アクセス要求データＲＥＱ、アドレスＡＤＤＲＥＳＳ、データＤＡＴＡ、及びコマンドＣＭＤに基づいて、アクセスデータＳＩ１を端子２３に出力する。また、インターフェース回路２１は、所定のアクセスが完了すると、所定のアクセスがされたか否かを示す信号ＡＣＫをマイコン２０に出力する。なお、シリアルフラッシュメモリ１１がリードアクセスされた場合、リードデータＳＯ１が端子２５に入力されるため、インターフェース回路２１は、リードデータＳＯ１をデータＤＡＴＡとしてマイコン２０に出力する。さらに、本実施形態のインターフェース回路２１は、アクセス要求データＲＥＱに基づいて信号ＷＰ１を端子２６に出力することにより、シリアルフラッシュメモリ１１に誤ったデータが書き込まれることを防止し、アクセス要求データＲＥＱに基づいて信号ＨＯＬＤ１を端子２７に出力することにより、シリアルフラッシュメモリ１１に入力されるクロックＣＬＫ１を無効にする。なお、インターフェース回路２１は、本発明のインターフェース回路に相当する。
【００１５】
図２はインターフェース回路２１の構成を示す図である。  
インターフェース回路２１は、クロック発生回路４０、ＣＳ信号発生回路４１、ＷＰ信号発生回路４２、ＨＯＬＤ信号発生回路４３、データ出力回路４４，４５、メインカウンタ４６、カウンタ５０〜５４，９０〜９４、Ｉ／Ｏバッファ６０〜６４、検出回路１００〜１０４、ＯＲ回路１１１、ＡＣＫ信号発生回路１１２、およびレジスタ１１３を含んで構成される。
【００１６】
クロック発生回路４０（アクセス信号生成回路）は、入力されるアクセス要求データＲＥＱに基づいて、インターフェース回路２１がシリアルフラッシュメモリ１１にアクセスするためのクロックＣＬＫ２（アクセス信号）を出力する回路である。本実施形態では、アクセス要求データＲＥＱが入力されてから所定のタイミングでクロックＣＬＫ２の出力を開始し、アクセス要求データＲＥＱに基づいた期間、クロックＣＬＫ２を出力し続ける。
【００１７】
ＣＳ信号発生回路４１（アクセス信号生成回路）は、入力されるアクセス要求データＲＥＱに基づいて、インターフェース回路２１がシリアルフラッシュメモリ１１とのアクセスを可能とするための信号ＣＳ２（アクセス信号）を出力する回路である。本実施形態では、アクセス要求データＲＥＱに基づいたアクセスができるよう、信号ＣＳ２の論理レベルを所定の期間Ｌレベルとする。
【００１８】
ＷＰ信号発生回路４２（アクセス信号生成回路）は、入力されるアクセス要求データＲＥＱに基づいて、インターフェース回路２１がシリアルフラッシュメモリ１１に誤ったデータが書き込まれることを防止するための信号ＷＰ２（アクセス信号）を出力する回路である。本実施形態のＷＰ信号発生回路４２は、書き込みを防止するためのアクセス要求データＲＥＱに基づいて、Ｌレベルの信号ＷＰ２を出力する。一方、書き込み許可するためのアクセス要求データＲＥＱが入力されると、Ｈレベルの信号ＷＰ２を出力する。
【００１９】
ＨＯＬＤ信号発生回路４３（アクセス信号生成回路）は、入力されるアクセス要求データＲＥＱに基づいて、インターフェース回路２１がシリアルフラッシュメモリ１１に入力されるクロックＣＬＫ１を無効にすることによりアクセスを中断するための信号ＨＯＬＤ２（アクセス信号）を出力する回路である。具体的には、ＨＯＬＤ信号発生回路４３は、アクセスを中断させるためのアクセス要求データＲＥＱが入力されると、信号ＨＯＬＤ２の論理レベルをＨレベルからＬレベルへと変化させる。
【００２０】
データ出力回路４４（アクセス信号生成回路）は、マイコン２０から入力されるアドレスＡＤＤＲＥＳＳ、データＤＡＴＡ、及びコマンドＣＭＤを保持する。なお、データＤＡＴＡは、インターフェース回路２１がシリアルフラッシュメモリ１１にライトアクセスする場合にのみマイコン２０から入力される。そして、データ出力回路４４は、アクセス要求データＲＥＱが入力されると、信号ＳＩ２（アクセス信号）として保持しているコマンドＣＭＤ、アドレスＡＤＤＲＥＳＳ、データＤＡＴＡの順にＩ／Ｏバッファ６４に出力する。なお、本実施形態では、保持されているアドレスＡＤＤＲＥＳＳ、データＤＡＴＡ、及びコマンドＣＭＤはマイコン２０から入力される度に更新されることとする。
【００２１】
データ出力回路４５は、リードアクセスにおいて、シリアルフラッシュメモリ１１から入力されるリードデータＳＯ１を保持する。後述するＡＣＫ信号発生回路１１２から信号ＡＣＫが入力されると、データ出力回路４５は保持しているリードデータＳＯ１をデータＤＡＴＡとしてマイコン２０に出力する。なお、本実施形態では、シリアルフラッシュメモリ１１からリードデータＳＯ１が入力される度に、保持されているリードデータＳＯ１は更新されることとする。
【００２２】
メインカウンタ４６は、入力されるアクセス要求データＲＥＱに基づいて、最大カウント値が変化するとともに入力されるクロックＣＬＫ２の立ち上がりエッジをカウントする回路である。なお、本実施形態におけるメインカウンタ４６の最大カウント値は、入力されるクロックＣＬＫ２の立ち上がりエッジを全てカウントした際の値となる。例えば、クロック発生回路４０が、リードアクセスをさせるアクセス要求データＲＥＱに基づいて、サイクル数が４１のクロックＣＬＫ２を出力する場合、メインカウンタ４６の最大カウント値は４１となる。また、本実施形態のメインカウンタ４６は、メインカウンタ４６のカウント値が、最大カウント値より１少ない値になると、検出回路１００〜１０４に指示信号ＴＲＧ１を出力する。また、メインカウンタ４６のカウント値が最大になると、メインカウンタ４６は、カウンタ５０〜５４、及び後述するＡＣＫ信号発生回路１１２に指示信号ＴＲＧ２を出力する。例えば、メインカウンタ４６の最大カウント値が４１である場合、メインカウンタ４６のカウント値が４０になると指示信号ＴＲＧ１が出力され、メインカウンタ４６のカウント値が４１になると指示信号ＴＲＧ２が出力される。
【００２３】
カウンタ５０（第１カウンタ）は、入力される論理レベルの信号の立ち上がりエッジをカウントし、カウント値として出力する。また、カウンタ５０にメインカウンタ４６から指示信号ＴＲＧ２が入力されると、カウンタ５０のカウント値はリセットされる。本実施形態のカウンタ５０には、クロック発生回路４０からのクロックＣＬＫ２が入力される。このため、カウンタ５０は、所定のアクセスがされる間に入力されるクロックＣＬＫ２の立ち上がりエッジをカウントし、カウント値ＣＮＴ１として出力する。
【００２４】
カウンタ５１〜５４は、それぞれに入力される論理レベルの信号が、信号ＣＳ２、信号ＷＰ２、信号ＨＯＬＤ２、信号ＳＩ２である以外カウンタ５０と同様である。このため、カウンタ５１〜５４のそれぞれは、入力される信号ＣＳ２、信号ＷＰ２、信号ＨＯＬＤ２、信号ＳＩ２の立ち上がりエッジをカウントし、カウント値ＣＮＴ３，ＣＮＴ５，ＣＮＴ７，ＣＮＴ９として出力する。なお、カウンタ５１〜５４は、本発明の第１カウンタに相当する。
【００２５】
Ｉ／Ｏバッファ６０は、入力される論理レベルの信号をシリアルフラッシュメモリ１１に出力するとともに、システムＬＳＩ１０とシリアルフラッシュメモリ１１と接続する信号線等に生じるノイズを検出する回路である。本実施形態のＩ／Ｏバッファ６０は、出力回路７０，８０を含んで構成される。
【００２６】
出力回路７０（第１出力回路）は、入力される論理レベルの信号を出力するバッファ回路である。具体的には、Ｈレベルの信号に応じてＨレベルの信号を出力し、Ｌレベルの信号に応じてＬレベルの信号を出力する。本実施形態の出力回路７０には、クロックＣＬＫ２が入力されるため、クロックＣＬＫ２がクロックＣＬＫ１として端子２２に出力されることとなる。
【００２７】
出力回路８０（第２出力回路）は、入力電圧のレベルを所定のしきい値電圧と比較して、論理レベルの信号として出力する回路である。具体的には入力電圧のレベルがしきい値電圧より高い場合、Ｈレベルの信号を出力し、入力電圧のレベルがしきい値電圧より低い場合、Ｌレベルの信号を出力する。本実施形態の出力回路８０の入力は、端子２２と接続されているため、端子２２の電圧レベルの変化に応じた論理レベルの信号が出力されることとなる。具体的には、出力回路７０からクロックＣＬＫ１が出力される間に端子２２にノイズが発生しない場合、すなわち、端子２２の電圧レベルがクロックＣＬＫ１のみに基づいて変化する場合、クロックＣＬＫ１がクロックＣＬＫ３として出力される。一方、出力回路７０からクロックＣＬＫ１が出力される間に端子２２にノイズが発生する場合、すなわち、端子２２の電圧レベルがクロックＣＬＫ１及びノイズに基づいて変化する場合、クロックＣＬＫ１及びノイズに基づいて定まる電圧に応じたクロックＣＬＫ３が出力されることとなる。
【００２８】
本実施形態では、Ｉ／Ｏバッファ６１〜６４はＩ／Ｏバッファ６０と同様の構成であり、出力回路７１〜７４、出力回路８１〜８４をそれぞれ含んで構成される。また、出力回路７１〜７４は出力回路７０と同様の構成である。出力回路７１〜７４は入力される信号ＣＳ２、信号ＷＰ２、信号ＨＯＬＤ２、信号ＳＩ２を信号ＣＳ１、信号ＷＰ１、信号ＨＯＬＤ１、信号ＳＩ１としてそれぞれ出力する。さらに、出力回路８１〜８４は出力回路８０と同様の構成である。出力回路８１〜８４の入力は、端子２４、端子２６、端子２７、端子２３がそれぞれ接続される。このため、出力回路８１〜８４は端子２４、端子２６、端子２７、端子２３のそれぞれの電圧レベルに応じた信号ＣＳ３、信号ＷＰ３、信号ＨＯＬＤ３、信号ＳＩ３を出力する。なお、出力回路７１〜７４は、本発明の第１出力回路に相当し、出力回路８１〜８４は、本発明の第２出力回路に相当する。
【００２９】
カウンタ９０（第２カウンタ）は、入力される論理レベルの信号の立ち上がりエッジをカウントし、カウント値として出力する。また、カウンタ９０にメインカウンタ４６から指示信号ＴＲＧ２が入力されると、カウンタ９０のカウント値はリセットされる。本実施形態のカウンタ９０には、出力回路８０からのクロックＣＬＫ３が入力される。このため、カウンタ９０は、所定のアクセスがされる間に入力されるクロックＣＬＫ３の立ち上がりエッジをカウントし、カウント値ＣＮＴ２として出力する。
【００３０】
カウンタ９１〜９４は、それぞれに入力される論理レベルの信号が、信号ＣＳ３、信号ＷＰ３、信号ＨＯＬＤ３、信号ＳＩ３である以外カウンタ９０と同様である。このため、カウンタ９１〜９４のそれぞれは、入力される信号ＣＳ３、信号ＷＰ３、信号ＨＯＬＤ３、信号ＳＩ３の立ち上がりエッジをカウントし、カウント値ＣＮＴ４，ＣＮＴ６，ＣＮＴ８，ＣＮＴ１０として出力する。なお、カウンタ９１〜９４は、本発明の第２カウンタに相当する。
【００３１】
検出回路１００（比較信号出力回路）は、メインカウンタ４６から指示信号ＴＲＧ１が入力されると、カウンタ５０から入力されるカウント値ＣＮＴ１とカウンタ９０から入力されるカウント値ＣＮＴ２とを取り込むとともに比較する。そして、比較結果が一致する場合、Ｌレベルの比較信号ＣＭＰ１（比較信号）を出力する。一方、比較結果が不一致の場合、Ｈレベルの比較信号ＣＭＰ１を出力する。なお、本実施形態では、保持されているカウント値はカウンタ５０、及びカウンタ９０から入力される度に更新されることとする。
【００３２】
検出回路１０１〜１０４は、それぞれに入力されるカウント値がカウント値ＣＮＴ３，４、カウント値ＣＮＴ５，６、カウント値ＣＮＴ７，８、カウント値ＣＮＴ９，１０である以外検出回路１００と同様である。このため、検出回路１０１〜１０４のそれぞれは、カウント値ＣＮＴ３，４、カウント値ＣＮＴ５，６、カウント値ＣＮＴ７，８、カウント値ＣＮＴ９，１０を取り込むとともに比較し、比較信号ＣＭＰ２，ＣＭＰ３，ＣＭＰ４，ＣＭＰ５を出力する。なお、検出回路１０１〜１０４は、本発明の比較信号出力回路に相当し、比較信号ＣＭＰ２〜５は、本発明の比較信号に相当する。
【００３３】
なお、カウンタ５０，９０、及び検出回路１００、カウンタ５１，９１、及び検出回路１０１、カウンタ５２，９２、及び検出回路１０２、カウンタ５３，９３、及び検出回路１０３、カウンタ５４，９４、及び検出回路１０４が本発明の比較回路に相当する。
【００３４】
ＯＲ回路１１１は、検出回路１００〜１０４からそれぞれ入力される比較信号ＣＭＰ１〜５が全てＬレベルの場合、Ｌレベルの信号ＦＬＧを出力する。また、検出回路１００〜１０４からそれぞれ入力される比較信号ＣＭＰ１〜５の何れかがＨレベルの場合、ＯＲ回路１１１はＨレベルの信号ＦＬＧを出力する。
【００３５】
ＡＣＫ信号発生回路１１２は、メインカウンタ４６から指示信号ＴＲＧ２が入力された際に、ＯＲ回路１１１から入力される信号ＦＬＧがＬレベルの場合、信号ＡＣＫをデータ出力回路４５、及びマイコン２０に出力する。また、メインカウンタ４６から指示信号ＴＲＧ２が入力された際に、ＯＲ回路１１１から入力される信号ＦＬＧがＨレベルの場合、レジスタ１１３に再アクセス要求信号ＲＴＹを出力する。
【００３６】
レジスタ１１３は、マイコン２０から入力されるアクセス要求データＲＥＱを保持する。そして、ＡＣＫ信号発生回路１１２から再アクセス要求信号ＲＴＹが入力されると、所定アクセスを再度行うべく、保持しているアクセス要求データＲＥＱをクロック発生回路４０、ＣＳ信号発生回路４１、ＷＰ信号発生回路４２、ＨＯＬＤ信号発生回路４３、データ出力回路４４に出力する。なお、本実施形態では、保持されているアクセス要求データＲＥＱは、マイコン２０から入力される度に更新されることとする。
【００３７】
ここで、リードアクセスにおいて、端子２２〜２７にノイズが発生しない場合のシステムＬＳＩ１０の動作について説明する。ここでは図３を参照しつつ、カウンタ５０，９０、Ｉ／Ｏバッファ６０、出力回路７０，８０、及び検出回路１００の動作を代表して説明する。
【００３８】
なお、本実施形態では、４ビットのアドレスＡＤＤＲＥＳＳ、及び４ビットのコマンドＣＭＤがデータ出力回路４４に保持されていることとする。また、シリアルフラッシュメモリ１１から入力されるリードデータＳＯ１は３２ビットであるとする。さらに、本実施形態では、リードアクセスにおいて、アドレスＡＤＤＲＥＳＳの出力に要するクロックＣＬＫ２のサイクル数が４、コマンドＣＭＤの出力に要するクロックＣＬＫ２のサイクル数が４、リードデータＳＯ１の入力に要するクロックＣＬＫ２のサイクル数が３２、ＡＣＫ信号またはＲＴＹ信号の出力に要するクロックＣＬＫ２のサイクル数が１であるため、メインカウンタ４６の最大カウント値が４１であるとする。
【００３９】
図３に示すように、時刻Ｔ１でマイコン２０からアクセス要求データＲＥＱが、クロック発生回路４０、ＣＳ信号発生回路４１、ＷＰ信号発生回路４２、ＨＯＬＤ信号発生回路４３、データ出力回路４４、及びレジスタ１１３に入力されるとともにレジスタ１１３に保持される。
【００４０】
時刻Ｔ２、すなわちアクセス要求データＲＥＱが入力されてから所定のタイミングで信号ＣＳ２はＬレベルとなる。そして、出力回路７１から信号ＣＳ２が信号ＣＳ１として出力されることにより、シリアルフラッシュメモリ１１とのアクセスが可能になる。
【００４１】
時刻Ｔ３、すなわちアクセス要求データＲＥＱが入力されてから所定のタイミングでクロックＣＬＫ２の出力が開始される。そして、出力回路７０からクロックＣＬＫ２がクロックＣＬＫ１として出力されることにより、シリアルフラッシュメモリ１１はクロックＣＬＫ１に同期して信号ＣＳ１、信号ＷＰ１、信号ＨＯＬＤ１、アクセスデータＳＩ１を取り込むことが可能となる。さらに、出力回路８０からクロックＣＬＫ１がクロックＣＬＫ３として出力される。また、クロックＣＬＫ２がカウンタ５０に入力されると、クロックＣＬＫ２の立ち上がりエッジがカウントされ、カウント値ＣＮＴ１のインクリメントが開始される。一方、クロックＣＬＫ３がカウンタ９０に入力されると、クロックＣＬＫ３の立ち上がりエッジがカウントされ、カウント値ＣＮＴ２のインクリメントが開始される。前述の時刻Ｔ３になると、データ出力回路４４に保持されているコマンドＣＭＤ、及びアドレスＡＤＤＲＥＳＳがアクセスデータＳＩ２として順次出力される。このため、出力回路７４からアクセスデータＳＩ２がアクセスデータＳＩ１として順次出力される。
【００４２】
時刻Ｔ４でアドレスＡＤＤＲＥＳＳの出力が完了すると、時刻Ｔ５でアクセスデータＳＩ１として入力されたコマンドＣＭＤ、及びアドレスＡＤＤＲＥＳＳに基づいて、シリアルフラッシュメモリ１１の所定アドレスの記憶領域から読み出されたリードデータＳＯ１の入力が開始される。前述の時刻Ｔ５になると、順次入力されるリードデータＳＯ１は、データ出力回路４５に順次保持される。
【００４３】
時刻Ｔ６でクロックＣＬＫ２のサイクル数が４０になると、カウンタ５０により４０がカウントされ、カウント値ＣＮＴ１として出力される。一方、端子２２にノイズは発生しておらず、クロックＣＬＫ１がクロックＣＬＫ３として出力されるため、カウンタ９０により４０がカウントされ、カウント値ＣＮＴ２として出力される。また、メインカウンタ４６のカウント値が４０になるため、指示信号ＴＲＧ１がメインカウンタ４６から出力される。指示信号ＴＲＧ１が検出回路１００に入力されると、カウンタ５０からカウント値ＣＮＴ１として４０が、カウンタ９０からカウント値ＣＮＴ２として４０が検出回路１００に取り込まれるとともに比較される。カウント値ＣＮＴ１とカウント値ＣＮＴ２が同じ値であるため、比較結果が一致として検出回路１００からＬレベルの比較信号ＣＭＰ１が出力される。したがって、比較信号ＣＭＰ１がＬレベルとなる場合、クロックＣＬＫ３にノイズが生じていないことが検出される。さらに、ここでは端子２３〜２７でノイズは発生していないため、カウント値ＣＮＴ３，４、カウント値ＣＮＴ５，６、カウント値ＣＮＴ７，８、カウント値ＣＮＴ９，１０はそれぞれ一致となる。したがって、検出回路１０１〜１０４からそれぞれ出力される比較信号ＣＭＰ２〜５は全てＬレベルとなるため、ＯＲ回路１１１からＬレベルのフラグＦＬＧが出力される。
【００４４】
時刻Ｔ７でクロックＣＬＫ２のサイクル数が４１になると、すなわち、メインカウンタ４６のカウント値が４１になると、指示信号ＴＲＧ２がメインカウンタ４６から出力される。指示信号ＴＲＧ２がカウンタ５０、及びカウンタ９０に入力されるとそれぞれのカウント値がリセットされる。また、指示信号ＴＲＧ２がＡＣＫ発生回路１１２に入力される際に、ＯＲ回路１１１から入力されるフラグＦＬＧがＬレベルのため、信号ＡＣＫがデータ出力回路４５、及びマイコン２０に出力される。そして、保持されているリードデータＳＯ１がデータＤＡＴＡとしてマイコン２０に出力されるとともに所定アクセスがされたことがマイコン２０に通知される。
【００４５】
つぎに、リードアクセスにおいて、端子２２〜２７に所定のタイミングでノイズが発生する場合のシステムＬＳＩ１０の動作について説明する。ここでは図４を参照しつつ、後述する時刻Ｔ１１〜Ｔ１２でノイズが発生する場合のカウンタ５０，９０、Ｉ／Ｏバッファ６０、出力回路７０，８０、及び検出回路１００の動作を代表して説明する。
【００４６】
図４に示すように、時刻Ｔ８で入力されたアクセス要求データＲＥＱに基づいて、時刻Ｔ９からＴ１１の動作は、ノイズ発生しない場合と同様のリードアクセス動作となる。
【００４７】
時刻Ｔ１１からＴ１２で、出力回路７０からクロックＣＬＫ１が出力される間に端子２２にノイズが発生し、端子２２の電圧レベルがＨレベルに固定されたとする。この場合、出力回路８０から端子２２に応じてＨレベルに固定されたクロックＣＬＫ３が出力される。したがって、クロックＣＬＫ２の６サイクル目において、カウント値ＣＮＴ２として４が出力される。一方、カウンタ５０により６がカウントされ、カウント値ＣＮＴ１として出力される。  
時刻Ｔ１３から１４の動作はノイズが発生しないため、アクセス要求データＲＥＱに基づいて、前述の場合と同様のリードアクセス動作となる。
【００４８】
時刻Ｔ１５で、クロックＣＬＫ２のサイクル数が４０になると、カウンタ５０において４０がカウントされ、カウント値ＣＮＴ１として出力される。一方、クロックＣＬＫ２の５，６サイクルにおいて、カウント値がインクリメントされないため、カウンタ９０にカウント値ＣＮＴ２として３８がカウントされる。また、メインカウンタ４６のカウント値が４０になると、指示信号ＴＲＧ１がメインカウンタ４６から出力される。指示信号ＴＲＧ１が検出回路１００に入力されると、カウンタ５０からカウント値ＣＮＴ１として４０が、カウンタ９０からカウント値ＣＮＴ２として３８が検出回路１００に取り込まれるともに比較される。カウント値ＣＮＴ１とカウント値ＣＮＴ２が異なる値であるため、比較結果が不一致として検出回路１００からＨレベルの比較信号ＣＭＰ１が出力される。したがって、比較信号ＣＭＰ１がＨレベルとなる場合、クロックＣＬＫ３にノイズが生じていることが検出される。さらに、ここでは端子２３〜２７でノイズが発生しているため、カウント値ＣＮＴ３，４、カウント値ＣＮＴ５，６、カウント値ＣＮＴ７，８、カウント値ＣＮＴ９，１０はそれぞれ不一致となる。したがって、検出回路１０１〜１０４からそれぞれ出力される比較信号ＣＭＰ２〜５は全てＨレベルとなるため、ＯＲ回路１１１からＨレベルのフラグＦＬＧが出力される。
【００４９】
時刻Ｔ１６で、クロックＣＬＫ２のサイクル数が４１になると、すなわち、メインカウンタ４６のカウント値が４１になると、指示信号ＴＲＧ２がメインカウンタ４６から出力される。指示信号ＴＲＧ２がカウンタ５０、及びカウンタ９０に入力されるとそれぞれのカウント値がリセットされる。また、指示信号ＴＲＧ２がＡＣＫ信号発生回路１１２に入力される際に、ＯＲ回路１１１から入力されるフラグＦＬＧがＨレベルのため、信号ＡＣＫはデータ出力回路４５、及びマイコン２０に出力されない。したがって、リードデータＳＯ１はデータ出力回路４５に保持され続ける。一方、信号ＲＴＹがレジスタ１１３に出力され、レジスタ１１３に保持されているアクセス要求データＲＥＱが出力される。入力されたアクセス要求データＲＥＱに基づいて、クロック発生回路４０、ＣＳ信号発生回路４１、ＷＰ信号発生回路４２、ＨＯＬＤ信号発生回路４３、データ出力回路４４にそれぞれ信号を発生させることにより、前述のリードアクセスが再び実行される。
【００５０】
以上に説明した構成からなる本実施形態のインターフェース回路２１において、本実施形態では、出力回路７０は、入力されるクロックＣＬＫ２をクロックＣＬＫ１として端子２２に出力する。そして、出力回路８０は、端子２２の電圧レベルの変化に応じてクロックＣＬＫ３を出力する。クロックＣＬＫ２が出力回路７０に入力されてから所定アクセスがされる間、カウンタ５０は、入力されるクロックＣＬＫ２の論理レベルの変化の回数をカウントし、カウンタ９０は、入力されるクロックＣＬＫ３の論理レベルの変化の回数をカウントする。検出回路１００は、メインカウンタ４６から指示信号ＴＲＧ１が入力されると、カウンタ５０からカウント値ＣＮＴ１とカウンタ９０からカウント値ＣＮＴ２を取り込むとともに比較する。端子２２〜２７にノイズが発生しない場合、比較結果は一致となるため、検出回路１００はＬレベルの比較信号ＣＭＰ１を出力する。したがって、所定のアクセスがされたことが検出される。一方、端子２２〜２７にノイズが発生する場合、比較結果は不一致となるため、検出回路１００はＨレベルの比較信号ＣＭＰ１を出力する。したがって、所定のアクセスがされなかったことが検出される。以上から、例えば送受信されるデータにパリティビットを付加することによりアクセスの正常性を検出する方法と比較して、本実施形態ではパリティビットを付加することがない。このため、アクセスにおけるデータ量の増加を抑制するとともに、アクセス速度を低下させることなくメモリアクセスの正常性を検出することが可能である。
【００５１】
また、本実施形態では、カウンタ５０，９０、及び検出回路１００により、端子２２に発生するノイズが検出される。カウンタ５０は、所定のアクセスがされる間に入力されるクロックＣＬＫ２の立ち上がりエッジをカウントし、カウンタ９０は所定のアクセスがされる間に入力されるクロックＣＬＫ３の立ち上がりエッジをカウントする。したがって、前述のように、取り込まれたカウント値の比較結果に基づいて、端子２２〜２７にノイズが発生しているか否かを検出することが可能である。ここで、カウンタ５０，９０、及び検出回路１００ではなく、例えばＥＸＯＲゲートにクロックＣＬＫ２とクロックＣＬＫ３とを入力し、ＥＸＯＲゲートの出力に基づいてクロックＣＬＫ２とクロックＣＬＫ３とが一致しているか否かを検出することが可能である。しかし、入力されるクロックＣＬＫ２と入力されるクロックＣＬＫ３との間に遅延が生じると、ＥＸＯＲゲートは誤った比較結果を出力することがある。一方、本実施形態において、カウンタ５０，９０は、それぞれ入力されるクロックの立ち上がりエッジをそれぞれカウントしているため、入力されるクロックＣＬＫ２と入力されるクロックＣＬＫ３との間に遅延が生じた場合であっても、誤った比較結果を出力することはない。したがって、本実施形態では、カウンタを用いることにより、クロックＣＬＫ２とクロックＣＬＫ３の論理レベルの変化の回数を正確に比較することができる。
【００５２】
また、本実施形態では、端子２２にノイズが発生していることが検出されると、ＡＣＫ信号発生回路１１２は信号ＲＴＹを出力する。そして、レジスタ１１３は、信号ＲＴＹが入力されると所定アクセスを再度行うべく、保持している所定のアクセス要求データＲＥＱをクロック発生回路４０、ＣＳ信号発生回路４１、ＷＰ信号発生回路４２、ＨＯＬＤ信号発生回路４３、データ出力回路４４に出力する。したがって、本実施形態では、ノイズが生じていることが検出されると、自律で所定アクセスを再度行うことができる。
【００５３】
また、本実施形態では、クロックＣＬＫ２に基づいて、メインカウンタ４６のカウント値が４０になると指示信号ＴＲＧ１を出力する。そして、検出回路１００は、指示信号ＴＲＧ１が入力されると、カウンタ５０，９０からそれぞれ入力されるカウント値ＣＮＴ１，２を取り込むとともに比較し、比較信号ＣＭＰ１を出力する。このため、本実施形態においては、例えば、データ転送速度の変更等によりクロックＣＬＫ２の周期が変更された場合であっても、確実に所定のアクセスが完了するよりも１サイクル前のタイミングで、検出回路１００に比較信号ＣＭＰ１を出力させることが可能となる。  
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００５４】
本実施形態では、マイコン２０がインターフェース回路２１を介してシリアルフラッシュメモリ１１との間でプログラムデータを送受信する際、インターフェース回路２１の端子２２〜２７に設けたＩ／Ｏバッファ６０〜６４、カウンタ５０〜５４，９０〜９４、及び検出回路１００〜１０４によりノイズが検出され、データの正否を検出可能な構成としている。例えば、マイコンがモーター駆動回路内部のレジスタとの間でモーターを制御するためのデータを送受信する際、マイコンがデータを送信する端子にＩ／Ｏバッファ６０、カウンタ５０、９０、及び検出回路１００を設けることとしてもよい。その場合、端子に発生するノイズが検出され、データの正否を検出できる。なお、この際には、モーター駆動回路内部のレジスタが本発明の記憶回路に相当する。
【００５５】
本実施形態では、クロックＣＬＫ２のサイクル数４１に応じてメインカウンタ４６は、カウント値が４０になると指示信号ＴＲＧ１を出力し、カウント値が４１になると指示信号ＴＲＧ２を出力する。本実施形態では、これに限られるものではなく、例えば、ＴＲＧカウント値が３０になると指示信号ＴＲＧ１を出力し、カウント値が４１になると指示信号ＴＲＧ２を出力することとしてもよい。この場合であっても、クロックＣＬＫ２のサイクル数が３０となるまでの間に端子２２に発生するノイズを検出できる。また、メインカウンタ４６のカウント値が４１になった後、マイコンが、例えばクロックＣＬＫ２のサイクル数が４２になると指示信号ＴＲＧ１を出力し、クロックＣＬＫ２のサイクル数が４３になると指示信号ＴＲＧ２を出力することとしてもよい。この場合であっても、クロックＣＬＫ２のサイクル数が４３となるまでの間に端子２２に発生するノイズを検出できる。
【００５６】
本実施形態では、検出回路１００〜１０４からそれぞれ出力される比較信号ＣＭＰ１〜５により、端子２２〜２７に発生するノイズが検出される。そして、比較信号ＣＭＰ１〜５に基づいてＯＲ回路１１１は信号ＦＬＧを出力し、信号ＦＬＧに基づいてＡＣＫ信号発生回路１１２が、信号ＡＣＫをマイコン２０に出力する構成としている。しかし、検出回路１０２が出力する比較信号ＣＭＰ３をマイコン２０に出力することにより、信号ＷＰ１が出力される間に端子２６に発生するノイズを検出する構成としてもよい。その場合、書き込みが禁止されている領域に誤ってデータが書き込まれることにより、シリアルフラッシュメモリ１１に格納されたプログラムデータが壊されているか否かを検出できる。
【００５７】
本実施形態では、カウンタ５１〜５３は、それぞれに入力される論理レベルの信号が、信号ＣＳ２、信号ＷＰ２、信号ＨＯＬＤ２である以外カウンタ５０と同様としたが、ＣＳ２信号、信号ＷＰ２、信号ＨＯＬＤ２の論理レベルの変化回数はクロックＣＬＫ２の論理レベルの変化回数より少ないため、カウンタ５１〜５３をカウンタ５０より最大カウント値が少ないカウンタで構成してもよい。
【００５８】
本実施形態では、端子２２にノイズが発生し、出力回路８０から端子２２に応じてクロックＣＬＫ３が出力される場合、クロックＣＬＫ３の論理レベルの変化回数は、クロックＣＬＫ２の論理レベルの変化回数より多いことがある。したがって、本実施形態では、カウンタ９０をカウンタ５０より最大カウント値が多いカウンタで構成してもよい。
【符号の説明】
【００５９】
１０  システムＬＳＩ
１１  シリアルフラッシュメモリ
１２〜１７  端子
２０  マイコン
２１  インターフェース回路
２２〜２７  端子
４０  クロック発生回路
４１  ＣＳ信号発生回路
４２  ＷＰ信号発生回路
４３  ＨＯＬＤ信号発生回路
４４，４５  データ出力回路
４６  メインカウンタ
５０〜５４  カウンタ
６０〜６４  Ｉ／Ｏバッファ
７０〜７４  出力回路
８０〜８４  出力回路
９０〜９４  カウンタ
１００〜１０４  検出回路
１１１  ＯＲ回路
１１２  ＡＣＫ信号発生回路
１１３  レジスタ  
【図１】
2010244259.tif 000003
【図２】
2010244259.tif 000004
【図３】
2010244259.tif 000005
【図４】
2010244259.tif 000006