説明

データ転送制御装置及びICカード

【課題】 通信装置と記憶装置との間のデータ転送処理の高速化及び低消費電力化をより効果的に図ることができるデータ転送制御装置及びICカードを提供する。
【解決手段】 外部装置とデータ通信を行う通信装置40、外部装置から受信した受信データ及び外部装置に送信する送信データを記憶可能な記憶装置30、記憶装置30及び通信装置40を制御する演算処理装置10を有するICカード1に搭載され、データ転送処理を制御するデータ転送制御装置20であって、通信装置40から、少なくともエラー検出情報を含むステータス情報を取得するステータス情報取得手段22と、データ転送処理の実行時に、ステータス情報取得手段22が取得したステータス情報に基づいて、データ転送処理の実行可否を判定する判定手段23と、判定手段23によるデータ転送処理の実行可否判定結果に応じて、データ転送処理を実行するデータ転送処理実行手段24と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくとも通信装置と記憶装置との間のデータ転送処理を制御するデータ転送制御装置、及び、前記データ転送処理を備えたICカードに関する。
【背景技術】
【0002】
ICカードは、一般的に、RAM(Random access Memory)やフラッシュメモリ等の記憶装置、外部機器と通信するための通信装置、及び、ICカードに搭載された各装置の動作制御を行うCPU(Central Processing Unit)を備えて構成されている。
ところで、一般的に、ハードウェア処理に比べ、CPUによるソフトウェア処理は、同程度の消費電力の場合、処理速度が遅く、処理速度を上げるために動作周波数を大きく設定すると消費電力が増大する。このため、特に、電子乗車券等、高速なデータ転送処理と低消費電力動作が求められる用途に用いられるICカードには、処理時間の短縮化を図るために、少なくとも記憶装置と通信装置の間のデータ転送処理を、CPUを介さずに、ハードウェア的に実行可能な専用のLSI(DMAコントローラ)を備えたものがある。
【0003】
ここで、図8は、DMAコントローラを備えた従来のICカードの一例を示している。図8に示すように、ICカード100は、ICカード100に搭載された各装置の動作制御を行うCPU10と、ICカードリーダ等の外部装置と非接触式データ通信を行うための通信装置40と、通信装置40が外部装置から受信した受信データ及び通信装置40が外部装置に送信する送信データを記憶可能な記憶装置30と、記憶装置30と通信装置40との間のデータ転送処理を制御するDMAコントローラ110を備えて構成されている。更に、ICカード100には、アドレス信号やリード/ライト信号等の各種制御信号を伝送するアドレスバス50と、受信データ及び送信データ等のデータ信号を伝送するデータバス60を備えおり、CPU10及びDMAコントローラ110は、アドレスバス50を介して各種制御信号を記憶装置30及び通信装置40に出力することにより、記憶装置30と通信装置40との間のデータ転送処理を制御する。
【0004】
DMAコントローラを備えたICカードにおけるデータ転送処理の高速化及び低消費電力化を図るための技術として、例えば、データ転送処理における単位時間当たりの処理クロック数を可変に構成し、LSIの動作状況、即ち、高速処理を行いたい場合と消費電力を低減したい場合の夫々の状況に応じて、処理クロック数を設定するように構成したICカードがある(例えば、特許文献1参照)。
【0005】
尚、特許文献1に記載のICカードでは、DMAコントローラ(メモリユーティリティ部)が、CPUの処理クロック数の設定を行い、通信装置から外部装置へのデータ送信処理時に、記憶装置と通信装置との間のデータ転送処理と並行して、データのパリティコードの生成を行う。即ち、パリティコードの生成を、CPUではなくDMAコントローラ側でデータ転送処理と並行して行うことにより、パリティコードの生成時間の短縮を図っている。
【0006】
【特許文献1】特開2007−193745号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、近年、ICカードの利用が増大しており、特に、乗車券等のICカードでは、消費電力の低減が課題となっており、消費電力を増大させることなく処理速度の向上を図る技術が求められている。
【0008】
尚、近年、CPUの処理速度の高速化により、特に、外部装置とデータ通信を行う通信装置の動作周波数とCPUの動作周波数の違いから、通信装置とデータ通信における送信データ及び受信データを格納する記憶装置との間のデータ転送処理の高速化及び低消費電力化が課題となっている。
【0009】
本発明は上記の問題に鑑みてなされたものであり、その目的は、通信装置と記憶装置との間のデータ転送処理の高速化及び低消費電力化をより効果的に図ることができるデータ転送制御装置を提供する点にある。また、データ転送処理の高速化及び低消費電力化をより効果的に図ることができるICカードを提供する。
【課題を解決するための手段】
【0010】
上記目的を達成するための本発明に係るデータ転送制御装置は、外部装置とデータ通信を行うための通信装置、前記通信装置が前記外部装置から受信した受信データ及び前記通信装置が前記外部装置に対して送信する送信データを記憶可能な記憶装置、前記記憶装置及び前記通信装置を制御する演算処理装置を有するICカードに搭載され、少なくとも前記通信装置と前記記憶装置との間のデータ転送処理を制御可能に構成されたデータ転送制御装置であって、前記通信装置から、少なくともエラー検出情報を含むステータス情報を取得するステータス情報取得手段と、前記データ転送処理の実行時に、前記ステータス情報取得手段が取得した前記ステータス情報に基づいて、前記データ転送処理の実行可否を判定する判定手段と、前記判定手段による前記データ転送処理の実行可否判定結果に応じて、前記データ転送処理を実行するデータ転送処理実行手段と、を備えることを第1の特徴とする。
【0011】
上記特徴の本発明に係るデータ転送制御装置は、前記通信装置に設置されたレジスタの記憶領域の内、前記ステータス情報を格納した記憶領域のアドレスを示すステータスレジスタアドレス情報を記憶したレジスタを備え、前記ステータス情報取得手段が、前記レジスタから前記ステータスレジスタアドレス情報を取得し、前記ステータスレジスタアドレス情報が示す前記記憶領域から前記ステータス情報を取得することを第2の特徴とする。
【0012】
上記何れかの特徴の本発明に係るデータ転送制御装置は、前記ステータス情報取得手段が、前記外部装置から前記通信装置へのデータ受信処理時に、所定の受信モニタ条件に基づいて前記ステータス情報を取得し、前記判定手段が、前記データ受信処理時に、前記ステータス情報に前記受信データに対する受信エラー検出情報が含まれる場合に、前記通信装置から前記記憶装置への前記データ転送処理の実行を停止し、前記ステータス情報に前記受信エラー検出情報が含まれない場合に、前記通信装置から前記記憶装置へのデータ転送処理の実行を許可することを第3の特徴とする。
【0013】
上記何れかの特徴の本発明に係るデータ転送制御装置は、前記ステータス情報取得手段が、前記ICカードの初期設定時に前記ステータス情報を取得し、前記判定手段が、前記ステータス情報に前記通信装置に前記送信データが残存していることを示す送信エラー検出情報が含まれる場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を停止し、前記ステータス情報に前記送信エラー検出情報が含まれない場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を許可することを第4の特徴とする。
【0014】
上記何れかの特徴の本発明に係るデータ転送制御装置は、前記通信装置から前記外部装置へのデータ送信処理時に、前記送信データを構成する単位データの転送回数をカウントするカウンタ回路を備え、前記判定手段が、前記カウンタ回路の値が所定の送信エラー判定範囲内である場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を停止することを第5の特徴とする。
【0015】
上記何れかの特徴の本発明に係るデータ転送制御装置は、前記演算処理装置に対し、前記データ転送処理実行手段による前記データ転送処理の実行開始時に、前記データ転送処理の実行開始を示す実行開始情報を含む転送ステータス情報を出力し、前記データ転送処理実行手段による前記データ転送処理の実行終了時に、前記データ転送処理の実行終了を示す実行終了情報を含む前記転送ステータス情報を出力し、前記判定手段による前記データ転送処理の実行停止判定時に、前記データ転送処理の実行停止を示す実行停止情報を含む前記転送ステータス情報を出力する転送ステータス情報出力手段を備えることを第6の特徴とする。
【0016】
上記目的を達成するための本発明に係るICカードは、外部装置とデータ通信を行うための通信装置、前記通信装置が前記外部装置から受信した受信データ及び前記通信装置が前記外部装置に対して送信する送信データを記憶可能な記憶装置、前記記憶装置及び前記通信装置を制御する演算処理装置、及び、上記第6の特徴のデータ転送制御装置を備えるICカードであって、前記演算処理装置が、前記データ転送制御装置から前記実行開始情報を含む前記転送ステータス情報が出力された場合に、前記演算処理装置を動作待機状態若しくは動作周波数の遅い低消費電力モードに移行し、前記データ転送制御装置から前記実行停止情報若しくは前記実行終了情報を含む前記転送ステータス情報が出力された場合に、前記低消費電力モードの設定を解除することを特徴とする。
【発明の効果】
【0017】
上記特徴のデータ転送制御装置によれば、通信装置のステータス情報を取得し、データ転送処理の実行可否判定をハードウェア的に行うので、演算処理装置(CPU)がソフトウェア的に実行可否判定行う場合に比べ、当該実行可否判定にかかる時間の短縮化を図ることが可能になる。
【0018】
より具体的には、例えば、非接触式ICカードにおいて、誤り検出としてパリティビットが付加された受信データを受信する場合、1バイト単位でエラーチェックを行う必要がある。尚、例えば、ISO/IEC14443規格の非接触式ICカードにおいて、比較的高速な8倍速通信により誤り検出を備えた受信データのデータ受信処理を行う場合、キャリア周波数が13.56MHz(0.0737μs)、通信用サブキャリアはキャリア周波数の1/16と定められていることから、1バイト(スタートビット、ストップビット、パリティビットを含めて11ビット)のデータを、16×11=176クロック=176×0.0737μs≒12.97μs(176クロック)以下で受信する必要がある。このような場合、上記特徴のデータ転送制御装置では、データ転送制御装置側で、通信装置が行ったパリティチェックの結果に基づいて、通信装置と記憶装置との間のデータ転送処理の実行可否を判定することが可能になる。これにより、上記特徴のデータ転送制御装置では、従来のICカードのように、CPU側でデータ転送処理の実行可否の判定を行い、データ転送制御装置によるデータ転送処理を制御する場合に比べ、CPUの高速動作による消費電力の増大や、受信データの受信精度の低下をより効果的に防止することが可能になる。
【0019】
上記第2の特徴のデータ転送制御装置によれば、ステータス情報を格納した記憶領域のアドレスを示すステータスレジスタアドレス情報を有することにより、簡単な構成で本発明装置を構築することができる。
【0020】
上記第5の特徴のデータ転送制御装置によれば、単位データ数をカウントするカウンタ回路を備えることにより、簡単な構成で、送信データのデータ容量またはその相対値、例えば、バイト数を求めることができ、及び、オーバーフロー等の送信エラーを防止することが可能になる。
【0021】
上記第6の特徴のデータ転送制御装置によれば、データ転送処理の実行状況を演算処理装置に通知するように構成したので、演算処理装置が、消費電力の増大を押さえながら、本発明に係るデータ転送制御装置の通信状況を適切に把握することが可能になる。
【0022】
上記特徴のICカードによれば、上記第6の特徴のデータ転送制御装置からデータ転送処理の実行状況を取得し、データ転送処理が実行されている期間、低消費電力モードに移行することで、より効果的に消費電力の低減を図ることが可能であり、特に、乗車券等、低消費電力化が求められる用途に用いられる場合に有用である。
【発明を実施するための最良の形態】
【0023】
以下、本発明に係るデータ転送制御装置(以下、適宜「本発明装置」と略称する)、及び、本発明に係るICカードの実施形態を図面に基づいて説明する。
【0024】
先ず、本発明装置を搭載したICカードの構成について図1及び図2を基に説明する。ここで、図1は、本発明装置を搭載したICカード1Aの概略構成例を、図2は、本発明装置20の概略構成例を示している。
【0025】
ICカード1Aは、本実施形態では、図1に示すように、外部装置とデータ通信を行うための通信装置40、通信装置40が外部装置から受信した受信データ及び通信装置40が外部装置に対して送信する送信データを記憶可能な記憶装置30、記憶装置30及び通信装置40を制御するCPU10(演算処理装置に相当)、及び、少なくとも通信装置40と記憶装置30との間のデータ転送処理を制御可能に構成されたDMAコントローラ20(本発明装置に相当)を備えて構成されている。通信装置40、記憶装置30、CPU10及びDMAコントローラ20は、夫々、アドレス信号及びリード・ライト信号等の制御信号を伝送するアドレスバス50、及び、受信データ及び送信データを含む転送データを伝送するデータバス60を介して接続されており、通信装置40及び記憶装置30は、CPU10またはDMAコントローラ20によって制御される。アドレスバス50及びデータバス60は、制御内容に応じて、CPU10またはDMAコントローラ20の何れかが制御する。
【0026】
尚、本実施形態では、乗車券等の非接触式ICカードを想定しており、ICカード1Aは、非接触式データ通信のためのアンテナ80、及び、アンテナ80と高周波信号を送受信するRF回路70(Radio Frequency circuit)を備えて構成されている。
【0027】
通信装置40は、本実施形態では、UART(Universal Asynchronous Receiver Transmitter)であり、誤り検出のためのパリティビットを備える受信データを受信可能な受信回路41、受信データの奇遇性を判定する誤り検出回路42、及び、外部装置に対し送信データを送信可能な送信回路43を備えて構成されている。受信回路41は、受信データの一部または全部を、一時的に格納可能な受信バッファを備えて構成されている。同様に、送信回路43は、送信データの一部または全部を、一時的に格納可能な送信バッファを備えて構成されている。
【0028】
送信回路43は、例えば、ICカード1Aの初期化時に、送信バッファにデータが残存している場合等に、通信装置40内のレジスタに送信エラー検出情報を含むステータス情報を書き込むように構成されている。また、送信回路43は、送信バッファに送信データが書き込まれると、当該送信データを転送先アドレスが示す外部装置に対して出力する。
【0029】
受信回路41は、誤り検出回路42における受信データに対する1バイト単位でのパリティチェックにより誤り検出された場合等に、受信エラー検出情報を含むステータス情報を、通信装置40内のレジスタに書き込むように構成されている。更に、受信回路41は、受信データ全体が記憶装置30に出力された場合に、EOF(End of File)フラグをステータス情報に設定する。更に、受信回路41は、外部装置から受信データを受信する際、後述するDMAコントローラ20に対し、受信割り込み信号を出力するように構成されている。
【0030】
記憶装置30は、ICカード1Aの各種機能を実現するプログラムを記憶したROM(Read Only Memory)31、一次記憶装置として用いるRAM(Ramdum Access Memory)32、不揮発性メモリの一例としてのEEPROM(Electrically Erasable Programmable ROM)33を備えて構成されている。
【0031】
CPU10は、記憶装置30のROM31に格納されたプログラムを実行することにより、ICカード1Aの各種機能の制御を行う。また、CPU10は、外部装置に対し送信データを送信する場合に、DMAコントローラ20に対し、アドレスバス50を介して、DMAコントローラ20によるデータ転送処理を指示するDMA転送開始コマンドを出力する。DMA転送開始コマンドには、送信データの転送元アドレス、転送先アドレスが含まれている。
【0032】
DMAコントローラ20は、記憶装置30と通信装置40との間のデータ転送処理を実行可能に構成されており、図2に示すように、通信装置40から、少なくともエラー検出情報を含むステータス情報を取得するステータス情報取得手段22と、データ転送処理の実行時に、ステータス情報取得手段22が取得したステータス情報に基づいて、データ転送処理の実行可否を判定する判定手段23と、判定手段23によるデータ転送処理の実行可否判定結果に応じて、データ転送処理を実行するデータ転送処理実行手段24と、を備えている。
【0033】
更に、本実施形態のDMAコントローラ20は、通信装置40に設置されたレジスタの記憶領域の内、ステータス情報を格納した記憶領域のアドレスを示すステータスレジスタアドレス情報を記憶可能なレジスタ21と、通信装置40から外部装置へのデータ送信処理時に、送信データを構成する単位データの転送回数をカウントするカウンタ回路25と、演算処理装置に対し、データ転送処理実行手段24によるデータ転送処理の実行開始時に、データ転送処理の実行開始を示す実行開始情報を含む転送ステータス情報を出力し、データ転送処理実行手段24によるデータ転送処理の実行終了時に、データ転送処理の実行終了を示す実行終了情報を含む転送ステータス情報を出力し、判定手段23によるデータ転送処理の実行停止判定時に、データ転送処理の実行停止を示す実行停止情報を含む転送ステータス情報を出力する転送ステータス情報出力手段26と、を備えて構成されている。
【0034】
より具体的には、レジスタ21は、データ転送処理の対象となる送信データの転送元アドレスを記憶する転送元アドレス記憶領域21a、転送先アドレスを記憶する転送先アドレス記憶領域21b、ステータスレジスタアドレス情報を記憶するステータスアドレス記憶領域21cが設定されている。
【0035】
カウンタ回路25は、本実施形態ではダウンカウンタであり、ICカード1Aの初期設定時(電源投入時及びリセット動作時等)に、予め設定された初期値(最大値)に設定され、データ転送処理実行手段24により送信データを構成する単位データが記憶装置30から通信装置40に出力された場合に、1ずつ値を減算するように構成されている。ダウンカウンタの初期値は、通信装置40が受け付け可能な送信データのバイト数以下、通信装置40にオーバーフローが発生したことを判定可能な値に設定される。
【0036】
ステータス情報取得手段22は、データ転送処理時、具体的には、外部装置から通信装置40へのデータ受信処理時、及び、ICカード1Aの初期設定時等に、ステータス情報の取得を行う。より具体的には、ステータス情報取得手段22は、レジスタ21のステータスアドレス記憶領域21cからステータスレジスタアドレス情報を読み出し、通信装置40に対し、アドレスバス50を介して、当該ステータスレジスタアドレス情報が示す通信装置40のレジスタの記憶領域からステータス情報を取得するためのリード信号を出力する。通信装置40からデータバス60を介してステータス情報を示す信号が出力されると、ステータス情報取得手段22は、ステータス情報を受け付け、後述する判定手段23及び転送ステータス情報出力手段26に出力する。
【0037】
判定手段23は、データ受信処理時に、ステータス情報に受信データに対する受信エラー検出情報が含まれる場合に、通信装置40から記憶装置30へのデータ転送処理の実行を停止し、ステータス情報に受信エラー検出情報が含まれない場合に、通信装置40から記憶装置30へのデータ転送処理の実行を許可する。また、判定手段23は、ステータス情報に通信装置40に送信データが残存していることを示す送信エラー検出情報が含まれる場合に、記憶装置30から通信装置40へのデータ転送処理の実行を停止し、ステータス情報に送信エラー検出情報が含まれない場合に、記憶装置30から通信装置40へのデータ転送処理の実行を許可する。
【0038】
更に、本実施形態の判定手段23は、カウンタ回路25の値が所定の送信エラー判定範囲内である場合、例えば、カウンタ回路25がダウンカウンタの場合、カウンタの値が0となった場合に、通信装置40においてオーバーフローが発生するのを防止するために、記憶装置30から通信装置40へのデータ転送処理の実行を停止する。
【0039】
以下、DMAコントローラ20の動作について、図3及び図4を基に説明する。ここで、図3は、外部装置から通信装置40が受信データを受け付けた場合のデータ転送処理の処理手順を示しており、図4は、通信装置40から外部装置に対し送信データを送信する場合のデータ転送処理の処理手順を示している。
【0040】
先ず、外部装置から通信装置40が受信データを受け付けた場合のデータ転送処理の処理手順について、図3を基に説明する。尚、本実施形態では、通信装置40からDMAコントローラ20に対し受信割り込み信号が出力された場合に、データ転送処理を実行する場合について説明する。
【0041】
図3に示すように、DMAコントローラ20は、ICカード1Aの電源が投入されCPU10により起動されると、受信データについてのデータ転送処理の開始判定処理(ステップ#10)を行う。
【0042】
具体的には、DMAコントローラ20は、ICカード1Aの電源が投入されると、通信装置40からの受信割り込み信号の待ち状態となる(ステップ#11)。通信装置40からの受信割り込み信号を受け付けると(ステップ#11で「Yes」分岐)、DMAコントローラ20のステータス情報取得手段22が、レジスタ21からステータスレジスタアドレス情報を読み出し、通信装置40に対し、アドレスバス50を介して、ステータス情報を取得するためのリード信号を出力する。通信装置40からデータバス60を介してステータス情報を示す信号が出力されると、ステータス情報取得手段22は、ステータス情報を受け付け、判定手段23に出力する(ステップ#12)。続いて、判定手段23は、ステータス情報に、通信装置40に受信データがあることを示す受信フラグが設定されているか否かを確認する(ステップ#13)。ステータス情報に、通信装置40に受信データがあることを示す受信フラグが設定されていない場合(ステップ#13で「No」分岐)、ステップ#11の待機状態に移行する。
【0043】
DMAコントローラ20の判定手段23は、ステータス情報に、通信装置40に受信データがあることを示す受信フラグが設定されている場合(ステップ#13で「Yes」分岐)、受信データのデータ転送処理(ステップ#20)を開始する。
【0044】
具体的には、先ず、DMAコントローラ20の転送ステータス情報出力手段26が、CPU10に対し、アドレスバス50を介して、受信データのデータ転送処理の実行開始情報を含む転送ステータス情報を出力する(ステップ#21)。CPU10は、データ転送処理の実行開始情報を含む転送ステータス情報が出力されると、動作周波数の遅い低消費電力モードに移行する。
【0045】
引き続き、ステータス情報取得手段22は、通信装置40に対しステータス情報を取得するためのリード信号を出力し、通信装置40からステータス情報を取得し、判定手段23に出力する(ステップ#22)。判断手段は、ステータス情報に受信エラー検出情報が含まれるか否かを判定する(ステップ#23)。判定手段23が、ステータス情報に受信エラー検出情報が含まれると判定した場合(ステップ#23で「Yes」分岐)は、転送ステータス情報出力手段26が、CPU10に対し、アドレスバス50を介して、エラー検出情報及び実行停止情報を含む転送ステータス情報を出力する(ステップ#24)。
【0046】
判断手段は、ステータス情報に受信エラー検出情報が含まれない場合(ステップ#23で「No」分岐)、ステータス情報に、受信データのデータ転送処理が終了したことを示すEOFフラグが設定されているか否かを確認する(ステップ#25)。ステータス情報にEOFフラグが設定されていない場合は(#ステップ#25で「No」分岐)、データ転送処理実行手段24が、受信データを1バイト単位で通信装置40の受信バッファから記憶装置30に転送する(ステップ#26)。
【0047】
ステップ#25において、ステータス情報にEOFフラグが設定されている場合は(#ステップ#25で「Yes」分岐)、転送ステータス情報出力手段26が、CPU10に対し、アドレスバス50を介して、受信データのデータ転送処理が正常に終了したことを示す実行終了情報を含む転送ステータス情報を出力する(ステップ#27)。
【0048】
受信エラーが発生した場合のステップ#24の実行後、または、受信データのデータ転送処理が正常終了した場合のステップ#27の実行後、DMAコントローラ20は、CPU10に対しバス権制御信号を出力する(ステップ#30)。CPU10は、転送ステータス情報を取得し、バス権制御信号を受け付けると、低消費電力モードを解除する。
【0049】
次に、通信装置40から外部装置に対し送信データを送信する場合のデータ転送処理の処理手順について、図4を基に説明する。尚、本実施形態では、CPU10からDMAコントローラ20に対しDMA転送開始コマンドが出力された場合に、データ転送処理を実行する場合について説明する。また、図4に示す送信データに係るデータ転送処理は、図3に示す受信データに係るデータ転送処理と独立して実施される。
【0050】
図4に示すように、DMAコントローラ20は、ICカード1Aの電源が投入されCPU10により起動されると、送信データについてのデータ転送処理の開始判定処理(ステップ#40)を行う。DMAコントローラ20は、ICカード1Aの電源が投入されると、CPU10からのDMA転送開始コマンドの待ち状態となる(ステップ#41)。
【0051】
DMAコントローラ20の判定手段23は、CPU10からDMA転送開始コマンドが出力されると(ステップ#41で「Yes」分岐)、送信データのデータ転送処理(ステップ#50)を開始する。
【0052】
具体的には、先ず、DMAコントローラ20の転送ステータス情報出力手段26が、CPU10に対し、アドレスバス50を介して、送信データのデータ転送処理の実行開始情報を含む転送ステータス情報を出力する(ステップ#51)。CPU10は、データ転送処理の実行開始情報を含む転送ステータス情報が出力されると、動作周波数の遅い低消費電力モードに移行する。
【0053】
続いて、ステータス情報取得手段22が、通信装置40に対しステータス情報を取得するためのリード信号を出力し、通信装置40からステータス情報を取得し、判定手段23に出力する(ステップ#52)。判定手段23は、ステータス情報に、通信装置40の送信バッファに送信データが残存していることを示す送信エラー検出情報が含まれているか否かを判定する(ステップ#53)。ステータス情報に送信エラー検出情報が含まれている場合(ステップ#53で「NG1」分岐)、一定時間後に、ステップ#52に移行して、再度、ステータス情報の取得を行う。ステップ#52及び#53の実行回数が、予め設定されたエラー判定回数を超えた場合は(ステップ#53で「NG2」分岐)、転送ステータス情報出力手段26が、実行停止情報及び送信エラー検出情報を含む転送ステータス情報をCPU10に対して出力する(ステップ#54)。
【0054】
判定手段23が送信データのデータ転送処理が可能であると判定した場合(ステップ#53で「Yes」分岐)、データ転送処理実行手段24が、送信データを1バイト単位で記憶装置30から通信装置40の送信バッファに転送する(ステップ#55)。このとき、カウンタ回路25は、カウンタ値を1つ減算する(ステップ#56)。ここで、本実施形態では、カウンタ値が0以下の場合を送信エラー判定範囲内としているため、判定手段23は、カウンタ値が0であるか否かを判定し(ステップ#57)。カウンタ値が0の場合は(ステップ#57で「Yes」分岐)、転送ステータス情報出力手段26が、CPU10に対し、アドレスバス50を介して、送信エラー検出情報及び実行停止情報を含む転送ステータス情報を出力する(ステップ#54)。
【0055】
判定手段23は、カウンタ値が0以上の場合は(ステップ#57で「No」分岐)、記憶装置30に記憶された送信データ全体を転送したか否かを判定し(ステップ#58)、送信データ全体の転送が終了していない場合は(ステップ#58で「No」分岐)、ステップ#52に移行する。判定手段23により送信データ全体の転送が終了したと判定された場合は(ステップ#58で「Yes」分岐)、転送ステータス情報出力手段26が、送信データのデータ転送処理が正常に終了したことを示す実行終了情報を含む転送ステータス情報をCPU10に出力する(ステップ#59)。尚、このときのカウンタ回数を、送信データのバイト数を示す指標値として、転送ステータス情報に含ませてCPU10に出力しても良い。
【0056】
送信エラーが発生した場合のステップ#54の実行後、または、送信データのデータ転送処理が正常終了した場合のステップ#59の実行後、DMAコントローラ20は、CPU10に対しバス権制御信号を出力する(ステップ#60)。CPU10は、転送ステータス情報を取得し、バス権制御信号を受け付けると、低消費電力モードを解除する。
【0057】
〈別実施形態〉
〈1〉上記実施形態では、ICカード1Aの通信装置40から受信割り込み信号が出力された場合に、受信データに対するデータ転送処理を行う場合について説明したが、これに限るものではない。
【0058】
例えば、通信装置40から受信割り込み信号を受け付けずに、DMAコントローラ20が、通信装置40に対しポーリングを行う構成にしても良い。より具体的には、図5及び図6に示すように、DMAコントローラ20が、開始判定処理(ステップ#70)において、定期的に通信装置40からステータス情報を取得し(ステップ#71)、ステータス情報に受信データがあることを示す受信フラグが設定されている場合に(ステップ#72で「Yes」分岐)、ステップ#20に移行して、受信データに対するデータ転送処理を開始する。
【0059】
〈2〉上記実施形態では、ICカード1AのCPU10からDMA転送開始コマンドが出力された場合に、送信データに対するデータ転送処理を実行する場合について説明したが、これに限るものではない。
【0060】
例えば、CPU10からDMA転送開始コマンドを受け付けずに、DMAコントローラ20が、記憶装置30に対しポーリングを行う構成にしても良い。より具体的には、図7に示すように、DMAコントローラ20が、開始判定処理(ステップ#80)において、定期的に記憶装置30の所定の領域に未送信の送信データがあるか否かを確認し(ステップ#81)、未送信の送信データがある場合は(ステップ#82で「Yes」分岐)、ステップ#50に移行して、送信データに対するデータ転送処理を開始する。
【0061】
尚、送信データに対するデータ転送処理の開始判定処理と受信データに対するデータ転送処理の開始判定処理の両方を、ポーリングにより行うように構成しても良い。
【0062】
〈3〉上記実施形態では、通信装置40が、パリティビットを備える受信データに対応し、パリティチェックを実行可能に構成されている場合について説明したが、これに限るものではない。誤り訂正を実行可能なハミングコード等を利用した受信データ等、他の誤り検出方法、誤り訂正方法を利用した受信データに対応した通信装置40であっても良い。
【0063】
〈4〉上記実施形態では、DMAコントローラ20によるデータ転送処理の実行時、CPU10が、低消費電力モードに移行した際、動作周波数を遅くするように構成したが、動作待機状態となるように構成しても良い。
【図面の簡単な説明】
【0064】
【図1】本発明に係るICカードの概略構成例を示す概略部分ブロック図
【図2】本発明に係るデータ転送制御装置の概略構成例を示す概略部分ブロック図
【図3】本発明に係るデータ転送制御装置におけるデータ受信時のデータ転送処理の処理手順を示すフローチャート
【図4】本発明に係るデータ転送制御装置におけるデータ送信時のデータ転送処理の処理手順を示すフローチャート
【図5】本発明に係るICカードの別実施形態における概略構成例を示す概略部分ブロック図
【図6】本発明に係るデータ転送制御装置の別実施形態におけるデータ受信時のデータ転送処理の処理手順を示すフローチャート
【図7】本発明に係るデータ転送制御装置の別実施形態におけるデータ送信時のデータ転送処理の処理手順を示すフローチャート
【図8】従来技術に係るICカードの概略構成例を示す概略部分ブロック図
【符号の説明】
【0065】
1 本発明に係るICカード
1A 本発明に係るICカード
1B 本発明に係るICカード
10 CPU(演算処理装置)
20 DMAコントローラ(本発明に係るデータ転送制御装置)
21 レジスタ
21a 転送元アドレス記憶領域
21b 転送先アドレス記憶領域
21c ステータスアドレス記憶領域
22 ステータス情報取得手段
23 判定手段
24 データ転送処理実行手段
25 カウンタ回路
26 転送ステータス情報出力手段
30 記憶装置
31 ROM
32 RAM
33 EEPROM
40 通信装置
41 受信回路
42 誤り検出回路
43 送信回路
50 アドレスバス
60 データバス
70 RF回路
80 アンテナ

【特許請求の範囲】
【請求項1】
外部装置とデータ通信を行うための通信装置、前記通信装置が前記外部装置から受信した受信データ及び前記通信装置が前記外部装置に対して送信する送信データを記憶可能な記憶装置、前記記憶装置及び前記通信装置を制御する演算処理装置を有するICカードに搭載され、少なくとも前記通信装置と前記記憶装置との間のデータ転送処理を制御可能に構成されたデータ転送制御装置であって、
前記通信装置から、少なくともエラー検出情報を含むステータス情報を取得するステータス情報取得手段と、
前記データ転送処理の実行時に、前記ステータス情報取得手段が取得した前記ステータス情報に基づいて、前記データ転送処理の実行可否を判定する判定手段と、
前記判定手段による前記データ転送処理の実行可否判定結果に応じて、前記データ転送処理を実行するデータ転送処理実行手段と、を備えることを特徴とするデータ転送制御装置。
【請求項2】
前記通信装置に設置されたレジスタの記憶領域の内、前記ステータス情報を格納した記憶領域のアドレスを示すステータスレジスタアドレス情報を記憶したレジスタを備え、
前記ステータス情報取得手段が、前記レジスタから前記ステータスレジスタアドレス情報を取得し、前記ステータスレジスタアドレス情報が示す前記記憶領域から前記ステータス情報を取得することを特徴とする請求項1に記載のデータ転送制御装置。
【請求項3】
前記ステータス情報取得手段が、前記外部装置から前記通信装置へのデータ受信処理時に、所定の受信モニタ条件に基づいて前記ステータス情報を取得し、
前記判定手段が、前記データ受信処理時に、前記ステータス情報に前記受信データに対する受信エラー検出情報が含まれる場合に、前記通信装置から前記記憶装置への前記データ転送処理の実行を停止し、前記ステータス情報に前記受信エラー検出情報が含まれない場合に、前記通信装置から前記記憶装置へのデータ転送処理の実行を許可することを特徴とする請求項1または2に記載のデータ転送制御装置。
【請求項4】
前記ステータス情報取得手段が、前記ICカードの初期設定時に前記ステータス情報を取得し、
前記判定手段が、前記ステータス情報に前記通信装置に前記送信データが残存していることを示す送信エラー検出情報が含まれる場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を停止し、前記ステータス情報に前記送信エラー検出情報が含まれない場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を許可することを特徴とする請求項1〜3の何れか1項に記載のデータ転送制御装置。
【請求項5】
前記通信装置から前記外部装置へのデータ送信処理時に、前記送信データを構成する単位データの転送回数をカウントするカウンタ回路を備え、
前記判定手段が、前記カウンタ回路の値が所定の送信エラー判定範囲内である場合に、前記記憶装置から前記通信装置へのデータ転送処理の実行を停止することを特徴とする請求項1〜4の何れか1項に記載のデータ転送制御装置。
【請求項6】
前記演算処理装置に対し、前記データ転送処理実行手段による前記データ転送処理の実行開始時に、前記データ転送処理の実行開始を示す実行開始情報を含む転送ステータス情報を出力し、前記データ転送処理実行手段による前記データ転送処理の実行終了時に、前記データ転送処理の実行終了を示す実行終了情報を含む前記転送ステータス情報を出力し、前記判定手段による前記データ転送処理の実行停止判定時に、前記データ転送処理の実行停止を示す実行停止情報を含む前記転送ステータス情報を出力する転送ステータス情報出力手段を備えることを特徴とする請求項1〜5の何れか1項に記載のデータ転送制御装置。
【請求項7】
外部装置とデータ通信を行うための通信装置、前記通信装置が前記外部装置から受信した受信データ及び前記通信装置が前記外部装置に対して送信する送信データを記憶可能な記憶装置、前記記憶装置及び前記通信装置を制御する演算処理装置、及び、請求項6に記載のデータ転送制御装置を備えるICカードであって、
前記演算処理装置が、前記データ転送制御装置から前記実行開始情報を含む前記転送ステータス情報が出力された場合に、前記演算処理装置を動作待機状態若しくは動作周波数の遅い低消費電力モードに移行し、
前記データ転送制御装置から前記実行停止情報若しくは前記実行終了情報を含む前記転送ステータス情報が出力された場合に、前記低消費電力モードの設定を解除することを特徴とするICカード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−157493(P2009−157493A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−332782(P2007−332782)
【出願日】平成19年12月25日(2007.12.25)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】