(57)【要約】    【課題】  新たな種類の拡張カードを認識し得るＰＣカード制御装置を提供する。    【解決手段】  接続カードの識別情報を規格に準拠する手法により取得する取得部と、規格に準拠する１以上の種類のＰＣカードのカード情報及び識別情報を記録する第１記録部と、上記規格に準拠していない１以上の種類の拡張カードのカード情報及び識別情報を記録する第２記録部とを有し、上記接続されたカードの識別情報と、第１及び第２記録の識別情報の内の少なくとも第２記録部に記録されている識別情報とから接続されたカードの種類を識別して識別結果を出力すると共に接続されたカードのカード情報を出力するＰＣカード識別部と、上記識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立する信号変換部とを備えることを特徴とする。【選択図】  図１
2008084340.tif 000002
【特許請求の範囲】
【請求項１】
接続されたカードから規格に従う手法で識別情報を取得する識別情報取得部と、
上記規格に準拠する１以上の種類のＰＣカードについてのカード情報と共に、当該各カード情報に対応した識別情報が記録された第１記録部と、
上記規格に準拠していない１以上の種類の拡張カードについてのカード情報と共に、当該カード情報に対応した識別情報が記録された第２記録部とを有し、
上記接続されたカードについて上記識別情報取得部により取得される識別情報と、第１記録部及び第２記録部に記録されている識別情報の内の少なくとも第２記録部に記録されている識別情報とから接続されているカードの種類を識別し、当該識別結果と共に接続されているカードについてのカード情報を出力するＰＣカード識別部とを備えたことを特徴とするＰＣカード制御装置。
【請求項２】
請求項１に記載のＰＣカード制御装置において、
上記ＰＣカード識別部から出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立する信号変換部とを備えることを特徴とするＰＣカード制御装置。
【請求項３】
請求項１又は請求項２に記載のＰＣカード制御装置において、
上記規格がＰＣＭＣＩＡであり、
上記第２記録部に記録する拡張カードの識別情報は、ＰＣＭＣＩＡに準拠するＰＣカードが備える第１及び第２カード検出信号線と第１及び第２電圧選択信号線を、（１）第１カード検出信号線を第１の電圧選択信号線に接続すると共に、第２カード検出信号線を第２電圧信号線に接続した場合、（２）第１カード検出信号線を第２電圧選択信号線に接続すると共に、第２カード検出信号線を第１電圧選択信号線に接続した場合、（３）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を接地した場合、（４）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を開放した場合、（５）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を接地した場合、（６）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を開放した場合の何れかの状態に接続した場合に、上記識別情報取得部において取得される情報であるＰＣカード制御装置。
【請求項４】
接続されたカードから識別情報を取得する識別情報取得部と、規格に準拠する１以上の種類のＰＣカードについてのカード情報と共に、当該ＰＣカードについて上記識別情報取得部により得られる識別情報を記録しておく第１記録部と、上記規格に準拠していない１以上の種類の拡張カードについてのカード情報と共に、当該拡張カードについて上記識別情報取得部により取得される識別情報を記録しておく第２記録部とを有し、上記接続されたカードについて上記識別情報取得部により取得される識別情報と、少なくとも第２記録部に記録されている識別情報に基づいて接続されたカードの種類を識別し、当該識別結果と共に接続されたカードについてのカード情報を出力するＰＣカード識別部と、
上記ＰＣカード識別部から出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立する信号変換部とを備え、
上記第２記録部に記録されている１以上の種類の拡張カードのカード情報及び識別情報が外部から更新できることを特徴とするＰＣカード制御装置。
【請求項５】
請求項４に記載のＰＣカード制御装置において、
上記規格がＰＣＭＣＩＡ規格であるＰＣカード制御装置。
【請求項６】
請求項５に記載のＰＣカード制御装置において、
上記第２記録部に記録する拡張カードの識別情報は、ＰＣＭＣＩＡに準拠するＰＣカードが備える第１及び第２カード検出信号線と第１及び第２電圧選択信号線を、（１）第１カード検出信号線を第１の電圧選択信号線に接続すると共に、第２カード検出信号線を第２電圧信号線に接続した場合、（２）第１カード検出信号線を第２電圧選択信号線に接続すると共に、第２カード検出信号線を第１電圧選択信号線に接続した場合、（３）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を接地した場合、（４）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を開放した場合、（５）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を接地した場合、（６）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を開放した場合の何れかの状態に接続した場合に、上記識別情報取得部において取得される情報であるＰＣカード制御装置。
【請求項７】
請求項４〜請求項６の何れかに記載のＰＣカード制御装置を備えるコンピュータシステムにおいて、
上記ＰＣカード識別部から出力されるカード情報に基づいて接続されたカードの種類を認識する認識手段を備えることを特徴とするコンピュータシステム。
【請求項８】
請求項４〜請求項６の何れかに記載のＰＣカード制御装置を備えるコンピュータシステムにおいて、
上記第２記録部に書きこまれている拡張カードについてのカード情報及び識別情報のデータを更新するデータ更新手段を備えることを特徴とするコンピュータシステム。
【請求項９】
識別情報取得手段により、接続されたカードから取得される識別情報と、予め記録部に記憶してある規格に準拠した１以上の種類のＰＣカード及び１以上の種類の拡張カードについてのカード情報と上記識別情報取得手段により取得される識別情報の内、少なくとも拡張カードについての識別情報に基づいて接続されたカードの種類を識別して識別結果を出力し、
上記出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立して行うＰＣカード識別方法であって、
上記記録部に記憶されている１以上の種類の拡張カードのカード情報及び識別情報が外部から設定されたものであることを特徴とするＰＣカード識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＭＣＩＡに準拠するＰＣカードの識別装置及びＰＣカードの識別方法に関する。
【背景技術】
【０００２】
従来より、パーソナルコンピュータ、特にノート型のパーソナルコンピュータでは、ＰＣＭＣＩＡに準拠したＰＣカードの識別装置（いわゆるＰＣカードスロット）を備えるものが知られている。
【０００３】
ＰＣＭＣＩＡに準拠するＰＣカードの短辺側の側部に備えるメス型のコネクタには、ＰＣカード制御装置が備えるオス型コネクタの複数のピンの内、第１及び第２のカード検出信号（ＰＣＭＣＩＡにおいてＣＤ１＃及びＣＤ２＃と定義されており、以下、単にＣＤ１＃及びＣＤ２＃という）が流れるピンに対応する第１及び第２接続穴、並びに、第１及び第２の電圧選択信号（ＰＣＭＣＩＡにおいてＶＳ１＃及びＶＳ２＃と定義されており、以下、単にＶＳ１＃及びＶＳ２＃という）に対応する第３及び第４接続穴が用意されている。
【０００４】
ＰＣカードの内部において、上記第１及び第２接続穴に接続される配線は、接地されているか、または、上記第３及び第４接続穴の少なくとも一方に接続されている。また、ＰＣカード制御装置において、上記ＣＤ１＃及びＣＤ２＃は、共にＨｉｇｈレベルにプルアップされている。ＰＣカード制御装置にＰＣカードが接続されると、上記ＣＤ１＃及びＣＤ２＃の電位がＬｏｗレベルに低下する。ＰＣカード制御装置は、この電位変化からＰＣカードの接続を検出する。
【０００５】
ＰＣカード制御装置は、ＰＣカードが接続されたことを検知すると、第３接続穴に流れるＶＳ１＃の電位をＨｉｇｈレベルにした場合のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態、並びに、第４接続穴に流れるＶＳ２＃の電位をＨｉｇｈレベルにした場合のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態を検出し、これらの信号線の状態を識別情報としてＰＣカードの種類（使用する信号レベルやバスのビット幅）を特定する。
【０００６】
例えば、新たなＰＣカードを認識するＰＣカード制御装置として、上述したように第３及び第４接続穴に流れるＶＳ１＃及びＶＳ２＃の電位を選択的にＨｉｇｈレベルにした時のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の電位状態が、ＰＣＭＣＩＡで定める予備のカードの電位状態と一致し、かつ、上記以外の特定の端子の信号状態が予め決めた条件を満足する場合に、予めバスのビット幅及び駆動電圧が特定された拡張カード（スマートカード）を認識するものが提案されている（特開２００１−７５７４６号公報を参照）。
【０００７】
しかし、特開２００１−７５７４６号公報に開示されるＰＣカード制御装置は、通常の識別情報取得処理の他に、更に特定の端子の信号状態について調べるため、特別な拡張カード用の識別アルゴリズムを必要とし、設計工数の増加を招く。
【０００８】
【特許文献１】特開２００１−７５７４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、より簡単に拡張カードを認識するＰＣカード制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１のＰＣカード制御装置は、接続されたカードから規格に従う手法で識別情報を取得する識別情報取得部と、上記規格に準拠する１以上の種類のＰＣカードについてのカード情報と共に、当該各カード情報に対応した識別情報が記録された第１記録部と、上記規格に準拠していない１以上の種類の拡張カードについてのカード情報と共に、当該カード情報に対応した識別情報が記録された第２記録部とを有し、上記接続されたカードについて上記識別情報取得部により取得される識別情報と、第１記録部及び第２記録部に記録されている識別情報の内の少なくとも第２記録部に記録されている識別情報とから接続されているカードの種類を識別し、当該識別結果と共に接続されているカードについてのカード情報を出力するＰＣカード識別部とを備えたことを特徴とする。
【００１１】
本発明の第２のＰＣカード制御装置は、上記第１のＰＣカード制御装置において、上記ＰＣカード識別部から出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立する信号変換部とを備えることを特徴とする。
【００１２】
本発明の第３のＰＣカード制御装置は、上記第１又は第２のＰＣカード制御装置において、上記規格がＰＣＭＣＩＡであり、上記第２記録部に記録する拡張カードの識別情報は、ＰＣＭＣＩＡに準拠するＰＣカードが備える第１及び第２カード検出信号線と第１及び第２電圧選択信号線を、（１）第１カード検出信号線を第１の電圧選択信号線に接続すると共に、第２カード検出信号線を第２電圧信号線に接続した場合、（２）第１カード検出信号線を第２電圧選択信号線に接続すると共に、第２カード検出信号線を第１電圧選択信号線に接続した場合、（３）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を接地した場合、（４）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を開放した場合、（５）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を接地した場合、（６）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を開放した場合の何れかの状態に接続した場合に、上記識別情報取得部において取得される情報であることを特徴とする。
【００１３】
本発明の第４のＰＣカード制御装置は、接続されたカードから識別情報を取得する識別情報取得部と、規格に準拠する１以上の種類のＰＣカードについてのカード情報と共に、当該ＰＣカードについて上記識別情報取得部により得られる識別情報を記録しておく第１記録部と、上記規格に準拠していない１以上の種類の拡張カードについてのカード情報と共に、当該拡張カードについて上記識別情報取得部により取得される識別情報を記録しておく第２記録部とを有し、上記接続されたカードについて上記識別情報取得部により取得される識別情報と、少なくとも第２記録部に記録されている識別情報に基づいて接続されたカードの種類を識別し、当該識別結果と共に接続されたカードについてのカード情報を出力するＰＣカード識別部と、上記ＰＣカード識別部から出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立する信号変換部とを備え、上記第２記録部に記録されている１以上の種類の拡張カードのカード情報及び識別情報が外部から更新できることを特徴とする。
【００１４】
本発明の第５のＰＣカード制御装置は、上記第４のＰＣカード制御装置であって、上記規格がＰＣＭＣＩＡであることを特徴とする。
【００１５】
本発明の第６のＰＣカード制御装置は、上記第４又は第５のＰＣカード制御装置であって、上記第２記録部に記録する拡張カードの識別情報は、ＰＣＭＣＩＡに準拠するＰＣカードが備える第１及び第２カード検出信号線と第１及び第２電圧選択信号線を、（１）第１カード検出信号線を第１の電圧選択信号線に接続すると共に、第２カード検出信号線を第２電圧信号線に接続した場合、（２）第１カード検出信号線を第２電圧選択信号線に接続すると共に、第２カード検出信号線を第１電圧選択信号線に接続した場合、（３）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を接地した場合、（４）第１及び第２カード検出信号線を共に第２電圧選択信号線に接続すると共に、第１電圧信号線を開放した場合、（５）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を接地した場合、（６）第１及び第２カード検出信号線を共に第１電圧選択信号線に接続すると共に、第２電圧信号線を開放した場合の何れかの状態に接続した場合に、上記識別情報取得部において取得される情報であることを特徴とする。
【００１６】
本発明の第１のコンピュータシステムは、上記第４乃至第６の何れかのＰＣカード装置を備えるコンピュータシステムにおいて、上記ＰＣカード識別部から出力されるカード情報に基づいて接続されたカードの種類を認識する認識手段を備えることを特徴とする。
【００１７】
本発明の第２のコンピュータシステムは、上記第４乃至第６の上記何れかのＰＣカード制御装置を備えるコンピュータシステムであって、上記第２記録部に書きこまれている拡張カードについてのカード情報及び識別情報のデータを更新するデータ更新手段を備えることを特徴とする。
【００１８】
本発明のＰＣカード識別方法は、識別情報取得手段により、接続されたカードから取得される識別情報と、予め記録部に記憶してある規格に準拠した１以上の種類のＰＣカード及び１以上の種類の拡張カードについてのカード情報と上記識別情報取得手段により取得される識別情報の内、少なくとも拡張カードについての識別情報に基づいて接続されたカードの種類を識別して識別結果を出力し、
上記出力される識別結果に基づいて、接続されたカードと上記規格に準拠した形式での信号の交信を行う回線を確立して行うＰＣカード識別方法であって、
上記記録部に記憶されている１以上の種類の拡張カードのカード情報及び識別情報が外部から設定されたものであることを特徴とする。
【発明の効果】
【００１９】
本発明の第１のＰＣカード制御装置は、特別な識別アルゴリズムを加えることなく規格に準拠する手法により得られる識別情報に基づいて拡張カードを認識することができる。
【００２０】
本発明の第２のＰＣカード制御装置は、特別な識別アルゴリズムを加えることなく規格に準拠する手法により得られる識別情報に基づいて拡張カードを認識し、当該認識に従い必要な回線を確立することができる。
【００２１】
本発明の第３のＰＣカード制御装置は、特別な識別アルゴリズムを加えることなくＰＣＭＣＩＡの規格に準拠する手法により得られる識別情報に基づいて、ＰＣＭＣＩＡに準拠していないスマートカード等の拡張カードを認識することができる。
【００２２】
本発明の第４のＰＣカード制御装置は、規格に準拠しない拡張カードについてのカード情報及び識別情報が外部から更新可能な第２記録部を備えることで、カードの種類、即ち、バスのビット幅や駆動電圧の異なる新たな拡張カードを新たな識別情報に基づいて識別すると共に、規格に準拠するカードと同様に取り扱うことができる。
【００２３】
本発明の第５のＰＣカード制御装置は、ＰＣＭＣＩＡに準拠しない拡張カードについてのカード情報及び識別情報が外部から更新可能な第２記録部を備えることで、カードの種類、即ち、バスのビット幅や駆動電圧の異なる新たな拡張カードを新たな識別情報に基づいて識別すると共に、ＰＣＭＣＩＡに準拠するカードと同様に取り扱うことができる。
【００２４】
本発明の第６のＰＣカード制御装置は、上記第５のＰＣカード制御装置において、ＰＣＭＣＩＡにおいて未使用の識別情報に基づいて拡張カードを識別することにより、新たに６種類の拡張カードについて識別することができる。
【００２５】
本発明の第１のコンピュータシステムは、上記第４乃至第６の何れかのＰＣカード制御装置より出力されるカード情報に基づいて接続されたカードの種類、例えばバスのビット幅や駆動電圧について認識することができる。
【００２６】
本発明の第２のコンピュータシステムは、さらに上記第４乃至第６の何れかのＰＣカード制御装置の第２記録部に記録してある拡張カードについてのカード情報及び識別情報の更新を行うことができる。これにより、従来より使用していた拡張カードの駆動電圧が５Ｖから３．３Ｖに低下した場合であっても当該拡張カードを正しく識別することができる。
【００２７】
本発明のＰＣカード識別方法では、外部より設定された拡張カードのカード情報及び識別情報を用いて、当該拡張カードの識別を行う。このため、拡張カードの種類の変更に伴うカード情報や識別情報の変化に迅速に対応することができる。
【発明を実施するための最良の形態】
【００２８】
（１）実施の形態１
実施の形態１に係るＰＣカード制御装置１００は、ＰＣＭＣＩＡに準拠するＰＣカードと同じ識別方法（他に特別な処理を必要とせずにという意味である。）により拡張カードを識別するが、拡張カードの識別情報に、上記ＰＣＭＣＩＡに準拠するＰＣカードに使用していない識別情報を拡張カード用の識別情報として使用する。これにより、特別な拡張カード用の識別アルゴリズムを追加することなく、拡張カードの識別を行う。
【００２９】
また、ＰＣカード制御装置１００では、例えば、拡張カードの使用する信号レベルが５Ｖから３．３Ｖになり、バスのビット幅が１６ビットから３２ビットに変わった場合に、当該変更後の拡張カードを正しく認識できるようにすることを目的として、拡張カードを識別するための識別情報、及び、駆動電圧やバスのビット幅といった当該拡張カードの種類を特定するカード情報を外部から更新可能な構成を採用する。これにより簡単かつ柔軟に様々な種類の拡張カードの識別を行う。
【００３０】
図１は、実施の形態１に係るＰＣカード制御装置１００を備えるコンピュータシステム１の構成を示す図である。コンピュータシステム１は、ＣＰＵ１０、ＯＳのプログラムが格納されているＲＯＭ１１、ＲＡＭ１２、キーボードやマウスで成る操作部１３、ディスプレイ１４、ＰＣＭＣＩＡに準拠したＰＣカード用のＰＣカード制御装置１００、及び、上記ＰＣカード制御装置１００用の第１制御プログラム（図１０を参照）及び第２制御プログラム（図１２を参照）の他、様々なアプリケーションプログラムやデータが格納されているハードディスク（図中、ＨＤと表す）１５がＰＣＩバス５０を介して接続されて成る。
【００３１】
ＰＣカード制御装置１００には、上記ＰＣカード制御装置１００の制御プログラムの実行により登録された拡張カードの識別情報及びカード情報を記憶しているフラッシュＲＯＭ２００が接続されている。図１では、フラッシュＲＯＭ２００は、外付けになっているが、ＰＣカード制御装置１００に内蔵しても良い。
【００３２】
ＣＰＵ１０は、コンピュータシステム１の立ち上げ時に、ＲＯＭ１１内に記憶しているＯＳのプログラムをＲＡＭ１２に読み出して実行すると共に、ＰＣカード制御装置１００を含む各部の初期化を行う。
【００３３】
また、フラッシュＲＯＭ・Ｉ／Ｆ１５０は、コンピュータシステム１の電源の投入に伴い、フラッシュＲＯＭ２００に格納してある拡張カードを識別するための識別情報、及び、駆動電圧やバスのビット幅といった当該拡張カードの種類を特定するカード情報を拡張カードレジスタ１８２に書き込む。
【００３４】
ＰＣカード制御装置１００は、ＰＣＭＣＩＡに準拠したＰＣカード２５０だけでなく、アダプタ３００を介してコネクタ１９０に接続されるスマートカード３１０を認識する（図２の（ａ）及び（ｂ）を参照）ことができる。
【００３５】
ＰＣカード制御装置１００は、大きく分けて、コネクタ１９０に接続されたカードの種類を識別するＰＣカード識別部１６０と、当該ＰＣカード識別部１６０における識別結果に基づいて、コネクタ１９０に接続されたカードとＰＣＭＣＩＡに準拠した形式で信号のやり取りを行うように回線を確立する信号変換部１０５とで構成される。
【００３６】
信号変換部１０５を構成する各部の働きは以下の通りである。ＰＣＩインターフェース１１０は、ＰＣＩバス５０とＰＣカード制御装置１００の内部バス（詳細は図示せず）とを接続する。ＰＣＭＣＩＡコントローラ１２０は、セレクタ１４０を介して、図２の（ａ）に示すようにコネクタ１９０に接続されたＰＣカード２５０とのデータのやり取りを行う。スマートカードコントローラ１３０は、拡張カードとして、図２の（ｂ）に示すようにアダプタ３００を介してスマートカード３１０が接続された場合にＰＣＭＣＩＡコントローラ１２０とスマートカード３１０との間でデータのやり取りを行う。セレクタ１４０は、ＰＣＭＣＩＡコントローラ１２０が出力する１ビットのセレクト信号ＳＥＬの値に基づいてＰＣＭＣＩＡコントローラ１２０とコネクタ１９０を接続し、又は、ＰＣＭＣＩＡコントローラ１２０をスマートカードコントローラ１３０を介してコネクタ１９０に接続する。
【００３７】
フラッシュＲＯＭ・Ｉ／Ｆ１５０は、上述したように、ＰＣカード制御装置１００を含むコンピュータシステム１の起動時に、フラッシュＲＯＭ２００から拡張カードであるスマートカード３１０の識別情報（第１レジスタ（４ビットデータ）及び第２レジスタ（４ビットデータ））、及び、カードの種類（６ビットデータ）についての情報を読み出し、ＰＣカード識別部１６０内の拡張カードレジスタ１８２に書き込む。
【００３８】
ＰＣカード識別部１６０は、コネクタ１９０に差し込まれたカードがＰＣＭＣＩＡにおいて規定される１２種類のＰＣカード、及び、新規に登録された拡張カードの内、何れのカードであるのかを識別し、識別結果をＰＣＭＣＩＡコントローラ１２０に出力すると共に、当該結果に基づいて特定されるカードの種類（駆動電圧及びバスのビット幅等）を特定する６ビットのカード情報をＰＣＭＣＩＡコントローラ１２０に出力する。なお、ＰＣカード識別部１６０の構成及び動作については後に詳しく説明する。
【００３９】
図３の（ａ）は、ＰＣＭＣＩＡに準拠するＰＣカード２５０をコネクタ１９０に差し込んだ状態を示す図であり、図４の（ａ）は、拡張カードとしてスマートカード３１０をアダプタ３００を介してコネクタ１９０に差し込んだ状態を示す図である。ＰＣカード２５０及びアダプタ３００が短辺側の側面に備えるメス型のコネクタには、ＰＣカード制御装置１００のオス型のコネクタ１９０が備える第１及び第２のカード検出信号（ＰＣＭＣＩＡにおいてＣＤ１＃及びＣＤ２＃と定義されており、以下、単にＣＤ１＃及びＣＤ２＃という）の流れるピンを受け入れる第１接続穴２５１及び第２接続穴２５２、並びに、第１及び第２の電圧選択信号（ＰＣＭＣＩＡにおいてＶＳ１＃及びＶＳ２＃と定義されており、以下、単にＶＳ１＃及びＶＳ２＃という）の流れるピンを受け入れる第３接続穴２５３及び第４接続穴２５４が用意されている。
【００４０】
なお、ＰＣカード２５０及びアダプタ３００には、実際には、図２の（ａ）及び（ｂ）に示すように、コネクタ１９０が備える多くのピンを受け入れる接続穴が設けられているが、図３の（ａ）及び図４の（ａ）では、ＰＣカード制御装置１００、ＰＣカード２５０及びアダプタ３００の内部の配線を解りやすく示すため、上記第１接続穴２５１〜第４接続穴２５４とこれらに接続される配線のみを示す。
【００４１】
ＰＣカード２５０及びアダプタ３００の内部において、上記第１接続穴２５１及び第２接続穴２５２に接続される配線は、接地されているか、または、上記第３接続穴２５３及び第４接続穴２５４の少なくとも一方に接続されている。また、ＰＣカード制御装置１００が備えるオス型コネクタ１９０のピンの内、上記第１接続穴２５１及び第２接続穴２５２に挿入するピンの電位は、共にＰＣカード制御装置１００側に備えるプルアップ回路Ｃ１及びＣ２によりＨｉｇｈレベルにプルアップされている。ＰＣカード制御装置１００にＰＣカード２５０又はアダプタ３００が接続されると、ＣＤ１＃及びＣＤ２＃の電位がＬｏｗレベルに低下する。ＰＣカード識別部１６０は、このＣＤ１＃及びＣＤ２＃の電位変化からＰＣカード２５０又はアダプタ３００の接続を検知してカードの識別処理を行うと共に、カードが接続されたことを表すカード検出信号をＰＣＭＣＩＡコントローラ１２０、ＰＣＩインターフェース１１０及びＰＣＩバス５０を介してＣＰＵ１０に出力する。
【００４２】
ＰＣカード識別部１６０は、ＣＤ１＃及びＣＤ２＃のＬｏｗレベルへの切り換りによりコネクタ１９０へのＰＣカード２５０又はアダプタ３００の接続の検知に応じて、ＶＳ１＃の電位をＨｉｇｈレベルにした時のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態、並びに、ＶＳ２＃の電位をＨｉｇｈレベルにした時のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態を検出し、これらの信号の状態を表す４ビット＋４ビットの合計８ビットデータ（識別情報）と、図５に示すＰＣＭＣＩＡに準拠したカードテーブル１８３に定義されているＮｏ．１〜Ｎｏ．１２までの１２枚種類のＰＣカードについての８ビットデータ（識別情報）及び拡張カードレジスタ１８２に格納されている８ビットデータ（識別情報）とを比較して該当するカードの種類を特定する。
【００４３】
図３の（ｂ）は、ＰＣカード制御装置１００にＰＣカード２５０を接続した場合のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＣＳ１＃の状態を示すタイムチャートであり、図４の（ｂ）は、ＰＣカード制御装置１００にアダプタ３００を介してスマートカード３１０を接続した場合のＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態を示すタイムチャートである。
【００４４】
図示するように、ＰＣカード制御装置１００にＰＣカード２５０又はアダプタ３００を接続すると、ＣＤ１＃及びＣＤ２＃のレベルがＬｏｗレベルに切り換る。ＰＣカード制御装置１００のＰＣカード識別部１６０は、このＣＤ１＃及びＣＤ２＃のレベルの変化からＰＣカード２５０又はアダプタ３００の装着を検知してＶＳ１＃の電位を約１ｍｓの期間、Ｈｉｇｈレベルにする。ＰＣカード識別部１６０が備える第１レジスタ１８０（図１を参照）は、ＶＳ１＃の電位をＨｉｇｈレベルにしてから約０．８ｍｓ後のタイミングでＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態をラッチする。
【００４５】
次に、ＰＣカード識別部１６０は、ＶＳ２＃の電位を約１ｍｓの期間、Ｈｉｇｈレベルにする。ＰＣカード識別部１６０が備える第２レジスタ１８１（図１を参照）は、ＶＳ２＃の電位をＨｉｇｈレベルにしてから約０．８ｍｓ後のタイミングでＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態をラッチする。
【００４６】
図３の（ａ）に示すＰＣカード２５０の場合、第１レジスタ１８０には、“００００”がラッチされ、第２レジスタ１８１には、“１０１０”がラッチされる。以下に説明するように、ＰＣカード識別部１６０は、図５に示すカードテーブル１８３（図１にも図示してある）を参照して、当該ＰＣカード２５０がカードバスであって、３．３Ｖ又はＸ.ＸＶで駆動されるＮｏ．７のカードに該当することを認識する。なお、上記カードバスであって、３．３Ｖ又はＸ.ＸＶで駆動されるといったカードの種類についての情報は、カードテーブルに予め用意されている６ビットのデータで定義される。この６ビットデータは、上位ビットから順に、１６ビットカードであるのか否か、３２ビットカードであるのか否か、駆動電圧が５Ｖであるか否か、駆動電圧が３．３Ｖであるか否か、駆動電圧がＸ.ＸＶであるか否か、駆動電圧がＹ.ＹＶであるか否かをそれぞれ表す。ＰＣカード識別部１６０は、当該Ｎｏ．７のカードの種類を表す６ビットのデータをカード情報として、ＰＣＩバス５０を介してＣＰＵ１０に出力する。
【００４７】
一方、図４の（ａ）に示すスマートカードアダプタ３００の場合、第１レジスタ１８０には、“０００１”がラッチされ、第２レジスタ１８１には、“１１１０”がラッチされる。当該アダプタ３００は、図５に示すカードテーブル１８３には定義されていない。以下に説明するように、ＰＣカード識別部１６０では、拡張カードレジスタ１８２に“０００１”と“１１１０”を１つにまとめた８ビットデータ“００１１１１０”を識別情報として用意すると共に、スマートカード３１０の種類を表す６ビットデータ（カード情報）を用意しておくことで、上記アダプタ３００を認識すると共に、カードの種類を特定する６ビットデータを、カード情報としてＰＣＩバス５０を介してＣＰＵ１０に出力する。
【００４８】
図６は、図５に示したカードテーブル１８３に示されている第１接続穴２５１〜第４接続穴２５４の接続パターン以外に考え得る接続パターン及び当該接続パターン時にＶＳ１＃及びＶＳ２＃を個々にＨｉｇｈレベルに切り換えた時に第１レジスタ１８０及び第２レジスタ１８１にラッチされる各４ビット、合計８ビットのデータを示す図表である。ＰＣカード識別部１６０の拡張カードレジスタ１８２には、第１レジスタ１８０及び第２レジスタ１８１に得られる各４ビットのデータとして、図６に示す６つのパターンの内の何れか１つのデータが格納される。拡張カードレジスタ１８２には、更に、当該拡張カードの種類（バスのビット幅や駆動電圧）を特定する６ビットのデータが格納される。
【００４９】
図７は、ＰＣカード識別部１６０の構成を示す図である。ＰＣカード識別部１６０は、大きく分けると、コネクタ１９０に接続されたカードの識別情報（８ビットデータ）を第１及び第２レジスタ１８０，１８１に取得する識別情報取得部Ｄと、当該識別情報取得部Ｄにおいて取得された識別情報と、第１記録部であるカードテーブル１８３及び第２記録部である拡張カードレジスタ１８２に記録されている識別情報と比較し、比較結果を出力する比較器１８５と、上記比較結果に基づいてカードの種類を特定するカード情報（６ビットデータ）を検出してＣＰＵ１０に出力するカード情報検出部１８４とで構成される。
【００５０】
識別情報取得部Ｄ内において、ＣＤ２＃の入力される端子１６１の電位は、電源Ｖｃｃ及び抵抗１６２で成るプルアップ回路Ｃ２によりＨｉｇｈレベルにプルアップされており、ＣＤ１＃の入力される端子１６４の電位は、電源Ｖｃｃ及び抵抗１６５で成るプルアップ回路Ｃ１によりＨｉｇｈレベルにプルアップされている。端子１６１及び端子１６４に入力されるＣＤ２＃及びＣＤ１＃は、それぞれバッファ回路１６３及び１６６を介して２入力ＯＲゲート１６７に入力される。
【００５１】
ＯＲゲート１６７の出力は、Ｄ−Ｆ／Ｆ（ディレイ型フリップフロップ）１６８に入力されている。Ｄ−Ｆ／Ｆ１６８の出力は、次段のＤ−Ｆ／Ｆ１６９に入力されている。当該Ｄ−Ｆ／Ｆ１６９の反転出力端子、Ｄ−Ｆ／Ｆ１６８の出力、及び、以下に説明するタイマー１７１の始動と共にＨｉｇｈレベルに切り換るＴＩＭ信号線が、３入力のＯＲゲート１７０の各信号入力端子に接続されている。ＯＲゲート１７０の出力端子は、タイマー１７１のスタート信号ＳＴ＃の入力端子に接続されている。後に説明するようにコネクタ１９０にＰＣカード２５０又はスマートカード３１０を装着したアダプタ３００が挿入されてＣＤ１＃及びＣＤ２＃の電位がＨｉｇｈレベルからＬｏｗレベルに切り換ると、ＯＲゲート１７０は、一時的にＬｏｗレベルの信号をスタート信号ＳＴ＃として出力する。なお、当該スタート信号は、カード検出信号としてＣＰＵ１０にも出力される。
【００５２】
タイマー１７１は、上記Ｌｏｗレベルのスタート信号ＳＴ＃を受けることで始動し、後に説明するタイミングで所定のレベルの信号Ｔ１，Ｔ２，Ｌ１＃，Ｌ２＃を出力する。
【００５３】
ＶＳ２＃の入力される端子１７２は、抵抗１７３を介して電源Ｖｃｃに接続されると共に、半導体スイッチであるＰチャンネル型のＭＯＳＦＥＴ１７５、及びバッファ回路１７４に接続される。ＭＯＳＦＥＴ１７５のゲートには、タイマー１７１の出力するＴ２信号が入力されている。
【００５４】
同様に、ＶＳ１＃の入力される端子１７６は、抵抗１７７を介して電源Ｖｃｃに接続されると共に、半導体スイッチであるＰチャンネル型のＭＯＳＦＥＴ１７９、及び、バッファ回路１７８に接続されている。ＭＯＳＦＥＴ１７９のゲートには、タイマー１７１の出力する信号Ｔ１が入力されている。
【００５５】
バッファ回路１６３，１６６，１７４及び１７８から出力される４つの信号ＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃は、第１レジスタ１８０及び第２レジスタ１８１にそれぞれ入力される。第１レジスタ１８０のラッチ端子１８０ａには、タイマー１７１の出力する信号Ｌ１＃が入力される。第１レジスタ１８０では、Ｌｏｗレベルの信号Ｌ１＃の入力に応じてＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態を記録する。第２レジスタ１８１のラッチ端子１８１ａには、タイマー１７１の出力する信号Ｌ２＃が入力される。第２レジスタ１８１では、Ｌｏｗレベルの信号Ｌ２＃の入力に応じてＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の状態を記録する。
【００５６】
図８は、ＣＤ１＃，ＣＤ２＃，タイマー１７１に入力される信号ＳＴ＃、及び、タイマー１７１が出力する信号Ｔ１，Ｔ２，Ｌ１＃，Ｌ２＃を示すタイムチャートである。タイマー１７１は、ＣＤ１＃及びＣＤ２＃の電位がＨｉｇｈレベルからＬｏｗレベルに下がり、ＯＲゲート１７０からＬｏｗレベルのスタート信号ＳＴ＃が入力された時に始動する。
【００５７】
タイマー１７１の始動に伴い信号ＴＩＭがＨｉｇｈレベルに切り換る。これによりＯＲゲート１７０の出力する信号ＳＴ＃がＨｉｇｈレベルに切り換る。タイマー１７１は、まず、信号Ｔ１をＨｉｇｈレベルに切り換える。これにより半導体スイッチ１７９がオフに切り換り、ＶＳ１＃にＨｉｇｈレベルの信号が出力される。約０．８ｍｓ後、タイマー１７１は、Ｌｏｗパルスの信号Ｌ１＃を出力し、バッファ回路１６３，１６６，１７４，１７８の出力する信号の状態を第１レジスタ１８０に記憶させる。この後、タイマー１７１は、信号Ｔ１の代わりにＴ２をＨｉｇｈレベルに切り換える。これにより、半導体スイッチ１７５がオフに切り換り、ＶＳ２＃にＨｉｇｈレベルの信号が出力される。約０．８ｍｓ後、タイマー１７１は、Ｌｏｗパルスの信号Ｌ２＃を出力し、バッファ回路１６３，１６６，１７３，１７８の出力する信号の状態を第２レジスタ１８１に記憶させる。
【００５８】
なお、ＶＳ１＃及びＶＳ２＃にＨｉｇｈレベルの信号を出力しても、コネクタ１９０に挿入されたＰＣカード２５０又はスマートカード３１０を装着したアダプタ３００内でＶＳ１＃及びＶＳ２＃が接地されている場合には、ＶＳ１＃及びＶＳ２＃の見かけ上の電位状態はＬｏｗになる。
【００５９】
以上に説明するタイミングでタイマー１７１が所定レベルの信号を出力することでレジスタ１８０及び１８１にそれぞれＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃の電位状態が格納される。
【００６０】
ここで、再び図７を参照する。拡張カードレジスタ１８２には、拡張カードとしてスマートカード３１０を装着したアダプタ３００の接続時に特定される第１レジスタ１８０及び第２レジスタ１８１の値を示す８ビットデータ（識別情報）と、当該カードの種類（バスのビット幅や駆動電圧）を特定する６ビットのデータ（カード情報）が格納されている。拡張カードレジスタ１８２は、上記８ビットのデータ（識別情報）を比較器１８５に出力すると共に、上記種類を特定する６ビットのデータ（カード情報）をカード情報検出部１８４に出力する。
【００６１】
また、カードテーブル１８３には、図５に示したカードテーブル１８３に定義されている合計１２種類のカードについての第１レジスタ１８０及び第２レジスタ１８１の値を示す８ビットデータ（識別情報）、並びに、カードの種類を特定する６ビットデータ（カード情報）が格納されている。カードテーブル１８３は、上記１２枚分のＰＣカードの８ビットデータを比較器１８５にパラレル出力すると共に、上記１２枚分のＰＣカードの６ビットデータをカード情報検出部１８４に出力する。
【００６２】
比較器１８５は、第１レジスタ１８０及び第２レジスタ１８１に格納された４ビット＋４ビットの合計８ビットデータと、拡張カードレジスタ１８２及びカードテーブル１８３からパラレルに出力される合計１３枚分のカードの８ビットデータとの比較を行い、各カード毎に一致の場合がＨｉｇｈレベルで不一致の場合がＬｏｗレベルの１ビットの合計１３ビット分の比較結果信号を出力する。当該比較結果信号は、ＰＣＭＣＩＡコントローラ１２０（図１を参照）に出力されると共に、カード情報検出部１８４に出力される。
【００６３】
カード情報検出部１８４は、セレクタ１８４ａ及び６ビット分のレジスタ１８４ｂで構成されている。セレクタ１８４ａには、拡張カードレジスタ１８２に１枚分、及び、カードテーブル１８３に１２枚分が格納されている合計１３枚分のカードの種類（バスのビット幅や対応する駆動電圧）を表す６ビットデータがパラレルに入力される。そして、比較器１８５から出力される比較結果信号がＨｉｇｈレベルのカードについて、当該カードの種類を表す６ビットデータをレジスタ１８４ｂに出力する。レジスタ１８４ｂのラッチ端子には、タイマー１７１から信号ＴＩＭを反転した信号が入力されている。レジスタ１８４ｂは、タイマー１７１がパルス状の信号Ｌ２＃を出力し、第２レジスタ１８１にＣＤ２＃，ＣＤ１＃，ＶＳ２＃及びＶＳ１＃が格納された後、信号ＴＩＭがＬｏｗレベルに切り換ると同時にセレクタ１８４ａから出力される６ビットのデータをラッチする。
【００６４】
なお、レジスタ１８４ｂにラッチされた６ビットデータは、上位ビットから順に、１６ビットカードであるのか否か、３２ビットカードであるのか否か、駆動電圧が５Ｖであるか否か、駆動電圧が３．３Ｖであるか否か、駆動電圧がＸ.ＸＶであるか否か、駆動電圧がＹ.ＹＶであるか否かをそれぞれ表す。該当する場合には”１”、該当しない場合には”０”に設定される。
【００６５】
レジスタ１８４ｂは、ラッチした６ビットデータを３ステートバッファ１９１に出力する。３ステートバッファ１９１は、ＣＰＵ１０からのＬｏｗレベルのカード情報要求信号に応じて、上記６ビットデータをコネクタ１９０に接続されたカードの種類を表すデータとして、ＰＣＭＣＩＡコントローラ１２０、ＰＣＩインターフェース１１０、及び、ＰＣＩバス５０を介してＣＰＵ１０に出力する。ＣＰＵ１０は、受け取ったカードの種類についての情報に基づいて、コネクタ１９０に接続されたカードとのデータのやり取りを行う。
【００６６】
図９は、ＰＣＭＣＩＡコントローラ１２０の一部の構成を示す図である。図示するように、ＰＣカード識別部１６０から入力される比較結果の内、レジスタ１８０，１８１に格納された各４ビット合計８ビットのデータと拡張カードレジスタ１８２に格納されている８ビットデータとの比較結果を２個のＣＭＯＳインバータを直列に接続して成るバッファ回路１２１を介して出力する。即ち、第１レジスタ１８０及び第２レジスタ１８１に格納された８ビットデータと拡張カードレジスタ１８２に格納されている８ビットデータとが一致した場合には、Ｈｉｇｈレベルの信号がセレクト信号ＳＥＬとして出力される。他方、不一致の場合には、Ｌｏｗレベルの信号がセレクト信号ＳＥＬとして出力される。
【００６７】
ここで、再び図１を参照する。ＰＣＭＣＩＡコントローラ１２０からＨｉｇｈレベルのセレクト信号ＳＥＬを受けたセレクタ１４０は、接続されたカードがスマートカードであると判断してスマートカードコントローラ１３０とコネクタ１９０とを接続する。ＰＣＭＣＩＡコントローラ１２０は、上記スマートカードコントローラ１３０を介することで、スマートカード３１０を認識することができる。
【００６８】
また、セレクタ１４０は、ＰＣＭＣＩＡコントローラ１２０からＬｏｗレベルのセレクト信号ＳＥＬを受けた場合、接続されたカードがＰＣカードであると判断し、ＰＣＭＣＩＡコントローラ１２０とコネクタ１９０を直接接続する。
【００６９】
図１０は、ＣＰＵ１０の実行するＰＣカード制御装置１００の第１制御プログラムのフローチャートである。まず、所定の操作部１３の操作によりディスプレイ１４に図１１の（ａ）に示すＰＣカードの制御画面４００を表示する（ステップＳ１）。制御画面に表示される新規カード設定ボタン４０１が、テンキー及びマウスで成る操作部１３の操作によってユーザにより選択された場合（ステップＳ２でＹＥＳ）、ディスプレイ１４に図１１の（ｂ）に示す入力画面４１０を表示する（ステップＳ３）。
【００７０】
ここで、ユーザは、図６に示した表の中から、未使用の第１レジスタ及び第２レジスタのデータの組合せを選択し、選択したデータを第１レジスタの４ビットデータの入力ボックス４１１、及び、第２レジスタの４ビットデータのボックス４１２に入力し、更に、カードの種類を特定する６ビットのデータ（カード情報）の入力ボックス４１３にそれぞれ必要なデータを入力した後に、完了ボタン４１４を選択する。なお、上記カードの種類を特定する６ビットのデータは、上位ビットから順に、当該拡張カードが１６ビットカードであるのか否か、３２ビットカードであるのか否か、駆動電圧が５Ｖであるか否か、駆動電圧が３．３Ｖであるか否か、駆動電圧がＸ.ＸＶであるか否か、駆動電圧がＹ.ＹＶであるか否かを表し、それぞれ該当する場合に“１”に設定される。
【００７１】
ＣＰＵ１０は、ユーザによる操作部１３の操作により完了ボタン４１４が選択されると（ステップＳ４でＹＥＳ）、ＰＣＩバス５０、ＰＣカード制御装置１００内のＰＣＩインターフェース１１０、フラッシュＲＯＭ・Ｉ／Ｆ１５０を介してフラッシュＲＯＭ２００内に上記３つの入力ボックス４１１、４１２、４１３に入力された４ビット＋４ビット＋６ビットの合計１４ビットのデータを書き込む（ステップＳ５）。なお、既に１４ビットのデータが書き込まれている場合には、今回入力された１４ビットのデータに更新する。また、新規カード設定ボタン４０１の選択が検出されなかった場合には（ステップＳ２でＮＯ）、上記ステップＳ３〜Ｓ５の処理はスキップする。その他の処理を実行した後に（ステップＳ６）、ステップＳ１に戻る。
【００７２】
図１２は、ＣＰＵが電源投入御から常時実行する第２制御プログラムのフローチャートである。ＰＣカード制御装置１００のカード識別部１６０からカード検知信号が送られてきた場合（ステップＳ７でＹＥＳ）、上記カード識別部のカード情報検出部１８４にカード情報要求信号を出力する（ステップＳ８）。上記カード情報要求信号に応じてカード情報検出部１８４から出力されるカード情報からカードの種類を認識し（ステップＳ９）、必要なその他の処理を行う（ステップＳ１０）。カード検出信号が送られてきていない場合には（ステップＳ７でＮＯ）カード検出信号が送られてくるまでステップＳ７で待機する。
【００７３】
上記構成のＰＣカード制御装置１００をＰＣＩバス５０に接続して用意すると共に、上記ＰＣカードの制御プログラムを実行することで、図５に示したカードテーブル１８３に定義される１２枚のＰＣカード以外の新たな種類の拡張カードをＣＰＵ１０に認識させることができる。
【００７４】
（２）変形例
以下、実施の形態１に係るＰＣカード制御装置１００が備えるＰＣカード識別部１６０の変形例であるＰＣカード識別部１６０ａについて説明する。
図１３は、ＰＣカード識別部１６０ａの構成を示す図である。図中、ＰＣカード識別部１６０と同じ構成物には同じ参照番号を付して表し、ここでの重複した説明は省く。ＰＣカード識別部１６０が全てハードウェア回路で実現されるのに対し、ＰＣカード識別部１６０ａは、ソフトウェア処理によりＰＣカード及び拡張カードの検出を行うことを特徴とする。より具体的には、ＰＣカード識別部１６０ａでは、ＰＣカード識別部１６０においてＣＤ１＃及びＣＤ２＃の電位の低下に基づくコネクタ１９０へのカードの接続の検知、カード検出信号のＣＰＵ１０への出力、タイマー１７１、比較器１８５、及び、カード情報検出部１８４の実行する処理を制御部１８６が演算処理により行うことを特徴とする。この結果、ＰＣカード識別部１６０ａは、カード情報検出部１８４及び比較器１８５を備えず、代わりに、カード情報メモリ１８９を備える。
【００７５】
図１４は、制御部１８６が実行する演算処理のフローチャートである。バッファ１６３及び１６６から出力されるＣＤ２＃及びＣＤ１＃がＬｏｗレベルに成るのを待機し（ステップＳ２０でＮＯ）、Ｌｏｗレベルに成った時（ステップＳ２０１でＹＥＳ）、コネクタ１９０にカードが接続されたと判断し、カード検出信号をＣＰＵ１０に送信した後（ステップＳ２１）、以下の処理を実行する。即ち、Ｈｉｇｈレベルの信号Ｔ１をＰチャンネル型ＭＯＳＦＥＴ１７９に出力してＶＳ１＃に１ｍｓの間Ｈｉｇｈレベルの信号を出力する。当該Ｈｉｇｈレベルの信号の出力開始より約０．８ｍｓ後に第１レジスタ１８０のラッチ端子１８０ａにラッチ信号Ｌ１＃を出力し、この時にバッファ１６３，１６６，１７４，１７８から出力されるＣＤ２＃，ＣＤ１＃，ＶＳ２＃，ＶＳ１＃のデータを保持させる（ステップＳ２２）。
【００７６】
次に、Ｈｉｇｈレベルの信号Ｔ２をＰチャンネル型ＭＯＳＦＥＴ１７５に出力してＶＳ２＃に１ｍｓの間Ｈｉｇｈレベルの信号を出力する。当該Ｈｉｇｈレベルの信号の出力を開始してから、約０．８ｍｓ後に第２レジスタ１８１のラッチ端子１８１ａにラッチ信号Ｌ２＃を出力し、この時のバッファ１６３，１６６，１７４，１７８から出力されるＣＤ２＃，ＣＤ１＃，ＶＳ２＃，ＶＳ１＃のデータを保持させる（ステップＳ２３）。
【００７７】
第１レジスタ１８０及び第２レジスタ１８１に保持された合計８ビットのデータと、拡張カードレジスタ１８２に記憶されている１枚分の８ビットデータとカードテーブル１８３に記憶されている１２枚分の８ビットデータとを比較する（ステップＳ２４）。合計で１３枚分のデータとの比較結果をＰＣＭＣＩＡコントローラ１２０に出力する（ステップＳ２５）。更に、一致したカードについての情報（６ビットデータ）をカード情報メモリ１８９から読み出して特定し（ステップＳ２６）、ＣＰＵ１０からカード情報要求信号を待機する（ステップＳ２７でＮＯ）。カード情報要求信号を受けた場合（ステップＳ２７でＹＥＳ）、上記ステップＳ２６において特定したカード情報をＣＰＵ１０に出力し（ステップＳ２８）、処理を終了する。
【００７８】
上記構成のＰＣカード識別部１６０ａを用意することで、回路構成を簡単にすることができ、装置の小型化を図ることができる。
【００７９】
（３）実施の形態２
以下、実施の形態２に係るＰＣカード制御装置５００について説明する。実施の形態１に係るＰＣカード制御装置１００が拡張カードを１枚しか追加できなかったのに対して、ＰＣカード制御装置５００は、拡張カードを３枚まで追加できることを特徴とする。図１５は、ＰＣカード制御装置５００の構成を示す図である。図中、実施の形態１に係るＰＣカード制御装置１００と同じ構成物には同じ参照番号を付して、重複した説明は省く。
【００８０】
より具体的には、図１に示すＰＣカード制御装置１００と比較すれば明らかなように、信号変換部１０５に対応する信号変換部５０５において、ＰＣＭＣＩＡコントローラ５１０とセレクタ５５０の間に第１カードコントローラ５２０、第２カードコントローラ５３０、第３カードコントローラ５４０を備える。ここで、第１カード〜第３カードとは、例えば、スマートメディア（株式会社東芝の登録商標）、ＳＤカード、メモリースティック（株式会社ソニーの登録商標）のことをいう。後に説明するように、ＰＩＣＭＣＩＡコントローラ５１０は、ＰＣカード識別部５６０の比較結果に基づいて２ビットのセレクト信号ＳＥＬを生成する。セレクタ５５０は、上記２ビットのセレクト信号に基づいてＰＣＭＣＩＡコントローラ５１０とコネクタ１９０を直接接続する場合、第１カードコントローラ５２０を介して接続する場合、第２カードコントローラを介して接続する場合、第３カードコントローラを介して接続する場合の４つの場合から１つを選択する。
【００８１】
ＰＣカード識別部５６０は、コネクタ１９０に接続されたカードから上記実施の形態１のＰＣカード制御装置１００と同様にして得られる第１及び第２レジスタの合計８ビットのデータ（識別情報）と、拡張カードレジスタ５７０に記憶されている３枚分のカードの８ビットデータ（識別情報）及びカードメモリ１８３に記憶されている１２枚分のカードの８ビットデータ（識別情報）とを比較し、比較結果をＰＣＭＣＩＡコントローラ５１０に出力すると共に、該当するカードの種類を表す６ビットデータ（カード情報）を特定し、当該６ビットデータ（カード情報）をＰＣＭＣＩＡコントローラ５１０、ＰＣＩインターフェース１１０及びＰＣＩバス５０を介してＣＰＵ１０に出力する。
【００８２】
なお、ＣＰＵ１０は、上述した実施の形態１の欄で説明したＰＣカード制御装置１００の第１及び第２制御プログラム（図１０及び図１２を参照）と同じ内容の処理を実行する。図１０に示した第１制御プログラムにおいて、本実施形態２に対応して変更する箇所は、新規の第１、第２レジスタ、カード情報レジスタの入力受付処理（ステップＳ３）において３枚分の拡張カードのデータを受付ける点だけである。一方、図１２に示した第２制御プログラムについては、変更点はない。即ち、ＰＣカード識別部５６０からカード検出信号を受け取った場合には（ステップＳ７でＹＥＳ）、ステップＳ８及びＳ９の処理を実行し、コネクタ１９０に接続されたカードの種類を認識する。
【００８３】
図１６は、ＰＣカード識別部５６０の構成を示す図である。実施の形態１のＰＣカード制御装置１００が備えていたＰＣカード識別部１６０と同じ構成物には同じ参照番号を付して表し、重複した説明は省く。比較器５９０は、第１レジスタ１８０及び第２レジスタ１８１に記憶された合計８ビットのデータ（識別情報）と、拡張カードレジスタ５７０に記憶されている３枚分のカードの８ビットデータ（識別情報）及びカードテーブル１８３に記憶されている１２枚分のカードの８ビットデータ（識別情報）を並列に同時に比較し、比較結果をＰＣＭＣＩＡコントローラ５１０に出力すると共に、カード情報検出部５８０に出力する。
【００８４】
カード情報検出部５８０は、セレクタ５８０ａ及び６ビット分のレジスタ５８０ｂで構成されている。セレクタ５８０ａには、拡張カードレジスタ５７０に３枚分、及び、カードテーブル１８３に１２枚分が格納されている合計１５枚分のカードの種類（バスのビット幅や対応する駆動電圧）を特定する６ビットデータ（カード情報）がパラレルに入力される。そして、比較器５９０から出力される比較結果信号がＨｉｇｈレベルのカードについて上記カードの種類を表す６ビットデータをレジスタ５８０ｂに出力する。レジスタ５８０ｂのイネーブル端子には、タイマー１７１から信号ＴＩＭを反転した信号が入力されている。レジスタ５８０ｂは、タイマー１７１がパルス状の信号Ｌ２＃を出力し、第２レジスタ１８１にＣＤ２＃，ＣＤ１＃，ＶＳ１＃及びＶＳ２＃が格納された後、信号ＴＩＭがＬｏｗレベルに切り換ると同時に、セレクタ５８０ａから出力される６ビットデータをコネクタ１９０に接続されたカードのカード情報として保存する。
【００８５】
なお、レジスタ５８０ｂにラッチされた６ビットのデータは、上位ビットから順に、１６ビットカードであるのか否か、３２ビットカードであるのか否か、駆動電圧が５Ｖであるか否か、駆動電圧が３．３Ｖであるか否か、駆動電圧がＸ.ＸＶであるか否か、駆動電圧がＹ.ＹＶであるか否かをそれぞれ該当する場合に“１”で表す。
【００８６】
レジスタ５８０ｂは、ラッチした６ビットデータを３ステートバッファ１９１に出力する。３ステートバッファ１９１は、ＣＰＵ１０からＬｏｗレベルのカード情報要求信号に応じて、上記６ビットデータをコネクタ１９０に接続されたカードの種類を表すデータ（カード情報）として、ＰＣＭＣＩＡコントローラ５１０、ＰＣＩインターフェース１１０、及び、ＰＣＩバス５０を介してＣＰＵ１０に出力する。ＣＰＵ１０は、受け取った６ビットデータ（カード情報）の内容に基づいて、コネクタ１９０に接続されたカードとのデータのやり取りを行う。
【００８７】
図１７は、ＰＣＭＣＩＡコントローラ５１０の一部の構成を示す図である。図示するように、ＰＣカード識別部５６０から入力される比較結果の内、レジスタ１８０，１８１に格納された各４ビット合計８ビットのデータ（識別情報）と拡張カードレジスタ５７０に格納されている３枚分の８ビットデータ（識別情報）との比較結果を２つのＯＲゲート５１１，５１２を用いて２ビットのセレクト信号ＳＥＬとして出力する。具体的には、１枚目の比較結果の１ビットデータと３枚目の比較結果の１ビットデータとの論理和をＯＲゲート５１２で求め、当該ＯＲゲート５１２の出力を２ビットのセレクト信号の下位ビットのデータとして出力する。２枚目の比較結果の１ビットデータと３枚目の比較結果の１ビットデータの論理和をＯＲゲート５１１で求め、当該ＯＲゲート５１１の出力を２ビットのセレクト信号ＳＥＬの上位ビットのデータとして出力する。即ち、第１レジスタ１８０及び第２レジスタ１８１に格納された８ビットデータと拡張カードレジスタ１８２に格納されている８ビットデータとが一致した場合には、Ｈｉｇｈレベルの信号がセレクト信号ＳＥＬとして出力される。他方、不一致の場合には、Ｌｏｗレベルの信号がセレクト信号ＳＥＬとして出力される。
【００８８】
ここで、再び図１５を参照する。ＰＣＭＣＩＡコントローラ５１０から“００”のセレクト信号ＳＥＬを受けたセレクタ５５０は、接続されたカードがＰＣＭＣＩＡに準拠したＰＣカードであると判断してＰＣＭＣＩＡコントローラ５１０とコネクタ１９０を直接接続する。また、“０１”のセレクト信号ＳＥＬを受けた場合、第１カードであると判断して、第１カードコントローラ５２０とコネクタ１９０とを接続する。ＰＣＭＣＩＡコントローラ５１０は、上記第１カードコントローラ５２０を介することで、第１カードを認識することができる。同様に、“１０”、“１１”のセレクト信号ＳＥＬを受けた場合、第２、第３カードであると判断して、第２カードコントローラ５２０、第３カードコントローラ５３０とコネクタ１９０とを接続する。ＰＣＭＣＩＡコントローラ５１０は、上記第２カードコントローラ５３０又は第３カードコントローラ５４０を介することで、第２カード又は第３カードを認識することができる。
【００８９】
以上に説明したように、ＰＣカード制御装置１００及び５００によれば、特別なカードの識別アルゴリズムを用意せず、従来より知られているＰＣＭＣＩＡに準拠するカード識別手法を用いつつも、新しい種類の拡張カードの認識をおこなうことができる。更には、既に認識していた拡張カードの種類が変更又は修正された場合（例えば、駆動電圧が５Ｖから３．３Ｖに改良された場合）に、フラッシュＲＯＭ２００の内容を書き換えるだけで柔軟に対応することができる。
【００９０】
なお、上記実施の形態１のＰＣカード制御装置１００及び実施の形態２のＰＣカード制御装置５００では、拡張カードレジスタに設定する第１レジスタ及び第２レジスタの合計８ビットのデータの値を、図６に示すようなＰＣＭＣＩＡにおいて未定義の組合せのものを用いることとしたが、例えば、図５に示すカードテーブルにおけるＮｏ．５及びＮｏ．９のようにカードの種類が未定義となっている予備の組合せについては、これを利用することとしてもよい。更には、上記以外の既に定義されている組合せについても改めて定義することができるようにすることも考えられる。これらの場合、カードテーブル及び拡張カードレジスタの両方に該当するカードが検出されることになるが、例えば、実施の形態１のＰＣカード制御装置１００の備えるＰＣＭＣＩＡコントローラ１２０が実行するように、拡張カードレジスタについての比較結果だけに基づいて、セレクト信号ＳＥＬを生成するようにすれば良い。
【図面の簡単な説明】
【００９１】
【図１】実施の形態１に係るＰＣカード制御装置を備えるコンピュータシステムの構成を示す図である。
【図２】（ａ）は、ＰＣＭＣＩＡに準拠したコネクタにＰＣカードを接続した状態を示し（ｂ）は、アダプタを介してスマートカードを接続した状態を示す図である。
【図３】（ａ）は、ＰＣカードのカード識別用の配線例を示し、（ｂ）は、カード検出時の各部の信号の状態を示す図である。
【図４】（ａ）は、拡張カードのカード識別用の配線例を示し、（ｂ）は、カード検出時の各部の信号の状態を示す図である。
【図５】ＰＣＭＣＩＡに準拠したカードテーブルを示す図である。
【図６】ＰＣＭＣＩＡで未使用の組合せのカードテーブルを示す図である。
【図７】ＰＣカード識別部の構成を示す図である。
【図８】ＣＤ１＃、ＣＤ２＃、ＶＳ１＃、ＶＳ２＃及びタイマーから出力される各信号を示すタイムチャートである。
【図９】ＰＣＭＣＩＡコントローラの一部の構成を示す図である。
【図１０】ＣＰＵの実行する第１制御プログラムの処理内容を示すフローチャートである。
【図１１】（ａ）及び（ｂ）は、ＰＣカード制御プログラム実行時にディスプレイに表示される画面を示す図である。
【図１２】ＣＰＵの実行する第２制御プログラムの処理内容を示すフローチャートである。
【図１３】ＰＣカード識別部の変形例の構成を示す図である。
【図１４】上記ＰＣカード識別部の変形例を構成する制御部の実行する処理内容を示すフローチャートである。
【図１５】実施の形態２にかかるＰＣカード制御装置を備えるコンピュータシステムの構成を示す図である。
【図１６】ＰＣカード識別部の構成を示す図である。
【図１７】ＰＣＭＣＩＡコントローラの一部の構成を示す図である。
【符号の説明】
【００９２】
１  コンピュータシステム、    １０  ＣＰＵ、１１  ＲＯＭ、    
１２  ＲＡＭ、１３  操作部、    １４  ディスプレイ、    １５  ＨＤ、    １００，５００  ＰＣカード制御装置、    １３０  スマートカードコントローラ、    １５０  フラッシュＲＯＭ・Ｉ／Ｆ、    １６０，１６０ａ，５６０  ＰＣカード識別部、    １８０  第１レジスタ、    １８１  第２レジスタ、    １８２，５７０  拡張カードレジスタ、１８３  カードテーブル、    １８４，５８０  カード情報検出部、    １９０  ＰＣカード用コネクタ、    ２００  フラッシュＲＯＭ、    ２５０  ＰＣカード、    ３００  スマートカード用アダプタ、    ３１０  スマートカード、    ５２０  第１カードコントローラ、    ５３０  第２カードコントローラ、    ５４０  第３カードコントローラ。
【図１】
2008084340.tif 000003
【図２】
2008084340.tif 000004
【図３】
2008084340.tif 000005
【図４】
2008084340.tif 000006
【図５】
2008084340.tif 000007
【図６】
2008084340.tif 000008
【図７】
2008084340.tif 000009
【図８】
2008084340.tif 000010
【図９】
2008084340.tif 000011
【図１０】
2008084340.tif 000012
【図１１】
2008084340.tif 000013
【図１２】
2008084340.tif 000014
【図１３】
2008084340.tif 000015
【図１４】
2008084340.tif 000016
【図１５】
2008084340.tif 000017
【図１６】
2008084340.tif 000018
【図１７】
2008084340.tif 000019