(57)【要約】【課題】シリアスメモリのＤｏポートから出力される読み出しデータの先頭の応答ビットと読み出しコマンドの先頭との時間間隔を検出し、この時間間隔によってメモリサイズを判定する方法は、応答ビットが付与されていないＳＰＩ準拠のシリアルメモリには適用できない【解決手段】メモリサイズが道のメモリ１のＤＩポートに、書き込みコマンドに続き４バイトのゼロ（００ｈ）を与えて書き込み処理（ステップｆ１）を行い、次に、読み出しコマンドに続き４バイトのゼロ（００ｈ）を与えて判定データの読み出し処理（ステップｆ２）を行う。そして、読み出し処理で読み出された判定データにおける００ｈの出力パターンからメモリのアクセスモードを判定する。【選択図】図１
2004265283.tif 000002
【特許請求の範囲】
【請求項１】
ＳＰＩに準拠したシリアルメモリにアクセスして、該シリアルメモリのメモリサイズを自動的に判別する方法であって、
書き込みコマンドを含む所定のビット構成をもつ初期データを前記シリアルメモリメモリに供給して書込む処理を行うステップと、
前記書込み処理の後に読み出しコマンドを含む所定のビット構成をもつ読み出しデータを前記シリアルメモリに供給して、前記初期データに基づく判定データを読出す処理を行うステップと、
前記判定データに基づいて、メモリが必要とするアドレスデータのバイト数のことをメモリのアクセスモードと定義したときの前記シリアルメモリのアクセスモードを判定する処理を行うステップとを有することを特徴とするＳＰＩインタフエースのシリアルメモリのアクセスモード自動判別方法。
【請求項２】
前記シリアルメモリのデータ出力端の電位はＨｉレベルであって、前記初期データが書き込みコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈであり、前記読み出しデータが読み出しコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈであり、
前記判定データはメモリから読み出される３バイトの出力データであって、
読み出された判定データにおける００ｈの出力パターンから前記シリアルメモリのアクセスモードを判定することを特徴とする請求項１記載のＳＰＩインタフエースを持つメモリのアクセスモード自動判別方法。
【請求項３】
ＳＰＩに準拠したシリアルメモリのメモリサイズを自動的に判別する装置であって、前記シリアルメモリのデータ出力端の電位をＨｉレベルにするプルアップ抵抗を備え、
所定のビット構成をもつ初期書き込みデータを出力する初期データ書き込み処理部と、所定のビット構成をもつ読み出しデータを前記シリアルメモリに供給しながら前記初期書き込みデータに基づく判定データを読出す判定データ読み出し処理部と、
前記判定データに基づいて、前記シリアルメモリのアクセスモードを判定する判定処理部とを有することを特徴とするＳＰＩインタフエースのシリアルメモリのアクセスモード自動判別装置。
【請求項４】
前記初期書き込みデータが、書き込みコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈの定型ビット列であり、前記読み出しデータが、読み出しコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈの定型ビット列であり、
読み出された判定データをもとに、前記判定処理部において判定データにおける００ｈの出力パターンから前記シリアルメモリのアクセスモードを判定することを特徴とする請求項３に記載のＳＰＩインタフエースのシリアルメモリのアクセスモード自動判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルメモリ、特にＳＰＩ準拠のシリアルメモリにおけるアクセスモードの自動判別方法に関する。
【０００２】
【従来の技術】
近年、携帯端末等の電子機器に搭載されるメモリの容量は、半導体技術の進歩とともに、ますます増大してきている。そして、入出力のポート数が少ないため小型化にも対応しやすいシリアルインタフエースを備えたメモリが広く使用されていることは周知のとおりである。
図７は、一般的なシリアルメモリのブロック図と、アクセスのタイミングチャートである。同図（ａ）に示すように、一般的なシリアルメモリ１１は、最低限、ＤＩ（入力）、Ｄｏ（出力）、Ｃｓ（チップセレクト）、ＳＫ（シリアルクロック）の４つのポートを備えている。
前記ＤＩポートは、書き込みコマンドあるいは読み出しコマンド、並びにアドレスを指定する一連のシリアルデータを入力するためのポートであり、Ｄｏポートは、メモリから読み出したシリアルデータを出力するポートである。
また、Ｃｓポートは、メモリをアクセス可能とするためのポートであって、該Ｃｓポートを所定のレベルに設定することによって、メモリはアクティブな状態となり、テータの書き込みあるいは読み出しの動作が可能になる。
さらに、ＳＫポートは、シリアルクロックを入力するためのポートであって、Ｃｓポートを所定のレベルに設定後、シリアルクロックを入力し、該クロック信号に同期して所定の書き込みや読み出しを行う。
【０００３】
同図（ｂ）、（ｃ）は、前記シリアルメモリの書き込み及び読み出しのタイミングチャートをそれぞれ示したものである。
同図（ｂ）に示すように、前記シリアルメモリにデータの書き込みを行うときには、一旦ＣｓポートをＨｉレベルからＬｏレベルに設定して、ＤＩポートに書き込みコマンド、書き込みアドレス及び書き込みテータを一連のシリアルデータとして入力しておく。
そして、ＣｓポートをＬｏレベルからＨｉレベルに戻すと、シリアルクロック信号に同期してメモリに書き込みが実行される。
一方、同図（ｃ）に示すように、メモリからデータの読み出しを行うときには、ＣｓポートをＨｉレベルからＬｏレベルに設定し、シリアルクロック信号をＳＫポートに入力する。そして、ＤＩポートに読み出しコマンド及び読み出しアドレス及び必要バイト数のダミーデータを一連のシリアルデータとして入力すると、読み出しアドレスに対応したデータが、シリアルクロック信号に同期してＤｏポートから出力される。
【０００４】
一般的に、電子機器に搭載されるシリアルメモリには、様々なメモリサイズのものが提供されているが、該シリアルメモリは、メモリサイズによって前記読み出し、あるいは書き込みアドレスのビット長のみが異なっている。
したがって、メモリサイズによって対応するアドレスのビット長だけを変えれば、様々なサイズをもつシリアルメモリに対し読み書き動作を実行することが可能である。
そして、機器等に搭載されたメモリのサイズが未知のものであっても、ＤＩポートに入力するシリアルデータの先頭とＤｏポートから出力される読み出しデータのタイミングがメモリサイズによって異なることを利用して、メモリサイズを自動認識する方法が、特開２０００−１２２９２１号公報において開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記特開２０００−１２２９２１号に開示されているメモリサイズの自動認識方式は、以下のような問題点かある。
即ち、前記公報記載のメモリサイズ自動認識方法は、メモリサイズが未知のシリアルメモリのＤＩポートに、所定ビット長の読み出しコマンドと読み出しアドレスを入力したときに、Ｄｏポートから出力される読み出しデータの先頭の応答ビットと前記読み出しコマンドの先頭との時間間隔を検出し、この時間間隔によってメモリサイズを判定するものである。
但し、この場合、前記読み出しデータの先頭には前記Ｌｏレベルの応答ビットが付与されているものと想定している。
このため、例えば、応答ビットが付与されていないＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）といった一般的に広く普及しているインタフェースのシリアルメモリには、この自動認識方法を適用できないという問題があった。
本発明は、上記課題を解決するためになされたものであって、応答ビットが付与されていないＳＰＩに準拠したインタフェースのシリアルメモリのアクセスモードを自動的に判別することができる判別方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、請求項１の発明においては、ＳＰＩに準拠したシリアルメモリにアクセスして、該シリアルメモリのメモリサイズを自動的に判別する方法であって、書き込みコマンドを含む所定のビット構成をもつ初期データを前記シリアルメモリメモリに供給して書込む処理を行うステップと、前記書込み処理の後に読み出しコマンドを含む所定のビット構成をもつ読み出しデータを前記シリアルメモリに供給して、前記初期データに基づく判定データを読出す処理を行うステップと、前記判定データに基づいて、メモリが必要とするアドレスデータのバイト数のことをメモリのアクセスモードと定義したときの前記シリアルメモリのアクセスモードを判定する処理を行うステップとを有することを特徴とする。
【０００７】
請求項２の発明は、請求項１において前記シリアルメモリのデータ出力端の電位はＨｉレベルであって、前記初期データが書き込みコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈであり、前記読み出しデータが読み出しコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈであり、前記判定データはメモリから読み出される３バイトの出力データであって、読み出された判定データにおける００ｈの出力パターンから前記シリアルメモリのアクセスモードを判定することを特徴とする。
【０００８】
請求項３の発明は、ＳＰＩに準拠したシリアルメモリのメモリサイズを自動的に判別する装置であって、前記シリアルメモリのデータ出力端の電位をＨｉレベルにするプルアップ抵抗を備え、所定のビット構成をもつ初期書き込みデータを出力する初期データ書き込み処理部と、所定のビット構成をもつ読み出しデータを前記シリアルメモリに供給しながら前記初期書き込みデータに基づく判定データを読出す判定データ読み出し処理部と、前記判定データに基づいて、前記シリアルメモリのアクセスモードを判定する判定処理部とを有することを特徴とする。
【０００９】
請求項４の発明は、請求項３において、前記初期書き込みデータが、書き込みコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈの定型ビット列であり、前記読み出しデータが、読み出しコマンドと該コマンドに続くそれぞれ１バイトの００ｈ、００ｈ、００ｈ、００ｈの定型ビット列であり、読み出された判定データをもとに、前記判定処理部において判定データにおける００ｈの出力パターンから前記シリアルメモリのアクセスモードを判定することを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明を図面に示した実施の形態に基づいて説明する。図１は、本発明に係わるシリアルメモリのメモリサイズ自動判別装置が、ＳＰＩに準拠したインタフェースをもつシリアルメモリへアクセスする接続配線図と、そのアクセスモード判定処理フローチャートである。
図１（ａ）に示すように、本判別装置はＣＰＵ２とプルアップ抵抗３で構成され、図の点線で囲まれたメモリサイズが未知のシリアルメモリ１のＤｏ、ＤＩ、ＳＫ、Ｃｓポートは、ＣＰＵ２のそれぞれ対応するＩ／Ｏピンに接続される。
そして、前記Ｄｏポートは、プルアップ抵抗３で電源回路に接続されて、常時電位がＨｉのレベルになっている。
同図の回路構成において、ＣＰＵ２がメモリ１のメモリサイズを判定する手順は、同図（ｂ）のフローチャートに示されるように、初期データ書き込み処理（ｆ１）、判定データ読み出し処理（ｆ２）、及び判定処理（ｆ３）の手順を順に行うことで実現される。
【００１１】
前記フローチャートに示される処理手順を説明する前に、ＳＰＩに準拠したインタフェースのシリアルメモリのデータ構造と、ページ書き込み及び読み出しについて説明する。
一般にＳＰＩインタフェースのシリアルメモリにはページという概念が使われている。これについて、アドレス８ビットのメモリを例に説明する。
図２（ａ）、（ｂ）は、８ビットアドレスメモリのデータ構造を示したものである。
同図（ａ）に示される８ビットアドレスのメモリでは、アドレスを００ｈ〜ＦＦｈ（１６進表示、以下、アドレス、データ等を１６進表示で表現する場合は末尾にｈを添字する）まで指定でき、Ｄ１〜Ｄ２５６（各データは１バイト単位）の合計２５６バイトのデータを書き込んで記憶させることができる。
【００１２】
メモリにおける各データの何バイトかのまとまりを１ページと呼んでいる。
通常、１ページは、メモリサイズによって４、８、１６、３２、２５６バイトといった４の倍数のページサイズになっているのが一般的であり、ここでは１ページ４バイトとして説明する。
上記に従って、４バイト／ページとすると、８ビットアドレスのメモリは６４ページのデータ構造となる。
【００１３】
メモリにデータを書き込むとき、図７（ｂ）のタイミングチャートに示されるように、ＤＩポートに書き込みコマンドと１バイトのアドレスを入力し、それに続いて書き込みデータを所定のバイト分連続的に入力する。すると、前記書き込みデータは前記アドレスから順番に１バイトづつ同一ページ内に連続的に書き込まれる。例えば、８ビットアドレスのメモリでアドレスを００ｈに指定し、それに続いて４バイト分のデータを００ｈ、０１ｈ、０２ｈ、０３ｈとして入力すると、図２（ｂ）に示されるように、アドレス００ｈ〜０３ｈに１バイトずつのデータ００ｈ、０１ｈ、０２ｈ、０３ｈが連続的に書き込まれる。
【００１４】
一方、読み出しの場合は、読み出しコマンドと共にアドレスを入力し、それに続いて読み出すデータのバイト数と同数のダミーデータを入力する。
すると、前記アドレスから連続したアドレス順で、前記ダミーデータの入力に応じてデータが１バイトずつ連続的に読み出される。
なお、読み出しの場合ダミーデータを付加すれば、ページに関係なく連続的に読み出しが可能である。前記ダミーデータは、１バイトであればどのようなデータであっても構わない。
【００１５】
次に、図１（ｂ）の本発明のフローチャートに示される初期データ書き込み処理（ｆ１）、判定データ読み出し処理（ｆ２）、及び判定処理（ｆ３）の手順を説明する。
ここで、メモリが必要とするアドレスデータのバイト数のことをメモリのアクセスモードと定義したうえで、メモリを図３のアクセスモード分類表のように、メモリの容量に応じて分類する。
【００１６】
図４は、初期データ書き込み処理の詳細のフローチャート、初期データ書き込みのためＣＰＵより出力される定型ビット列及び前記定型ビット列のアクセスモードごとの認識表である。
図４（ａ）のフローに示すように、初期データ書き込み処理は、ＣｓポートをＨｉレベルからＬｏレベルに設定（ｆ１１）した後、ＣＰＵ２からＤＩポートに、図４（ｂ）に示す初期データ定型ビット列（１）、（２）、（３）、（４）、（５）が出力される。即ち、先ず、書き込みコマンド（１）が出力（ｆ１２）され、続いて４バイトのゼロ（００ｈ）（２）〜（５）が出力（ｆ１３〜ｆ１６）される。
【００１７】
次に、ＳＫポートに所定のシリアルクロック信号を入力して、ＣｓポートをＬｏレベルからＨｉレベルに戻す（ｆ１７）と、前記４バイトのゼロ（００ｈ）がメモリ１に入力されて、所定のアドレスに後述のようにデータが書き込まれる。
なお、前記初期データを入力する場合や、後述する判定データの読み出しの場合には、図７に示すようにＣｓポートやＳＫポートには所定の信号が与えられるが、説明を簡単にするため、以下、それらの説明は省略する。
【００１８】
ＣＰＵ２よりメモリ１に出力された（１）〜（５）で構成される前記定型ビット列のうち（２）〜（５）の４バイトのゼロ（００ｈ）は、メモリ１のアクセスモードごとに異なる認識をされる。
図４（ｃ）は、前記４バイトのゼロ（００ｈ）に対するアクセスモードごとの認識の違いを示す表である。
同図に示すように、アクセスモード１の場合は、１番目のゼロ（２）はアドレス（アドレス０番）、２〜４番目のゼロ（３）〜（５）は１〜３番目の書込みデータ（００ｈ）と、それぞれ認識される。
アクセスモード２の場合は、１番目のゼロ（２）は上位アドレス、２番目のゼロ（３）は下位アドレス、３、４番目のゼロ（４）、（５）は１、２番目の書込みデータ（００ｈ）と、それぞれ認識される。
【００１９】
アクセスモード３の場合は、１番目のゼロ（２）は上位アドレス、２番目のゼロ（３）は中位アドレス、３番目のゼロ（４）は下位アドレス、４番目のゼロ（５）は書込みデータ（００ｈ）と、それぞれ認識される。
したがって、初期データ書き込み処理によって、いずれの場合もアドレス０番地から書き込まれるが、メモリのアクセスモードによって、書き込まれるバイト数が異なる。即ち、アクセスモード１、２、３の場合は、それぞれ３バイト、２バイト、１バイトのゼロ（００ｈ）が書き込まれる。
【００２０】
図５は、判定データ読み出し処理の詳細なフローチャート、判定データ読み出しのためにＣＰＵから出力される定型ビット列及び前記定型ビット列のアクセスモードごとの認識表である。
図５（ａ）に示すように、判定データ読み出し処理では、先ずＣｓポートをＬｏレベルからＨｉレベルに設定（ｆ２１）した後、ＣＰＵ２からＤＩポートに図５（ｂ）に示される定型ビット列（１）、（２）、（３）、（４）、（５）が出力される。
即ち、先ず読み出しコマンド（１）が出力され（ｆ２２）、続いて２バイトのゼロ（２）、（３）が出力される。（ｆ２３、ｆ２４）
【００２１】
前記２バイトのゼロ（２）、（３）が出力されると、後述のように第１の判定データがＤｏポートより出力される。（ｆ２５）
前記２番目のゼロ（３）に続いて、３番目のゼロ（４）及び４番目のゼロ（５）がＣＰＵ２より出力される（ｆ２６、ｆ２８）と後述のように第２の判定データ、第３の判定データがそれぞれＤｏポートより出力され（ｆ２７、ｆ２９）、ＣｓポートがＨｉレベルからＬｏレベルに設定されて判定データ読み出し処理が終了する（ｆ３０）。
判定データ読み出しのための前記定型ビット列のうち、前記４バイトのゼロ（２）〜（５）は、初期データ書き込み処理の場合と同様にメモリのアクセスモードごとに異なる認識が行われる。
【００２２】
図５（ｃ）は、前記４バイトのゼロ（２）〜（５）に対するメモリのアクセスモードごとの認識の違いを示す表である。
同図に示すように、アクセスモード１の場合は必要とするアドレスデータのバイト数が１であるので、１番目のゼロ（２）はアドレス（アドレス０番）、２〜４番目の各１バイトのゼロ（３）〜（５）は出力指示のダミーデータと認識される。
アクセスモード２の場合は必要とするアドレスデータのバイト数が２であるので、１番目のゼロ（２）は上位アドレス、２番目のゼロ（３）は下位アドレス、３番目、４番目のゼロ（４）、（５）は出力指示のダミーデータと認識される。
【００２３】
アクセスモード３の場合は必要とするアドレスデータのバイト数が３であるので、１番目のゼロ（２）は上位アドレス、２番目のゼロ（３）は中位アドレス、３番目のゼロ（４）は下位アドレス、４番目のゼロ（５）は出力指示のダミーデータと認識される。
したがって、前記判定データ読み出し処理によって、いずれの場合もアドレス０番地から読み出されるが、メモリのアクセスモードによって、メモリから読み出されるデータのバイト数が異なる。
【００２４】
図６は、判定データ読み出し処理ｆ２におけるアクセスモードごとの読み出しデータの一覧表及び判定処理の詳細なフローチャートである。
前記判定データ読み出し処理において、読み出しコマンド（１）に続いて１番目、２番目のゼロ（２）、（３）がメモリ１に入力されると、図６（ａ）に示されるように、２番目のゼロ（３）と引き換えにメモリがアクセスモード１の場合は、メモリの０番地からデータゼロ（００ｈ）がＤｏポートに読み出される。
しかしながら、もし、メモリがアクセスモード２の場合は、１番目、２番目のゼロ（２）、（３）はアドレスの上位と下位を指定し、また、もし、メモリがアクセスモード３の場合は、１番目２番目のゼロ（２）、（３）はアドレスの上位及び中位を指定することになる。
【００２５】
アクセスモード２、３の場合においては、必要なバイト数のアドレス（アクセスモード２では２バイト、アクセスモード３では３バイト）がメモリに入力されないうちは、Ｄｏポートより、図１（ａ）に示すＤｏポートに接続された前記プルアップ抵抗３よってＨｉに吊り上けられた電位により、１６進表現でＦＦｈの状態のデータが出力される。
このように、２番目のゼロと引き換えにＤｏポートから得られるデータを第１の判定データとする。
同様にして、３番目のゼロ（４）及び４番目のゼロ（５）と引き換えにＤｏポートより読み出されるデータを、それぞれ第２、第３判定データとする。
【００２６】
図６（ｂ）は、判定処理の詳細なフローチャートである。該判定処理は、前記第１〜第３判定データをもとに行われ、同図に示されるように、第１の判定データがゼロ（００ｈ）であれば（ｆ３１）、アクセスモード１のメモリと判定される。
そして、第１の判定データがゼロ以外で第２の判定データがゼロ（００ｈ）であれば（ｆ３２）、アクセスモード２、第２の判定データもゼロ以外で第３の判定データがゼロ（００ｈ）であれば（ｆ３３）、アクセスモード３と判定される。第３の判定データもゼロでなければメモリの故障と判定される（ｆ３４）。
【００２７】
以上のように図４、５、６にそれぞれ示す処理ステップによって、ＳＰＩ準拠のシリアルメモリは、アドレスモード１、２、３のいずれか、即ちアドレスビット数が９ビット以下か、１６ビット以下か、あるいは２４ビット以下か判定することができる。
【００２８】
【発明の効果】
以上説明したように、本発明に係るシリアルメモリのアクセスモードの判別方法は、メモリサイズが未知のシリアルメモリに対して、書き込みコマンドに続き４バイトのゼロを与えて書き込み処理を行い、次に、読み出しコマンドに続き４バイトのゼロを与えて読み出し処理を行う。
そして、読み出し処理で得られた第１、第２、第３判定データに基づいてメモリのアクセスモードを判定するようにした。
これによって、本発明は、ＳＰＩインタフェースのメモリのような、読み出しデータに応答ビットが付与されない種類でのメモリあっても、確実にメモリのアクセスモードを自動的に判別することができる。
したがって、本発明のメモリサイズ判別方法は、メモリサイズが未知のＳＰＩに準拠したシリアルメモリに対して、極めて単純な低コストの構成で速い処理速度の判別方法を提供するうえで著効を奏する。
【図面の簡単な説明】
【図１】（ａ）は、本発明に係わるＳＰＩに準拠したインタフェースをもつメモリへアクセスするための接続配線図、（ｂ）は、アクセスモード判定処理フローチャート。
【図２】（ａ）は、８ビットアドレスのシリアルメモリのデータ構造、（ｂ）は、（ａ）のシリアルメモリにデータを書き込んだ状態の説明図。
【図３】アクセスモード分類表。
【図４】（ａ）は、初期データ書き込み処理の詳細なフローチャート、（ｂ）は、初期データ書き込みのためＣＰＵより出力される定型ビット列の構成図、（ｃ）は、（ｂ）の定型ビット列のアクセスモードごとの認識表。
【図５】（ａ）は、判定データ読み出し処理の詳細なフローチャート、（ｂ）は、判定データ読み出しのためにＣＰＵから出力される定型ビット列、（ｃ）は、（ｂ）の定型ビット列のアクセスモードごとの認識表。
【図６】（ａ）は、判定データ読み出し処理におけるアクセスモードごとの読み出しデータの一覧表、（ｂ）は、判定処理の詳細なフローチャート。
【図７】（ａ）は、一般的なシリアルメモリのブロック図、（ｂ）は、シリアルメモリのアクセスのタイミングチャート。
【符号の説明】
１・・ＳＰＩインターフェイスをもつサイズが未知のシリアルメモリ、
２・・ＣＰＵ、      ３・・プルアップ抵抗
１１・・ＳＰＩインターフェイスをもつシリアルメモリ
【図１】
2004265283.tif 000003
【図２】
2004265283.tif 000004
【図３】
2004265283.tif 000005
【図４】
2004265283.tif 000006
【図５】
2004265283.tif 000007
【図６】
2004265283.tif 000008
【図７】
2004265283.tif 000009