"供給されたクロック信号に基づいて所定のデータ処理を行うICカードとの間でシリアル通信を行うためのカードインタフェースを含む半導体装置であって、上記カードインタフェースは、上記ICカードに供給される上記クロック信号を生成するためのボーレートジェネレータと、上記ICカードから伝達されたシリアルデータをパラレルデータに変換するための変換回路と、上記変換回路から出力されたパラレルデータを保持するためのレシーブデータレジスタと、上記レシーブデータレジスタに上記パラレルデータが存在しない場合には、上記ボーレートジェネレータから上記ICカードへ上記クロック信号を供給し、上記レシーブデータレジスタに上記パラレルデータが存在する場合には、上記ボーレートジェネレータから上記ICカードへのクロック信号の供給を停止するためのクロック制御回路と、を含むことを特徴とする半導体装置。上記カードインタフェースは、上記レシーブデータレジスタに上記パラレルデータが存在するか否かの判別を可能とするエンプティフラグを含み、上記クロック制御回路は、上記エンプティフラグの論理に基づいて、上記レシーブデータレジスタに上記パラレルデータが存在するか否かを判別する請求項2記載の半導体装置。上記ボーレートジェネレータから上記ICカードへのクロック信号の供給を停止する際の上記クロック信号の論理を指定するためのレベル指定レジスタを含む請求項2記載の半導体装置。上記半導体装置は、上記レシーブデータレジスタ内のデータを別の記憶媒体にDMA転送するためのDMAコントローラを含む請求項3記載の半導体装置。上記DMAコントローラによってDMA転送されるデータは、データ長フィールドと、情報フィールドと、最終フィールドとを含み、上記DMAコントローラは、DMA転送における転送回数が設定される転送数指定レジスタと、上記データ長フィールドの位置を示すデータ長オフセットレジスタと、上記最終フィールドの長さを示す最終データ長レジスタと、上記データ長オフセットレジスタの出力に対応する上記データ長フィールドの値によって上記情報フィールドの長さを求め、それに上記最終データ長レジスタの出力を加算することによって、DMA転送すべきデータの長さを算出するデータ長算出回路と、上記データ長算出回路での算出結果に基づいて、上記転送数指定レジスタにおける転送回数を再設定する回数制御回路と、を含み、上記回数制御回路によって再設定された回数分のDMA転送を行う請求項4記載の半導体装置。請求項1記載の半導体装置を含んで成る地上デジタル放送受信装置。供給されたクロック信号に基づいて所定のデータ処理を行うICカードとの間でシリアル通信を行うためのカードインタフェースと、上記カードインタフェースを介して取り込まれたデータを別の記憶媒体にDMA転送するためのDMAコントローラと、を含む半導体装置であって、上記DMAコントローラによってDMA転送されるデータは、データ長フィールドと、情報フィールドと、最終フィールドとを含み、上記DMAコントローラは、DMA転送における転送回数が設定される転送数指定レジスタと、上記データ長フィールドの位置を示すデータ長オフセットレジスタと、上記最終フィールドの長さを示す最終データ長レジスタと、上記データ長オフセットレジスタの出力に対応する上記データ長フィールドの値によって上記情報フィールドの長さを求め、それに上記最終データ長レジスタの出力を加算することによって、DMA転送すべきデータの長さを算出するデータ長算出回路と、上記データ長算出回路での算出結果に基づいて、上記転送数指定レジスタにおける転送回数を再設定する回数制御回路と、を含み、上記回数制御回路によって再設定された回数分のDMA転送を行うことを特徴とする半導体装置。地上波デジタル放送には、MPEG2-TSTransportStreamが使用される。MPEG2-TSは、映像や音声などのPESPacketizedElementaryStreamや、セクションと呼ばれるデータが格納される。日本のデジタル放送では著作権保護を目的として映像や音声にスクランブル暗号化処理が施されている。映像や音声をデスクランブルするためのデスクランブル鍵Ksは放送局側で暗号化され、ECMEntitlementControlMessageセクションとして送られる。ECMセクションは受信機側に接続されているICカード内のセキュリティモジュールによって復号化されデスクランブル鍵として取得できる。携帯端末用に設計された地上デジタル放送受信装置においては、製造コストとの関係で、ICカードアクセス専用のマイクロコンピュータを搭載することが困難であるため、映像や音声のデコード処理制御や出力制御のためのCPUを使ってICカードのアクセスを行うようにしている。このような携帯端末向け地上デジタル放送受信装置において、ICカードからのデータ転送は常に一定間隔で行われる。これに対してCPUは、ICカードのアクセスの他に、映像や音声のデコード処理制御や出力制御を行うことから、CPUがSIMカードインタフェースからデータを読み出すタイミングは必ずしも一定間隔で発生するとは限らない。このため、レシーブデータレジスタ内の1バイト8ビット分のデータを、メモリインタフェースを介してメモリに書き込む処理が完了する前に、レシーブデータレジスタの出力データが、シリアルパラレル変換回路を介してレシーブデータレジスタに伝達されるおそれがあり、かかる場合には、レシーブデータレジスタ内のデータが上書きされて壊れてしまう。本発明の目的は、CPUの負荷にかかわらず、レシーブデータレジスタ内のデータが上書きされて壊れてしまうのを回避するための技術を提供することにある。本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、供給されたクロック信号に基づいて所定のデータ処理を行うICカードとの間でシリアル通信を行うためのカードインタフェースを含んで半導体装置を構成する。上記カードインタフェースは、上記ICカードに供給される上記クロック信号を生成するためのボーレートジェネレータと、上記ICカードから伝達されたシリアルデータをパラレルデータに変換するための変換回路と、上記変換回路から出力されたパラレルデータを保持するためのレシーブデータレジスタとを含む。さらに上記カードインタフェースは、上記レシーブデータレジスタに上記パラレルデータが存在しない場合には、上記ボーレートジェネレータから上記ICカードへ上記クロック信号を供給し、上記レシーブデータレジスタに上記パラレルデータが存在する場合には、上記ボーレートジェネレータから上記ICカードへのクロック信号の供給を停止するためのクロック制御回路を含む。本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、CPUの負荷にかかわらず、レシーブデータレジスタ内のデータが上書きされて壊れてしまうのを回避することができる。1.実施の形態の概要先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。1本発明の代表的な実施の形態に係る半導体装置3は、供給されたクロック信号に基づいて所定のデータ処理を行うICカードとの間でシリアル通信を行うためのカードインタフェース39を含む。上記カードインタフェースは、上記ICカードに供給される上記クロック信号を生成するためのボーレートジェネレータ313と、上記ICカードから伝達されたシリアルデータをパラレルデータに変換するための変換回路302と、上記変換回路から出力されたパラレルデータを保持するためのレシーブデータレジスタ303とを含む。さらに上記カードインタフェースは、上記レシーブデータレジスタに上記パラレルデータが存在しない場合には、上記ボーレートジェネレータから上記ICカードへ上記クロック信号を供給し、上記レシーブデータレジスタに上記パラレルデータが存在する場合には、上記ボーレートジェネレータから上記ICカードへのクロック信号の供給を停止するためのクロック制御回路310を含む。上記の構成によれば、クロック制御回路310が設けられ、このクロック制御回路310によって、エンプティフラグ304内のエンプティフラグがモニタされ、レシーブデータレジスタ303にデータが存在する場合には、クロック制御回路310の制御によって、ICカード7へのクロック信号の供給が停止される。これによりICカード7の動作が停止されるので、新たなデータがICカード7からレシーブデータレジスタ301に伝達されることはない。これにより、レシーブデータレジスタ303内の未転送データが上書きによって壊れてしまうのを回避することができる。2上記1において、上記カードインタフェースは、上記レシーブデータレジスタに上記パラレルデータが存在するか否かの判別を可能とするエンプティフラグ304を含み、上記クロック制御回路は、上記エンプティフラグの論理に基づいて、上記レシーブデータレジスタに上記パラレルデータが存在するか否かを判別するように構成することができる。3上記2において、上記ボーレートジェネレータから上記ICカードへのクロック信号の供給を停止する際の上記クロック信号の論理を指定するためのレベル指定レジスタ311を設けることができる。これにより、クロック信号の供給を停止する際のクロック信号の論理を任意に設定することができる。4上記3において、上記半導体装置は、上記レシーブデータレジスタ内のデータを別の記憶媒体3801にDMA転送するためのDMAコントローラ38を含んで構成することができる。5上記4において、上記DMAコントローラによってDMA転送されるデータには、データ長フィールドと、情報フィールドと、最終フィールドとが含まれる。このとき、上記DMAコントローラには、DMA転送における転送回数が設定される転送数指定レジスタ3809と、上記データ長フィールドの位置を示すデータ長オフセットレジスタ3811と、上記最終フィールドの長さを示す最終データ長レジスタ3812とを設けることができる。さらに上記DMAコントローラには、データ長オフセットレジスタの出力に対応するデータ長フィールドの値によって上記情報フィールドの長さを求め、それに上記最終データ長レジスタの出力を加算することによって、DMA転送すべきデータの長さを算出するデータ長算出回路3803と、その算出結果に基づいて、上記転送数指定レジスタにおける転送回数を再設定する回数制御回路3802とを設けることができる。そして上記回数制御回路によって再設定された回数分のDMA転送が行われる。6上記1における半導体装置を含んで地上デジタル放送受信装置を構成することができる。モバイル端末用に設計された地上デジタル放送受信装置においては、ICカードアクセス専用のマイクロコンピュータを搭載することが困難であるため、映像や音声のデコード処理制御や出力制御のためのCPUを使ってICカードのアクセスを行うようにしているため、上記1の作用効果は顕著とされる。7本発明の代表的な実施の形態に係る半導体装置3は、供給されたクロック信号に基づいて所定のデータ処理を行うICカード7との間でシリアル通信を行うためのカードインタフェース39と、上記カードインタフェースを介して取り込まれたデータを別の記憶媒体3801にDMA転送するためのDMAコントローラ38とを含む。上記DMAコントローラによってDMA転送されるデータは、データ長フィールドLENと、情報フィールドINFと、最終フィールドEDCとを含む。上記DMAコントローラは、DMA転送における転送回数が設定される転送数指定レジスタ3809と、上記データ長フィールドの位置を示すデータ長オフセットレジスタ3811と、上記最終フィールドの長さを示す最終データ長レジスタ3812とを含む。さらに上記DMAコントローラは、データ長オフセットレジスタの出力に対応するデータ長フィールドの値によって上記情報フィールドの長さを求め、それに上記最終データ長レジスタの出力を加算することによって、DMA転送すべきデータの長さを算出するデータ長算出回路3803と、その算出結果に基づいて、上記転送数指定レジスタにおける転送回数を再設定する回数制御回路3802とを含む。上記回数制御回路によって再設定された回数分のDMA転送が行われる。2.実施の形態の詳細実施の形態について更に詳述する。《実施の形態1》図1には、本発明にかかるモバイル端末向け地上波デジタル放送受信装置の構成例が示される。図1に示されるモバイル端末向け地上波デジタル放送受信装置10は、チューナ2、地上波デジタル放送受信用チップ3、LCDLiquidCrystalDisplay;液晶ディスプレイ4、スピーカ5、メモリ6、及びICカード7を含む。地上波デジタル放送には、MPEG2-TSTransportStreamが使用される。チューナ2は、アンテナ1を介してMPEG2-TSを受信する。地上波デジタル放送受信用チップ3は、チューナ2による受信信号を処理する。地上波デジタル放送受信用チップ3での処理結果は、LCD4で画像表示される。また、音声はスピーカ5から出力される。メモリ6は、音声や映像などのESElementaryStreamを記憶するのに用いられる。ICカードintegratedcircuitcard;アイシーカード7は、接触型ICカードであり、このモバイル端末向け地上波デジタル放送受信装置10に装着される。地上波デジタル放送では著作権保護を目的として映像や音声にスクランブル暗号化処理が施されている。映像や音声をデスクランブル復号化するためのデスクランブル鍵Ksは放送局側で暗号化され、ECMCMEntitlementControlMessageセクションとして送られる。ECMセクションは、ICカード7内のセキュリティモジュールによって復号化され、デスクランブル鍵として取得できる。地上波デジタル放送受信用チップ3は、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板上に形成され、以下のような複数のモジュールを含む。すなわち、MSTIFMultiStreamInterface31、EMUXStreamMuxDemuxUnit;MUXDEMUXユニット32、CPUCentralProcessingUnit33、LCD制御部34が設けられる。また、音声出力制御部35、MPEGMovingPictureExpertsGroupデコーダ36、メモリインタフェース37、DMACDirectMemoryAccessController;DMAコントローラ38、SIMSubscriberIdentityModuleカードインタフェース39が設けられる。上記複数のモジュールは、データバスDBUSを介して互いに信号のやり取りが可能に結合されている。MSTIF31は、MPEG2-TSをデスクランブル処理する。EMUX32は、MPEG2-TSをPESやセクションなどに分離する。CPU33は、予め設定されたプログラムを実行することによって各部の動作を制御する。LCD制御部34は、LCD4へ画像表示を制御する。音声出力制御部35は、音声信号に基づいてスピーカ5を駆動する。MPEGデコーダ36は、映像や音声をデコードする。メモリインタフェース37は、地上波デジタル放送受信用チップ3とメモリ6との間のデータのやり取りを可能にする。DMAC38は、CPU33を介さずにモジュール間のデータ転送を制御する。SIMカードインタフェース39は、地上波デジタル放送受信用チップ3とICカード7との間のデータ転送を制御する。尚、本例においては、太線矢印で示されるように、SIMカードインタフェース39とメモリ6との間のデータ転送をCPU33の制御で行うものとする。図2には、SIMカードインタフェース39の構成例が示される。図2に示されるSIMカードインタフェース39は、レシーブシフトレジスタSCRSR301、シリアルパラレル変換回路302、レシーブデータレジスタSCRDR303、トランスミットシフトレジスタSCTSR305、パラレルシリアル変換回路306、トランスミットデータレジスタSCTDR307を含む。さらにSIMカードインタフェース39は、割込みコントローラ309、クロック制御回路310、クロック停止時のレベル指定レジスタ311、送受信コントローラ312、ボーレートジェネレータ313を含む。レシーブシフトレジスタSCRSR301は、データ端子SIM_Dを介してICカード7から伝達されたシリアルデータを保持する。シリアルパラレル変換回路302は、レシーブシフトレジスタSCRSR301から出力されたシリアルデータをパラレルデータに変換して出力する。レシーブデータレジスタSCRDR303は、シリアルパラレル変換回路302から出力されたパラレルデータを保持する。エンプティフラグ304は、レシーブデータレジスタSCRDR303のデータ保持状態を示す。エンプティフラグ304が論理値‘0’の場合、レシーブデータレジスタSCRDR303にパラレルデータが存在することを意味する。エンプティフラグ304が論理値‘1’の場合、レシーブデータレジスタSCRDR303にパラレルデータが存在しないことを意味する。トランスミットデータレジスタSCTDR307は、データバスDBUSを介してCPU33から伝達されたパラレルデータを保持する。エンプティフラグ308は、トランスミットデータレジスタSCTDR307のデータ保持状態を示すエンプティフラグを保持する。このエンプティフラグ308が論理値‘0’の場合、トランスミットデータレジスタSCTDR307にパラレルデータが存在することを意味する。エンプティフラグ308が論理値‘1’の場合、トランスミットデータレジスタSCTDR307にパラレルデータが存在しないことを意味する。パラレルシリアル変換回路306は、トランスミットデータレジスタSCTDR307の出力データパラレルデータをシリアルデータに変換する。トランスミットシフトレジスタSCTSR305は、パラレルシリアル変換回路306の出力データシリアルデータを取り込み、それを、データ端子SIM_Dを介してICカード7に送信する。割込みコントローラ309は、エンプティフラグ304が論理値‘0’の場合や、エンプティフラグ308が論理値‘0’の場合に、CPU33に対する割込み信号をアサートする。CPU33は、エンプティフラグ304が論理値‘0’の場合の割込み処理において、レシーブデータレジスタSCRDR303のデータを読出す。このとき、エンプティフラグ304が論理値‘1’にされる。また、CPU33は、エンプティフラグ308が論理値‘0’の場合の割込み処理において、トランスミットデータレジスタSCTDR307に次の8ビット分のデータを書込む。このとき、エンプティフラグ308のエンプティフラグを論理値‘0’にされる。送受信コントローラ312は、ICカード7との間で行われる送受信を制御する。また、後述するように、SIMカードインタフェース39とメモリ6との間のデータ転送をDMAC38で行う場合には、送受信コントローラ312によってDMA転送要求信号がアサートされるようになっている。ICカード7のリセットは、送受信コントローラ312によりリセット端子SIM_RSTを介して行われる。ボーレートジェネレータ313は、地上波デジタル放送受信用チップ3におけるシステムクロック信号を分周して、ICカード7の動作用クロック信号を形成する。このICカード7の動作用クロック信号は、クロック端子SIM_CLKを介してICカード7に供給される。ICカード7は、伝達されたクロック信号に同期して所定の信号処理ECMセクションの復号化処理が行われる。クロック制御回路310は、エンプティフラグ304に基づいて、ボーレートジェネレータ313からICカード7への動作用クロック信号の供給を制御する。すなわち、エンプティフラグ304が論理値‘1’の場合、ボーレートジェネレータ313からICカード7へ動作用クロック信号を供給させ、エンプティフラグレジの動作用クロック信号の供給を停止する。ボーレートジェネレータ313からICカード7への動作用クロック信号の供給を、クロック信号のハイレベルで停止するか、ローレベルで停止するかは、クロック停止時レベル指定レジスタ311に設定することができる。クロック停止時レベル指定レジスタ311への情報設定は、CPU33によって行うことができる。次に、上記のように構成されたモバイル端末向け地上波デジタル放送受信装置10における主要動作を説明する。図3には、CPU33とSIMカードインタフェース39とICカード7との間の信号の流れが示される。送受信コントローラ312によってICカード7がリセットされ、ICカード7から所定の応答信号ATRがレシーブシフトレジスタSCRSR301に取り込まれ、それがシリアルパラレル変換回路302でパラレルデータに変換された後にレシーブデータレジスタSCRDR303に書き込まれる。このとき、エンプティフラグ304が論理値‘0’にされる。すると、割込みコントローラ309は割込み信号をアサートすることで、CPU33に対する割込み要求を発生する。CPU33は、割込みコントローラ309からの割り込み要求に応じた割込み処理により、レシーブデータレジスタSCRDR303内の応答信号ATRを取り込む。これにより、CPU33は、ICカード7に対するコマンド発行が可能になる。CPU33は、メモリ6に蓄積されているコマンドデータを1バイト単位に読み出して、それをSIMカードインタフェース39内のトランスミットデータレジスタSCTDR307に書き込むステップ1。SIMカードインタフェース39では、トランスミットデータレジスタSCTDR307のデータがパラレルシリアル変換回路306でシリアルデータに変換された後に、トランスミットシフトレジスタSCTSR305に伝達されて、ICカード7に送信されるステップ2。上記ステップ1,2は、コマンドデータサイズの分だけ繰り返される。コマンド送信が完了すると、ICカード7内で、上記コマンドに応じた復号処理が行われる。そしてICカード7は、SIMカードインタフェース39に対しレスポンス応答を送信するステップ3。SIMカードインタフェース39は、レシーブシフトレジスタSCRSR301に、8ビット分のデータが書き込まれた場合、レシーブシフトレジスタSCRSR301内の8ビット分のデータが、シリアルパラレル変換回路302でパラレルデータに変換されてからレシーブデータレジスタSCRDR303に書き込まれるステップ4。このとき、エンプティフラグ304が論理値‘0’にされる。エンプティフラグが論理値‘0’にされると、クロック制御回路310の制御によって、ICカード7へのクロック信号の供給が停止される。クロック信号の供給停止は、クロック停止時レベル指定レジスタ311によって指定された論理レベルで行われる。例えばクロック停止時レベル指定レジスタ311に、ローレベル論理値‘0’が設定されていた場合、クロック信号の供給停止は、クロック信号がローレベルのときに行われる。クロック信号が供給されない場合には、ICカード7の内部動作が停止される。また、エンプティフラグ304が論理値‘0’にされると、割込みコントローラ309によってCPU33に対する割込み信号がアサートされる。この割込み信号に応じてCPU33は、レシーブデータレジスタSCRDR303内の1バイト8ビット分のデータを、メモリインタフェース37を介してメモリ6に書き込むステップ5。レシーブデータレジスタSCRDR303内の1バイト8ビット分のデータがメモリ6に書き込まれた時点で、エンプティフラグ304が論理値‘1’にされる。これにより、クロック制御回路310は、ICカード7へのクロック信号の供給を再開する。このクロック信号の供給は、クロック停止時レベル指定レジスタ311によって指定された論理レベルから再開される。上記ステップ3~5の処理は、レスポンスデータサイズの分だけ繰り返される。ここで、従来技術に従えば、クロック制御回路310によるクロック制御は行われない。この場合、図4に示されるように、ICカード7からのデータ転送は常に一定間隔で行われる。これに対してCPU33は、ICカード7のアクセスの他に、映像や音声のデコード処理制御や出力制御を行うことから、CPU33がSIMカードインタフェース39からデータを読み出すタイミングは必ずしも一定間隔で発生するとは限らない。このため、レシーブデータレジスタSCRDR303内の1バイト8ビット分のデータを、メモリインタフェース37を介してメモリ6に書き込む処理が完了する前に、レシーブデータレジスタSCRDR301の出力データが、シリアルパラレル変換回路302を介してレシーブデータレジスタSCRDR303に伝達されるおそれがある。かかる場合には、レシーブデータレジスタSCRDR303内の未転送データが上書きによって壊れてしまう。これに対して図2に示される構成によれば、クロック制御回路310が設けられ、このクロック制御回路310によって、エンプティフラグ304内のエンプティフラグがモニタされ、エンプティフラグ304が論理値‘0’の場合レシーブデータレジスタSCRDR303にデータが存在する場合には、クロック制御回路310の制御によって、ICカード7へのクロック信号の供給が停止される。これによりICカード7の動作が停止されるので、新たなデータがICカード7からレシーブデータレジスタSCRDR301に伝達されることはないので、レシーブデータレジスタSCRDR303内の未転送データが上書きによって壊れてしまうのを回避することができる。《実施の形態2》実施の形態1では、SIMカードインタフェース39とメモリ6との間のデータ転送をCPU33で制御するようにしたが、図6において太線矢印で示されるように、SIMカードインタフェース39とメモリ6との間のデータ転送をDMAC38の制御によって行うことができる。SIMカードインタフェース39とメモリ6との間のデータ転送をCPU33で制御するか、DMAC38で制御するかは、CPU33の初期設定で決定される。SIMカードインタフェース39の基本的な動作は、実施の形態1で説明した通りであるが、SIMカードインタフェース39とメモリ6との間のデータ転送をDMAC38の制御する場合、送受信コントローラ312からDMAC38に対するDMA転送要求信号が有効とされる。このとき、割込みコントローラ309の機能は停止される。図5には、DMAC38の構成例が示される。図5に示されるDMAC38は、内部メモリ3801、回数制御回路3802、データ長算出回路3803、レジスタ制御回路3804、起動制御回路3805、要求優先制御回路3806を含む。さらにDMAC38は、転送元アドレス指定レジスタSAR3807、転送先アドレス指定レジスタDAR3808、転送数指定レジスタTCR3809、転送モード指定レジスタCHCR3810、データ長オフセットレジスタ3811、及び最終データ長レジスタ3812を含む。内部メモリ3801は、データバスDBUS及びデータ長算出回路3803に結合される。データバスDBUSを介して内部メモリ3801にデータを書き込むことができる。また、内部メモリ3801内のデータをデータバスDBUSに出力することができる。データ算出回路3803は、内部メモリ3801内のデータを参照してデータ長を算出する。転送元アドレス指定レジスタSAR3807には、DMA転送における転送元アドレスが保持される。転送先アドレス指定レジスタDAR3808には、DMA転送における転送先アドレスが保持される。転送数指定レジスタTCR3809には、DMA転送における転送数が保持される。この転送数指定レジスタTCR3809に設定された回数だけ、DMA転送が行われる。転送モード指定レジスタCHCR3810には、DMA転送における転送モードが保持される。データ長オフセットレジスタ3811には、データ長フィールドのオフセット情報が保持される。最終データ長レジスタ3812には、最終フィールドの長さ情報が保持される。データ長算出回路3803は、DMA転送すべきデータの長さを算出する。つまりデータ長算出回路3803は、データ長オフセットレジスタ3811の出力に対応する上記データ長フィールドLENの値によって上記情報フィールドの長さを把握し、それに上記最終データ長レジスタ3812の出力を加算することによって、DMA転送すべきデータの長さを算出する。回数制御回路3802は、データ長算出回路3803での算出結果に基づいて転送数指定レジスタTCR3809における転送回数を再設定する。レジスタ制御回路3804は、上記各レジスタの動作を制御する。起動制御回路3805は、転送モード指定レジスタCHCR3810に保持された転送モードに従ってDMAC38の起動を制御する。要求優先制御回路3806は、複数のDMA転送要求信号がアサートされた場合に、予め設定された優先度に従って、複数のDMA転送要求を処理する。この要求優先制御回路3806によって、DMA転送アクノリッジ信号やCPU33に対する割込み信号が形成される。図7には、DMA転送処理の流れが示される。CPU33は、DMAC33に対しコマンド送信のためのデータサイズ設定を行う。DMAC33は、SIMカードインタフェース39内のトランスミットデータレジスタSCTDR307に1バイトデータを書き込む。トランスミットデータレジスタSCTDR307のデータは、パラレルシリアル変換回路306でシリアルデータに変換された後にトランスミットシフトレジスタSCTSR305に伝達されてICカード7に送信される。トランスミットデータレジスタSCTDR307が空になった場合、エンプティフラグ308が論理値1にされ、送受信コントローラ312によってDMA転送要求信号がアサートされることで、DMAC33に対し転送要求が行われる。DMAC33はSIMカードインタフェース39に対し1バイトデータを書き込む。以上の処理が繰り返されることによって、ICカード7へのデータ転送が行われる。ICカード7内では、SIMカードインタフェース39から転送されたデータの復号処理が行われる。また、この復号処理と平行して、DMAC33に対してデータ受信のためのデータサイズの設定が行われる。ICカード7は1ビット単位でレシーブシフトレジスタSCRSR301にデータを送信する。レシーブシフトレジスタSCRSR301に8ビット分のデータが書き込まれた場合、それが、シリアルパラレル変換回路302でパラレルデータに変換されてからレシーブデータレジスタSCRDR303に書き込まれる。そしてエンプティフラグ304が論理値0にされる。これにより、DMA転送要求信号がアサートされ、DMAC33に対し転送要求が行われる。DMAC33はSIMカードインタフェース39から1バイトデータを読み出し、それを内部メモリ3801に転送する。そしてエンプティフラグ304におけるエンプティフラグが論理値1にされる。また、SIMカードインタフェース39から1バイトデータが内部メモリ3801に転送された場合、CPU33に対する割込み信号をアサートする。これにより、CPU33は、内部メモリ3801内のデータを、メモリインタフェース37を介してメモリ6に転送する。このような処理が繰り返される。図8には、ICカード7に対するコマンドやICカード7からのレスポンスのフォーマットが示される。ICカード7に対するコマンドやICカード7からのレスポンスは、先頭フィールドと、情報フィールド、及び最終フィールドとを含む。先頭フィールドは、ノードアドレスNAD、プロトコル制御バイトPCB、送受信データの長さLENを含む。ノードアドレスNAD、プロトコル制御バイトPCB、長さLENは、それぞれ1バイトである。情報フィールドは、送受信データINFであり、0~254バイトの範囲で設定される。この送受信データINFの長さは、先頭フィードにおける長さLENに反映される。つまり、先頭フィードにおける長さLENを見れば、情報フィールドにおける送受信データの長さを把握することができる。最終フィールドは、誤り検出符号EDCが割り当てられる。誤り検出符号EDCは1バイトである。SIMカードインタフェース39を介してやり取りされる送受信データINFは、長さLENで示される可変サイズとなる。しかし、DMAC38へのデータサイズ指定は固定長となるため、データサイズの再設定等が必要とされる。ここで従来技術に従えば、図9Aに示されるように、CPUによってデータサイズの再設定が行われる。先ず、CPUはDMACのデータサイズを3バイトとして設定する。次に3バイト受信後にDMA転送完了割込みが通知されたCPUは、3バイト目の長さLENのサイズから残りのデータサイズを算出してDMACのデータサイズを再設定する。しかしこの手法の場合、DMA転送中にCPUに割込みを行うため、CPUの処理負荷によってはデータ受信が正常に行えない可能性がある。つまり、レシーブデータレジスタSCRDR303内の1バイト8ビット分のデータを、メモリインタフェース37を介してメモリ6に書き込む処理が完了する前に、レシーブデータレジスタSCRDR301の出力データが、シリアルパラレル変換回路302を介してレシーブデータレジスタSCRDR303に伝達されるおそれがある。かかる場合には、レシーブデータレジスタSCRDR303内の未転送データが上書きによって壊れてしまう。また、図9Bに示されるように、CPUによってDMACのデータサイズをレスポンス最大長例えば258バイトに設定し、レスポンスデータがなくなった場合に、CPUに対してタイムアウトエラー割込みを発生させ、それをトリガとしてCPUに受信データの処理を実行させることが考えられるが、その場合、タイムアウト発生まのでオーバーヘッドが発生するおそれがある。これに対して、図5に示される構成によれば、図10に示されるように、DMA転送設定により、データ長オフセットレジスタ3811には、データ長フィールドのオフセット情報が保持される。最終データ長レジスタ3812には、最終フィールドの長さ情報が保持される。データ長フィールドLENのオフセット情報は、図8に示される例の場合、3バイト目とされる。つまり、先頭フィールドの3バイト目にデータ長フィールドLENが存在し、それに基づいて、情報フィールドである送受信データINFの長さの把握が可能になる。データ長算出回路3803は、SIMカードインタフェース39から内部メモリ3801に転送されたデータの先頭から3バイト目の情報LENに基づいて、上記情報フィールドの長さを把握し、それに上記最終データ長レジスタ3812の出力を加算することによって、DMA転送すべきデータの長さ残りのバイトを算出する。尚、最終フィールドが存在しない場合には、最終データ長レジスタ3812の出力は0バイトとなる。回数制御回路3802は、データ長算出回路3803での算出結果に基づいて、転送数指定レジスタTCR3809における転送回数を再設定する。これにより、DMAC38では、再設定された転送回数に応じたDMA転送制御が行われる。このように図5に示される構成によれば、DMAC38内の演算処理により転送回数の再設定が行われるようになっているので、CPU33の処理負荷にかかわらず、データの受信を正常に行うことができる。これにより、レシーブデータレジスタSCRDR303内の未転送データが上書きによって壊れてしまうのを回避することができる。また、図5に示される構成によれば、CPUによってDMACのデータサイズをレスポンス最大長例えば258バイトに設定し、レスポンスデータがなくなった場合に、CPUに対してタイムアウトエラー割込みを発生させる方式ではないので、タイムアウト発生まのでオーバーヘッドが発生するおそれも無い。さらに、SIMカードインタフェース39とメモリ6との間のデータ転送をDMAC38の制御によって行う場合でも、クロック制御回路310によって、エンプティフラグ304内のエンプティフラグがモニタされ、エンプティフラグが論理値‘0’の場合レシーブデータレジスタSCRDR303にデータが存在する場合には、クロック制御回路310の制御によって、ICカード7へのクロック信号の供給が停止される。これにより、新たなデータがICカード7からレシーブデータレジスタSCRDR301に伝達されることはない。以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、図6において太線矢印で示されるように、SIMカードインタフェース39とメモリ6との間のデータ転送をDMAC38の制御によって行う場合には、SIMカードインタフェース39とメモリ6との間のデータ転送をCPU33で制御する場合に比べてCPU33の負荷が軽減されることから、図2におけるクロック制御回路310やクロック停止時のレベル指定レジスタ311を省略しても良い。"