JPWO2010047059A1 - カードホストlsi、およびこれを有するセット機器 - Google Patents

カードホストlsi、およびこれを有するセット機器 Download PDF

Info

Publication number
JPWO2010047059A1
JPWO2010047059A1 JP2010534672A JP2010534672A JPWO2010047059A1 JP WO2010047059 A1 JPWO2010047059 A1 JP WO2010047059A1 JP 2010534672 A JP2010534672 A JP 2010534672A JP 2010534672 A JP2010534672 A JP 2010534672A JP WO2010047059 A1 JPWO2010047059 A1 JP WO2010047059A1
Authority
JP
Japan
Prior art keywords
card
host
bit
card host
lsi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010534672A
Other languages
English (en)
Inventor
伊藤 理恵
理恵 伊藤
藤原 睦
睦 藤原
平野 雄久
雄久 平野
笛 浩一郎
浩一郎 笛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2010047059A1 publication Critical patent/JPWO2010047059A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

カードホストLSI(101)は、Nビットのカードモジュールに対応可能なM個のカードホストI/F(102a,102b)と、M個のカードバス端子(111a,111b)とを備えている。ブリッジ回路(106)は、イネーブル信号(EN12)が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュール(105c)が接続されたカードバス(103)に対応するカードホストI/F(102a)とそれ以外のカードホストI/F(102b)とが協調動作してカードモジュール(105c)を制御可能な状態に、信号線接続関係を設定する。

Description

本発明は、SDカード等のリムーバブルカードやこれに対応した組み込みモジュール(以下、カードモジュールという)を制御する機能を有する、カードホストLSIとこれを有するセット機器に関する。
マルチメディアがポータブル機器に普及し始め、携帯電話端末等では、SDカード等のリムーバブルカードが着脱可能な外部記憶媒体として広く利用されている。また、近年、eSD(embedded SD)等の組み込みモジュールが、内部記憶装置の一つとして、携帯電話端末等に組み込まれるようになってきている。
これらカードモジュールを制御するカードホストLSIは、従来、形状および仕様の異なる複数種類のカードモジュールに対応するために、データの入出力を行うための入出力端子数が、最も多いカードモジュールと等しくなっている(例えば、特許文献1参照)。
また、近年、カードモジュール間のコピーや、カードモジュールの容量拡張などのため、複数枚のカードモジュールを制御できる、1個または複数個のカードホストLSIが必要とされている(例えば、特許文献2参照)。
特開2004−280808号公報 特開2008−134701号公報
図25および図26は従来のカードホストLSIを用いたセット機器の構成の一例を示す図である。
図25に示すセット機器500は、メインマイコン50と、カードホストLSI501と、カードバス503と、カードスロットS505aとを備えている。カードホストLSI501は、ホストI/F51と、カードホストI/F502aとを有している。なお、カードスロットS505aは、4ビット対応のSDカード505aおよび8ビット対応のMMC(Multi Media Card)515aのどちらにも対応したスロットである。一般に、SDカードのデータ線は4ビット幅、MMCのデータ線は4ビット幅及び8ビット幅である。図25に示すセット機器500は、1枚のSDカード505aまたは1枚のMMC515aに対応できる。
図26に示すセット機器500Aは、メインマイコン50と、カードホストLSI501Aと、カードバス503,504と、カードスロットS505a,S505bとを備えている。カードホストLSI501Aは、ホストI/F51と、カードホストI/F502a,502bとを有している。すなわち、図26の構成は、図25の構成にカードホストI/F502bとカードスロットS505bを追加したものである。なお、カードスロットS505bも、4ビット対応のSDカード505b及び8ビット対応のMMC515bのどちらにも対応したスロットである。図26に示すセット機器500Aは、2枚のSDカード505a,505b、または2枚のMMC515a,515bに対応できる点で、図25と異なっている。
また、カードホストI/F502a,502bは、それぞれレジスタR502a,R502bと、FIFO構成のバッファB502a,B502bとを有している。また、カードバス503はクロック線503a、コマンド線503b、および複数本(ここでは8本)のデータ線503cを有し、カードバス504はクロック線504a、コマンド線504b、および複数本(ここでは8本)のデータ線504cを有している。メインマイコン50は、レジスタR502a,R502bにアクセスすることによって、2つのカードホストI/F502a,502bを介して、カードモジュールを独立に制御する。
ここで、カードホストI/Fのデータ線の本数は、対応する複数種類のカードモジュールのうち、データ線の最も多いカードモジュールと等しくなっている。しかしながら、従来の構成では、データ線の最も多いカードモジュール以外のカードモジュールを使用する場合、数本のデータ線が未使用状態となり、データ線が冗長となる。
また、近年、複数枚のカードモジュールを制御可能にすることが主流となってきており、この場合、カードモジュール毎に、最も多いデータ線と等しい本数のデータ線を準備すると、カードモジュールの枚数に比例して、データ線に接続された入出力端子数が増えることになる。このため、実装面積が増加してしまい、コストが高くなるという問題が生じる。
前記の問題に鑑み、本発明は、複数種類のカードモジュールを複数枚制御できるカードホストLSIにおいて、入出力端子数を低減することを目的とする。
本発明の第1態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御されるM個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続されるM個のカードバス端子と、前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備え、前記ブリッジ回路は、(M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定するものである。
この第1態様によると、Nビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のNビットのカードモジュールを制御することができる。また、ブリッジ回路は、(M×N)ビットモードのとき、当該(M×N)ビットのカードモジュールに係るカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、カードホストI/Fとカードバス端子との間の信号線接続関係を設定する。これにより、Nビット対応のM個のカードホストI/Fを用いて(M×N)ビットのカードモジュールを制御することが可能になる。すなわち、(M×N)ビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、(M×N)ビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fから出力されるクロックおよびコマンドが、前記カードバスに伝達されない状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fから出力されるクロックおよびコマンドが、カードバスに伝達されなくなる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールからのレスポンスが、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールからのレスポンスが、この(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fにも、返される。これにより、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記M個のカードホストI/Fは、それぞれ、コマンドに対するレスポンスの正当性を判断するレスポンス判断回路を備えており、(M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、前記レスポンス判断回路の機能を無効にするのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fについて、レスポンスの正当性の判断機能が無効にされる。これにより、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、(M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fについて、送信データに関するエラー割り込みのみが通知可能に設定される。これにより、(M×N)ビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとから、同一内容の割込みが二重に出力されることを、回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールのステータスを表すステータス情報が、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールのステータスを表すステータス情報が、この(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fにも、返される。これにより、(M×N)ビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとの協調動作を、確実に継続させることができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記ホストI/Fと前記M個のカードホストI/Fとの間に設けられたビット変換回路とを備え、前記ビット変換回路は、前記イネーブル信号を受け、このイネーブル信号が(M×N)ビットモードを示すとき、前記ホストI/Fを介して前記M個のカードホストI/Fに書き込まれるデータについて、前記第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して当該(M×N)ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換するのが好ましい。
これによると、カードホストLSI外部に設けたメインマイコンによってデータを並び替えて、カードホストLSIに出力する必要がなくなり、メインマイコンの負荷を低減することができる。すなわち、ビットの並びの変換をハードウェアで実現することになり、高速かつ低消費電力を実現することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記イネーブル信号を保持するイネーブルレジスタを備えているのが好ましい。
さらに、当該カードホストLSIの電源起動時に起動する高速起動シーケンサを備え、前記高速起動シーケンサは、(M×N)ビットのカードモジュールが当該カードホストLSIに接続されているか否かを判定し、接続されているとき、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示すように設定するのが好ましい。
これによると、カードホストLSI内部の高速起動シーケンサによって、(M×N)ビットモードの設定が実行されるので、カードホストLSI外部に設けたメインマイコンの起動時の負荷を軽減することができる。また、ハードウェアで制御することになり、高速に起動できるとともに、メインマイコンを先に起動させることが不要となるため、消費電力を低減することができる。
さらに、前記高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが当該カードホストLSIに接続されているときは、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示さないように設定するのが好ましい。
これによると、(M×N)ビットのカードモジュールと他のカードモジュールとがカードホストLSIに接続されている場合は、(M×N)ビットのカードモジュールをNビットモードで制御することによって、両方のカードモジュールを使用することが可能になる。
また、前記第1態様に係るカードホストLSIにおいて、例えば、M=2である。
また、前記第1態様に係るカードホストLSIにおいて、前記M個のカードホストI/F、前記M個のカードバス端子、および前記ブリッジ回路の組み合わせを2つ以上備え、かつ、第2のカードホストI/Fを備え、(M×N)ビットモードのとき、前記第2のカードホストI/Fが、前記M個のカードバス端子のうちの未使用となる部分を介して、カードモジュールを制御可能なように構成されているのが好ましい。
これによると、(M×N)ビットモードのとき、第2のカードホストI/Fが、カードバス端子のうち未使用となる部分を介して、カードモジュールを制御可能になるため、カードバス端子を新たに増やすことなく、制御可能なカードモジュールを増やすことができる。
また、本発明の第2態様は、前記第1態様に係るカードホストLSIと、前記カードホストLSIを制御するメインマイコンと、前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えたセット機器である。
また、前記第2態様に係るセット機器において、前記メインマイコンは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが前記カードホストLSIに接続されているときは、前記カードホストLSIを(M×N)ビットモードに設定しないのが好ましい。
また、本発明の第3態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御されるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続されるM個のカードバス端子と、前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備え、前記ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定するものである。
この第3態様によると、Niビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のカードモジュールを制御することができる。また、ブリッジ回路は、Lビットモードのとき、当該Lビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、カードホストI/Fとカードバス端子との間の信号線接続関係を設定する。これにより、複数のカードホストI/Fを用いてLビットのカードモジュールを制御することが可能になる。すなわち、Lビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、Lビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
本発明の第4態様では、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、前記ブリッジ回路は、(M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する。
この第4態様によると、Nビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のNビットのカードモジュールを制御することができる。また、ブリッジ回路は、(M×N)ビットモードのとき、当該(M×N)ビットのカードモジュールに係るカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。これにより、Nビット対応のM個のカードホストI/Fを用いて(M×N)ビットのカードモジュールを制御することが可能になる。すなわち、(M×N)ビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、(M×N)ビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
また、本発明の第5態様は、前記第4態様に係るカードホストLSIと、前記カードホストLSIを制御するメインマイコンと、前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えたセット機器である。
本発明の第6態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、前記ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する。
この第6態様によると、Niビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のカードモジュールを制御することができる。また、ブリッジ回路は、Lビットモードのとき、当該Lビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。これにより、複数のカードホストI/Fを用いてLビットのカードモジュールを制御することが可能になる。すなわち、Lビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、Lビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
以上のように本発明によると、複数のカードホストI/Fが協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、入出力端子数を低減することができるとともに、面積増加を抑制することができ、コストが低減できる。
実施の形態1に係るセット機器の構成図である。 図1の構成において、8ビット対応のMMCが接続された状態を示す図である。 図1におけるブリッジ回路とその周辺の詳細な構成を示す図である。 8ビット対応のMMC接続時におけるブロックライト実行時のタイミングチャートである。 8ビット対応のMMC接続時におけるビット変換回路のビット並び替えの説明図である。 図3の変形例である。 実施の形態1において、カードホストLSIが組み込みモジュールを制御する構成を示す図である。 実施の形態2に係るセット機器の構成図である。 図8におけるブリッジ回路とその周辺の詳細な構成を示す図である。 実施の形態3に係るセット機器の構成図である。 実施の形態1の変形例に係るセット機器の構成図である。 実施の形態1の変形例に係るセット機器の構成図である。 実施の形態4に係るセット機器の構成図である。 図13におけるブリッジ回路とその周辺の詳細な構成を示す図である。 カードホストI/Fが有するレジスタの構成例を示す図である。 カードホストI/Fが有するレジスタの構成例を示す図である。 図14における♯Aアクセス制御回路の詳細な構成を示す図である。 図17の♯Aアクセス制御回路の動作を示すタイミングチャートである。 図14における♯Bアクセス制御回路の詳細な構成を示す図である。 図19の♯Bアクセス制御回路の動作を示すタイミングチャートである。 実施の形態5に係るセット機器の構成図である。 図21におけるタイミング調整回路の動作を示すタイミングチャートである。 実施の形態6に係るセット機器の構成図である。 図23におけるタイミング調整回路の動作を示すタイミングチャートである。 従来のカードホストLSIを有するセット機器の構成図である。 従来のカードホストLSIを有するセット機器の構成図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は実施の形態1に係るセット機器の構成図である。本実施形態に係るセット機器は、リムーバブルカードの一例としてのMMC、SDカードや、これらのカードバス仕様に対応する組み込みモジュールを制御する機能を有している。本発明に係るセット機器は、例えば、携帯電話端末である。以降の実施形態についても同様である。
図1に示すように、セット機器100は、メインマイコン10、カードホストLSI101、カードバス103,104、およびカードスロットS105a,S105bを備えている。カードホストLSI101は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚(図1では2枚)制御する機能を有する。図1では、着脱可能な4ビット対応のSDカード105a,105bがカードスロットS105a,S105bに挿入されている。
カードホストLSI101は、その外部からの制御信号を受けるホストI/F11と、2個のカードホストI/F102a(#A),102b(#B)と、2個のカードバス端子111a,111bを備えている。カードホストI/F102a,102bはそれぞれ、独立したカードマスターとしての機能を備え、4ビットのカードモジュールに対応可能であり、メインマイコン10からホストI/F11を介して制御される。また、カードバス端子111a,111bはカードホストI/F102a,102bにそれぞれ対応しており、カードバス103,104とそれぞれ接続される。
カードバス103は、クロック線103aとコマンド線103bと4ビットのデータ線103cとを有し、カードスロットS105aと接続されている。カードバス104は、クロック線104aとコマンド線104bと4ビットのデータ線104cとを有し、カードスロットS105bと接続されている。クロック線103a,104aはカードスロットS105a,S105bにクロックを送信するための信号線である。コマンド線103b,104bは、カードスロットS105a,S105bにコマンドを送信し、カードスロットS105a,S105bからレスポンスを受信するための信号線である。データ線103c,104cはデータを送受信するための信号線である。さらに本実施形態では、カードバス104のデータ線104cが、カードスロットS105bだけでなく、カードスロットS105aにも接続されている。
また、カードホストI/F102a,102bは、レジスタR102a,R102bとFIFO構成のバッファB102a,B102bとをそれぞれ有する。そして、カードスロットS105a,S105bからのレスポンスやCRCエラー等を、割込み信号I102a,I102bによってメインマイコン10に通知する。
さらに本実施形態では、カードホストLSI101は、8ビットのカードモジュールにも対応可能に構成されている。図2は、図1のセット機器100のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示す図である。すなわち、専用のカードバス端子を設けることなく、8ビットのカードモジュールが制御可能である。
すなわち、カードホストLSI101はさらに、8ビットイネーブルレジスタ12、ビット変換回路13、およびブリッジ回路106を備えている。8ビットイネーブルレジスタ12は、8ビットのカードモジュールを制御する8ビットモードか否かを示すイネーブル信号EN12を保持している。イネーブル信号EN12がアサートされているときは8ビットモードを示し、ネゲートされているときはそうでないことを示す。イネーブル信号EN12はビット変換回路13とブリッジ回路106に送られる。なお、8ビットイネーブルレジスタ12は、ホストI/F11内部にあってもよい。
ブリッジ回路106は、カードホストI/F102a,102bとカードバス端子111a,111bとの間に設けられており、カードホストI/F102a,102bとカードバス端子111a,111bとの間の信号線接続関係を設定する。すなわち、イネーブル信号EN12がアサートされているとき、8ビットのカードモジュールが接続されたカードバス103に対応する第1のカードホストI/FとしてのカードホストI/F102aと他のカードホストI/F102bとが協調動作して、この8ビットのカードモジュールを制御可能な状態に、信号線接続関係を設定する。
ビット変換回路13は、ホストI/F11とカードホストI/F102a,102bとの間に設けられており、イネーブル信号EN12がアサートされているとき、ホストI/F11を介してカードホストI/F102a,102bに書き込まれるデータについて、カードホスト102a,102bが協調動作して8ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換する。
すなわち、ビット変換回路13は、イネーブル信号EN12がネゲートされているときは、メインマイコン10からカードホストI/F102a,102bに対してコマンドと引数が設定されると、レジスタR102a,R102bにそれぞれコマンドと引数を書き込む。また、データを書き込む際も同様に、バッファB102a,B102bにそれぞれデータを書き込む。一方、イネーブル信号EN12がアサートされているときは、メインマイコン10からカードホストI/F102aに対してコマンドと引数が設定されると、レジスタR102a,R102bの両方に同じコマンドと引数を書き込む。また、データを書き込む際は、後述するビットを並べ替えたデータをバッファB102a,B102bに書き込む。データを読み出す際は、バッファB102a,B102bそれぞれから、ビットの並びを戻したデータを読み出す。
図3はブリッジ回路106とその周辺の詳細な構成を示す図である。図3に示すように、ブリッジ回路106は、セレクタ107a,107b,107cと、DAT0切替回路108とを備えている。セレクタ107a,107b,107cおよびDAT0切替回路108は、イネーブル信号EN12によって制御される。
セレクタ107aはクロック線104aへの出力を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、カードホストI/F102bから出力されたクロックを選択する一方、イネーブル信号EN12がアサートされているときは、固定値“0”を選択する。セレクタ107bはコマンド線104bへの出力を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、カードホストI/F102bから出力されたコマンドを選択する一方、イネーブル信号EN12がアサートされているときは、固定値“1”を選択する。セレクタ107a,107bの動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、カードホストI/F102bから出力されるクロックおよびコマンドがカードバス104に伝達されない状態に、信号線接続関係が設定される。これにより、カードホストI/F102bから出力されるクロックおよびコマンドがカードバス104に伝達されなくなる。
セレクタ107cはカードホストI/F102bに返されるレスポンスを切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、コマンド線104bから入力されたレスポンスを選択する一方、イネーブル信号EN12がアサートされているときは、8ビットカードモジュールと接続されたコマンド線103bから入力されたレスポンスを選択する。セレクタ107cの動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、8ビットカードモジュールからのレスポンスがカードホストI/F102aとともにカードホストI/F102bにも返される状態に、信号線接続関係が設定される。これにより、カードホストI/F102bにおいて、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
DAT0切替回路108は、カードホストI/F102bに入力されるデータのビット0を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、データ線104cから入力されたデータのビット0を選択する一方、イネーブル信号EN12がアサートされている場合は、コマンドCMDb_Oがライトコマンドを示したときのみ、データ線103cから入力されたデータのビット0を選択する。本実施形態では、8ビットカードモジュールのステータスを表すステータス情報としてのCRC(Cyclic Redundancy Check)状況およびビジー信号が、データ線103cのデータのビット0として送信される。すなわち、DAT0切替回路108の動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、8ビットカードモジュールのステータス情報がカードホストI/F102aとともにカードホストI/F102bにも返される状態に、信号線接続関係が設定される。これにより、カードモジュールホストI/F102a,102bの協調動作を、確実に継続させることができる。
また、カードホストI/F102a,102bはそれぞれ、レスポンス判断回路C102a,C102bと、DAT0判断回路D102a,D102bとを備えている。レスポンス判断回路C102a,C102bは、送信したコマンドCMDa_O,CMDb_Oに対して、応答されたレスポンスCMDa_I,CMDb_Iの正当性を判断する。DAT0判断回路D102a,D102bは、入力データDATa_I,DATb_Iのビット0に送信されるCRC状況およびビジー信号を判断する。
なお、8ビットモードのとき、カードホストI/F102bは、レスポンス判断回路C102bとDAT0判断回路D102bを用いず、カードホストI/F102aのレスポンス判断回路C102aとDAT0判断回路D102aの判断結果を用いてもよい。このとき、レスポンス判断回路C102bとDAT0判断回路D102bの機能を無効にしてもよい。これによっても、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
以下、上述した本実施形態に係る構成の動作について説明する。まず、図1に示すように、4ビット対応のSDカード105a,105bがカードスロットS105a,S105bに挿入されている場合の動作について説明する。このとき、8ビットイネーブルレジスタ12には「8ビットイネーブル」は設定されておらず、イネーブル信号EN12はネゲートされている。
メインマイコン10は、起動シーケンスにより、ホストI/F11およびビット変換回路13を介して、カードホストI/F102a内のレジスタR102aに『識別コマンド』を設定する。これを受けて、カードホストI/F102aから、カードバス103を介してSDカード105aに対して『識別コマンド』が発行される。所定時間内にSDカード105aからレスポンスが返ることによって、メインマイコン10は、SDカード105aが接続されていると判断する。また、メインマイコン10は、カードホストI/F102bに対しても同様の処理を実行することによって、SDカード105bが接続されていると判断する。
その後、メインマイコン10は、8ビットイネーブルレジスタ12の「8ビットイネーブル」を解除したまま、従来と同様に、カードホストI/F102a,120bを介して、SDカード105a,105bを独立に制御する。
このとき、図3の構成において、SDカード105aに関しては、カードホストI/F102aから出力されたクロックCLKa、コマンドCMDa_OおよびデータDATa_Oは、ブリッジ回路106をスルーして、それぞれ、クロック線103a、コマンド線103bおよびデータ線103cを介して、SDカード105aに入力される。SDカード105aからコマンド線103bおよびデータ線103cに出力されたレスポンスおよびデータは、それぞれ、ブリッジ回路106をスルーし、カードホストI/F102aにコマンドCMDa_IおよびデータDATa_Iとして入力される。
SDカード105bに関しては、イネーブル信号EN12はネゲートされているため、カードホストI/F102bから出力されたクロックCLKbおよびコマンドCMDb_Oが、セレクタ107a,107bでそれぞれ選択され、またデータDATb_Oはブリッジ回路106aをスルーして、それぞれ、クロック線104a、コマンド線104bおよびデータ線104cを介して、SDカード105bに入力される。セレクタ107cでは、SDカード105bからコマンド線104bに出力されたレスポンスRSPb_Iが選択され、カードホストI/F102bにレスポンスCMDb_Iとして入力される。また、DAT0切替回路108では、SDカード105bからデータ線104cを介して出力されたデータのビット0が選択される。すなわち、データ線104cから出力された4ビットのデータDATb_I’が、カードホストI/F102bにデータDATb_Iとして入力される。
次に、図2に示すように、8ビット対応のMMC105cがカードスロットS105aに挿入されている場合の動作について説明する。この場合、8ビットイネーブルレジスタ12には「8ビットイネーブル」が設定されて、イネーブル信号EN12はアサートされる。
メインマイコン10は、起動シーケンスにより、ホストI/F11およびビット変換回路13を介して、カードホストI/F102a内のレジスタR102aに『識別コマンド』を設定する。これを受けて、カードホストI/F102aから、カードバス103を介して8ビット対応のMMC105cに対して『識別コマンド』が発行される。所定時間内に8ビット対応のMMC105cからレスポンスが返らない場合、メインマイコン10は、MMCが接続されていると判断する。
次に、メインマイコン10は、MMCの対応ビットを確認するために、まず、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定する。これにより、イネーブル信号EN12がアサートされる。
そして、メインマイコン10から、カードホストI/F102a内のレジスタR102aに対して『バス幅確認コマンド』を設定する。この際、イネーブル信号EN12がアサートされているため、ビット変換回路13は、レジスタR102a,R102bに対して同じコマンドを書き込む。
続いて、メインマイコン10は、カードホストI/F102a内のバッファB102aに対して、8ビットのテストパターンを順次設定する。この際も、イネーブル信号EN12がアサートされているため、ビット変換回路13は、バッファB102a,B102bに対してビットを並べ替えたテストパターンを書き込む。これにより、カードホストI/F102a,102bは、8ビット対応のMMC105cに対して8ビットのテストパターンを出力する。カードホストI/F102a,102bは、8ビット対応のMMC105cから規定の応答パターンが返ってくるか否かにより対応ビット幅を判定し、その結果をメインマイコン10へ出力する。
対応ビット幅が8ビットと判定されると、8ビットイネーブルレジスタ12を「8ビットイネーブル」に設定したまま、すなわちイネーブル信号EN12がアサートされたまま、メインマイコン10はカードホストI/F102a,102bを用いて8ビット対応のMMC105cを制御する。
なお、4ビット対応のMMCが接続されていた場合は、メインマイコン10は、8ビットイネーブルレジスタ12に対して「8ビットイネーブル」設定を解除し、以降の処理は、SDカード105aの場合と同様に、カードホストI/F102aのみを用いて4ビット対応のMMCを制御する。
イネーブル信号EN12がアサートされているとき、図3の構成において、カードホストI/F102aから出力されたクロックCLKa、コマンドCMDa_OおよびデータDATa_Oは、ブリッジ回路106aをスルーして、それぞれ、クロック線103a、コマンド線103bおよびデータ線103cを介して、8ビット対応のMMC105cに入力される。さらに、カードホストI/F102bから出力されたデータDATb_Oも、ブリッジ回路106aをスルーして、データ線104cを介して、8ビット対応のMMC105cに入力される。
このとき、イネーブル信号EN12がアサートされているため、セレクタ107aは“0”を選択し、セレクタ107bは“1”を選択する。すなわち、カードホストI/F102bからのクロックCLKbおよびコマンドCMDb_Oはブリッジ回路106を通過しない。
8ビット対応のMMC105cからコマンド線103bに出力されたレスポンスは、ブリッジ回路106aをスルーし、カードホストI/F102aにレスポンスCMDa_Iとして入力される。さらに、このレスポンスはセレクタ107cで選択され、カードホストI/F102bにレスポンスCMDb_Iとして入力される。
8ビット対応のMMC105cからデータ線103cに出力されたデータは、ブリッジ回路をスルーし、カードホストI/F102aにデータDATa_Iとして入力される。
また、DAT0切替回路108は、カードホストI/F102bから出力されたコマンドCMDb_Oに応じて、データDATa_Iのビット0またはデータDATb_I’のビット0を選択し、データDATb_I’のビット[3:1]と合わせて、カードホストI/F102bにDATb_Iとして入力される。
図4は8ビット対応のMMC105c接続時における、ブロックライト実行時のタイミングチャートである。図4(a)は8ビット対応のMMC105cの入出力信号タイミングチャートであり、図4(b)はカードホストI/F102b側の入出力信号タイミングチャートである。
図4(a)に示すように、データ転送処理を実行するため、コマンド線103bからMMC105cに対してコマンド“CMDx”を出力する。MMC105cがこれを受信すると、コマンド線103bからカードホストI/F102a、102bに対してレスポンス“Rsp”が入力される。そして、書き込みたいデータブロックを、順次、データ線103c,104cからMMC105cへ出力し、データブロックの最後にビット線ごとにCRCを付加する。また、この最後のデータブロック送信時に、テータ停止処理を実行するため、コマンド線103bからMMC105cに対してコマンド“CMDy”を出力する。
そして、MMC105cからデータ線のDATa[0]に、受信したデータの“CRC状況”と処理中を示す“ビジー”が入力され、最後に、MMC105cが先ほど送信したコマンドを受理すると、コマンド線103bからカードホストI/F102a,102bに対してレスポンス“Rsp”が入力され、ブロックデータライト処理は終了となる。また、レスポンス“Rsp”が入力されたとき、カードホストI/F102aはメインマイコン10へレスポンスがあったことを示す割込み信号I102aを出力する。
図4(b)に示すように、カードホストI/F102b側の出力データDATb_O[3:0]は、ブリッジ回路106をスルーし、データDATb[3:0]へ出力される。CRC出力後に、MMC105cからデータDATa[0]にのみ入力される“CRC状況”と“ビジー”は、DAT0判断回路108の切替によって、データDATb_I[0]にも出力される。
なお、カードホストI/F102bは、メインマイコン10へレスポンスに関する割込みをマスクする設定をしておくことで、割込み信号I102bは出力しないようにしてもよい。すなわち、8ビットモードのときは、カードホストI/F102bについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定してもよい。あるいは、セレクタ107Cを備える代わりに、カードホストI/F102bのレジスタR102bに“レスポンスなし”の設定をし、レスポンス判断回路C102bの機能自体を無効にしてもよい。
図5は8ビット対応のMMC105c接続時における、ビット変換回路13のビット並び替えの説明図である。
図5(a)に示すように、メインマイコン10から8ビット対応のMMC105cに対して16ビットデータa15〜a0を書き込む場合、メインマイコン10はカードホストI/F102a内のバッファB102aのアドレスを指定し、16ビットデータa15〜a0をホストI/F11に対して送信する。
図5(b)に示すように、ホストI/Fからこれらの情報が送信されると、ビット変換回路13は、16ビットデータa15〜a0のうち、a11〜a8、a3〜a0の8ビットをバッファB102aに、a15〜a12、a7〜a4の8ビットをバッファB102bに書き込む。ブロックライト実行時など続けてデータを書き込む場合は、データの分だけ上記と同様の処理を繰り返す。
なお、ここでは、バッファB102a,102bに8ビットずつ書き込むバイトアクセスを用いているが、他にも例えば、ホストI/F11内部などに32ビットためて、バッファB102a,B102bに16ビットずつ書き込むワードアクセスを用いてもよい。
バッファにデータが書き込まれると、カードホストI/F102aは、書き込まれた8ビットデータa11〜a8、a3〜a0のうち、a11〜a8をデータDATa_O[3]〜DATa_O[0]に出力し、次にa3〜a0をデータDATa_O[3]〜DATa_O[0]に出力する。これをデータの分だけ繰り返し、最後にビット毎のCRCを付加する。カードホストI/F102bは、書き込まれた8ビットデータa15〜a12、a7〜a3のうち、a15〜a12をデータDATb_O[3]〜DATb_O[0]に出力し、次にa7〜a4をデータDATb_O[3]〜DATb_O[0]に出力する。これをデータの分だけ繰り返し、最後にビット毎のCRCを付加する。
これによって、データ線103c,104cからは、メインマイコン10が書き込んだデータa15〜a0の順で、上位から8ビットずつデータが出力される。なお、ここで示したビット並び替えは一例に過ぎず、例えば2ビット単位に分けるなど、他のビット並び替えを用いてもかまわない。
以上のように、本実施形態によると、複数のカードホストI/Fが組になって協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、冗長なデータ線を減らすことができ、入出力端子数を低減することができる。また、複数枚のカードモジュールを接続する場合も、面積増加を抑えることができ、コストが低減できる。
なお、上述の構成では、ブリッジ回路106はカードホストI/F102a,102bとは別個に設けられていたが、この変形例として、図6に示すカードホストLSI101Aのように、ブリッジ回路106’をカードホストI/F102a’,102b’に取り込んだ構成としてもよい。図6の構成も、上述の構成と同様に動作する。
また、図7に示すように、セット機器100Aがカードスロットを備えておらず、カードホストLSI101が組み込みモジュール115a,115bを制御する構成であってもよい。また、カードスロットと組み込みモジュールの両方を備えたセット機器として構成することも可能である。
また、本実施形態では、データ線103c,104cの計8ビットデータのうち、下位4ビットをカードホストI/F102aが、上位4ビットをカードホストI/F102bが処理する構成としたが、本発明はこれに限定されるものではない。例えば、上位ビットと下位ビットを入れ替えたり、奇数と偶数4ビットずつに分けたりしてもよい。すなわち、8ビットから任意の4ビットを選択し、組み合わせてよい。
また、本実施形態では、メインマイコンからのデータ幅を16ビットのリトルエンディアンとしたが、本発明はこれに限定されるものではない。8ビットマイコンの場合は、ホストI/F内部などに16ビットまたは32ビットためて、本実施形態と同様に、バッファB102a,102bにバイトアクセスまたは16ビットずつワードアクセスしてもよいし、32ビットマイコンの場合は、16ビットずつワードアクセスしてもよい。
また、本実施形態では、ビット変換回路13を用いてビットの並びを変更したが、ビット変換回路13はなくてもよい。この場合、メインマイコン10が、ビットを並び替えたデータをホストI/F11に送信することによって、同様の処理が実現できる。
また、本実施形態では、8ビット対応のMMC105cはカードスロットS105aに挿入可能である構成としたが、本発明はこれに限定されるものではなく、カードスロットS105b側に挿入可能な構成としてもよい。この場合は、ブリッジ回路106において、カードホストI/F102a側にセレクタ107a,107b,107cやDAT0切替回路108を設ければよい。
また、本実施形態では、4ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成について説明したが、本発明はこれに限られるものではない。例えば、8ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、16ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。また、2ビットのカードモジュールに対応可能な4個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。すなわち、Nビットのカードモジュールに対応可能であるM個のカードホストI/F(Nは1以上の整数、Mは2以上の整数)によって、(M×N)ビットのカードモジュールを制御可能にする構成が、本実施形態と同様に実現可能である。
(実施の形態2)
実施の形態2では、実施の形態1で示した2個のカードホストI/F、2個のカードバス端子およびブリッジ回路の組み合わせを、複数備えているカードホストLSIを有するセット機器について説明する。
図8は実施の形態2に係るセット機器の構成図である。図8において、図1と共通の構成要素については図1と同一の符号を付している。図8に示すように、セット機器200は、メインマイコン10、カードホストLSI201、カードバス103,104,213,214,215,216,217、およびカードスロットS205a,S205b,S205c,S205d,S205e,S205f,S205gを備えている。図8では、カードスロットS205a,S205c,S205eに8ビット対応のMMC105c,105d,105eがそれぞれ挿入されており、カードスロットS205gに着脱可能なSDカード105fが挿入されている。
カードホストLSI201は、カードホストI/F202a(#A),202b(#B)とブリッジ回路206a(#AB)、カードホストI/F202c(#C),202d(#D)とブリッジ回路206b(#CD)、および、カードホストI/F202e(#E),202f(#F)とブリッジ回路206c(#EF)を備えており、これらは実施の形態1と同様の構成からなる。また、これらとは別に、第2のカードホストI/FとしてのカードホストI/F202g(#G)を備えている。
また、8ビットイネーブルレジスタ22は、図1の8ビットイネーブルレジスタ12を1ビットから3ビットに拡張したものであり、ビット変換回路23はビット変換回路13をカードホストI/F202a〜202fに対応できるように拡張したものである。8ビットイネーブルレジスタ22から、3ビットに拡張されたイネーブル信号EN22がビット変換回路23に送られる。また、イネーブル信号EN22のビット0,1,2がそれぞれ、ブリッジ回路206a,206b,206cに送られる。
図9はブリッジ回路206a,206b,206cおよびカードホストI/F202gとその周辺の詳細な構成を示す図である。なお、図9ではブリッジ回路206aの内部構成のみを示しており、ブリッジ回路206b,206cの内部構成は省略しているが、ブリッジ回路206aと同様の構成である。
ブリッジ回路206aは、図3に示すブリッジ回路106と同様の構成からなる。ただし、イネーブル信号EN22アサート時のセレクタ107a,107bへの入力が、カードホストI/F202gからの出力になっている。すなわち、セレクタ107a,107bは、イネーブル信号EN22がネゲートされているときは、カードホストI/F202bから出力されたクロックCLKb、コマンドCMDb_Oを選択し、イネーブル信号EN22がアサートされているときは、カードホストI/F202gから出力された信号を選択する。
また、カードホストI/F202gは、入出力信号線として、クロック線217a’(CLKg)、コマンド線217b’(CMDg_OとCMDg_I)および4ビットのデータ線217c’(DATg_OとDATg_I)を備えている。また、クロック線104aが、図3では出力専用であったのに対して、双方向信号線になっている。
カードホストI/F202gの入出力信号線は、ブリッジ回路206a,206b,206c等と次のように接続されている。4ビットのデータ線217c’の出力側(DATg_O)は、ビット3,2がブリッジ回路206aのセレクタ107a,107bに接続されており、ビット1,0がブリッジ回路206bのセレクタ107a,107bに接続されている。一方、4ビットのデータ線217c’の入力側(DATg_I)は、ビット3,2がクロック線104a(CLKb_I)、コマンド線104b(RSPb_I)と接続されており、ビット1,0がクロック線214a(CLKd_I)、コマンド線214b(RSPd_I)と接続されている。さらに、クロック線217a’(CLKg)はブリッジ回路206c内のセレクタ107aに接続されている。コマンド線217b’の出力側(CMDg_O)はブリッジ回路206cのセレクタ107bに接続されており、入力側(CMDg_I)はコマンド線216bの入力側(RSPf_I)と接続されている。
このような構成によって、8ビットモードのとき、カードホストI/F202gが、カードバス端子のうち未使用となる部分(クロック線104a,214a,216aとコマンド線104b,214b,216bに接続されたカードバス端子)を介して、カードスロットS205gに挿入されたSDカード105fを制御することが可能になる。すなわち、8ビット対応のMMC105c,105d,105eが接続されているとき、すなわちイネーブル信号EN22が3ビットともアサートされているとき、未使用となっているクロック線104a,214a,216aおよびコマンド線104b,214b,216bを、SDカード105fを制御するためのクロック線217a、コマンド線217b、4ビットのデータ線217cに割り当て、新たなカードバス217を構築することができる。
なお、クロック線104a、コマンド線104bの入出力切替えは、カードバス217を使用しないときは、それぞれ、出力固定、カードバスI/F202bの出力信号CMODEbであり、カードバス217を使用するときは、ともにカードホストI/F202gの出力信号DATOEgで制御される。クロック線214a,216a、コマンド線214b,216bの入出力切替えも同様である。
以上のように本実施形態によると、8ビットモードのとき、カードバス端子のうち未使用となる部分を介して、別のカードモジュールが制御可能になるので、カードホストLSIの入出力端子を増やすことなく、セット機器のカードスロットを増やすことができる。
(実施の形態3)
図10は実施の形態3に係るセット機器の構成図である。図10において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。
図10に示すように、セット機器300は、メインマイコン10、カードホストLSI301、カードバス103,104、8ビット対応の組み込みMMC305c、およびカードスロットS105bを備えている。すなわち、カードホストLSI301は、カードバス103を介して組み込みMMC305cを制御する。また、カードホストLSI301は、ホストI/F31が高速起動シーケンサ14を有している点と、ブート切替え端子310を備えている点で、図1のカードホストLSI101と異なっている。高速起動シーケンサ14は、ブート切替え端子310が有効であるとき、カードホストLSI301の電源起動時に起動する。
また、8ビット対応の組み込みMMC305cには、メインマイコン10のブートプログラムBT305が保存されている。セット機器300起動時に、メインマイコン10は8ビット対応の組み込みMMC305cからブートプログラムBT305を読み出して実行する。なお、定常時は実施の形態1と同様に、メインマイコン10が、ホストI/F31を介してカードホストLSI301全体を制御する。
以下、高速起動シーケンサ14に関わる動作について説明する。
セット機器300起動時すなわちカードホストLSI301の電源起動時に、ブート切替え端子310が有効であれば、ホストI/F31内部の高速起動シーケンサ14が起動し、メインマイコン10に代わって動作する。まず、高速起動シーケンサ14は、コマンドを発行し、以下の判定を行う。
・カードバス103に接続されているカード種類の判定
・カードバス103に接続されているカードがブート対応しているか否かの判定
カードバス103に接続されているカードすなわち8ビット対応の組み込みMMC305cがブート対応していると判定したとき、高速起動シーケンサ14は、カードホストI/F102aのレジスタR102a、バッファB102aを制御し、ブートデータをカードホストI/F102a内部のバッファB102aへ格納する。その後、カード初期化コマンドを発行し、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定して、8ビット対応の組み込みMMC305cが8ビット対応か否かを判定する。8ビット対応でない場合は、8ビットイネーブルレジスタ12の「8ビットイネーブル」を解除し、4ビットモードとして動作させる。すなわち、高速起動シーケンサ14は、8ビットのカードモジュールがカードホストLSI301に接続されているか否かを判定し、接続されているとき、イネーブルレジスタ12に保持されたイネーブル信号EN12を、8ビットモードを示すように設定する。
このように、カードホストLSI301に高速起動シーケンサ14を内蔵することによって、ブートプログラムBT305の自動読み出しだけでなく、カード初期化やデータビット幅の設定をカードホストLSI301だけで処理することができる。このため、メインマイコン10の負荷を削減し、8ビット対応の組み込みMMC305cを高速に起動することが可能になる。
なお、電源起動時にブート切替え端子310が無効である場合は、高速起動シーケンサ14は動作せず、実施の形態1と同様の動作となり、8ビット対応の組み込みMMC305cを通常のMMCと同様に扱う。すなわち、メインマイコン10が、8ビット対応の組み込みMMC305cの初期化や、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定するなどの制御を行う。
なお、高速起動シーケンサ14は、コマンドを発行し、カード種別とブート対応を判定したが、本発明はこれに限定されるものではない。例えば、それらを設定する端子を別に設けておくことによって、コマンド発行による判定が不要となり、さらに高速起動が可能となる。また、ブートデータをバッファB102aに格納後、8ビット対応か否かを判定するとしたが、本発明はこれに限定されるものではない。例えば、8ビット対応か否かを設定する端子を設けておくことによって、8ビット対応時はブートデータも8ビットモードで格納することができ、さらに高速起動が可能となる。
以上のように本実施形態によると、ホストI/F31内部に設けられた高速起動シーケンサ14によって8ビットイネーブルレジスタ12を制御することによって、実施の形態1の効果に加えて、メインマイコン10の負荷を軽減できるという効果が得られる。また、ハードウェアで制御することになり、高速に起動できるとともに、メインマイコン10を先に起動させることが不要となるため、消費電力を低減することができる。
なお、高速起動シーケンサ14は、8ビットのカードモジュールがカードホストLSI301に接続されているときであっても、これとともに他のカードモジュールがカードホストLSI301に接続されているときは、イネーブルレジスタ12に保持されたイネーブル信号EN12を、8ビットモードを示さないように設定するのが好ましい。
またこのことは、メインマイコンがカードホストLSIに対して8ビットモードか否かを設定する場合も同様である。すなわち、8ビットのカードモジュールがカードホストLSIに接続されているときであっても、これとともに他のカードモジュールがカードホストLSIに接続されているときは、メインマイコンはカードホストLSIを8ビットモードに設定しないのが好ましい。
なお、上述の各実施形態では、ブリッジ回路に接続された2つのカードバスのいずれか一方のみが、8ビット対応のカードモジュールと接続可能であるものとした。これに対して図11に示すセット機器100Bのように、カードホストLSI101Bのブリッジ回路106Bに接続された2つのカードバス103,104の両方が8ビット対応のカードモジュールと接続可能である構成も、容易に実現可能である。
図11の構成では、4ビットデータ線103cがカードスロットS105bに接続されており、カードスロットS105a,S105bの両方に8ビット対応のMMC105c,105dが挿入されている。ブリッジ回路106Bは、図3に示したセレクタ107a,107b,107cやDAT0切替回路108を、カードホストI/F102b側だけでなくカードホストI/F102a側にも備えている。そして、ホストI/F11は、カードスロットS105a,S105bのどちらに8ビット対応のMMCが挿入されたかを示す切替信号SW12をブリッジ回路106Bに与える。
また、図12は3個のカードホストI/Fを用いて8ビット対応のカードモジュールを制御する構成を示している。図12に示すセット機器100Cでは、カードホストLSI101Cにおいて、3個のカードホストI/F102d,102e,102fと3個のカードバス端子121a,121b,121cとの間に、ブリッジ回路106Cが設けられている。カードバス端子121a,121b,121cは、カードバス123,124,126を介してカードスロットS105d,S105e,S105fとそれぞれ接続されている。またデータ線124c,126cはカードスロットS105dにも接続されている。すなわち、2ビットのデータ線123c,124cと4ビットのデータ線126cとを合わせた8ビット分のデータ線によって、8ビット対応のMMC105cを制御する。ブリッジ回路106Cは、図3に示したセレクタ107a,107b,107cやDAT0切替回路108を、カードホストI/F102e側とカードホストI/F102f側に備えている。
なお、上述の各実施形態では、あるカードバスの全てのデータ線を、他のカードモジュールの制御のために用いるものとして説明したが、そのカードバスのデータ線の一部を、他のカードモジュールの制御のために用いるようにしてもよい。例えば、図1の構成において、カードバス104のデータ線104cが計8ビットであり、そのうちの4ビット分をカードスロットS105aと接続するようにしてもよい。
以上の説明から分かるように、上述の各実施形態は、次のような構成にまで容易に拡張可能である。すなわち、Ni(i=1〜M)ビットのカードモジュールに対応可能であるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、M個のカードバス端子と、M個のカードホストI/FとM個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備えた構成とする。そして、ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/FとM個のカードバス端子との間の信号線接続関係を設定する。
(実施の形態4)
図13は実施の形態4に係るセット機器の構成図である。図13において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。
図13に示すように、セット機器600は、メインマイコン10、カードホストLSI601、カードバス103,104、およびカードスロットS105a、S105bを備えている。カードホストLSI601は、図1のカードホストLSI101と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI601は、8ビットのカードモジュールにも対応可能に構成されている。図13は、セット機器600のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI601は、ブリッジ回路606がカードホストI/F102a,102bとビット変換回路13との間に位置している点で、図1のカードホストLSI101と異なっている。ブリッジ回路606とビット変換回路13とはカードホストバス610によって、ブリッジ回路606とカードホストI/F102aとは#Aアクセスバス611によって、そしてブリッジ回路606とカードホストI/F102bとは#Bアクセスバス612によって、それぞれ接続されている。また、カードホストI/F102a,102bはそれぞれ、ブリッジ回路606に、ビジー解除割込信号IB102a,IB102bを出力する。ビジー解除割込信号とは、ライトコマンド発行時、ライトデータ転送後に送信されるビジー状況が“ビジー解除”されたときに、アサートされる割り込みである。
図14はブリッジ回路606とその周辺の詳細な構成を示す図である。図14に示すように、ブリッジ回路606は、#Aアクセス制御回路613と、#Bアクセス制御回路614とを備えており、カードホストLSI601外部からホストI/F11を介して受けた制御信号をカードホストI/F102a,102bに与えるとともに、カードホストI/F102a,102bの設定を行う。
カードホストバス610は、クロック信号CK_a0,CK_b0、アドレス信号AD_ab0、チップイネーブルCS_a0,CS_b0、ライトイネーブルWE_a0,WE_b0、ライトデータWD_a0,WD_b0、リードイネーブルRE_a0,RE_b0、リードデータRD_a0,RD_b0を伝送するための信号線を有している。これらの信号は、#Aアクセス制御回路613または/および#Bアクセス制御回路614に入力される。
#Aアクセスバス611は、#Aアクセス制御回路613から出力されたクロック信号CK_a1、アドレス信号AD_a1、チップイネーブルCS_a1、ライトイネーブルWE_a1、ライトデータWD_a1およびリードイネーブルRE_a1、並びにカードホストI/F102aから出力されたリードデータRD_a1を伝送するための信号線を有している。#Bアクセスバス612は、#Bアクセス制御回路614から出力されたクロック信号CK_b1、アドレス信号AD_b1、チップイネーブルCS_b1、ライトイネーブルWE_b1、ライトデータWD_b1およびリードイネーブルRE_b1、並びにカードホストI/F102bから出力されたリードデータRD_b1を伝送するための信号線を有している。
図15および図16はそれぞれ、カードホストI/F102a,102bが有するレジスタR102a,R102bの構成例を示す図である。図15および図16において、(a)はレジスタマップであり、その内容はレジスタR102a,R102bで同一であり、アドレスのみが異なっている。また、(b)は割込みマスクレジスタのビットアサインを示す。割込みマスクレジスタの役割は、割込み発生時に、割込みがアサートされないように、マスクする割込みを要因毎に設定することである。レジスタR102aではアドレス0x00Aが、レジスタR102bではアドレス0x10Aが、割込みマスクレジスタになっている。ビット0はレスポンス割込みマスク、ビット1はビジー解除割込みマスク、ビット2はライト要求割込みマスク、ビット3はリード要求割込みマスク、ビット4はCRCエラー割込みマスクがアサインされている。また、(c)は割込み要因レジスタのビットアサインを示す。割込み要因レジスタの役割は、割込みがアサートされたときに、割込みの要因を表示することである。レジスタR102aではアドレス0x00Cが、レジスタR102bではアドレス0x10Cが、割込み要因レジスタになっている。ビット0はレスポンス割込み、ビット1はビジー解除割込み、ビット2はライト要求割込み、ビット3はリード要求割込み、ビット4はCRCエラー割込みがアサインされている。
以下、上述した本実施形態に係る構成の動作について説明する。
イネーブル信号EN12がネゲートされているときは、#Aアクセス制御回路613および#Bアクセス制御回路614は、各信号をスルーする。すなわち、カードホストバス610を介して入力される信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0は#Aアクセス制御回路613をスルーし、それぞれ信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1としてカードホストI/F102aに出力される。また、カードホストI/F102aから出力された信号RD_a1は#Aアクセス制御回路613をスルーし、信号RD_a0としてカードホストバス610に出力される。同様に、カードホストバス610を介して入力される信号CK_b0,AD_ab0,CS_b0,WE_b0,WD_b0,RE_b0は#Bアクセス制御回路614をスルーし、それぞれ信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1,RE_b1としてカードホストI/F102bに出力される。また、カードホスト102bから出力された信号RD_b1は#Bアクセス制御回路614をスルーし、信号RD_b0としてカードホストバス610に出力される。
また、イネーブル信号EN12のネゲートが開始したとき、ブリッジ回路606は、カードホストI/F102a,102bの割込みマスクレジスタ(レジスタR102aのアドレス0x00Aと、レジスタR102bのアドレス0x10A)のビット1を“ビジー解除割込みマスク”に設定する。この設定により、イネーブル信号EN12がネゲートされている間、カードホストI/F102a,102bから出力されるビジー解除割込み信号IB102a,IB102bはアサートされない。
イネーブル信号EN12がアサートされているときは、#Bアクセス制御回路614は、クロック信号CK_b1として、クロック信号CK_a1と同じクロック信号CK_a0を出力する。これにより、カードホストI/F102a,102bがともにクロック信号CK_a0に同期して動作することになる。すなわち、カードバス103における入出力データDATa_I,DATa_Oとカードバス104における入出力データDATb_I,DATb_Oとが、同一のクロック信号CLKaに同期して入出力される。
また、#Aアクセス制御回路613が、レジスタR102aのアドレス0x000,0x002,0x004にそれぞれコマンド、コマンドアーギュメント1,2を設定する場合、#Bアクセス制御回路614は、レジスタR102bのアドレス0x100,0x102,0x104にも同一の内容が設定されるように、各入力信号を変換し、#Bアクセスバス612に出力する。
レジスタR102aの上記以外のアドレス、または、レジスタR102bにアクセスする場合は、クロック信号CK_b1を除き、イネーブル信号EN12がネゲートされているときと同様に、カードホストバス610の各信号およびカードホストI/F102a,102bからの信号は、#Aアクセス制御回路613または#Bアクセス制御回路614をスルーする。
また、#Bアクセス制御回路614は、レジスタR102bのアドレス0x106に“クロック外部出力停止”を設定する。これにより、カードホストI/F102bはクロックが出力されない状態に設定され、クロック信号CLKbは出力停止となる。また、#Bアクセス制御回路614は、レジスタR102bのアドレス0x100に“レスポンスなし”を設定する。これにより、カードホストI/F102bは、レスポンス判断回路C102bの機能が無効になり、レスポンスCMDb_Iが返送されない場合であっても、正常に動作する。なお、このようなレジスタ設定は、#Bアクセス制御回路614が設定用信号を生成するようにしてもよいし、メインマイコン10が設定してもよい。
8ビット対応のMMC105cにライトコマンドを発行する場合は、ライトデータ転送後、データDATa_I[0]にのみ送信されるカードのステータス情報としてのビジー状況の制御も必要となる。
イネーブル信号EN12のアサートが開始したとき、#Aアクセス制御回路613は、レジスタR102aのアドレス0x00A、ビット1に“ビジー解除割込みマスク解除”を設定する。これにより、カードホストI/F102aからビジー解除割込み信号IB102aがアサート可能になる。レジスタR102aのアドレス0x008とレジスタR102bのアドレス0x108のビジー状況は、デフォルトで“ビジー”に設定されている。
ライトデータ転送後、ステータス情報がデータDATa_I[0]を介してDAT0判断回路D102aに入力されると、“CRC状況”と“ビジー”が判断され、ビジー解除されたときのみ、“ビジー解除”がレジスタR102aのアドレス0x008に、“ビジー解除割込み”がアドレス0x00C、ビット1に書き込まれる。それとともに、ブリッジ回路606へのビジー解除割込み信号IB102aがアサートされる。
ビジー解除割込み信号IB102aがアサートされると、#Aアクセス制御回路613は、レジスタR102aのアドレス0x00C、ビット1の“ビジー解除割込み”をクリア設定し、#Bアクセス制御回路614は、レジスタR102bのアドレス0x108に“ビジー解除”を設定する。
これにより、カードホストI/F102a,102bはともに“ビジー解除”かつ“割込み要因なし”となり、レジスタR102aのアドレス0x008、レジスタR102bのアドレス0x108のビジー状況を“ビジー”にリセットした後、処理を続行する。
カードホストI/F102bからの割込みI102bは、すべてを通知可能なように設定してもよいが、カードホストI/F102bについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能なようにしてもよい。この設定は、#Bアクセス制御回路614が設定用信号を生成するようにしてもよいし、メインマイコン10が設定してもよい。
次に、ブリッジ回路606における#Aアクセス制御回路613と#Bアクセス制御回路614の構成例について説明する。
図17は#Aアクセス制御回路613の詳細な構成を示す図である。図17に示すように、#Aアクセス制御回路613は、#A信号生成回路615と、セレクタ616a,616b,616c,616d,616e,616f,616gとを備えている。
図18は#Aアクセス制御回路613の動作を示すタイミングチャートであり、(a)は#Aアクセス制御回路613への入力信号、(b)は#Aアクセス制御回路613からの出力信号である。また、期間T1,T2,T3,T4はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12エッジ検出時、イネーブル信号EN12アサートかつビジー解除割込みIB102aネゲート時、イネーブル信号EN12アサートかつビジー解除割込みIB102aアサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、セレクタ616a,616b,616c,616d,616e,616f,616gは、入力信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0,RD_a1をそれぞれ選択し(そのままスルーさせて)、信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1,RD_a0として出力する。
イネーブル信号EN12のエッジ検出時(期間T2)は、#A信号生成回路615は“ビジー解除割込みマスク/マスク解除”設定用信号を生成する。セレクタ616a,616b,616c,616d,616e,616fは、#A信号生成回路615によって生成された信号を信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1として出力する。ここで“ビジー解除割込みマスク/マスク解除”設定用信号とは、クロック信号CK_a1の立上りエッジで、アドレスAD_a1が“0x00A”、チップイネーブルCS_a1がアサート、ライトイネーブルWE_a1がアサート、リードイネーブルRE_a1がネゲートである。そして、ライトデータWD_a1は、イネーブル信号EN12が0(ネゲート)から1(アサート)へ変化したとき“ビジー解除割込みマスク解除”、イネーブル信号EN12が1(アサート)から0(ネゲート)へ変化したとき“ビジー解除割込みマスク”となる。
イネーブル信号EN12がアサートかつビジー解除割込みIB102aネゲート時(期間T3)は、セレクタ616a,616b,616c,616d,616e,616f,616gは、入力信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0,RD_a1を選択し(そのままスルーさせて)、信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1,RD_a0として出力する。
イネーブル信号EN12がアサートかつビジー解除割込みIB102aアサート時(期間T4)は、#A信号生成回路615は“ビジー解除”設定用信号を生成する。セレクタ616a,616b,616c,616d,616e,616fは、#A信号生成回路615によって生成された信号を信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1として出力する。ここで“ビジー解除”設定用信号とは、クロック信号CK_a1の立上りエッジで、アドレスAD_a1が“0x00C”、チップイネーブルCS_a1がアサート、ライトイネーブルWE_a1がアサート、ライトデータWD_a1が“割込みクリア”、リードイネーブルRE_a1がネゲートとなることである。
図19は#Bアクセス制御回路614の詳細な構成を示す図である。図19に示すように、#Bアクセス制御回路614は、#B信号生成回路617と、セレクタ618a,618b,618c,618d,618e,618f,618gとを備えている。
図20は#Bアクセス制御回路614の動作を示すタイミングチャートであり、(a)は#Bアクセス制御回路614への入力信号、(b)は#Bアクセス制御回路614からの出力信号である。また、期間T1,T2,T3,T4はそれぞれ、イネーブル信号EN12ネゲート時、レジスタR102aへコマンド/コマンドアーギュメント設定時、レジスタR102aへコマンド/コマンドアーギュメント設定以外のアクセスまたはレジスタR102bへのアクセス時、ビジー状況ライト時を示す。期間T2,T3,T4はいずれも、イネーブル信号ENがアサートされている。
イネーブル信号EN12がネゲートされているとき(期間T1)、セレクタ618a,618b,618c,618d,618e,618f,618gは、入力信号CK_b0,AD_ab0,CS_b0,WE_b0,WD_b0,RE_b0,RD_b1をそれぞれ選択し(そのままスルーさせて)、信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1,RE_b1,RD_b0として出力する。
レジスタR102aへのコマンド/コマンドアーギュメント設定の場合(期間T2)は、セレクタ618a,618c,618d,618eは、入力信号CK_a0,CS_a0,WE_a0,WD_a0をそれぞれ選択し、信号CK_b1,CS_b1,WE_b1,WD_b1として出力する。また、セレクタ618bは、#B信号生成回路617によってレジスタR102bのコマンド/コマンドアーギュメント設定アドレス“AD_ab0+0x100”に変換されたアドレスを、AD_b1として出力する。
レジスタR102aへのコマンド/コマンドアーギュメント設定以外のリード/ライトアクセスまたはレジスタR102bへのリードライトアクセスの場合(期間T3)は、セレクタ618a,618b,618c,618d,618eは、入力信号CK_a0,AD_ab0,CS_b0,WE_b0,WD_b0をそれぞれ選択し、信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1として出力する。
ビジー解除割込みIB102aがアサートされた場合(期間T4)は、#B信号生成回路617はレジスタR102bへビジー状況“ビジー解除”をライトするための信号を生成する。セレクタ618a、618b、618c、618d、618eは、#B信号生成回路617によって生成された信号をカードホストI/F102bに選択出力する。
ここで、ビジー状況“ビジー解除”をライトするための信号とは、クロック信号CK_b1の立上りエッジで、アドレスAD_b1が“0x108”、チップイネーブルCS_b1がアサート、ライトイネーブルWE_b1がアサート、データWD_b1が“ビジー解除”となることである。なお、クロック信号CK_a0がクロック信号CK_b1として出力される。
以上のように、本実施形態によると、複数のカードホストI/Fが組になって協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、カードバスにおける冗長なデータ線を減らすことができ、入出力端子数を低減することができる。また、複数枚のカードモジュールを接続する場合も、面積増加を抑えることができ、コストが低減できる。
なお、本実施形態では、ビット変換回路13を用いてビットの並びを変更したが、ビット変換回路13はなくてもよい。この場合、メインマイコン10が、ビットを並び替えた
データをホストI/F11に送信することによって、同様の処理が実現できる。また、ブリッジ回路606は、カードホストI/F102a,102bとホストI/F11との間に設けられていればよい。
また、上述の構成では、ブリッジ回路606はカードホストI/F102a,102bとは別個に設けられていたが、ブリッジ回路をカードホストI/Fに取り込んだ構成としてもよい。
また、セット機器がカードスロットを備えておらず、カードホストLSI601が組み込みモジュールを制御する構成であってもよい。また、カードスロットと組み込みモジュールの両方を備えたセット機器として構成することも可能である。
また、本実施形態では、8ビット対応のMMC105cはカードスロットS105aに挿入可能である構成としたが、カードスロットS105b側に挿入可能な構成とすることも可能である。
また、本実施形態では、4ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成について説明したが、これに限られるものではない。例えば、8ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、16ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。また、2ビットのカードモジュールに対応可能な4個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。すなわち、Nビットのカードモジュールに対応可能であるM個のカードホストI/F(Nは1以上の整数、Mは2以上の整数)によって、(M×N)ビットのカードモジュールを制御可能にする構成が、本実施形態と同様に実現可能である。
また、実施の形態2と同様に、本実施形態で示したM個のカードホストI/F、M個のカードバス端子およびブリッジ回路の組み合わせを複数備えているカードホストLSIを構成してもよい。そして、例えば8ビットモードのとき、それ以外の第2のカードホストI/Fが、カードバス端子のうち未使用となる部分を介して、別のカードモジュールを制御可能なように構成してもよい。
また、実施の形態3と同様に、カードホストLSIの電源起動時に起動する高速起動シーケンサを設けてもよい。そして、この高速起動シーケンサは、(M×N)ビットのカードモジュールがカードホストLSIに接続されているか否かを判定し、接続されているとき、イネーブルレジスタに保持されたイネーブル信号を、(M×N)ビットモードを示すように設定するようにしてもよい。あるいは、この高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールがカードホストLSIに接続されているときは、イネーブルレジスタに保持されたイネーブル信号を、(M×N)ビットモードを示さないように設定するようにしてもよい。
あるいは、メインマイコン10が、(M×N)ビットのカードモジュールとともに、他のカードモジュールがカードホストLSIに接続されているときは、カードホストLSIを(M×N)ビットモードに設定しないようにしてもよい。
(実施の形態5)
図21は実施の形態5に係るセット機器の構成図である。図21において、図13と共通の構成要素には図13と同一の符号を付しており、ここではその詳細な説明を省略する。
図21に示すように、セット機器800は、メインマイコン10、カードホストLSI801、カードバス103,104、およびカードスロットS105a、S105bを備えている。カードホストLSI801は、図13のカードホストLSI601と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI801は、8ビットのカードモジュールにも対応可能に構成されている。図21は、セット機器800のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI801は、タイミング調整回路807を備えている点で、図13のカードホストLSI601と異なっている。タイミング調整回路807は、カードホストI/F102a,102bからそれぞれ出力された割り込み信号I802a,I802bを入力とし、カードホストLSI801の外部に各カードホストI/F用の新割り込み信号I812a,I812bを出力するとともに、ブリッジ回路806に割り込みクリア信号CR807を出力する。またタイミング調整回路807は、イネーブル信号EN12を受ける。
ブリッジ回路806は、割り込みクリア信号CR807を受ける以外は、図13のブリッジ回路606と同様の構成からなる。
図22はタイミング調整回路807の動作を示すタイミングチャートであり、(a)はタイミング調整回路807への入力信号、(b)はタイミング調整回路807からの出力信号である。また、期間T1,T2はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12アサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、割込み信号I802a,I802bはそのまま新割り込み信号I812a,I812bとしてスルー出力される。このとき、割込みクリア信号CR807は常にネゲート状態である。
イネーブル信号EN12がアサートされているとき(期間T2)、カードホストI/F102bからの割込みは、送信データに関するエラー割込みに加え、ライト/リード要求を通知可能に設定しておく。割込みが共にライト要求、または、共にリード要求の場合は、タイミング調整回路807は、割込み信号I802a,I802bがともにアサートされた後、新割込み信号I812aのみをアサートし、新割り込み信号I812bはアサートしない。また、割込みクリア信号CR807をアサートする。ブリッジ回路806の#Bアクセス制御回路614は、割込みクリア信号CR807のアサートを受けて、レジスタR102bのアドレス0x10Cの割込み要因をクリアする。割込み信号I802a,I802bがともにネゲートされたとき、タイミング調整回路807は、新割込み信号I812aをネゲートする。
ライト要求/リード要求以外の割込みの場合は、タイミング調整回路807は、割り込み信号I802a,I802bをそのまま新割り込み信号I812a,I812bとしてスルー出力する。
以上のように、本実施形態によると、複数のカードホストI/Fが組みになって協調動作する際、カードホストI/F間で処理タイミングにズレが生じた場合でも、それを検出し同期することが可能になる。
(実施の形態6)
図23は実施の形態6に係るセット機器の構成図である。図23において、図13と共通の構成要素には図13と同一の符号を付しており、ここではその詳細な説明を省略する。
図23に示すように、セット機器900は、メインマイコン10、カードホストLSI901、カードバス103,104、およびカードスロットS105a,S105bを備えている。カードホストLSI901は、図13のカードホストLSI601と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI901は、8ビットのカードモジュールにも対応可能に構成されている。図23は、セット機器900のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI901は、タイミング調整回路907を備えている点で、図13のカードホストLSI601と異なっている。タイミング調整回路907は、カードホストI/F102a,102bからそれぞれ出力されたバッファアドレスポインタA902a,A902bを入力とし、ブリッジ回路906に、カードホストI/F102a,102b用のクロック停止信号908a,908bを出力する。バッファアドレスポインタA902a,A902bは、バッファ先頭アドレスまたは指定アドレスから1つずつインクリメント動作する。またタイミング調整回路907は、イネーブル信号EN12を受ける。
ブリッジ回路906は、クロック停止信号908a,908bを受ける以外は、図13のブリッジ回路606と同様の構成からなる。
図24はタイミング調整回路907の動作を示すタイミングチャートであり、(a)はタイミング調整回路907への入力信号、(b)はタイミング調整回路907からの出力信号である。また、期間T1,T2はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12アサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、タイミング調整回路907は、バッファアドレスポインタA902a,A902bをモニタしない。このため、クロック停止信号908a,908bは常にネゲート状態である。
イネーブル信号EN12がアサートされているとき(期間T2)、タイミング調整回路907は、バッファアドレスポインタA902a,A902bをモニターし、バッファフルアドレスまたは指定アドレスに先に到達した方のカードホストI/F用のクロック停止信号908aまたは908bをアサートする。ブリッジ回路906は、クロック停止信号908aまたは908bがアサートされたとき、このクロック停止信号908aまたは908bに対応する、処理の進んでいる方のカードホストI/F102a,102bへのクロックを停止させる。バッファアドレスポインタA902a,A902が両方ともバッファフルまたは指定アドレスまで到達したとき、タイミング調整回路907は、先ほどアサートしたクロック停止信号908aまたは908bをネゲートする。これにより、クロックが停止されていたカードホストI/Fの処理が再開する。
以上のように、本実施形態によると、複数のカードホストI/Fが組みになって協調動作する際、カードホストI/F間で処理タイミングにズレが生じた場合でも、それを検出し同期することが可能になる。
第1〜第3の各実施形態と同様に、第4〜第6の各実施形態は、次のような構成にまで容易に拡張可能である。すなわち、Ni(i=1〜M)ビットのカードモジュールに対応可能であるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、M個のカードバス端子と、ホストI/Fと、M個のカードホストI/FとホストIFとの間に設けられ、ホストI/Fを介して受けた制御信号をM個のカードホストI/Fに与えるとともに、M個のカードホストI/Fの設定を行うブリッジ回路とを備えた構成とする。そして、ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。
本発明では、カードホストLSIを有するセット機器において、小型軽量化を妨げることなく、複数のリムーバルカードまたは組み込みモジュールが制御可能になるので、例えば、携帯電話端末の小型軽量化と機能拡張の両立に有用である。
10 メインマイコン
11,31 ホストI/F
12 イネーブルレジスタ
13 ビット変換回路
14 高速起動シーケンサ
100,100A,100B,100C,200,300 セット機器
101,101A,101B,101C,201,301 カードホストLSI
102a,102b,102d,102e,102f カードホストI/F
202a,202b,202c,202d,202e,202f,202g カードホストI/F
103,104 カードバス
103a,104a クロック線
103b,104b コマンド線
103c,104c データ線
105a,105b リムーバブルカード
105c,105d リムーバブルカード
106,106’,106B,106C,206a,206b,206c ブリッジ回路
107a,107b,107c セレクタ
108 DAT0切替回路
111a,111b カードバス端子
115a,115b,305c 組み込みモジュール
600,800,900 セット機器
601,801,901 カードホストLSI
606,806,906 ブリッジ回路
807,907 タイミング調整回路
B102a,B102b バッファ
C102a,C102b レスポンス判断回路
EN12 イネーブル信号
本発明は、SDカード等のリムーバブルカードやこれに対応した組み込みモジュール(以下、カードモジュールという)を制御する機能を有する、カードホストLSIとこれを有するセット機器に関する。
マルチメディアがポータブル機器に普及し始め、携帯電話端末等では、SDカード等のリムーバブルカードが着脱可能な外部記憶媒体として広く利用されている。また、近年、eSD(embedded SD)等の組み込みモジュールが、内部記憶装置の一つとして、携帯電話端末等に組み込まれるようになってきている。
これらカードモジュールを制御するカードホストLSIは、従来、形状および仕様の異なる複数種類のカードモジュールに対応するために、データの入出力を行うための入出力端子数が、最も多いカードモジュールと等しくなっている(例えば、特許文献1参照)。
また、近年、カードモジュール間のコピーや、カードモジュールの容量拡張などのため、複数枚のカードモジュールを制御できる、1個または複数個のカードホストLSIが必要とされている(例えば、特許文献2参照)。
特開2004−280808号公報 特開2008−134701号公報
図25および図26は従来のカードホストLSIを用いたセット機器の構成の一例を示す図である。
図25に示すセット機器500は、メインマイコン50と、カードホストLSI501と、カードバス503と、カードスロットS505aとを備えている。カードホストLSI501は、ホストI/F51と、カードホストI/F502aとを有している。なお、カードスロットS505aは、4ビット対応のSDカード505aおよび8ビット対応のMMC(Multi Media Card)515aのどちらにも対応したスロットである。一般に、SDカードのデータ線は4ビット幅、MMCのデータ線は4ビット幅及び8ビット幅である。図25に示すセット機器500は、1枚のSDカード505aまたは1枚のMMC515aに対応できる。
図26に示すセット機器500Aは、メインマイコン50と、カードホストLSI501Aと、カードバス503,504と、カードスロットS505a,S505bとを備えている。カードホストLSI501Aは、ホストI/F51と、カードホストI/F502a,502bとを有している。すなわち、図26の構成は、図25の構成にカードホストI/F502bとカードスロットS505bを追加したものである。なお、カードスロットS505bも、4ビット対応のSDカード505b及び8ビット対応のMMC515bのどちらにも対応したスロットである。図26に示すセット機器500Aは、2枚のSDカード505a,505b、または2枚のMMC515a,515bに対応できる点で、図25と異なっている。
また、カードホストI/F502a,502bは、それぞれレジスタR502a,R502bと、FIFO構成のバッファB502a,B502bとを有している。また、カードバス503はクロック線503a、コマンド線503b、および複数本(ここでは8本)のデータ線503cを有し、カードバス504はクロック線504a、コマンド線504b、および複数本(ここでは8本)のデータ線504cを有している。メインマイコン50は、レジスタR502a,R502bにアクセスすることによって、2つのカードホストI/F502a,502bを介して、カードモジュールを独立に制御する。
ここで、カードホストI/Fのデータ線の本数は、対応する複数種類のカードモジュールのうち、データ線の最も多いカードモジュールと等しくなっている。しかしながら、従来の構成では、データ線の最も多いカードモジュール以外のカードモジュールを使用する場合、数本のデータ線が未使用状態となり、データ線が冗長となる。
また、近年、複数枚のカードモジュールを制御可能にすることが主流となってきており、この場合、カードモジュール毎に、最も多いデータ線と等しい本数のデータ線を準備すると、カードモジュールの枚数に比例して、データ線に接続された入出力端子数が増えることになる。このため、実装面積が増加してしまい、コストが高くなるという問題が生じる。
前記の問題に鑑み、本発明は、複数種類のカードモジュールを複数枚制御できるカードホストLSIにおいて、入出力端子数を低減することを目的とする。
本発明の第1態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御されるM個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続されるM個のカードバス端子と、前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備え、前記ブリッジ回路は、(M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定するものである。
この第1態様によると、Nビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のNビットのカードモジュールを制御することができる。また、ブリッジ回路は、(M×N)ビットモードのとき、当該(M×N)ビットのカードモジュールに係るカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、カードホストI/Fとカードバス端子との間の信号線接続関係を設定する。これにより、Nビット対応のM個のカードホストI/Fを用いて(M×N)ビットのカードモジュールを制御することが可能になる。すなわち、(M×N)ビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、(M×N)ビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fから出力されるクロックおよびコマンドが、前記カードバスに伝達されない状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fから出力されるクロックおよびコマンドが、カードバスに伝達されなくなる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールからのレスポンスが、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールからのレスポンスが、この(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fにも、返される。これにより、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記M個のカードホストI/Fは、それぞれ、コマンドに対するレスポンスの正当性を判断するレスポンス判断回路を備えており、(M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、前記レスポンス判断回路の機能を無効にするのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fについて、レスポンスの正当性の判断機能が無効にされる。これにより、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、(M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fについて、送信データに関するエラー割り込みのみが通知可能に設定される。これにより、(M×N)ビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとから、同一内容の割込みが二重に出力されることを、回避することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、前記ブリッジ回路は、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールのステータスを表すステータス情報が、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定するのが好ましい。
これによると、(M×N)ビットモードのとき、(M×N)ビットのカードモジュールのステータスを表すステータス情報が、この(M×N)ビットのカードモジュールに係るカードホストI/F以外のカードホストI/Fにも、返される。これにより、(M×N)ビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとの協調動作を、確実に継続させることができる。
また、前記第1態様に係るカードホストLSIにおいて、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記ホストI/Fと前記M個のカードホストI/Fとの間に設けられたビット変換回路とを備え、前記ビット変換回路は、前記イネーブル信号を受け、このイネーブル信号が(M×N)ビットモードを示すとき、前記ホストI/Fを介して前記M個のカードホストI/Fに書き込まれるデータについて、前記第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して当該(M×N)ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換するのが好ましい。
これによると、カードホストLSI外部に設けたメインマイコンによってデータを並び替えて、カードホストLSIに出力する必要がなくなり、メインマイコンの負荷を低減することができる。すなわち、ビットの並びの変換をハードウェアで実現することになり、高速かつ低消費電力を実現することができる。
また、前記第1態様に係るカードホストLSIにおいて、前記イネーブル信号を保持するイネーブルレジスタを備えているのが好ましい。
さらに、当該カードホストLSIの電源起動時に起動する高速起動シーケンサを備え、前記高速起動シーケンサは、(M×N)ビットのカードモジュールが当該カードホストLSIに接続されているか否かを判定し、接続されているとき、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示すように設定するのが好ましい。
これによると、カードホストLSI内部の高速起動シーケンサによって、(M×N)ビットモードの設定が実行されるので、カードホストLSI外部に設けたメインマイコンの起動時の負荷を軽減することができる。また、ハードウェアで制御することになり、高速に起動できるとともに、メインマイコンを先に起動させることが不要となるため、消費電力を低減することができる。
さらに、前記高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが当該カードホストLSIに接続されているときは、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示さないように設定するのが好ましい。
これによると、(M×N)ビットのカードモジュールと他のカードモジュールとがカードホストLSIに接続されている場合は、(M×N)ビットのカードモジュールをNビットモードで制御することによって、両方のカードモジュールを使用することが可能になる。
また、前記第1態様に係るカードホストLSIにおいて、例えば、M=2である。
また、前記第1態様に係るカードホストLSIにおいて、前記M個のカードホストI/F、前記M個のカードバス端子、および前記ブリッジ回路の組み合わせを2つ以上備え、かつ、第2のカードホストI/Fを備え、(M×N)ビットモードのとき、前記第2のカードホストI/Fが、前記M個のカードバス端子のうちの未使用となる部分を介して、カードモジュールを制御可能なように構成されているのが好ましい。
これによると、(M×N)ビットモードのとき、第2のカードホストI/Fが、カードバス端子のうち未使用となる部分を介して、カードモジュールを制御可能になるため、カードバス端子を新たに増やすことなく、制御可能なカードモジュールを増やすことができる。
また、本発明の第2態様は、前記第1態様に係るカードホストLSIと、前記カードホストLSIを制御するメインマイコンと、前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えたセット機器である。
また、前記第2態様に係るセット機器において、前記メインマイコンは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが前記カードホストLSIに接続されているときは、前記カードホストLSIを(M×N)ビットモードに設定しないのが好ましい。
また、本発明の第3態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御されるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続されるM個のカードバス端子と、前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備え、前記ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定するものである。
この第3態様によると、Niビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のカードモジュールを制御することができる。また、ブリッジ回路は、Lビットモードのとき、当該Lビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、カードホストI/Fとカードバス端子との間の信号線接続関係を設定する。これにより、複数のカードホストI/Fを用いてLビットのカードモジュールを制御することが可能になる。すなわち、Lビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、Lビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
本発明の第4態様では、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、前記ブリッジ回路は、(M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する。
この第4態様によると、Nビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のNビットのカードモジュールを制御することができる。また、ブリッジ回路は、(M×N)ビットモードのとき、当該(M×N)ビットのカードモジュールに係るカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。これにより、Nビット対応のM個のカードホストI/Fを用いて(M×N)ビットのカードモジュールを制御することが可能になる。すなわち、(M×N)ビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、(M×N)ビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
また、本発明の第5態様は、前記第4態様に係るカードホストLSIと、前記カードホストLSIを制御するメインマイコンと、前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えたセット機器である。
本発明の第6態様は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを複数枚制御する機能を有するカードホストLSIとして、Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、前記カードホストLSI外部からの制御信号を受けるホストI/Fと、前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、前記ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する。
この第6態様によると、Niビットのカードモジュールに対応可能なカードホストI/Fが、M個設けられているので、カードホストLSIは、M枚のカードモジュールを制御することができる。また、ブリッジ回路は、Lビットモードのとき、当該Lビットのカードモジュールに係るカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。これにより、複数のカードホストI/Fを用いてLビットのカードモジュールを制御することが可能になる。すなわち、Lビットのカードモジュールを制御可能にするのに、専用のカードバス端子を設ける必要がなく、入出力端子数を低減することができる。さらに、Lビットのカードモジュール向けのカードホストI/Fを設ける必要がないため、回路規模が増大せず、よってカードホストLSIの面積増加を抑制することができる。
以上のように本発明によると、複数のカードホストI/Fが協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、入出力端子数を低減することができるとともに、面積増加を抑制することができ、コストが低減できる。
実施の形態1に係るセット機器の構成図である。 図1の構成において、8ビット対応のMMCが接続された状態を示す図である。 図1におけるブリッジ回路とその周辺の詳細な構成を示す図である。 8ビット対応のMMC接続時におけるブロックライト実行時のタイミングチャートである。 8ビット対応のMMC接続時におけるビット変換回路のビット並び替えの説明図である。 図3の変形例である。 実施の形態1において、カードホストLSIが組み込みモジュールを制御する構成を示す図である。 実施の形態2に係るセット機器の構成図である。 図8におけるブリッジ回路とその周辺の詳細な構成を示す図である。 実施の形態3に係るセット機器の構成図である。 実施の形態1の変形例に係るセット機器の構成図である。 実施の形態1の変形例に係るセット機器の構成図である。 実施の形態4に係るセット機器の構成図である。 図13におけるブリッジ回路とその周辺の詳細な構成を示す図である。 カードホストI/Fが有するレジスタの構成例を示す図である。 カードホストI/Fが有するレジスタの構成例を示す図である。 図14における♯Aアクセス制御回路の詳細な構成を示す図である。 図17の♯Aアクセス制御回路の動作を示すタイミングチャートである。 図14における♯Bアクセス制御回路の詳細な構成を示す図である。 図19の♯Bアクセス制御回路の動作を示すタイミングチャートである。 実施の形態5に係るセット機器の構成図である。 図21におけるタイミング調整回路の動作を示すタイミングチャートである。 実施の形態6に係るセット機器の構成図である。 図23におけるタイミング調整回路の動作を示すタイミングチャートである。 従来のカードホストLSIを有するセット機器の構成図である。 従来のカードホストLSIを有するセット機器の構成図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は実施の形態1に係るセット機器の構成図である。本実施形態に係るセット機器は、リムーバブルカードの一例としてのMMC、SDカードや、これらのカードバス仕様に対応する組み込みモジュールを制御する機能を有している。本発明に係るセット機器は、例えば、携帯電話端末である。以降の実施形態についても同様である。
図1に示すように、セット機器100は、メインマイコン10、カードホストLSI101、カードバス103,104、およびカードスロットS105a,S105bを備えている。カードホストLSI101は、リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚(図1では2枚)制御する機能を有する。図1では、着脱可能な4ビット対応のSDカード105a,105bがカードスロットS105a,S105bに挿入されている。
カードホストLSI101は、その外部からの制御信号を受けるホストI/F11と、2個のカードホストI/F102a(#A),102b(#B)と、2個のカードバス端子111a,111bを備えている。カードホストI/F102a,102bはそれぞれ、独立したカードマスターとしての機能を備え、4ビットのカードモジュールに対応可能であり、メインマイコン10からホストI/F11を介して制御される。また、カードバス端子111a,111bはカードホストI/F102a,102bにそれぞれ対応しており、カードバス103,104とそれぞれ接続される。
カードバス103は、クロック線103aとコマンド線103bと4ビットのデータ線103cとを有し、カードスロットS105aと接続されている。カードバス104は、クロック線104aとコマンド線104bと4ビットのデータ線104cとを有し、カードスロットS105bと接続されている。クロック線103a,104aはカードスロットS105a,S105bにクロックを送信するための信号線である。コマンド線103b,104bは、カードスロットS105a,S105bにコマンドを送信し、カードスロットS105a,S105bからレスポンスを受信するための信号線である。データ線103c,104cはデータを送受信するための信号線である。さらに本実施形態では、カードバス104のデータ線104cが、カードスロットS105bだけでなく、カードスロットS105aにも接続されている。
また、カードホストI/F102a,102bは、レジスタR102a,R102bとFIFO構成のバッファB102a,B102bとをそれぞれ有する。そして、カードスロットS105a,S105bからのレスポンスやCRCエラー等を、割込み信号I102a,I102bによってメインマイコン10に通知する。
さらに本実施形態では、カードホストLSI101は、8ビットのカードモジュールにも対応可能に構成されている。図2は、図1のセット機器100のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示す図である。すなわち、専用のカードバス端子を設けることなく、8ビットのカードモジュールが制御可能である。
すなわち、カードホストLSI101はさらに、8ビットイネーブルレジスタ12、ビット変換回路13、およびブリッジ回路106を備えている。8ビットイネーブルレジスタ12は、8ビットのカードモジュールを制御する8ビットモードか否かを示すイネーブル信号EN12を保持している。イネーブル信号EN12がアサートされているときは8ビットモードを示し、ネゲートされているときはそうでないことを示す。イネーブル信号EN12はビット変換回路13とブリッジ回路106に送られる。なお、8ビットイネーブルレジスタ12は、ホストI/F11内部にあってもよい。
ブリッジ回路106は、カードホストI/F102a,102bとカードバス端子111a,111bとの間に設けられており、カードホストI/F102a,102bとカードバス端子111a,111bとの間の信号線接続関係を設定する。すなわち、イネーブル信号EN12がアサートされているとき、8ビットのカードモジュールが接続されたカードバス103に対応する第1のカードホストI/FとしてのカードホストI/F102aと他のカードホストI/F102bとが協調動作して、この8ビットのカードモジュールを制御可能な状態に、信号線接続関係を設定する。
ビット変換回路13は、ホストI/F11とカードホストI/F102a,102bとの間に設けられており、イネーブル信号EN12がアサートされているとき、ホストI/F11を介してカードホストI/F102a,102bに書き込まれるデータについて、カードホストI/F102a,102bが協調動作して8ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換する。
すなわち、ビット変換回路13は、イネーブル信号EN12がネゲートされているときは、メインマイコン10からカードホストI/F102a,102bに対してコマンドと引数が設定されると、レジスタR102a,R102bにそれぞれコマンドと引数を書き込む。また、データを書き込む際も同様に、バッファB102a,B102bにそれぞれデータを書き込む。一方、イネーブル信号EN12がアサートされているときは、メインマイコン10からカードホストI/F102aに対してコマンドと引数が設定されると、レジスタR102a,R102bの両方に同じコマンドと引数を書き込む。また、データを書き込む際は、後述するビットを並べ替えたデータをバッファB102a,B102bに書き込む。データを読み出す際は、バッファB102a,B102bそれぞれから、ビットの並びを戻したデータを読み出す。
図3はブリッジ回路106とその周辺の詳細な構成を示す図である。図3に示すように、ブリッジ回路106は、セレクタ107a,107b,107cと、DAT0切替回路108とを備えている。セレクタ107a,107b,107cおよびDAT0切替回路108は、イネーブル信号EN12によって制御される。
セレクタ107aはクロック線104aへの出力を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、カードホストI/F102bから出力されたクロックを選択する一方、イネーブル信号EN12がアサートされているときは、固定値“0”を選択する。セレクタ107bはコマンド線104bへの出力を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、カードホストI/F102bから出力されたコマンドを選択する一方、イネーブル信号EN12がアサートされているときは、固定値“1”を選択する。セレクタ107a,107bの動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、カードホストI/F102bから出力されるクロックおよびコマンドがカードバス104に伝達されない状態に、信号線接続関係が設定される。これにより、カードホストI/F102bから出力されるクロックおよびコマンドがカードバス104に伝達されなくなる。
セレクタ107cはカードホストI/F102bに返されるレスポンスを切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、コマンド線104bから入力されたレスポンスを選択する一方、イネーブル信号EN12がアサートされているときは、8ビットカードモジュールと接続されたコマンド線103bから入力されたレスポンスを選択する。セレクタ107cの動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、8ビットカードモジュールからのレスポンスがカードホストI/F102aとともにカードホストI/F102bにも返される状態に、信号線接続関係が設定される。これにより、カードホストI/F102bにおいて、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
DAT0切替回路108は、カードホストI/F102bに入力されるデータのビット0を切り替える。すなわち、イネーブル信号EN12がネゲートされているときは、データ線104cから入力されたデータのビット0を選択する一方、イネーブル信号EN12がアサートされている場合は、コマンドCMDb_Oがライトコマンドを示したときのみ、データ線103cから入力されたデータのビット0を選択する。本実施形態では、8ビットカードモジュールのステータスを表すステータス情報としてのCRC(Cyclic Redundancy Check)状況およびビジー信号が、データ線103cのデータのビット0として送信される。すなわち、DAT0切替回路108の動作によって、イネーブル信号EN12がアサートされているすなわち8ビットモードを示すとき、8ビットカードモジュールのステータス情報がカードホストI/F102aとともにカードホストI/F102bにも返される状態に、信号線接続関係が設定される。これにより、カードモジュールホストI/F102a,102bの協調動作を、確実に継続させることができる。
また、カードホストI/F102a,102bはそれぞれ、レスポンス判断回路C102a,C102bと、DAT0判断回路D102a,D102bとを備えている。レスポンス判断回路C102a,C102bは、送信したコマンドCMDa_O,CMDb_Oに対して、応答されたレスポンスCMDa_I,CMDb_Iの正当性を判断する。DAT0判断回路D102a,D102bは、入力データDATa_I,DATb_Iのビット0に送信されるCRC状況およびビジー信号を判断する。
なお、8ビットモードのとき、カードホストI/F102bは、レスポンス判断回路C102bとDAT0判断回路D102bを用いず、カードホストI/F102aのレスポンス判断回路C102aとDAT0判断回路D102aの判断結果を用いてもよい。このとき、レスポンス判断回路C102bとDAT0判断回路D102bの機能を無効にしてもよい。これによっても、レスポンスが返ってこないことによるレスポンスエラーを回避することができる。
以下、上述した本実施形態に係る構成の動作について説明する。まず、図1に示すように、4ビット対応のSDカード105a,105bがカードスロットS105a,S105bに挿入されている場合の動作について説明する。このとき、8ビットイネーブルレジスタ12には「8ビットイネーブル」は設定されておらず、イネーブル信号EN12はネゲートされている。
メインマイコン10は、起動シーケンスにより、ホストI/F11およびビット変換回路13を介して、カードホストI/F102a内のレジスタR102aに『識別コマンド』を設定する。これを受けて、カードホストI/F102aから、カードバス103を介してSDカード105aに対して『識別コマンド』が発行される。所定時間内にSDカード105aからレスポンスが返ることによって、メインマイコン10は、SDカード105aが接続されていると判断する。また、メインマイコン10は、カードホストI/F102bに対しても同様の処理を実行することによって、SDカード105bが接続されていると判断する。
その後、メインマイコン10は、8ビットイネーブルレジスタ12の「8ビットイネーブル」を解除したまま、従来と同様に、カードホストI/F102a,120bを介して、SDカード105a,105bを独立に制御する。
このとき、図3の構成において、SDカード105aに関しては、カードホストI/F102aから出力されたクロックCLKa、コマンドCMDa_OおよびデータDATa_Oは、ブリッジ回路106をスルーして、それぞれ、クロック線103a、コマンド線103bおよびデータ線103cを介して、SDカード105aに入力される。SDカード105aからコマンド線103bおよびデータ線103cに出力されたレスポンスおよびデータは、それぞれ、ブリッジ回路106をスルーし、カードホストI/F102aにコマンドCMDa_IおよびデータDATa_Iとして入力される。
SDカード105bに関しては、イネーブル信号EN12はネゲートされているため、カードホストI/F102bから出力されたクロックCLKbおよびコマンドCMDb_Oが、セレクタ107a,107bでそれぞれ選択され、またデータDATb_Oはブリッジ回路106aをスルーして、それぞれ、クロック線104a、コマンド線104bおよびデータ線104cを介して、SDカード105bに入力される。セレクタ107cでは、SDカード105bからコマンド線104bに出力されたレスポンスRSPb_Iが選択され、カードホストI/F102bにレスポンスCMDb_Iとして入力される。また、DAT0切替回路108では、SDカード105bからデータ線104cを介して出力されたデータのビット0が選択される。すなわち、データ線104cから出力された4ビットのデータDATb_I’が、カードホストI/F102bにデータDATb_Iとして入力される。
次に、図2に示すように、8ビット対応のMMC105cがカードスロットS105aに挿入されている場合の動作について説明する。この場合、8ビットイネーブルレジスタ12には「8ビットイネーブル」が設定されて、イネーブル信号EN12はアサートされる。
メインマイコン10は、起動シーケンスにより、ホストI/F11およびビット変換回路13を介して、カードホストI/F102a内のレジスタR102aに『識別コマンド』を設定する。これを受けて、カードホストI/F102aから、カードバス103を介して8ビット対応のMMC105cに対して『識別コマンド』が発行される。所定時間内に8ビット対応のMMC105cからレスポンスが返らない場合、メインマイコン10は、MMCが接続されていると判断する。
次に、メインマイコン10は、MMCの対応ビットを確認するために、まず、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定する。これにより、イネーブル信号EN12がアサートされる。
そして、メインマイコン10から、カードホストI/F102a内のレジスタR102aに対して『バス幅確認コマンド』を設定する。この際、イネーブル信号EN12がアサートされているため、ビット変換回路13は、レジスタR102a,R102bに対して同じコマンドを書き込む。
続いて、メインマイコン10は、カードホストI/F102a内のバッファB102aに対して、8ビットのテストパターンを順次設定する。この際も、イネーブル信号EN12がアサートされているため、ビット変換回路13は、バッファB102a,B102bに対してビットを並べ替えたテストパターンを書き込む。これにより、カードホストI/F102a,102bは、8ビット対応のMMC105cに対して8ビットのテストパターンを出力する。カードホストI/F102a,102bは、8ビット対応のMMC105cから規定の応答パターンが返ってくるか否かにより対応ビット幅を判定し、その結果をメインマイコン10へ出力する。
対応ビット幅が8ビットと判定されると、8ビットイネーブルレジスタ12を「8ビットイネーブル」に設定したまま、すなわちイネーブル信号EN12がアサートされたまま、メインマイコン10はカードホストI/F102a,102bを用いて8ビット対応のMMC105cを制御する。
なお、4ビット対応のMMCが接続されていた場合は、メインマイコン10は、8ビットイネーブルレジスタ12に対して「8ビットイネーブル」設定を解除し、以降の処理は、SDカード105aの場合と同様に、カードホストI/F102aのみを用いて4ビット対応のMMCを制御する。
イネーブル信号EN12がアサートされているとき、図3の構成において、カードホストI/F102aから出力されたクロックCLKa、コマンドCMDa_OおよびデータDATa_Oは、ブリッジ回路106をスルーして、それぞれ、クロック線103a、コマンド線103bおよびデータ線103cを介して、8ビット対応のMMC105cに入力される。さらに、カードホストI/F102bから出力されたデータDATb_Oも、ブリッジ回路106をスルーして、データ線104cを介して、8ビット対応のMMC105cに入力される。
このとき、イネーブル信号EN12がアサートされているため、セレクタ107aは“0”を選択し、セレクタ107bは“1”を選択する。すなわち、カードホストI/F102bからのクロックCLKbおよびコマンドCMDb_Oはブリッジ回路106を通過しない。
8ビット対応のMMC105cからコマンド線103bに出力されたレスポンスは、ブリッジ回路106をスルーし、カードホストI/F102aにレスポンスCMDa_Iとして入力される。さらに、このレスポンスはセレクタ107cで選択され、カードホストI/F102bにレスポンスCMDb_Iとして入力される。
8ビット対応のMMC105cからデータ線103cに出力されたデータは、ブリッジ回路106をスルーし、カードホストI/F102aにデータDATa_Iとして入力される。
また、DAT0切替回路108は、カードホストI/F102bから出力されたコマンドCMDb_Oに応じて、データDATa_Iのビット0またはデータDATb_I’のビット0を選択し、データDATb_I’のビット[3:1]と合わせて、カードホストI/F102bにDATb_Iとして入力される。
図4は8ビット対応のMMC105c接続時における、ブロックライト実行時のタイミングチャートである。図4(a)は8ビット対応のMMC105cの入出力信号タイミングチャートであり、図4(b)はカードホストI/F102b側の入出力信号タイミングチャートである。
図4(a)に示すように、データ転送処理を実行するため、コマンド線103bからMMC105cに対してコマンド“CMDx”を出力する。MMC105cがこれを受信すると、コマンド線103bからカードホストI/F102a、102bに対してレスポンス“Rsp”が入力される。そして、書き込みたいデータブロックを、順次、データ線103c,104cからMMC105cへ出力し、データブロックの最後にビット線ごとにCRCを付加する。また、この最後のデータブロック送信時に、テータ停止処理を実行するため、コマンド線103bからMMC105cに対してコマンド“CMDy”を出力する。
そして、MMC105cからデータ線のDATa[0]に、受信したデータの“CRC状況”と処理中を示す“ビジー”が入力され、最後に、MMC105cが先ほど送信したコマンドを受理すると、コマンド線103bからカードホストI/F102a,102bに対してレスポンス“Rsp”が入力され、ブロックデータライト処理は終了となる。また、レスポンス“Rsp”が入力されたとき、カードホストI/F102aはメインマイコン10へレスポンスがあったことを示す割込み信号I102aを出力する。
図4(b)に示すように、カードホストI/F102b側の出力データDATb_O[3:0]は、ブリッジ回路106をスルーし、データDATb[3:0]へ出力される。CRC出力後に、MMC105cからデータDATa[0]にのみ入力される“CRC状況”と“ビジー”は、DAT0切替回路108の切替によって、データDATb_I[0]にも出力される。
なお、カードホストI/F102bは、メインマイコン10へレスポンスに関する割込みをマスクする設定をしておくことで、割込み信号I102bは出力しないようにしてもよい。すなわち、8ビットモードのときは、カードホストI/F102bについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定してもよい。あるいは、セレクタ107Cを備える代わりに、カードホストI/F102bのレジスタR102bに“レスポンスなし”の設定をし、レスポンス判断回路C102bの機能自体を無効にしてもよい。
図5は8ビット対応のMMC105c接続時における、ビット変換回路13のビット並び替えの説明図である。
図5(a)に示すように、メインマイコン10から8ビット対応のMMC105cに対して16ビットデータa15〜a0を書き込む場合、メインマイコン10はカードホストI/F102a内のバッファB102aのアドレスを指定し、16ビットデータa15〜a0をホストI/F11に対して送信する。
図5(b)に示すように、ホストI/Fからこれらの情報が送信されると、ビット変換回路13は、16ビットデータa15〜a0のうち、a11〜a8、a3〜a0の8ビットをバッファB102aに、a15〜a12、a7〜a4の8ビットをバッファB102bに書き込む。ブロックライト実行時など続けてデータを書き込む場合は、データの分だけ上記と同様の処理を繰り返す。
なお、ここでは、バッファB102a,102bに8ビットずつ書き込むバイトアクセスを用いているが、他にも例えば、ホストI/F11内部などに32ビットためて、バッファB102a,B102bに16ビットずつ書き込むワードアクセスを用いてもよい。
バッファにデータが書き込まれると、カードホストI/F102aは、書き込まれた8ビットデータa11〜a8、a3〜a0のうち、a11〜a8をデータDATa_O[3]〜DATa_O[0]に出力し、次にa3〜a0をデータDATa_O[3]〜DATa_O[0]に出力する。これをデータの分だけ繰り返し、最後にビット毎のCRCを付加する。カードホストI/F102bは、書き込まれた8ビットデータa15〜a12、a7〜a3のうち、a15〜a12をデータDATb_O[3]〜DATb_O[0]に出力し、次にa7〜a4をデータDATb_O[3]〜DATb_O[0]に出力する。これをデータの分だけ繰り返し、最後にビット毎のCRCを付加する。
これによって、データ線103c,104cからは、メインマイコン10が書き込んだデータa15〜a0の順で、上位から8ビットずつデータが出力される。なお、ここで示したビット並び替えは一例に過ぎず、例えば2ビット単位に分けるなど、他のビット並び替えを用いてもかまわない。
以上のように、本実施形態によると、複数のカードホストI/Fが組になって協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、冗長なデータ線を減らすことができ、入出力端子数を低減することができる。また、複数枚のカードモジュールを接続する場合も、面積増加を抑えることができ、コストが低減できる。
なお、上述の構成では、ブリッジ回路106はカードホストI/F102a,102bとは別個に設けられていたが、この変形例として、図6に示すカードホストLSI101Aのように、ブリッジ回路106’をカードホストI/F102a’,102b’に取り込んだ構成としてもよい。図6の構成も、上述の構成と同様に動作する。
また、図7に示すように、セット機器100Aがカードスロットを備えておらず、カードホストLSI101が組み込みモジュール115a,115bを制御する構成であってもよい。また、カードスロットと組み込みモジュールの両方を備えたセット機器として構成することも可能である。
また、本実施形態では、データ線103c,104cの計8ビットデータのうち、下位4ビットをカードホストI/F102aが、上位4ビットをカードホストI/F102bが処理する構成としたが、本発明はこれに限定されるものではない。例えば、上位ビットと下位ビットを入れ替えたり、奇数と偶数4ビットずつに分けたりしてもよい。すなわち、8ビットから任意の4ビットを選択し、組み合わせてよい。
また、本実施形態では、メインマイコンからのデータ幅を16ビットのリトルエンディアンとしたが、本発明はこれに限定されるものではない。8ビットマイコンの場合は、ホストI/F内部などに16ビットまたは32ビットためて、本実施形態と同様に、バッファB102a,102bにバイトアクセスまたは16ビットずつワードアクセスしてもよいし、32ビットマイコンの場合は、16ビットずつワードアクセスしてもよい。
また、本実施形態では、ビット変換回路13を用いてビットの並びを変更したが、ビット変換回路13はなくてもよい。この場合、メインマイコン10が、ビットを並び替えたデータをホストI/F11に送信することによって、同様の処理が実現できる。
また、本実施形態では、8ビット対応のMMC105cはカードスロットS105aに挿入可能である構成としたが、本発明はこれに限定されるものではなく、カードスロットS105b側に挿入可能な構成としてもよい。この場合は、ブリッジ回路106において、カードホストI/F102a側にセレクタ107a,107b,107cやDAT0切替回路108を設ければよい。
また、本実施形態では、4ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成について説明したが、本発明はこれに限られるものではない。例えば、8ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、16ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。また、2ビットのカードモジュールに対応可能な4個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。すなわち、Nビットのカードモジュールに対応可能であるM個のカードホストI/F(Nは1以上の整数、Mは2以上の整数)によって、(M×N)ビットのカードモジュールを制御可能にする構成が、本実施形態と同様に実現可能である。
(実施の形態2)
実施の形態2では、実施の形態1で示した2個のカードホストI/F、2個のカードバス端子およびブリッジ回路の組み合わせを、複数備えているカードホストLSIを有するセット機器について説明する。
図8は実施の形態2に係るセット機器の構成図である。図8において、図1と共通の構成要素については図1と同一の符号を付している。図8に示すように、セット機器200は、メインマイコン10、カードホストLSI201、カードバス103,104,213,214,215,216,217、およびカードスロットS205a,S205b,S205c,S205d,S205e,S205f,S205gを備えている。図8では、カードスロットS205a,S205c,S205eに8ビット対応のMMC105c,105d,105eがそれぞれ挿入されており、カードスロットS205gに着脱可能なSDカード105fが挿入されている。
カードホストLSI201は、カードホストI/F202a(#A),202b(#B)とブリッジ回路206a(#AB)、カードホストI/F202c(#C),202d(#D)とブリッジ回路206b(#CD)、および、カードホストI/F202e(#E),202f(#F)とブリッジ回路206c(#EF)を備えており、これらは実施の形態1と同様の構成からなる。また、これらとは別に、第2のカードホストI/FとしてのカードホストI/F202g(#G)を備えている。
また、8ビットイネーブルレジスタ22は、図1の8ビットイネーブルレジスタ12を1ビットから3ビットに拡張したものであり、ビット変換回路23はビット変換回路13をカードホストI/F202a〜202fに対応できるように拡張したものである。8ビットイネーブルレジスタ22から、3ビットに拡張されたイネーブル信号EN22がビット変換回路23に送られる。また、イネーブル信号EN22のビット0,1,2がそれぞれ、ブリッジ回路206a,206b,206cに送られる。
図9はブリッジ回路206a,206b,206cおよびカードホストI/F202gとその周辺の詳細な構成を示す図である。なお、図9ではブリッジ回路206aの内部構成のみを示しており、ブリッジ回路206b,206cの内部構成は省略しているが、ブリッジ回路206aと同様の構成である。
ブリッジ回路206aは、図3に示すブリッジ回路106と同様の構成からなる。ただし、イネーブル信号EN22アサート時のセレクタ107a,107bへの入力が、カードホストI/F202gからの出力になっている。すなわち、セレクタ107a,107bは、イネーブル信号EN22がネゲートされているときは、カードホストI/F202bから出力されたクロックCLKb、コマンドCMDb_Oを選択し、イネーブル信号EN22がアサートされているときは、カードホストI/F202gから出力された信号を選択する。
また、カードホストI/F202gは、入出力信号線として、クロック線217a’(CLKg)、コマンド線217b’(CMDg_OとCMDg_I)および4ビットのデータ線217c’(DATg_OとDATg_I)を備えている。また、クロック線104aが、図3では出力専用であったのに対して、双方向信号線になっている。
カードホストI/F202gの入出力信号線は、ブリッジ回路206a,206b,206c等と次のように接続されている。4ビットのデータ線217c’の出力側(DATg_O)は、ビット3,2がブリッジ回路206aのセレクタ107a,107bに接続されており、ビット1,0がブリッジ回路206bのセレクタ107a,107bに接続されている。一方、4ビットのデータ線217c’の入力側(DATg_I)は、ビット3,2がクロック線104a(CLKb_I)、コマンド線104b(RSPb_I)と接続されており、ビット1,0がクロック線214a(CLKd_I)、コマンド線214b(RSPd_I)と接続されている。さらに、クロック線217a’(CLKg)はブリッジ回路206c内のセレクタ107aに接続されている。コマンド線217b’の出力側(CMDg_O)はブリッジ回路206cのセレクタ107bに接続されており、入力側(CMDg_I)はコマンド線216bの入力側(RSPf_I)と接続されている。
このような構成によって、8ビットモードのとき、カードホストI/F202gが、カードバス端子のうち未使用となる部分(クロック線104a,214a,216aとコマンド線104b,214b,216bに接続されたカードバス端子)を介して、カードスロットS205gに挿入されたSDカード105fを制御することが可能になる。すなわち、8ビット対応のMMC105c,105d,105eが接続されているとき、すなわちイネーブル信号EN22が3ビットともアサートされているとき、未使用となっているクロック線104a,214a,216aおよびコマンド線104b,214b,216bを、SDカード105fを制御するためのクロック線217a、コマンド線217b、4ビットのデータ線217cに割り当て、新たなカードバス217を構築することができる。
なお、クロック線104a、コマンド線104bの入出力切替えは、カードバス217を使用しないときは、それぞれ、出力固定、カードバスI/F202bの出力信号CMODEbであり、カードバス217を使用するときは、ともにカードホストI/F202gの出力信号DATOEgで制御される。クロック線214a,216a、コマンド線214b,216bの入出力切替えも同様である。
以上のように本実施形態によると、8ビットモードのとき、カードバス端子のうち未使用となる部分を介して、別のカードモジュールが制御可能になるので、カードホストLSIの入出力端子を増やすことなく、セット機器のカードスロットを増やすことができる。
(実施の形態3)
図10は実施の形態3に係るセット機器の構成図である。図10において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。
図10に示すように、セット機器300は、メインマイコン10、カードホストLSI301、カードバス103,104、8ビット対応の組み込みMMC305c、およびカードスロットS105bを備えている。すなわち、カードホストLSI301は、カードバス103を介して組み込みMMC305cを制御する。また、カードホストLSI301は、ホストI/F31が高速起動シーケンサ14を有している点と、ブート切替え端子310を備えている点で、図1のカードホストLSI101と異なっている。高速起動シーケンサ14は、ブート切替え端子310が有効であるとき、カードホストLSI301の電源起動時に起動する。
また、8ビット対応の組み込みMMC305cには、メインマイコン10のブートプログラムBT305が保存されている。セット機器300起動時に、メインマイコン10は8ビット対応の組み込みMMC305cからブートプログラムBT305を読み出して実行する。なお、定常時は実施の形態1と同様に、メインマイコン10が、ホストI/F31を介してカードホストLSI301全体を制御する。
以下、高速起動シーケンサ14に関わる動作について説明する。
セット機器300起動時すなわちカードホストLSI301の電源起動時に、ブート切替え端子310が有効であれば、ホストI/F31内部の高速起動シーケンサ14が起動し、メインマイコン10に代わって動作する。まず、高速起動シーケンサ14は、コマンドを発行し、以下の判定を行う。
・カードバス103に接続されているカード種類の判定
・カードバス103に接続されているカードがブート対応しているか否かの判定
カードバス103に接続されているカードすなわち8ビット対応の組み込みMMC305cがブート対応していると判定したとき、高速起動シーケンサ14は、カードホストI/F102aのレジスタR102a、バッファB102aを制御し、ブートデータをカードホストI/F102a内部のバッファB102aへ格納する。その後、カード初期化コマンドを発行し、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定して、8ビット対応の組み込みMMC305cが8ビット対応か否かを判定する。8ビット対応でない場合は、8ビットイネーブルレジスタ12の「8ビットイネーブル」を解除し、4ビットモードとして動作させる。すなわち、高速起動シーケンサ14は、8ビットのカードモジュールがカードホストLSI301に接続されているか否かを判定し、接続されているとき、イネーブルレジスタ12に保持されたイネーブル信号EN12を、8ビットモードを示すように設定する。
このように、カードホストLSI301に高速起動シーケンサ14を内蔵することによって、ブートプログラムBT305の自動読み出しだけでなく、カード初期化やデータビット幅の設定をカードホストLSI301だけで処理することができる。このため、メインマイコン10の負荷を削減し、8ビット対応の組み込みMMC305cを高速に起動することが可能になる。
なお、電源起動時にブート切替え端子310が無効である場合は、高速起動シーケンサ14は動作せず、実施の形態1と同様の動作となり、8ビット対応の組み込みMMC305cを通常のMMCと同様に扱う。すなわち、メインマイコン10が、8ビット対応の組み込みMMC305cの初期化や、8ビットイネーブルレジスタ12に「8ビットイネーブル」を設定するなどの制御を行う。
なお、高速起動シーケンサ14は、コマンドを発行し、カード種別とブート対応を判定したが、本発明はこれに限定されるものではない。例えば、それらを設定する端子を別に設けておくことによって、コマンド発行による判定が不要となり、さらに高速起動が可能となる。また、ブートデータをバッファB102aに格納後、8ビット対応か否かを判定するとしたが、本発明はこれに限定されるものではない。例えば、8ビット対応か否かを設定する端子を設けておくことによって、8ビット対応時はブートデータも8ビットモードで格納することができ、さらに高速起動が可能となる。
以上のように本実施形態によると、ホストI/F31内部に設けられた高速起動シーケンサ14によって8ビットイネーブルレジスタ12を制御することによって、実施の形態1の効果に加えて、メインマイコン10の負荷を軽減できるという効果が得られる。また、ハードウェアで制御することになり、高速に起動できるとともに、メインマイコン10を先に起動させることが不要となるため、消費電力を低減することができる。
なお、高速起動シーケンサ14は、8ビットのカードモジュールがカードホストLSI301に接続されているときであっても、これとともに他のカードモジュールがカードホストLSI301に接続されているときは、イネーブルレジスタ12に保持されたイネーブル信号EN12を、8ビットモードを示さないように設定するのが好ましい。
またこのことは、メインマイコンがカードホストLSIに対して8ビットモードか否かを設定する場合も同様である。すなわち、8ビットのカードモジュールがカードホストLSIに接続されているときであっても、これとともに他のカードモジュールがカードホストLSIに接続されているときは、メインマイコンはカードホストLSIを8ビットモードに設定しないのが好ましい。
なお、上述の各実施形態では、ブリッジ回路に接続された2つのカードバスのいずれか一方のみが、8ビット対応のカードモジュールと接続可能であるものとした。これに対して図11に示すセット機器100Bのように、カードホストLSI101Bのブリッジ回路106Bに接続された2つのカードバス103,104の両方が8ビット対応のカードモジュールと接続可能である構成も、容易に実現可能である。
図11の構成では、4ビットデータ線103cがカードスロットS105bに接続されており、カードスロットS105a,S105bの両方に8ビット対応のMMC105c,105dが挿入されている。ブリッジ回路106Bは、図3に示したセレクタ107a,107b,107cやDAT0切替回路108を、カードホストI/F102b側だけでなくカードホストI/F102a側にも備えている。そして、ホストI/F11は、カードスロットS105a,S105bのどちらに8ビット対応のMMCが挿入されたかを示す切替信号SW12をブリッジ回路106Bに与える。
また、図12は3個のカードホストI/Fを用いて8ビット対応のカードモジュールを制御する構成を示している。図12に示すセット機器100Cでは、カードホストLSI101Cにおいて、3個のカードホストI/F102d,102e,102fと3個のカードバス端子121a,121b,121cとの間に、ブリッジ回路106Cが設けられている。カードバス端子121a,121b,121cは、カードバス123,124,126を介してカードスロットS105d,S105e,S105fとそれぞれ接続されている。またデータ線124c,126cはカードスロットS105dにも接続されている。すなわち、2ビットのデータ線123c,124cと4ビットのデータ線126cとを合わせた8ビット分のデータ線によって、8ビット対応のMMC105cを制御する。ブリッジ回路106Cは、図3に示したセレクタ107a,107b,107cやDAT0切替回路108を、カードホストI/F102e側とカードホストI/F102f側に備えている。
なお、上述の各実施形態では、あるカードバスの全てのデータ線を、他のカードモジュールの制御のために用いるものとして説明したが、そのカードバスのデータ線の一部を、他のカードモジュールの制御のために用いるようにしてもよい。例えば、図1の構成において、カードバス104のデータ線104cが計8ビットであり、そのうちの4ビット分をカードスロットS105aと接続するようにしてもよい。
以上の説明から分かるように、上述の各実施形態は、次のような構成にまで容易に拡張可能である。すなわち、Ni(i=1〜M)ビットのカードモジュールに対応可能であるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、M個のカードバス端子と、M個のカードホストI/FとM個のカードバス端子との間の信号線接続関係を設定するブリッジ回路とを備えた構成とする。そして、ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/FとM個のカードバス端子との間の信号線接続関係を設定する。
(実施の形態4)
図13は実施の形態4に係るセット機器の構成図である。図13において、図1と共通の構成要素には図1と同一の符号を付しており、ここではその詳細な説明を省略する。
図13に示すように、セット機器600は、メインマイコン10、カードホストLSI601、カードバス103,104、およびカードスロットS105a、S105bを備えている。カードホストLSI601は、図1のカードホストLSI101と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI601は、8ビットのカードモジュールにも対応可能に構成されている。図13は、セット機器600のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI601は、ブリッジ回路606がカードホストI/F102a,102bとビット変換回路13との間に位置している点で、図1のカードホストLSI101と異なっている。ブリッジ回路606とビット変換回路13とはカードホストバス610によって、ブリッジ回路606とカードホストI/F102aとは#Aアクセスバス611によって、そしてブリッジ回路606とカードホストI/F102bとは#Bアクセスバス612によって、それぞれ接続されている。また、カードホストI/F102a,102bはそれぞれ、ブリッジ回路606に、ビジー解除割込信号IB102a,IB102bを出力する。ビジー解除割込信号とは、ライトコマンド発行時、ライトデータ転送後に送信されるビジー状況が“ビジー解除”されたときに、アサートされる割り込みである。
図14はブリッジ回路606とその周辺の詳細な構成を示す図である。図14に示すように、ブリッジ回路606は、#Aアクセス制御回路613と、#Bアクセス制御回路614とを備えており、カードホストLSI601外部からホストI/F11を介して受けた制御信号をカードホストI/F102a,102bに与えるとともに、カードホストI/F102a,102bの設定を行う。
カードホストバス610は、クロック信号CK_a0,CK_b0、アドレス信号AD_ab0、チップイネーブルCS_a0,CS_b0、ライトイネーブルWE_a0,WE_b0、ライトデータWD_a0,WD_b0、リードイネーブルRE_a0,RE_b0、リードデータRD_a0,RD_b0を伝送するための信号線を有している。これらの信号は、#Aアクセス制御回路613または/および#Bアクセス制御回路614に入力される。
#Aアクセスバス611は、#Aアクセス制御回路613から出力されたクロック信号CK_a1、アドレス信号AD_a1、チップイネーブルCS_a1、ライトイネーブルWE_a1、ライトデータWD_a1およびリードイネーブルRE_a1、並びにカードホストI/F102aから出力されたリードデータRD_a1を伝送するための信号線を有している。#Bアクセスバス612は、#Bアクセス制御回路614から出力されたクロック信号CK_b1、アドレス信号AD_b1、チップイネーブルCS_b1、ライトイネーブルWE_b1、ライトデータWD_b1およびリードイネーブルRE_b1、並びにカードホストI/F102bから出力されたリードデータRD_b1を伝送するための信号線を有している。
図15および図16はそれぞれ、カードホストI/F102a,102bが有するレジスタR102a,R102bの構成例を示す図である。図15および図16において、(a)はレジスタマップであり、その内容はレジスタR102a,R102bで同一であり、アドレスのみが異なっている。また、(b)は割込みマスクレジスタのビットアサインを示す。割込みマスクレジスタの役割は、割込み発生時に、割込みがアサートされないように、マスクする割込みを要因毎に設定することである。レジスタR102aではアドレス0x00Aが、レジスタR102bではアドレス0x10Aが、割込みマスクレジスタになっている。ビット0はレスポンス割込みマスク、ビット1はビジー解除割込みマスク、ビット2はライト要求割込みマスク、ビット3はリード要求割込みマスク、ビット4はCRCエラー割込みマスクがアサインされている。また、(c)は割込み要因レジスタのビットアサインを示す。割込み要因レジスタの役割は、割込みがアサートされたときに、割込みの要因を表示することである。レジスタR102aではアドレス0x00Cが、レジスタR102bではアドレス0x10Cが、割込み要因レジスタになっている。ビット0はレスポンス割込み、ビット1はビジー解除割込み、ビット2はライト要求割込み、ビット3はリード要求割込み、ビット4はCRCエラー割込みがアサインされている。
以下、上述した本実施形態に係る構成の動作について説明する。
イネーブル信号EN12がネゲートされているときは、#Aアクセス制御回路613および#Bアクセス制御回路614は、各信号をスルーする。すなわち、カードホストバス610を介して入力される信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0は#Aアクセス制御回路613をスルーし、それぞれ信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1としてカードホストI/F102aに出力される。また、カードホストI/F102aから出力された信号RD_a1は#Aアクセス制御回路613をスルーし、信号RD_a0としてカードホストバス610に出力される。同様に、カードホストバス610を介して入力される信号CK_b0,AD_ab0,CS_b0,WE_b0,WD_b0,RE_b0は#Bアクセス制御回路614をスルーし、それぞれ信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1,RE_b1としてカードホストI/F102bに出力される。また、カードホスト102bから出力された信号RD_b1は#Bアクセス制御回路614をスルーし、信号RD_b0としてカードホストバス610に出力される。
また、イネーブル信号EN12のネゲートが開始したとき、ブリッジ回路606は、カードホストI/F102a,102bの割込みマスクレジスタ(レジスタR102aのアドレス0x00Aと、レジスタR102bのアドレス0x10A)のビット1を“ビジー解除割込みマスク”に設定する。この設定により、イネーブル信号EN12がネゲートされている間、カードホストI/F102a,102bから出力されるビジー解除割込み信号IB102a,IB102bはアサートされない。
イネーブル信号EN12がアサートされているときは、#Bアクセス制御回路614は、クロック信号CK_b1として、クロック信号CK_a1と同じクロック信号CK_a0を出力する。これにより、カードホストI/F102a,102bがともにクロック信号CK_a0に同期して動作することになる。すなわち、カードバス103における入出力データDATa_I,DATa_Oとカードバス104における入出力データDATb_I,DATb_Oとが、同一のクロック信号CLKaに同期して入出力される。
また、#Aアクセス制御回路613が、レジスタR102aのアドレス0x000,0x002,0x004にそれぞれコマンド、コマンドアーギュメント1,2を設定する場合、#Bアクセス制御回路614は、レジスタR102bのアドレス0x100,0x102,0x104にも同一の内容が設定されるように、各入力信号を変換し、#Bアクセスバス612に出力する。
レジスタR102aの上記以外のアドレス、または、レジスタR102bにアクセスする場合は、クロック信号CK_b1を除き、イネーブル信号EN12がネゲートされているときと同様に、カードホストバス610の各信号およびカードホストI/F102a,102bからの信号は、#Aアクセス制御回路613または#Bアクセス制御回路614をスルーする。
また、#Bアクセス制御回路614は、レジスタR102bのアドレス0x106に“クロック外部出力停止”を設定する。これにより、カードホストI/F102bはクロックが出力されない状態に設定され、クロック信号CLKbは出力停止となる。また、#Bアクセス制御回路614は、レジスタR102bのアドレス0x100に“レスポンスなし”を設定する。これにより、カードホストI/F102bは、レスポンス判断回路C102bの機能が無効になり、レスポンスCMDb_Iが返送されない場合であっても、正常に動作する。なお、このようなレジスタ設定は、#Bアクセス制御回路614が設定用信号を生成するようにしてもよいし、メインマイコン10が設定してもよい。
8ビット対応のMMC105cにライトコマンドを発行する場合は、ライトデータ転送後、データDATa_I[0]にのみ送信されるカードのステータス情報としてのビジー状況の制御も必要となる。
イネーブル信号EN12のアサートが開始したとき、#Aアクセス制御回路613は、レジスタR102aのアドレス0x00A、ビット1に“ビジー解除割込みマスク解除”を設定する。これにより、カードホストI/F102aからビジー解除割込み信号IB102aがアサート可能になる。レジスタR102aのアドレス0x008とレジスタR102bのアドレス0x108のビジー状況は、デフォルトで“ビジー”に設定されている。
ライトデータ転送後、ステータス情報がデータDATa_I[0]を介してDAT0判断回路D102aに入力されると、“CRC状況”と“ビジー”が判断され、ビジー解除されたときのみ、“ビジー解除”がレジスタR102aのアドレス0x008に、“ビジー解除割込み”がアドレス0x00C、ビット1に書き込まれる。それとともに、ブリッジ回路606へのビジー解除割込み信号IB102aがアサートされる。
ビジー解除割込み信号IB102aがアサートされると、#Aアクセス制御回路613は、レジスタR102aのアドレス0x00C、ビット1の“ビジー解除割込み”をクリア設定し、#Bアクセス制御回路614は、レジスタR102bのアドレス0x108に“ビジー解除”を設定する。
これにより、カードホストI/F102a,102bはともに“ビジー解除”かつ“割込み要因なし”となり、レジスタR102aのアドレス0x008、レジスタR102bのアドレス0x108のビジー状況を“ビジー”にリセットした後、処理を続行する。
カードホストI/F102bからの割込みI102bは、すべてを通知可能なように設定してもよいが、カードホストI/F102bについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能なようにしてもよい。この設定は、#Bアクセス制御回路614が設定用信号を生成するようにしてもよいし、メインマイコン10が設定してもよい。
次に、ブリッジ回路606における#Aアクセス制御回路613と#Bアクセス制御回路614の構成例について説明する。
図17は#Aアクセス制御回路613の詳細な構成を示す図である。図17に示すように、#Aアクセス制御回路613は、#A信号生成回路615と、セレクタ616a,616b,616c,616d,616e,616f,616gとを備えている。
図18は#Aアクセス制御回路613の動作を示すタイミングチャートであり、(a)は#Aアクセス制御回路613への入力信号、(b)は#Aアクセス制御回路613からの出力信号である。また、期間T1,T2,T3,T4はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12エッジ検出時、イネーブル信号EN12アサートかつビジー解除割込みIB102aネゲート時、イネーブル信号EN12アサートかつビジー解除割込みIB102aアサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、セレクタ616a,616b,616c,616d,616e,616f,616gは、入力信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0,RD_a1をそれぞれ選択し(そのままスルーさせて)、信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1,RD_a0として出力する。
イネーブル信号EN12のエッジ検出時(期間T2)は、#A信号生成回路615は“ビジー解除割込みマスク/マスク解除”設定用信号を生成する。セレクタ616a,616b,616c,616d,616e,616fは、#A信号生成回路615によって生成された信号を信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1として出力する。ここで“ビジー解除割込みマスク/マスク解除”設定用信号とは、クロック信号CK_a1の立上りエッジで、アドレスAD_a1が“0x00A”、チップイネーブルCS_a1がアサート、ライトイネーブルWE_a1がアサート、リードイネーブルRE_a1がネゲートである。そして、ライトデータWD_a1は、イネーブル信号EN12が0(ネゲート)から1(アサート)へ変化したとき“ビジー解除割込みマスク解除”、イネーブル信号EN12が1(アサート)から0(ネゲート)へ変化したとき“ビジー解除割込みマスク”となる。
イネーブル信号EN12がアサートかつビジー解除割込みIB102aネゲート時(期間T3)は、セレクタ616a,616b,616c,616d,616e,616f,616gは、入力信号CK_a0,AD_ab0,CS_a0,WE_a0,WD_a0,RE_a0,RD_a1を選択し(そのままスルーさせて)、信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1,RD_a0として出力する。
イネーブル信号EN12がアサートかつビジー解除割込みIB102aアサート時(期間T4)は、#A信号生成回路615は“ビジー解除”設定用信号を生成する。セレクタ616a,616b,616c,616d,616e,616fは、#A信号生成回路615によって生成された信号を信号CK_a1,AD_a1,CS_a1,WE_a1,WD_a1,RE_a1として出力する。ここで“ビジー解除”設定用信号とは、クロック信号CK_a1の立上りエッジで、アドレスAD_a1が“0x00C”、チップイネーブルCS_a1がアサート、ライトイネーブルWE_a1がアサート、ライトデータWD_a1が“割込みクリア”、リードイネーブルRE_a1がネゲートとなることである。
図19は#Bアクセス制御回路614の詳細な構成を示す図である。図19に示すように、#Bアクセス制御回路614は、#B信号生成回路617と、セレクタ618a,618b,618c,618d,618e,618f,618gとを備えている。
図20は#Bアクセス制御回路614の動作を示すタイミングチャートであり、(a)は#Bアクセス制御回路614への入力信号、(b)は#Bアクセス制御回路614からの出力信号である。また、期間T1,T2,T3,T4はそれぞれ、イネーブル信号EN12ネゲート時、レジスタR102aへコマンド/コマンドアーギュメント設定時、レジスタR102aへコマンド/コマンドアーギュメント設定以外のアクセスまたはレジスタR102bへのアクセス時、ビジー状況ライト時を示す。期間T2,T3,T4はいずれも、イネーブル信号ENがアサートされている。
イネーブル信号EN12がネゲートされているとき(期間T1)、セレクタ618a,618b,618c,618d,618e,618f,618gは、入力信号CK_b0,AD_ab0,CS_b0,WE_b0,WD_b0,RE_b0,RD_b1をそれぞれ選択し(そのままスルーさせて)、信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1,RE_b1,RD_b0として出力する。
レジスタR102aへのコマンド/コマンドアーギュメント設定の場合(期間T2)は、セレクタ618a,618c,618d,618eは、入力信号CK_a0,CS_a0,WE_a0,WD_a0をそれぞれ選択し、信号CK_b1,CS_b1,WE_b1,WD_b1として出力する。また、セレクタ618bは、#B信号生成回路617によってレジスタR102bのコマンド/コマンドアーギュメント設定アドレス“AD_ab0+0x100”に変換されたアドレスを、AD_b1として出力する。
レジスタR102aへのコマンド/コマンドアーギュメント設定以外のリード/ライトアクセスまたはレジスタR102bへのリードライトアクセスの場合(期間T3)は、セレクタ618a,618b,618c,618d,618eは、入力信号CK_a0,AD_ab0,CS_b0,WE_b0,WD_b0をそれぞれ選択し、信号CK_b1,AD_b1,CS_b1,WE_b1,WD_b1として出力する。
ビジー解除割込みIB102aがアサートされた場合(期間T4)は、#B信号生成回路617はレジスタR102bへビジー状況“ビジー解除”をライトするための信号を生成する。セレクタ618a、618b、618c、618d、618eは、#B信号生成回路617によって生成された信号をカードホストI/F102bに選択出力する。
ここで、ビジー状況“ビジー解除”をライトするための信号とは、クロック信号CK_b1の立上りエッジで、アドレスAD_b1が“0x108”、チップイネーブルCS_b1がアサート、ライトイネーブルWE_b1がアサート、ライトデータWD_b1が“ビジー解除”となることである。なお、クロック信号CK_a0がクロック信号CK_b1として出力される。
以上のように、本実施形態によると、複数のカードホストI/Fが組になって協調動作して、個々のカードホストI/Fの対応ビット幅とは異なるビット幅のカードモジュールを制御することが可能になる。したがって、カードバスにおける冗長なデータ線を減らすことができ、入出力端子数を低減することができる。また、複数枚のカードモジュールを接続する場合も、面積増加を抑えることができ、コストが低減できる。
なお、本実施形態では、ビット変換回路13を用いてビットの並びを変更したが、ビット変換回路13はなくてもよい。この場合、メインマイコン10が、ビットを並び替えた
データをホストI/F11に送信することによって、同様の処理が実現できる。また、ブリッジ回路606は、カードホストI/F102a,102bとホストI/F11との間に設けられていればよい。
また、上述の構成では、ブリッジ回路606はカードホストI/F102a,102bとは別個に設けられていたが、ブリッジ回路をカードホストI/Fに取り込んだ構成としてもよい。
また、セット機器がカードスロットを備えておらず、カードホストLSI601が組み込みモジュールを制御する構成であってもよい。また、カードスロットと組み込みモジュールの両方を備えたセット機器として構成することも可能である。
また、本実施形態では、8ビット対応のMMC105cはカードスロットS105aに挿入可能である構成としたが、カードスロットS105b側に挿入可能な構成とすることも可能である。
また、本実施形態では、4ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成について説明したが、これに限られるものではない。例えば、8ビットのカードモジュールに対応可能な2個のカードホストI/Fによって、16ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。また、2ビットのカードモジュールに対応可能な4個のカードホストI/Fによって、8ビットのカードモジュールを制御可能にする構成も、本実施形態と同様に実現可能である。すなわち、Nビットのカードモジュールに対応可能であるM個のカードホストI/F(Nは1以上の整数、Mは2以上の整数)によって、(M×N)ビットのカードモジュールを制御可能にする構成が、本実施形態と同様に実現可能である。
また、実施の形態2と同様に、本実施形態で示したM個のカードホストI/F、M個のカードバス端子およびブリッジ回路の組み合わせを複数備えているカードホストLSIを構成してもよい。そして、例えば8ビットモードのとき、それ以外の第2のカードホストI/Fが、カードバス端子のうち未使用となる部分を介して、別のカードモジュールを制御可能なように構成してもよい。
また、実施の形態3と同様に、カードホストLSIの電源起動時に起動する高速起動シーケンサを設けてもよい。そして、この高速起動シーケンサは、(M×N)ビットのカードモジュールがカードホストLSIに接続されているか否かを判定し、接続されているとき、イネーブルレジスタに保持されたイネーブル信号を、(M×N)ビットモードを示すように設定するようにしてもよい。あるいは、この高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールがカードホストLSIに接続されているときは、イネーブルレジスタに保持されたイネーブル信号を、(M×N)ビットモードを示さないように設定するようにしてもよい。
あるいは、メインマイコン10が、(M×N)ビットのカードモジュールとともに、他のカードモジュールがカードホストLSIに接続されているときは、カードホストLSIを(M×N)ビットモードに設定しないようにしてもよい。
(実施の形態5)
図21は実施の形態5に係るセット機器の構成図である。図21において、図13と共通の構成要素には図13と同一の符号を付しており、ここではその詳細な説明を省略する。
図21に示すように、セット機器800は、メインマイコン10、カードホストLSI801、カードバス103,104、およびカードスロットS105a、S105bを備えている。カードホストLSI801は、図13のカードホストLSI601と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI801は、8ビットのカードモジュールにも対応可能に構成されている。図21は、セット機器800のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI801は、タイミング調整回路807を備えている点で、図13のカードホストLSI601と異なっている。タイミング調整回路807は、カードホストI/F102a,102bからそれぞれ出力された割り込み信号I802a,I802bを入力とし、カードホストLSI801の外部に各カードホストI/F用の新割り込み信号I812a,I812bを出力するとともに、ブリッジ回路806に割り込みクリア信号CR807を出力する。またタイミング調整回路807は、イネーブル信号EN12を受ける。
ブリッジ回路806は、割り込みクリア信号CR807を受ける以外は、図13のブリッジ回路606と同様の構成からなる。
図22はタイミング調整回路807の動作を示すタイミングチャートであり、(a)はタイミング調整回路807への入力信号、(b)はタイミング調整回路807からの出力信号である。また、期間T1,T2はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12アサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、割込み信号I802a,I802bはそのまま新割り込み信号I812a,I812bとしてスルー出力される。このとき、割込みクリア信号CR807は常にネゲート状態である。
イネーブル信号EN12がアサートされているとき(期間T2)、カードホストI/F102bからの割込みは、送信データに関するエラー割込みに加え、ライト/リード要求を通知可能に設定しておく。割込みが共にライト要求、または、共にリード要求の場合は、タイミング調整回路807は、割込み信号I802a,I802bがともにアサートされた後、新割込み信号I812aのみをアサートし、新割り込み信号I812bはアサートしない。また、割込みクリア信号CR807をアサートする。ブリッジ回路806の#Bアクセス制御回路614は、割込みクリア信号CR807のアサートを受けて、レジスタR102bのアドレス0x10Cの割込み要因をクリアする。割込み信号I802a,I802bがともにネゲートされたとき、タイミング調整回路807は、新割込み信号I812aをネゲートする。
ライト要求/リード要求以外の割込みの場合は、タイミング調整回路807は、割り込み信号I802a,I802bをそのまま新割り込み信号I812a,I812bとしてスルー出力する。
以上のように、本実施形態によると、複数のカードホストI/Fが組みになって協調動作する際、カードホストI/F間で処理タイミングにズレが生じた場合でも、それを検出し同期することが可能になる。
(実施の形態6)
図23は実施の形態6に係るセット機器の構成図である。図23において、図13と共通の構成要素には図13と同一の符号を付しており、ここではその詳細な説明を省略する。
図23に示すように、セット機器900は、メインマイコン10、カードホストLSI901、カードバス103,104、およびカードスロットS105a,S105bを備えている。カードホストLSI901は、図13のカードホストLSI601と同様に、カードモジュールを複数枚制御する機能を有する。またカードホストLSI901は、8ビットのカードモジュールにも対応可能に構成されている。図23は、セット機器900のカードスロットS105aに8ビット対応のMMC105cが挿入された状態を示している。
カードホストLSI901は、タイミング調整回路907を備えている点で、図13のカードホストLSI601と異なっている。タイミング調整回路907は、カードホストI/F102a,102bからそれぞれ出力されたバッファアドレスポインタA902a,A902bを入力とし、ブリッジ回路906に、カードホストI/F102a,102b用のクロック停止信号908a,908bを出力する。バッファアドレスポインタA902a,A902bは、バッファ先頭アドレスまたは指定アドレスから1つずつインクリメント動作する。またタイミング調整回路907は、イネーブル信号EN12を受ける。
ブリッジ回路906は、クロック停止信号908a,908bを受ける以外は、図13のブリッジ回路606と同様の構成からなる。
図24はタイミング調整回路907の動作を示すタイミングチャートであり、(a)はタイミング調整回路907への入力信号、(b)はタイミング調整回路907からの出力信号である。また、期間T1,T2はそれぞれ、イネーブル信号EN12ネゲート時、イネーブル信号EN12アサート時を示す。
イネーブル信号EN12がネゲートされているとき(期間T1)、タイミング調整回路907は、バッファアドレスポインタA902a,A902bをモニタしない。このため、クロック停止信号908a,908bは常にネゲート状態である。
イネーブル信号EN12がアサートされているとき(期間T2)、タイミング調整回路907は、バッファアドレスポインタA902a,A902bをモニターし、バッファフルアドレスまたは指定アドレスに先に到達した方のカードホストI/F用のクロック停止信号908aまたは908bをアサートする。ブリッジ回路906は、クロック停止信号908aまたは908bがアサートされたとき、このクロック停止信号908aまたは908bに対応する、処理の進んでいる方のカードホストI/F102a,102bへのクロックを停止させる。バッファアドレスポインタA902a,A902bが両方ともバッファフルまたは指定アドレスまで到達したとき、タイミング調整回路907は、先ほどアサートしたクロック停止信号908aまたは908bをネゲートする。これにより、クロックが停止されていたカードホストI/Fの処理が再開する。
以上のように、本実施形態によると、複数のカードホストI/Fが組みになって協調動作する際、カードホストI/F間で処理タイミングにズレが生じた場合でも、それを検出し同期することが可能になる。
第1〜第3の各実施形態と同様に、第4〜第6の各実施形態は、次のような構成にまで容易に拡張可能である。すなわち、Ni(i=1〜M)ビットのカードモジュールに対応可能であるM個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、M個のカードバス端子と、ホストI/Fと、M個のカードホストI/FとホストIFとの間に設けられ、ホストI/Fを介して受けた制御信号をM個のカードホストI/Fに与えるとともに、M個のカードホストI/Fの設定を行うブリッジ回路とを備えた構成とする。そして、ブリッジ回路は、L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードホストI/Fとが協調動作して、このLビットのカードモジュールを制御可能な状態に、M個のカードホストI/Fを設定する。
本発明では、カードホストLSIを有するセット機器において、小型軽量化を妨げることなく、複数のリムーバルカードまたは組み込みモジュールが制御可能になるので、例えば、携帯電話端末の小型軽量化と機能拡張の両立に有用である。
10 メインマイコン
11,31 ホストI/F
12 イネーブルレジスタ
13 ビット変換回路
14 高速起動シーケンサ
100,100A,100B,100C,200,300 セット機器
101,101A,101B,101C,201,301 カードホストLSI
102a,102b,102d,102e,102f カードホストI/F
202a,202b,202c,202d,202e,202f,202g カードホストI/F
103,104 カードバス
103a,104a クロック線
103b,104b コマンド線
103c,104c データ線
105a,105b リムーバブルカード
105c,105d リムーバブルカード
106,106’,106B,106C,206a,206b,206c ブリッジ回路
107a,107b,107c セレクタ
108 DAT0切替回路
111a,111b カードバス端子
115a,115b,305c 組み込みモジュール
600,800,900 セット機器
601,801,901 カードホストLSI
606,806,906 ブリッジ回路
807,907 タイミング調整回路
B102a,B102b バッファ
C102a,C102b レスポンス判断回路
EN12 イネーブル信号

Claims (31)

  1. リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚、制御する機能を有するカードホストLSIであって、
    Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、
    前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、
    前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定する、ブリッジ回路とを備え、
    前記ブリッジ回路は、
    (M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定する
    ことを特徴とするカードホストLSI。
  2. 請求項1記載のカードホストLSIにおいて、
    前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fから出力されるクロックおよびコマンドが、前記カードバスに伝達されない状態に、前記信号線接続関係を設定する
    ことを特徴とするカードホストLSI。
  3. 請求項1記載のカードホストLSIにおいて、
    前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールからのレスポンスが、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定する
    ことを特徴とするカードホストLSI。
  4. 請求項1記載のカードホストLSIにおいて、
    前記M個のカードホストI/Fは、それぞれ、コマンドに対するレスポンスの正当性を判断するレスポンス判断回路を備えており、
    (M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、前記レスポンス判断回路の機能を無効にする
    ことを特徴とするカードホストLSI。
  5. 請求項1記載のカードホストLSIにおいて、
    (M×N)ビットモードのとき、前記第1のカードホストI/F以外のカードホストI/Fについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定する
    ことを特徴とするカードホストLSI。
  6. 請求項1記載のカードホストLSIにおいて、
    前記カードバスはそれぞれ、信号線として、データを送受信するためのデータ線と、コマンドの送信とレスポンスの受信のためのコマンド線と、クロックを送信するためのクロック線とを備え、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールのステータスを表すステータス情報が、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも返される状態に、前記信号線接続関係を設定する
    ことを特徴とするカードホストLSI。
  7. 請求項1記載のカードホストLSIにおいて、
    前記カードホストLSI外部からの制御信号を受けるホストI/Fと、
    前記ホストI/Fと前記M個のカードホストI/Fとの間に設けられたビット変換回路とを備え、
    前記ビット変換回路は、
    前記イネーブル信号を受け、このイネーブル信号が(M×N)ビットモードを示すとき、前記ホストI/Fを介して前記M個のカードホストI/Fに書き込まれるデータについて、前記第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して当該(M×N)ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換する
    ことを特徴とするカードホストLSI。
  8. 請求項1記載のカードホストLSIにおいて、
    前記イネーブル信号を保持するイネーブルレジスタを備えた
    ことを特徴とするカードホストLSI。
  9. 請求項8記載のカードホストLSIにおいて、
    当該カードホストLSIの電源起動時に起動する高速起動シーケンサを備え、
    前記高速起動シーケンサは、(M×N)ビットのカードモジュールが当該カードホストLSIに接続されているか否かを判定し、接続されているとき、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示すように設定する
    ことを特徴とするカードホストLSI。
  10. 請求項9記載のカードホストLSIにおいて、
    前記高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが当該カードホストLSIに接続されているときは、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示さないように設定する
    ことを特徴とするカードホストLSI。
  11. 請求項1記載のカードホストLSIにおいて、
    M=2である
    ことを特徴とするカードホストLSI。
  12. 請求項1記載のカードホストLSIにおいて、
    前記M個のカードホストI/F、前記M個のカードバス端子、および前記ブリッジ回路の組み合わせを2つ以上備え、かつ、
    第2のカードホストI/Fを備え、
    (M×N)ビットモードのとき、前記第2のカードホストI/Fが、前記M個のカードバス端子のうちの未使用となる部分を介して、カードモジュールを制御可能なように構成されている
    ことを特徴とするカードホストLSI。
  13. 請求項1記載のカードホストLSIと、
    前記カードホストLSIを制御するメインマイコンと、
    前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えた
    ことを特徴とするセット機器。
  14. 請求項13記載のセット機器において、
    前記メインマイコンは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが前記カードホストLSIに接続されているときは、前記カードホストLSIを(M×N)ビットモードに設定しない
    ことを特徴とするセット機器。
  15. リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚、制御する機能を有するカードホストLSIであって、
    Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、
    前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、
    前記M個のカードホストI/Fと前記M個のカードバス端子との間に設けられ、前記M個のカードホストI/Fと前記M個のカードバス端子との間の信号線接続関係を設定する、ブリッジ回路とを備え、
    前記ブリッジ回路は、
    L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記信号線接続関係を設定する
    ことを特徴とするカードホストLSI。
  16. リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚、制御する機能を有するカードホストLSIであって、
    Nビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Nは1以上の整数、Mは2以上の整数)、
    前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、
    前記カードホストLSI外部からの制御信号を受けるホストI/Fと、
    前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、
    前記ブリッジ回路は、
    (M×N)ビットのカードモジュールを制御する(M×N)ビットモードか否かを示すイネーブル信号を受け、前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールが接続されたカードバスに対応する第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して、この(M×N)ビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する
    ことを特徴とするカードホストLSI。
  17. 請求項16記載のカードホストLSIにおいて、
    前記M個のカードホストI/Fからそれぞれ出力された割り込み信号を入力とし、前記カードホストLSIの外部に各カードホストI/F用の新割り込み信号を出力するものであり、かつ、前記イネーブル信号を受ける、タイミング調整回路を備え、
    前記タイミング調整回路は、
    前記イネーブル信号が(M×N)ビットモードを示す場合において、割り込みがライト要求またはリード要求のとき、前記M個のカードホストI/Fから出力された全ての割り込み信号がアサートされたときに、前記第1のカードホストI/F用の新割り込み信号のみをアサートする
    ことを特徴とするカードホストLSI。
  18. 請求項16記載のカードホストLSIにおいて、
    前記M個のカードホストI/Fは、それぞれ、バッファを備えており、
    前記カードホストLSIは、さらに、
    前記M個のカードホストI/Fからそれぞれ出力されたバッファアドレスポインタを入力とし、前記ブリッジ回路に各カードホストI/F用のクロック停止信号を出力するものであり、かつ、前記イネーブル信号を受ける、タイミング調整回路を備え、
    前記タイミング調整回路は、
    前記イネーブル信号が(M×N)ビットモードを示す場合において、前記M個のカードホストI/Fから出力された全てのバッファアドレスポインタがバッファフルアドレスまたは指定アドレスに到達するまでの間、バッファアドレスポインタがバッファフルアドレスまたは指定アドレスに到達したカードホストI/F用のクロック停止信号をアサートする
    ことを特徴とするカードホストLSI。
  19. 請求項16記載のカードホストLSIにおいて、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fについて、クロックが出力されない状態に設定する
    ことを特徴とするカードホストLSI。
  20. 請求項16記載のカードホストLSIにおいて、
    前記M個のカードホストI/Fは、それぞれ、コマンドに対するレスポンスの正当性を判断するレスポンス判断回路を備えており、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fについて、前記レスポンス判断回路の機能を無効にする
    ことを特徴とするカードホストLSI。
  21. 請求項16記載のカードホストLSIにおいて、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、前記第1のカードホストI/F以外のカードホストI/Fについて、発生した割り込みのうち、送信データに関するエラー割り込みのみを通知可能に設定する
    ことを特徴とするカードホストLSI。
  22. 請求項16記載のカードホストLSIにおいて、
    前記ブリッジ回路は、
    前記イネーブル信号が(M×N)ビットモードを示すとき、当該(M×N)ビットのカードモジュールのステータスを表すステータス情報が、前記第1のカードホストI/Fとともにそれ以外のカードホストI/Fにも共有されるように、設定する
    ことを特徴とするカードホストLSI。
  23. 請求項16記載のカードホストLSIにおいて、
    前記ホストI/Fと前記ブリッジ回路との間に設けられたビット変換回路を備え、
    前記ビット変換回路は、
    前記イネーブル信号を受け、このイネーブル信号が(M×N)ビットモードを示すとき、前記ホストI/Fを介して前記M個のカードホストI/Fに書き込まれるデータについて、前記第1のカードホストI/Fとそれ以外のカードホストI/Fとが協調動作して当該(M×N)ビットのカードモジュールにデータ書き込み可能なように、ビットの並びを変換する
    ことを特徴とするカードホストLSI。
  24. 請求項16記載のカードホストLSIにおいて、
    前記イネーブル信号を保持するイネーブルレジスタを備えた
    ことを特徴とするカードホストLSI。
  25. 請求項24記載のカードホストLSIにおいて、
    当該カードホストLSIの電源起動時に起動する高速起動シーケンサを備え、
    前記高速起動シーケンサは、(M×N)ビットのカードモジュールが当該カードホストLSIに接続されているか否かを判定し、接続されているとき、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示すように設定する
    ことを特徴とするカードホストLSI。
  26. 請求項25記載のカードホストLSIにおいて、
    前記高速起動シーケンサは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが当該カードホストLSIに接続されているときは、前記イネーブルレジスタに保持された前記イネーブル信号を、(M×N)ビットモードを示さないように設定する
    ことを特徴とするカードホストLSI。
  27. 請求項16記載のカードホストLSIにおいて、
    M=2である
    ことを特徴とするカードホストLSI。
  28. 請求項16記載のカードホストLSIにおいて、
    前記M個のカードホストI/F、前記M個のカードバス端子、および前記ブリッジ回路の組み合わせを2つ以上備え、かつ、
    第2のカードホストI/Fを備え、
    (M×N)ビットモードのとき、前記第2のカードホストI/Fが、前記M個のカードバス端子のうちの未使用となる部分を介して、カードモジュールを制御可能なように構成されている
    ことを特徴とするカードホストLSI。
  29. 請求項16記載のカードホストLSIと、
    前記カードホストLSIを制御するメインマイコンと、
    前記カードホストLSIの前記M個のカードバス端子とそれぞれ接続された、M個のカードスロットまたは組み込みモジュールとを備えた
    ことを特徴とするセット機器。
  30. 請求項29記載のセット機器において、
    前記メインマイコンは、(M×N)ビットのカードモジュールとともに、他のカードモジュールが前記カードホストLSIに接続されているときは、前記カードホストLSIを(M×N)ビットモードに設定しない
    ことを特徴とするセット機器。
  31. リムーバブルカードまたは組み込みモジュールであるカードモジュールを、複数枚、制御する機能を有するカードホストLSIであって、
    Ni(i=1〜M)ビットのカードモジュールに対応可能であり、前記カードホストLSI外部から制御される、M個のカードホストI/Fと(Niは1以上の整数、Mは2以上の整数)、
    前記M個のカードホストI/Fにそれぞれ対応しており、前記カードホストLSI外部のM個のカードバスとそれぞれ接続される、M個のカードバス端子と、
    前記カードホストLSI外部からの制御信号を受けるホストI/Fと、
    前記M個のカードホストI/Fと前記ホストI/Fとの間に設けられ、前記ホストI/Fを介して受けた制御信号を前記M個のカードホストI/Fに与えるとともに、前記M個のカードホストI/Fの設定を行う、ブリッジ回路とを備え、
    前記ブリッジ回路は、
    L(Lは2以上の整数)ビットのカードモジュールを複数のカードホストI/Fによって制御するLビットモードか否かを示すイネーブル信号を受け、このイネーブル信号がLビットモードを示すとき、当該Lビットのカードモジュールが接続されたカードバスに対応するカードホストI/Fと他のカードモジュールとが協調動作して、このLビットのカードモジュールを制御可能な状態に、前記M個のカードホストI/Fを設定する
    ことを特徴とするカードホストLSI。
JP2010534672A 2008-10-24 2009-10-14 カードホストlsi、およびこれを有するセット機器 Withdrawn JPWO2010047059A1 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2008274575 2008-10-24
JP2008274575 2008-10-24
JP2009165517 2009-07-14
JP2009165517 2009-07-14
PCT/JP2009/005367 WO2010047059A1 (ja) 2008-10-24 2009-10-14 カードホストlsi、およびこれを有するセット機器

Publications (1)

Publication Number Publication Date
JPWO2010047059A1 true JPWO2010047059A1 (ja) 2012-03-22

Family

ID=42119114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010534672A Withdrawn JPWO2010047059A1 (ja) 2008-10-24 2009-10-14 カードホストlsi、およびこれを有するセット機器

Country Status (4)

Country Link
US (1) US20110197008A1 (ja)
JP (1) JPWO2010047059A1 (ja)
CN (1) CN102197404A (ja)
WO (1) WO2010047059A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5641754B2 (ja) * 2010-03-23 2014-12-17 dブロード株式会社 インターフェースカードシステム
TWM427624U (en) * 2011-08-26 2012-04-21 Power Quotient Int Co Ltd Storage device with communication function and expandable capacity
GB2497314A (en) * 2011-12-06 2013-06-12 St Microelectronics Grenoble 2 Independent blocks to control independent busses or a single combined bus
US20160259754A1 (en) 2015-03-02 2016-09-08 Samsung Electronics Co., Ltd. Hard disk drive form factor solid state drive multi-card adapter

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0567028A (ja) * 1991-09-06 1993-03-19 Toshiba Corp 情報処理装置
JPH09237141A (ja) * 1996-02-29 1997-09-09 Toshiba Corp コンピュータシステム及びコンピュータシステムに適用する拡張ユニット
JP2001027921A (ja) * 1999-07-15 2001-01-30 Mitsubishi Electric Corp Pcカードインターフェースおよびpcカード
US6470284B1 (en) * 1999-08-05 2002-10-22 02 Micro International Limited Integrated PC card host controller for the detection and operation of a plurality of expansion cards
JP2001067303A (ja) * 1999-08-24 2001-03-16 Toshiba Corp カード利用装置及び同装置におけるカード利用方法
US6549967B1 (en) * 1999-11-12 2003-04-15 Intel Corporation System for a PCI proxy link architecture
US6681286B2 (en) * 2000-01-25 2004-01-20 Via Technologies, Inc. Control chipset having dual-definition pins for reducing circuit layout of memory slot
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
JP2002073522A (ja) * 2000-08-25 2002-03-12 Ricoh Co Ltd メモリカードブリッジ
JP4024123B2 (ja) * 2002-10-10 2007-12-19 株式会社リコー メモリカード制御方式及び電子機器
US7511850B2 (en) * 2003-02-26 2009-03-31 Canon Kabuhsiki Kaisha Storage media control circuit and apparatus including same
JP2004289752A (ja) * 2003-03-25 2004-10-14 Matsushita Electric Ind Co Ltd カードスロット付電子機器装置
TWI259406B (en) * 2003-08-15 2006-08-01 Via Tech Inc A method and an apparatus of flash cards access
US7383982B2 (en) * 2003-08-27 2008-06-10 Ricoh Company, Ltd. Card recognition system for recognizing standard card and non-standard card
US20050097263A1 (en) * 2003-10-31 2005-05-05 Henry Wurzburg Flash-memory card-reader to IDE bridge
US7099969B2 (en) * 2003-11-06 2006-08-29 Dell Products L.P. Dynamic reconfiguration of PCI Express links
US20050173529A1 (en) * 2004-02-06 2005-08-11 Ching-Twu Youe Multi-card data transfer device
US7269669B2 (en) * 2004-07-07 2007-09-11 Sychip Inc Sharing single host controller with multiple functional devices
JP2006024143A (ja) * 2004-07-09 2006-01-26 Sony Corp 情報処理装置、外部装置、ホスト装置、及び通信方法
TWM282264U (en) * 2005-04-27 2005-12-01 Chiun-Sheng Wang Composite type card reader
US20070233926A1 (en) * 2006-03-10 2007-10-04 Inventec Corporation Bus width automatic adjusting method and system
US7447825B2 (en) * 2006-03-10 2008-11-04 Inventec Corporation PCI-E automatic allocation system
US7480757B2 (en) * 2006-05-24 2009-01-20 International Business Machines Corporation Method for dynamically allocating lanes to a plurality of PCI Express connectors
US7587544B2 (en) * 2006-09-26 2009-09-08 Intel Corporation Extending secure digital input output capability on a controller bus
JP2008204104A (ja) * 2007-02-19 2008-09-04 Ricoh Co Ltd メモリカード制御装置及び電子機器

Also Published As

Publication number Publication date
CN102197404A (zh) 2011-09-21
US20110197008A1 (en) 2011-08-11
WO2010047059A1 (ja) 2010-04-29

Similar Documents

Publication Publication Date Title
US5819096A (en) PCI to ISA interrupt protocol converter and selection mechanism
JP3524110B2 (ja) マイクロコンピュータシステム
JP5641754B2 (ja) インターフェースカードシステム
US7581054B2 (en) Data processing system
WO2009093680A1 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
JP2718292B2 (ja) マイクロプロセッサ
WO2010047059A1 (ja) カードホストlsi、およびこれを有するセット機器
JP2003296267A (ja) バスシステム及びバスシステムを含む情報処理システム
JPH04350754A (ja) データチャンネルに対するインターフェースを含むワークステーションまたは類似のデータ処理システム
US20150177816A1 (en) Semiconductor integrated circuit apparatus
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
US8244994B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
US20030217218A1 (en) Interface for devices having different data bus widths and data transfer method using the interface
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
US20030236941A1 (en) Data processor
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
EP0550976B1 (en) Memory accessing device using address pipeline
WO1998009221A1 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks
JP2002366509A (ja) ダイレクトメモリアクセスコントローラおよびそのアクセス制御方法
US8560748B2 (en) Information processing system including interrupt processing function
US20010005870A1 (en) External bus control system
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JPH1139278A (ja) プロセッサおよびメモリアクセス方法
JPH117397A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130108