(57)【特許請求の範囲】
【請求項１】
ＰＣカード入出力制御装置であって、
装着されたＰＣカードのあらかじめ定められた記憶領域に所定の情報が書き込まれている場合に、当該ＰＣカードがモード切り替え可能であると判断する判断手段と、
モード切り替え可能であると判断されたＰＣカードに対して、モードを切り替えて動作させるための手段と
を備えることを特徴とするＰＣカード入出力制御装置。
【請求項２】
請求項１に記載のＰＣカード入出力制御装置であって、
前記モードを切り替えて動作させるための手段は、
当該ＰＣカード入出力制御装置の信号端子の機能を停止し、
当該ＰＣカード入出力制御装置の信号端子定義を変更し、
前記ＰＣカード側の信号端子定義を変更し、
当該ＰＣカード入出力制御装置の信号端子の機能を起動させる、
処理を行なうことを特徴とするＰＣカード入出力制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置の機能を拡張するために使用されるＰＣカードおよびＰＣカード入出力制御装置に関する。
【０００２】
【従来の技術】
ＰＣカードは、コンピュータのメモリの拡張、各種入出力に用いるための拡張等を行う目的で、コンピュータ装置のカードスロットに装着して用いられる。特に、ノート型、携帯型コンピュータにおいて多く利用される。このＰＣカードのインタフェース、バス仕様等の、物理的および電気的仕様が、日本電子工業振興協会（ＪＥＩＤＡ）とＰＣＭＣＩＡの両組織による共同作業で標準化されている。現在のところ、標準化されたＰＣカードの仕様には、大きく分けて「１６ビットＰＣカード」、「ＣａｒｄＢｕｓ」および「ＺＶポート」がある。
【０００３】
ＰＣカードは、ピンの割り当てを変更して、新しい特定用途向けの専用インタフェースを作ることも可能である。この方法はカスタムインタフェースとして一般化している。上記「ＺＶポート」は、カスタムインタフェースを具体化したものである。カスタムインタフェースを利用することにより、例えば、内部にＰＣＩバス以外の独自バスを採用しているエンタテインメント装置等においても、ＰＣカードスロットから、独自バスを外部に出すことが可能となる。
【０００４】
これらのＰＣカードは、同一のカードスロットに装着することができる。そして、カードスロットに装着されると、それぞれの仕様をサポートするコンピュータ装置において、それぞれの仕様が認識され、対応した動作仕様に従って動作する。コンピュータ側からいえば、予め動作仕様をサポートしたＰＣカードであれば、それを、当該ＰＣカードについて定義された標準仕様の範囲内で使用することができる。
【０００５】
【発明が解決しようとする課題】
一方、必要に応じて、それ自体で独自の仕様を持つＰＣカードを用いることが望まれる場合がある。例えば、転送レートを向上したメモリ、バス幅を拡張したメモリ等のように、標準仕様外の性能を有するＰＣカードを必要とする場合がある。コンピュータにおいて、特定のアプリケーションの性能を向上するため、独自にカスタマイズした仕様でＰＣカードを利用することが必要な場合がある。そのために、専用のＰＣカードを製作して、それを用いることができる。しかし、コスト、流通性等を考慮すると、できれば、標準仕様のＰＣカードをベースとして、カスタマイズ仕様が実現できるものが望まれる。
【０００６】
本発明の目的は、標準のカードスロットに装着でき、標準仕様で動作可能であり、かつ、非標準の特定の仕様にも対応して動作可能で、活電状態において両仕様を切り替えることができるＰＣカードに関する技術を提供することにある。
【０００７】
【課題を解決するための手段】
本発明で提供されるＰＣカードは複数の仕様モードをサポートしている。モードはホストからの切り換え信号により、スロットに挿入されたまま、変更することができる。ＰＣカード内にはＰＣカードがモード変更可能である旨の情報が書き込まれている。
【０００８】
本発明で提供されるＰＣカード入出力制御装置は、挿入されたＰＣカードがモード変更可能かどうかを検知する手段を有している。また、挿入されたＰＣカードがモード変更可能である場合には、ＰＣカードが挿入された状態で、ＰＣカード・スロットおよびＰＣカードのピン定義を変更することにより、ＰＣカードのモードを変更する手段を有している。
【０００９】
【発明の実施の形態】
図１は、本発明の一実施形態であるＰＣカードの外観図である。１０はＰＣカード本体で、１１はＰＣカードのコネクタ部である。コネクタ１１はＰＣカードスロットのコネクタ２１（図３参照）と接続される部位である。コネクタ１１は上下それぞれ３４本で、合計６８本の信号ピンを備えており、データ信号やアドレス信号などに割り振られる。これらのピン配置定義は仕様により異なっているため、ＰＣカードスロットがＰＣカード１０の挿入時に、ＰＣカード１０の属性を検知し、ピン定義を対応させる仕組みとなっている。
【００１０】
図２は、本発明の一例のＰＣカードの構成を説明するためのブロック図である。本例において、ＰＣカードは「１６ビットＰＣカード」仕様のメモリカードとカスタム仕様の「バス信号出力カード」との２モードを有している。カード挿入時の初期状態においては「１６ビットＰＣカード」モードである。また、本例のＰＣカードは３．３Ｖで動作する。
【００１１】
ＰＣカード１０は、コネクタ１１と、ＰＣカードコントローラ１２と、不揮発性メモリ１５と、メモリ部１６と、バス信号出力部１７とを備えて構成される。ただし、本発明はこのような構成に限定されるものではない。
【００１２】
ＰＣカードコントローラ１２は、Ｉ／Ｏコントローラ１３と、セレクタ回路１４とを備えている。
【００１３】
不揮発性メモリ１５は、ＥＥＰＲＯＭ等のメモリが使用され、ＰＣカードコントローラ１２に接続されている。不揮発メモリ１５には、アトリビュートメモリと呼ばれるメモリ空間が設けられている。アトリビュートメモリ内にはタプルと呼ばれるカードのコンフィギュレーションデータが保持されている。タプルにはデバイスＩＤやファンクションＩＤ等が記録されている。タプルの集合体をＣＩＳ（カード属性情報）という。
【００１４】
不揮発性メモリ１５の特定の領域には、本ＰＣカード１０が、モード変更が可能である旨の情報が書き込まれている。特定の領域は、本発明で提供されるＰＣカード入出力制御装置以外からは参照される必要がない。そのため、ＰＣカード１０がモード変更可能である旨の情報は、例えば、次のように書き込むことができる。すなわち、ＰＣカードのアトリビュートメモリ内のコンフィギュレーションデータの終了アドレスの次アドレスに書き込んでおく方法、ＰＣカードの製造者データを書き込んだタプルに書き込んでおく方法などが可能である。また、ＰＣカードコントローラ１２内のコントロールレジスタ１８に書き込んでおくことも可能である。
【００１５】
本例のＰＣカード１０は、「１６ビットＰＣカード」仕様のメモリカードとカスタム仕様の「バス信号出力カード」との２モードを有している。このため、ＰＣカードコントローラ１２に、メモリ部１６とバス信号出力部１７とが接続している。ＰＣカードコントローラ１２は、ＰＣカードコントローラ１２内あるいは不揮発性メモリ１５に設けられたモード管理用のコントロールレジスタ１８を参照し、ＰＣカードのモードを判別する。ＰＣカードのモードに応じて、セレクタ回路１４を切り替えることにより、「１６ビットＰＣカード」と「バス信号出力カード」のモード変更を活電状態のまま実現する。
【００１６】
図３は本発明のＰＣカード入出力制御装置の構成を説明するためのブロック図である。ＰＣカードのホストとして機能するＰＣカード入出力制御装置３０は、ＰＣカードスロット２０およびＰＣカードスロット２０を制御するためのソケットサービス２４と、ＣＰＵ２５と、メインメモリであるＲＡＭ２６と、ＲＯＭ２７と、内部バス２８とを備えて構成される。ＰＣカード入出力装置は、一般に情報処理装置の一部として構成される。なお、本発明は、上記の構成に限定されるわけではない。
【００１７】
ＰＣカードスロット２０は、コネクタ２１と、セレクタ回路２３と、ＰＣカード制御チップ２３とを備えている。ＰＣカード制御チップ２３は、ソフトウェアであるソケットサービス２４によりコントロールされる。ＰＣカード制御チップ２３は内部バス２８に接続されていて、ＣＰＵ２５等と情報をやり取りできる。また、ＰＣカード制御チップ２３内にはコントロールレジスタ２９が設けられている。
【００１８】
コネクタ２１は、ＰＣカードのコネクタ１１と接続される部位で、上下それぞれ３４ピンの端子が設けられている。ピンはＰＣカード入出力制御装置３０の動作中にＰＣカードを抜き差しできるためのホットプラグの機能と、ＰＣカードの抜き差しを自動的に検出して、ＣＰＵ２５に報告するカードの自動検出の機能を持っている。そのため、カード検出ピンを２本（ＣＤ１＃・ＣＤ２＃）を備えると共に、ピンの長さを３段階に変えてある。
【００１９】
ピンは電源ピンがもっとも長く、次が信号ピンで、検出ピン（ＣＤ１＃・ＣＤ２＃）がもっとも短くなっている。ＰＣカード制御チップ２３は、検出ピンの接続や切断を監視して、ＰＣカード入出力制御装置３０のＣＰＵ２５に割込みをかけて、ＰＣカードの挿入、取り外し等を報告する。
【００２０】
モード変更可能なＰＣカード１０がＰＣカードスロット２０に挿入された場合の処理について説明する。
【００２１】
ＰＣカード１０がＰＣカードスロット２０に挿入されると、ＰＣカード入出力制御装置は、カード検出用のピン（ＣＤ１＃・ＣＤ２＃）と電圧検出用のピン（ＶＳ１＃・ＶＳ２＃）とを使って、カードの種類と電源電圧を検出する。本例のＰＣカード１０は、初期状態においては「１６ビットＰＣカード」モードで、３．３Ｖ動作であるから、カード検出用のピン（ＣＤ１＃・ＣＤ２＃）と電圧検出用のピン（ＶＳ１＃・ＶＳ２＃）は、標準化により規定されているように、
ＣＤ１＃：ＧＮＤ
ＣＤ２＃：ＧＮＤ
ＶＳ１＃：ＧＮＤ
ＶＳ２＃：ＯＰＥＮ
となっている。これを検出したＰＣカード入出力制御装置３０は、挿入されたＰＣカード１０が３．３Ｖ動作の「１６ビットＰＣカード」であると認識して、「１６ビットＰＣカード」のピン定義で動作を開始する。
【００２２】
次に、ＰＣカード入出力制御装置３０は、ＰＣカード１０のＣＩＳを読み出し、ＰＣカード１０がメモリカードであることを認識して、以後の処理を行う。これらの処理は、ソケットサービス２４がＰＣカードスロット２０のＰＣカード制御チップ２３を制御して行われる。
【００２３】
次に、本発明で提供されるＰＣカード入出力制御装置３０が、挿入されたＰＣカード１０がモード変更可能であるかどうかを検知する手段について説明する。
【００２４】
ＣＰＵ２５は、ＯＳ（オペレーションシステム）、あるいは、メインメモリ２６に読み込まれたアプリケーションプログラムの指示にしたがって種々の処理を行う。挿入されたＰＣカード１０がモード変更可能であるかどうかを検知する処理は、アプリケーションプログラムの実行中に必要に応じて行うことができる。また、ＯＳの指示により、上記のＰＣカード挿入時の処理に引き続き行うこともできる。ただし、本実施例で説明する処理を行なうのはＣＰＵ２５に限られない。専用の制御チップで行なうようにしてもよい。また、本処理を行なうためのプログラムはＣＤ−ＲＯＭ、ハードディスク等の記憶媒体に格納しておくことができる。もちろん、ファームウェアとして半導体素子上に格納しておいてもよい。
【００２５】
ＰＣカード入出力制御装置３０は、ＰＣカード１０内の、あらかじめ設定された特定の領域、例えばＰＣカードのコンフィギュレーションデータの終了アドレスの次アドレスを参照する。もちろん参照する領域は、これに限られず、あらかじめ定めた特定の領域とすることができる。そして、その領域にＰＣカード１０がモード変更可能である旨の情報が書き込まれていた場合には、挿入されたＰＣカード１０がモード変更可能であると認識する。
【００２６】
次に、ＰＣカード入出力制御装置３０が、挿入されたＰＣカードがモード変更可能である場合に、ＰＣカード１０のモードを変更する手段について説明する。
【００２７】
モードの変更のためには、ＰＣカード１０とＰＣカードスロット２０の両方のピン定義を変更する必要がある。しかし、ＰＣカードスロット２０と、ＰＣカード１０のピン定義を同時に変更すると、ピン定義がコンフリクトし、異常動作を起こす可能性がある。そこで、ピン定義の変更は以下の４段階の遷移状態を経て行われる。
【００２８】
第１段階は、ＰＣカードスロット２０のピン機能を停止する。第２段階は、ＰＣカードスロット２０側のピン定義の切り換えを行う。第３段階は、ＰＣカード１０のピン定義の切り換えを行う。第４段階は、ＰＣカードスロット２０のピンを機能させ、切り換え後のモードとして、ＰＣカード１０を動作させる。
【００２９】
以上の処理は、定義を変更するピンにおいてのみ行われる。したがって、定義を変更する必要の無いピンは機能したままである。ＰＣカードスロット２０からＰＣカード１０への切り換え処理のための制御信号は、定義を変更する必要が無く、機能したままのピンを通して送られる。
【００３０】
例えば、図４に示すように、ＰＣカードの３０番ピン１３０と、ＰＣカードスロットの３０番ピン２３０は、「１６ビットＰＣカード」モードではデータバスとして定義されており、「バス信号出力カード」モードではアドレスバスとして定義されている。このため、切り替え前の初期状態において、ＰＣカードスロット２０の３０番ピン２３０はデータ入力端子として機能しており、ＰＣカード１０の３０番ピン１３０はデータ出力端子として機能している。また、１８番ピン１１８、２１８と１９番ピン１１９、２１９はピン定義が変わらないので、これらのピンを用いて、切り替えの制御信号を送るものとする。
【００３１】
第１段階では、ＰＣカードスロット２０の３０番ピン２３０をハイインピーダンス状態として、入力端子としての機能を停止させる。
【００３２】
第２段階では、ＰＣカードスロット２０の３０番ピン２３０の定義をアドレスバスに変更する。具体的には、ＰＣカード制御チップ２３のコントロールレジスタ２９を書き換える。ＰＣカードスロット内のセレクタ回路２２は、コントロールレジスタ２９の内容を参照して、ＰＣカードスロット２０のピン定義を変更する。このときＰＣカードスロット２０の３０番ピン２３０はハイインピーダンス状態のままで、アドレスバスとしての機能はさせないようにしておく。一方、ＰＣカード１０の３０番ピン１３０はデータバスとして機能したままである。
【００３３】
第３段階で、ＰＣカード１０の３０番ピン１３０の定義をアドレスバスに変更する。具体的には、ＰＣカードスロット２０の１８番ピン２１８と１９番ピン２１９からの信号により、ＰＣカード１０内のコントロールレジスタ１８を書き換える。ＰＣカード１０内のセレクタ回路１４は、コントロールレジスタ１８の内容を参照して、ＰＣカード１０の３０番ピン１３０のピン定義を変更し、モードを切り替える。
【００３４】
第４段階で、ハイインピーダンス状態にあったＰＣカードスロット２０の３０番ピン２３０を、信号出力状態に変更し、アドレス出力ピンとして機能させる。
【００３５】
これらの処理を他の変更が必要なピンにも同時に行うことにより、ＰＣカード１０を「１６ビットＰＣカード」モードから「バス信号出力カード」モードに変更することができる。なお、ピン定義切り替え機能およびハイインピーダンス状態はセレクタ回路１１、２２内にスリーステートバッファ１９Ａ、１９Ｂ、３１Ａ、３１Ｂを設け、これらのバッファの状態をコントロールレジスタ１８、２９の内容に応じて設定することで容易に実現できる。
【００３６】
また、ＰＣカードスロット２０の機能を出力端子から入力端子に切り替える場合は、第１段階で、ＰＣカードスロット２０のピンを切りかえるときに、ピンはハイインピーダンス状態ではなく、ディスエーブル状態にしておくことで、ピン定義の切り換えに伴うコンフリクトを防ぐことができる。
【００３７】
すなわち、ＰＣカードスロット２０の変更後のピン機能が出力端子の場合は、第１段階でハイインピーダンス状態にし、ＰＣカードスロットの変更後のピン機能が入力端子の場合は、第１段階でディスエーブル状態にすることで、ピン機能を入力から出力へ、また出力から入力へとも変更することが可能となる。また、同様に入力から入力、出力から出力のような機能の切り替えも可能である。
【００３８】
以上のような処理を行うことにより、例に挙げた「１６ビットＰＣカード」仕様から「バス信号出力カード」仕様への切り替えのみならず、種々の仕様の切り替えが可逆的に可能となる。また、ＰＣカードに３種類以上の仕様を持たせた場合にも、対応できる。
【００３９】
次に、モード変更可能なＰＣカード１０が、本発明で提供されるＰＣカード入出力制御装置以外のＰＣカード入出力制御装置に挿入された場合の処理について説明する。
【００４０】
ＰＣカードスロットは、カード検出用のピン（ＣＤ１＃・ＣＤ２＃）と電圧検出用のピン（ＶＳ１＃・ＶＳ２＃）を使ってカードの種類と電源電圧を検出する。そして、ＰＣカードスロットに挿入されたＰＣカード１０が３．３Ｖ動作の「１６ビットＰＣカード」であると認識して、「１６ビットＰＣカード」のメモリカードのピン定義で動作を開始する。
【００４１】
その後、ＰＣカードスロットは、ＰＣカード１０のＣＩＳを読み出し、ＰＣカード１０がメモリカードであることを認識して、メモリカードとして以後の処理を行う。ＰＣカードスロットは、挿入されたＰＣカード１０がモード変更であるという情報は入手し得ないので、通常のメモリカードとしてのみ機能する。
【００４２】
このように、本発明で提供されるＰＣカード１０は、専用のＰＣカード入出力制御装置３０のみならず、一般的なＰＣカード入出力制御装置を備えた情報処理装置にも汎用的に使用することが可能である。
【００４３】
次に、本発明で提供されるＰＣカード１０以外の、モード変更不可である一般的なＰＣカードが、本発明で提供されるＰＣカード入出力制御装置３０に挿入された場合の処理について説明する。
【００４４】
ＰＣカード入出力制御装置３０は、カード検出用のピン（ＣＤ１＃・ＣＤ２＃）と電圧検出用のピン（ＶＳ１＃・ＶＳ２＃）を使ってカードの種類と電源電圧を検出する。そして、ＰＣカードスロットに挿入されたＰＣカードが３．３Ｖ動作の「１６ビットＰＣカード」であると認識して、「１６ビットＰＣカード」のメモリカードのピン定義で動作を開始する。
【００４５】
その後、ＰＣカード入出力制御装置３０は、ＰＣカードのＣＩＳを読み出し、ＰＣカードがメモリカードであることを認識して、メモリカードとして以後の処理を行う。
【００４６】
ＯＳ（オペレーションシステム）、あるいは、メインメモリ２６に読み込まれたアプリケーションプログラムにより、ＰＣカードがモード変更可能であるかどうかを検知する命令が出されると、ＰＣカード入出力制御装置３０は、ＰＣカード内の特定の領域を参照する。本発明で提供されるＰＣカード１０以外のＰＣカードには、モード変更可能である旨の情報は書き込まれていないので、ＰＣカード入出力制御装置３０は挿入されたＰＣカードがモード変更不可であると認識する。その後は、ＯＳあるいはアプリケーションプログラムの指示にしたがい、使用者にＰＣカードの交換を促したり、モードを変更しない場合の処理を行うこととなる。
【００４７】
このように、本発明で提供されるＰＣカード入出力制御装置３０は、本発明で提供されるＰＣカード１０のみならず、一般的なＰＣカードを挿入して使用することが可能である。
【００４８】
【発明の効果】
以上のように、本発明によれば、複数の仕様をサポートするＰＣカードのモードを、ＰＣカード入出力制御装置の電源を切ることなく変更することができる。
【００４９】
また、標準化された仕様を初期状態とすることにより、カスタムインタフェース仕様モードを有するＰＣカードを、一般の情報処理装置においても汎用的に使用することができる。
【図面の簡単な説明】
【図１】は、本発明の実施例であるＰＣカードの外観図である。
【図２】は、本発明の実施例であるＰＣカードの構成を説明するためのブロック図である。
【図３】は、本発明の実施例であるＰＣカードの入出力制御装置の構成を説明するためのブロック図である。
【図４】は、スリーステートバッファを用いた切り替え回路を説明する図である。
【符号の説明】
１０…ＰＣカード
１１…コネクタ
１２…ＰＣカード・コントローラ
１４…セレクタ回路
１８…コントロールレジスタ
２０…ＰＣカード・スロット
２１…コネクタ
２２…セレクタ回路
２３…ＰＣカード制御チップ
２９…コントロールレジスタ
３０…ＰＣカード入出力制御装置
【図１】
0003556913.tif 000002
【図２】
0003556913.tif 000003
【図３】
0003556913.tif 000004
【図４】
0003556913.tif 000005