(57)【特許請求の範囲】
【請求項１】
中央処理装置と、前記中央処理装置の設定に従ってシリアル送受信処理が可能な送受信回路とを有し、
前記送受信回路は、
前記中央処理装置により通信条件が設定される通信条件設定レジスタと、
前記中央処理装置による設定データが前記通信条件設定レジスタに転送可能にされる変更用レジスタと、
送信と受信の通信状態の自動切り替えを指示するための制御情報が設定されるコントロールレジスタと、
前記コントロールレジスタに設定された制御情報によって通信状態の切り換えが指示されているとき、先の通信状態による通信の終了を検出することにより、前記変更用レジスタに予め設定されている設定データを前記通信条件設定レジスタに格納して、次の通信状態による通信を実行することが可能な送受信制御部と、を有し、
前記コントロールレジスタに設定された制御情報によって通信状態の自動切り替えが指示されている場合に、前記送受信制御部は、先の通信状態による通信の終了を検出したとき、予め前記変更用レジスタに格納された設定データを、前記通信条件設定レジスタに格納し、格納された制御データに則った次の通信状態による通信の待ち状態に移行する、半導体装置。
【請求項２】
前記中央処理装置が通信条件設定レジスタに設定した通信条件は前記変更用レジスタにも並行して設定される、請求項１記載の半導体装置。
【請求項３】
前記通信条件設定レジスタは、通信レートを指定するデータが設定される通信レート設定レジスタ、及び通信プロトコルを指定するデータが設定される通信プロトコル設定レジスタであり、
前記変更用レジスタは、設定データが前記通信レート設定レジスタに転送可能にされる第１変更用レジスタ、及び設定データが前記通信プロトコル設定レジスタに転送可能にされる第２変更用レジスタである、請求項１又は２記載の半導体装置。
【請求項４】
前記送受信制御部は、第１通信状態から第２通信状態に通信状態を切換える指示が前記中央処理装置により前記コントロールレジスタに設定されているとき、第１通信状態が終ることに応答して、前記第１変更用レジスタの設定値を前記通信レート設定レジスタに格納し、前記第２変更用レジスタの設定値を前記通信プロトコル設定レジスタに格納して、
前記第１変更用レジスタの設定値と前記第２変更用レジスタの設定値に基づいた通信レートと通信プロトコルによって第２通信状態によるデータ通信を実行可能にする、請求項３記載の半導体装置。
【請求項５】
前記第１通信状態は送信状態であり、第２通信状態は受信状態である、請求項４記載の半導体装置。
【請求項６】
前記送受信回路は外部に対して半二重方式のシリアル送受信処理を行なうＵＡＲＴである、請求項５記載の半導体装置。
【請求項７】
前記送受信制御部が操作して送信終了を反映する転送エンドフラグを有し、
前記送受信制御部は、送信が終ったことを検出してから前記転送エンドフラグに送信終了を反映させるまでの間に、前記第１変更用レジスタの設定値を前記通信レート設定レジスタに格納し、前記第２変更用レジスタの設定値を前記通信プロトコル設定レジスタに格納する処理を行なって、データ受信を待つ、請求項６記載の半導体装置。
【請求項８】
前記第１変更用レジスタ及び第２変更用レジスタを複数組有し、
前記送受信制御部は、前記制御レジスタの設定値に従って、前記通信状態の切換え時に前記通信レート設定レジスタ及び通信プロトコル設定レジスタに値を格納する前記第１変更用レジスタ及び第２変更用レジスタを選択する、請求項４記載の半導体装置。
【請求項９】
第１のデータプロセッサと、
第１の通信条件で前記第１のデータプロセッサに送信して第１のデータプロセッサからの第１の通信条件による応答に第２の通信条件への変更要求が含まれているとき、それに対する承認を第１の通信条件で第１のデータプロセッサに送信し、それに対する第１のデータプロセッサから第２の通信条件で応答が返されるまでの間に、通信条件を第１の通信条件から第２の通信条件に変更する第２のデータプロセッサと、
第１のデータプロセッサと第２のデータプロセッサと接続して前記第１の通信条件及び第２の通信条件による通信のためのシリアル信号線とを有するデータ処理システムであって、
前記第２のデータプロセッサは、中央処理装置と、前記中央処理装置の設定に従って前記シリアル信号線を介してシリアル送受信処理が可能な送受信回路とを有し、
前記送受信回路は、
前記中央処理装置により通信条件が設定される通信条件設定レジスタと、
前記中央処理装置による設定データが前記通信条件設定レジスタに転送可能にされる変更用レジスタと、
送信状態から受信状態への通信状態の自動切り替えを指示するための制御情報が設定されるコントロールレジスタと、
前記コントロールレジスタに設定された制御情報によって送信状態から受信状態への切換えが指示されているとき、送信状態の終了を検出することにより、前記変更用レジスタに予め設定されている設定データを前記通信条件設定レジスタに格納して、通信状態を変更可能な送受信制御部と、を有し、
前記コントロールレジスタに設定された制御情報によって通信状態の自動切り替えが指示されている場合に、前記送受信制御部は、先の送信状態の終了を検出したとき、予め前記変更用レジスタに格納された設定データを、前記通信条件設定レジスタに格納し、格納された制御データに則った次の受信状態の待ち状態に移行する、データ処理システム。
【請求項１０】
前記第１のデータプロセッサはＩＣカードに搭載されたＩＣカード用マイクロコンピュータであり、第２のデータプロセッサは前記ＩＣカードが装着されるＩＣカード端末装置のプロセッサである、請求項９記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信回路における通信条件の設定を変更する技術に関し、例えばＩＣカード用マイクロコンピュータにおけるＵＡＲＴ（ユニバーサル・アシンクロナス・レシーバ・トランスミッタ）の通信条件の設定変更に適用して有効な技術に関する。
【背景技術】
【０００２】
暗証番号（ＰＩＮ）によるアクセス制御、暗号処理、秘密鍵保護等のセキュリティー処理を行なうＩＣカード用マイクロコンピュータ（単にＩＣカードマイコンとも記す）は調歩同期方式によるシリアル信号をパラレル信号に変換し且つその逆変換を行う外部インタフェース用の送受信回路として例えばＵＡＲＴを有するものがある。ＵＡＲＴを備えたＩＣカードについて記載された文献の例として特許文献１がある。
【０００３】
ＩＣカードマイコンも処理データ量の増大やデータ処理の高速化が要請されるにしたがって外部インタフェース能力をそれに追従させることが必要になる。そこで、ＵＡＲＴと共に中央処理装置が搭載されたＩＣカードマイコンにおいてはＵＡＲＴによる転送レートや転送プロトコル等の通信条件をＣＰＵによるレジスタ設定でプログラマブルにするものがある。通信条件を変更する場合、中央処理装置はメモリアクセスによって所要の通信条件データをリードし、リードした通信条件データをＵＡＲＴのレジスタにロードする処理を、夫々の通信条件設定レジスタに対して行わなければならない。このとき、ＩＣカードとその端末装置との間で通信を確立するのに遅い転送レートで行った後、ＩＣカードが高速対応であれば、端末装置が高速転送への変更をＩＣカードに要求し、ＩＣカードがこれを承認すると、その後端末装置は高速インタフェースを開始してくる。このため、ＩＣカードは高速インタフェース動作の要求に対する承認を端末装置に送信してから、端末装置からの高速インタフェースによる受信が開始されるまでの間に、通信条件を変更するために前記メモリアクセスやレジスタロードを行わなければならない。しかしながら、メモリアクセスやレジスタロードを高速化するには限界があり、その途中でデータが送信されてくると、正常にデータ受信を行うことが出来なくなる虞がある。一方、通信条件を変更してから端末装置に通信条件の承認を与えることも可能であるが、そうすると、前記承認が遅延することによって一旦確立された通信が解除されたり、インタフェース効率が低下する虞がある。
【０００４】
【特許文献１】特開平５−３４２４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、中央処理装置に負担をかけずに短時間で送受信回路の通信条件を変更することができる半導体装置を提供することにある。
【０００６】
本発明の別の目的は、中央処理装置に負担をかけずに短時間でプロセッサ間の通信条件を変更することができるデータ処理システムを提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、通信条件が初期設定される通信条件設定レジスタとは別に、別の通信条件データが設定可能にされる変更用レジスタを別に設け、中央処理装置により送信から受信等に通信状態を変更する指示が予め与えられているとき、送信状態の終了を検出することにより変更用レジスタの値を通信条件設定レジスタに格納して、通信を行う送受信制御部を採用する。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１１】
すなわち、中央処理装置に負担をかけずに短時間で通信条件を変更することができる。
【発明を実施するための最良の形態】
【００１２】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１３】
〔１〕半導体装置（１）は、中央処理装置（３）と、前記中央処理装置の設定に従ってシリアル送受信処理が可能な送受信回路（１６）とを有する。前記送受信回路は、前記中央処理装置により通信条件が設定される通信条件設定レジスタ（４２，４４）と、前記中央処理装置による設定データが前記通信条件設定レジスタに転送可能にされる変更用レジスタ（４３、４５）と、送受信制御部（２０）とを有する。送受信制御部は、通信状態の切り換えが指示されているとき、先の通信状態による通信の終了を検出することにより前記変更用レジスタ設定値を前記通信条件レジスタに格納して、通信を実行することが可能とされる。
【００１４】
通信状態を変更するときに、中央処理装置は予め変更用レジスタに変更用の通信条件を設定しておくことにより、通信状態の切換え指示があると、送受信制御部が先の通信状態の終了に応答してレジスタ間転送を行うことによって通信条件を変更することができる。したがって、通信状態が切換えられるタイミングに同期して中央処理装置が新たな通信条件データをメモリ等からリードし、リードしたデータをレジスタにロードする処理を行なうことを要しない。従って、通信状態の切換えに際して、中央処理装置に負担をかけずに短時間で通信条件を変更することができる。
【００１５】
〔２〕項１の半導体装置において、前記中央処理装置が通信条件設定レジスタに設定した通信条件は前記変更用レジスタにも並行して設定される。したがって中央処理装置が変更用レジスタの一部又は全部を書換えなければ、通信状態の切換えがあっても書換えられていない通信条件を後に通信状態にそのまま維持継続させることができる。したがって、通信状態を切換えるとき、通信条件を継続する場合も変更する場合も、変更用レジスタを書換えるか否かが相違するだけ、その他は同じ制御手順を採用すればよい。
【００１６】
〔３〕項1の半導体装置において、前記通信条件設定レジスタは、例えば通信レートを指定するデータが設定される通信レート設定レジスタ（ＵＥＣＲ）、及び通信プロトコルを指定するデータが設定される通信プロトコル設定レジスタ（ＵＭＲ）である。前記変更用レジスタは、例えば設定データが前記通信レート設定レジスタに転送可能にされる第１変更用レジスタ、及び設定データが前記通信プロトコル設定レジスタに転送可能にされる第２変更用レジスタである。
【００１７】
〔４〕項３の半導体装置において、前記送受信制御部は、第１通信状態から第２通信状態に通信状態を切換える指示が前記中央処理装置により制御レジスタに設定されているとき、第１通信状態が終ることに応答して、前記第１変更用レジスタの設定値を前記通信レート設定レジスタに格納し、前記第２変更用レジスタの設定値を前記通信プロトコル設定レジスタに格納して、第２通信状態によるデータ通信を実行可能にする。
【００１８】
〔５〕項４の半導体装置において、例えば前記第１通信状態は送信状態であり、第２通信状態は受信状態である。
【００１９】
〔６〕項５の半導体装置において前記送受信回路は例えば外部に対して半二重方式のシリアル送受信処理を行なうＵＡＲＴである。
【００２０】
〔７〕項６の半導体装置において、前記送受信制御部が操作して送信終了を反映する転送エンドフラグ（ＴＥＮＤ）を有する。前記送受信制御部は、送信が終ったことを検出してから前記転送エンドフラグに送信終了を反映させるまでの間に、前記第１変更用レジスタの設定値を前記通信レート設定レジスタに格納し、前記第２変更用レジスタの設定値を前記通信プロトコル設定レジスタに格納する処理を行なって、データ受信を待つ。
【００２１】
〔８〕項４の半導体装置において、複数の前記第１変更用レジスタ（ＵＭＡＲａ、ＵＭＡＲｂ）及び複数の第２変更用レジスタ（ＵＥＡＲａ、ＵＥＡＲｂ）を有する。前記送受信制御部は、前記制御レジスタの設定値に従って、前記通信状態の切換え時に前記通信レート設定レジスタ及び通信プロトコル設定レジスタに値を格納する前記第１変更用レジスタ及び第２変更用レジスタを選択する。通信状態切換えに際して採用かのうな新たな通信条件の選択肢が増える。
【００２２】
〔９〕データ処理システムは、第１のデータプロセッサ（５２）と、第２のデータプロセッサ（１）と、それらを接続するシリアル信号線（５３）とを有する。第２のデータプロセッサは、第１の通信条件で前記第１のデータプロセッサに送信して第１のデータプロセッサからの第１の通信条件による応答に第２の通信条件への変更要求が含まれているとき、それに対する承認を第２の通信条件で第１のデータプロセッサに送信し、それに対する第１のデータプロセッサから第２の通信条件で応答が返されるまでの間に、通信条件を第１の通信条件から第２の通信条件に変更する。シリアル信号線は、第１のデータプロセッサと第２のデータプロセッサとを接続して前記第１の通信条件及び第２の通信条件による通信に用いられる。前記第２のデータプロセッサは、中央処理装置（３）と、前記中央処理装置の設定に従って前記シリアル信号線を介してシリアル送受信処理が可能な送受信回路（１６）とを有する。前記送受信回路は、前記中央処理装置により通信条件が設定される通信条件設定レジスタ（４２，４４）と、前記中央処理装置による設定データが前記通信条件設定レジスタに転送可能にされる変更用レジスタ（４３，４５）と、送受信制御部（２０）とを有する。送受信制御部は送信状態から受信状態への切換えが指示されているとき、送信状態の終了を検出することにより前記変更用レジスタの設定値を前記通信条件設定レジスタに格納して、受信状態に変更可能とする。
【００２３】
第１データプロセッサから第２データプロセッサに対する通信状態を変更するときに、中央処理装置は予め変更用レジスタに変更用の通信条件を設定しておくことにより、通信状態の切換え指示があると、送受信制御部が先の通信状態の終了に応答してレジスタ間転送を行うことによって通信条件を変更することができる。したがって、通信状態が切換えられるタイミングに同期して中央処理装置が新たな通信条件データをメモリ等からリードし、リードしたデータをレジスタにロードする処理を行なうことを要しない。従って、通信状態の切換えに際して、中央処理装置に負担をかけずに短時間で通信条件を変更することができる。
【００２４】
〔１１〕項１０のデータ処理システムにおいて前記第１のデータプロセッサはＩＣカード（５１）又はサブスクライブ・アイデンティティ・モジュール・カードに搭載されたＩＣカード用マイクロコンピュータであり、第２のデータプロセッサはＩＣカードが装着されるＩＣカード端末装置（５０）又は前記ＳＩＭカードが装着される端末装置のプロセッサである。例えばデータ処理システムは携帯電話機等の携帯端末システムに適用される。サブスクライブ・アイデンティティ・モジュール・カードは単にＳＩＭ（登録商標）カードとも称される。
【００２５】
２．実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２６】
《ＩＣカード用マイクロコンピュータ》
図２には本発明に係る半導体装置の一例であるＩＣカード用マイクロコンピュータ（単にＩＣカードマイコンとも称する）のブロック図が示される。同図に示されるＩＣカードマイコン１は、例えば、単結晶シリコンのような１個の半導体基板に相補型ＭＯＳ集積回路製造技術によって形成される。
【００２７】
ＩＣカードマイコン１は、データ入出力端子ＩＯ１，ＩＯ２、クロック入力端子ＣＬＫ、リセット端子ＲＥＳ、電源端子Ｖｃｃ、及びグランド端子Ｖｓｓを有する。ＤＢＵＳは内部データバス、ＡＢＵＳは内部アドレスバスである。入出力回路（ＩＯＰ）２は１ビットの端子ＩＯ１を用いてビットシリアルに外部インタフェースされる。クロック端子ＣＬＫに接続するクロックパルスジェネレータ（ＣＰＧ）５は内部クロックＣＫを生成する。中央処理装置（ＣＰＵ）３は内部データバスＤＢＵＳに対してパラレルデータを入出力し、内部アドレスバスＡＢＵＳにアドレス信号を出力する。システムコントローラ（ＳＹＳＣＮＴ）６はリセット等の内部動作モードを制御する。内部バスＤＢＵＳ，ＡＢＵＳには、マスクＲＯＭ（ＭＲＯＭ）１０、ランダムアクセスメモリ（ＲＡＭ）１１、不揮発性メモリ（ＥＥＰＲＯＭ）１２、タイマ（ＴＭＲ）１３、ランダム番号発生器（ＲＮＧ）１４、擬似乱数発生器（ＰＲＮＧ）１５が接続される。その他に、反二重方式のシリアル送受信処理を行う送受信回路としてのＵＡＲＴ１６、剰余乗算コプロセッサ（ＭＵＬＰ）１７、ＣＲＣ（Cyclic Redundancy Code）コードの生成とチェックを行うＣＲＣコプロセッサ（ＣＲＣＰ）１８、及び暗号化復号演算を行うＤＥＳコプロセッサ（ＤＥＳＰ）１９が接続される。
【００２８】
前記MＲＯＭ１０はＣＰＵ３の動作プログラム（暗号化プログラム、復号プログラム、インタフェース制御プログラム等）及びデータを格納するのに利用される。前記ＲＡＭ１１はＣＰＵ３のワーク領域又はデータの一時記憶領域とされる。ＥＥＰＲＯＭ１２にはセキュリティデータ等の格納に利用される。入出力回路２にＩＣカードコマンドが供給されると、ＣＰＵ３がこれをデコードし、当該コマンドの実行に必要な処理プログラムをＣＰＵ３に実行させる。ＩＣカードマイコン１はリセット信号ＲＥＳによってリセット動作が指示されると、内部が初期化され、ＣＰＵ３はMＲＯＭ１０のプログラムの先頭番地から命令実行を開始する。ＩＣカードマイコン１はクロック信号ＣＬＫに同期動作される。ＩＣカードマイコン１は電子決済サービスなどに利用可能なＩＳＯ／ＩＥＣ１５４０８の評価・認証機関による認証済みであっても、なくてもよい。
【００２９】
《ＵＡＲＴ》
図１にはＵＡＲＴ１６の一例が示される。ＵＡＲＴ１６は通信制御部（ＣＯＭＣＮＴ）２０、レジスタ回路（ＲＥＧＣ）４０、及び同期化回路（ＳＹＮＣ）３０，３１を備える。通信制御部２０は外部クロックＣＬＫに同期動作され、レジスタ回路４０は内部クロックＣＫに同期動作される。同期化回路３０，３１は通信制御回路２０とレジスタ回路４０との間のデータのやりとりを同期化する。レジスタ回路４はＣＰＵ3のアドレス空間にマッピングされ、データバスＤＢＵＳを介してＣＰＵ３によるアクセスが可能にされる。
【００３０】
通信制御部２０は通信制御ロジック（ＣＯＭＬＯＧ）２５、シフトレジスタ（ＵＳＲ）２１、ＣＲＣレジスタ（ＵＣＲＣ）２２、ｅｔｕパルスジェネレータ（ＥＴＵＧ）２３、フラグジェネレータ（ＦＬＧＧ）２４を有する。ＵＡＲＴ１６は１ビットの図示を省略する信号線を介してデータ入出力端子ＩＯ１にシリアル接続され、半二重方式のシリアル送受信処理を行なう。シフトレジスタ２１はデータ入出力端子ＩＯ１からのシリアル入力データをシフト入力し、また、データ入出力端子ＩＯ１に向けてデータをシフト出力する。ＣＲＣレジスタ２２はＣＲＣコードのシフト入力とＣＲＣコードをシフト出力に用いられるレジスタである。ｅｔｕ（基本時間単位：Elementary Time Unit）はビットシリアルデータにおける１ビット分の転送時間を意味し、ｅｔｕパルスジェネレータ２３は１ｅｔｕをＣＬＫの何サイクルとするかを規定する。即ち１ｅｔｕは１データ（1ビットデータ）の時間をクロック数で示す。フラグジェネレータ２４は後述する内部フラグの操作を行う。
【００３１】
レジスタ回路４０はコントロールレジスタ（ＵＣＲ）４１、モードレジスタ（ＵＭＲ）４２、第１オートロードレジスタ（ＵＭＡＲ）４３、ＥＴＵカウントレジスタ（ＵＥＣＲ）４４、第２オートロードレジスタ（ＵＥＡＲ）４５、ステータスレジスタ（ＵＣＳＲ）４６、及びデータレジスタ（ＵＤＲ）４７を有する。
【００３２】
コントロールレジスタ（ＵＣＲ）４１はＵＡビット、ＲＮ＿Ｔビット、Ｔ２Ｒビット及びＩＥビット等を有する。ＵＡビットはＵＡＲＴの状態を制御する。０：停止状態、１：動作状態（送受信動作を行える状態）を意味する。ＲＮ＿ＴビットはＵＡＲＴ１６の送信又は受信モードを設定する。０：受信モード、１：送信モードを意味する。Ｔ２ＲビットはＴ＝０プロトコルで送信モードから受信モードへ自動的に切り替える場合に設定される。０：送信モードから受信モードへの自動切り替えオフ、１：送信モードから受信モードへの自動切り替えオンを意味する。ＩＥビットは割り込みイネーブルビットであり、ステータスレジスタ（ＵＣＳＲ）４６のステータスフラグＴＤＲＥ等が０から１にセットされたときのＵＡＲＴ割り込み要求を設定する。０：ＵＡＲＴ割り込み要求を禁止、１：ＵＡＲＴ割り込み要求を許可する。これによる割込み要求は割込み信号ＵＡＲＴＩＲＱによってＣＰＵに供給される。
【００３３】
モードレジスタ（ＵＭＲ）４２はＴビット等を有する。ＴビットはＵＡＲＴ１６のデータ転送プロトコルを設定する。０：Ｔ＝０プロトコル、１：Ｔ＝１プロトコルを意味する。プロトコルの相違は通信データ形式の相違、パリティーエラーを送信元に返すか否かなどの相違とされる。第１オートロードレジスタ（ＵＭＡＲ）４３は、Ｔ２Ｒ＝１の設定によって送信モードから受信モードに自動で切換えられるとき、モードレジスタ（ＵＭＲ）４２にその値が自動的にロードされる、レジスタである。
【００３４】
ＥＴＵカウントレジスタ（ＵＥＣＲ）４４は１ｅｔｕに相当する外部クロックＣＬＫのクロック数、即ち転送レートが設定されるレジスタである。第２オートロードレジスタ（ＵＥＡＲ）４５は、Ｔ２Ｒ＝１の設定によって送信モードから受信モードに自動で切換えられるとき、ＥＴＵカウントレジスタ（ＵＥＣＲ）４４にその値が自動的にロードされる、レジスタである。
【００３５】
データレジスタ（ＵＤＲ）４７はＵＡＲＴ１６が受信モードに設定されているときデータ入出力端子ＩＯ１から受信したシリアルデータを格納する。ＵＡＲＴ１６は１バイトのシリアルデータの受信が終了するとシフトレジスタ（ＵＳＲ）２１からＵＤＲ４７へ受信したシリアルデータを転送して格納し、受信動作を完了する。この後、ＵＳＲ２１は受信可能になる。このように、ＵＳＲ２１とＵＤＲ４７はダブルバッファになっているため連続した受信動作が可能とされる。また、ＵＤＲ４７はＵＡＲＴ１６が受信モードに設定されているときにはリード専用レジスタになるのでＣＰＵ３からライトすることはできない。データレジスタＵＤＲ４７は、ＵＡＲＴ１６が送信モードに設定されているときにはデータ入出力端子ＩＯ１からシリアル送信するデータを格納する８ビットのレジスタとされる。ＵＡＲＴ１６はシフトレジスタ（ＵＳＲ）の空（エンプティ）を検出すると、ＵＤＲ４７に書き込まれた送信データをＵＳＲ２１に転送してシリアル送信を開始する。ＵＳＲ２１のシリアルデータ送信中にＵＤＲ４７に次の送信データを書き込んでおくと、連続シリアル送信ができる。ＵＤＲ４７はＵＡＲＴ１６が送信モードに設定されているときには常にＣＰＵ３によるリード／ライト可能とされる。
【００３６】
ステータスレジスタ（ＵＣＳＲ）４６はＴＤＲＥビット及びＴＥＮＤビット等を有する。ＴＤＲＥ（トランスミットデータレジスタエンプティ）ビットは送信モード時、ＵＡＲＴデータレジスタ（ＵＤＲ）４７からＵＡＲＴ１６のシフトレジスタ（ＵＳＲ）２１にデータ転送が行われＵＤＲに次のシリアル送信データを書き込むことが可能になったことを示す。０：ＵＤＲ４７に有効な送信データが書き込まれていることを示す。１：ＵＤＲ４７に有効な送信データがないことを示す。ＴＥＮＤ（トランスミットエンド）ビットはＵＡＲＴ１６が送信モードで送信キャラクタの最後尾ビットの送信時にＵＤＲ４７に有効なデータがなく、送信を終了したことを示す。ＴＥＮＤビットは読み出し専用のフラグであり、ＣＯＭＣＮＴ２０が操作する。０：送信中であることを示す。１：送信を終了したことを示す。
【００３７】
《送信モードから受信モードへの自動切換え》
以下、ＵＡＲＴ１６における送信モードから受信モードへの自動切換えについて詳述する。ＦＬＧＧ２４によるフラグ操作対象を除いてレジスタ回路４０のレジスタはＣＰＵ３によって初期設定可にされる。転送レートが設定されるＵＥＣＲ４４、および転送モードが設定されるＵＭＲ４２がＣＰＵ３によって初期設定されるとき、レジスタ回路４０はＵＥＣＲ４４に設定されるデータをＵＥＡＲ４５にもセットし、ＵＭＲ４２に設定されるデータをＵＭＡＲ４３にもセットする。ＣＰＵ３はその初期化制御プログラム等に従い必要に応じてＵＥＡＲ４５，ＵＭＡＲ４３を個別の初期設定可能である。送信モードから受信モードへの自動切換えに際して転送レート又は／及び転送モードを変更することが必要な場合には、ＵＥＡＲ４５にはＣＰＵ３が転送レート変更用のデータをロードし、ＵＭＡＲ４３にはＣＰＵ３が転送モード変更用のデータをロードする。ＵＥＡＲ４５，ＵＭＡＲ４３に対する書き換えが行われていなければ、送信モードから受信モードへの自動切換えにおいて転送モードと転送レートは変更されない。前述のように送信モードから受信モードへの自動切換えは、Ｔ＝０，Ｔ２Ｒ＝１によって指示される。
【００３８】
図３には送信モードから受信モードへの自動切換えの動作タイミングが例示される。Ｔ＝０，Ｔ２Ｒ＝１が設定されていて、送信モードにおける転送レートは３２ＣＬＫ／ｅｔｕとされる。ＵＭＲ４２には値Ｔ＝０、ＵＭＡＲ４３には値Ｔ＝１、ＵＥＣＲ４４には値３２ＣＬＫ／ｅｔｕ、ＵＥＡＲ４５には値１６ＣＬＫ／ｅｔが初期設定されている。送信動作において、ＣＯＭＬＯＧ２５は、ＵＤＲ４７に次の送信データが無く、ＵＳＲ２１から最後のビットがシリアル出力されることによって送信動作が終ったことを検出すると、ＵＭＡＲ４３の設定値をＵＭＲ４２にロードし、ＵＥＡＲ４５の設定値をＵＥＣＲ４４にロードして、通信モードをＴ＝１、通信レートを１６ＣＬＫ／ｅｔｕに変更して、データ受信可能な受信状態に移行して、データの受信を待つ。
【００３９】
図４にはＩＣカード用マイコン１を適用したデータ処理システムが例示される。同図に示されるデータ処理システムは例えばＩＣカードシステムであり、カード端末装置５０とＩＣカード５１が例示される。カード端末装置５０はＩＣカードのリード・ライト制御のためのプロセッサ５２を備える。ＩＣカード５０はＩＣカードマイコン１を備え、ＵＡＲＴ１６がシリアル伝送線５３を介してプロセッサ５２のＵＡＲＴ５４に接続される。ＩＣカードマイコン１はＩＣカードの利用に際して必要な認証処理や秘匿データに対するセキュリティ処理に利用される。
【００４０】
図５にはＩＣカードとカード端末装置との間で通信を確立するときのフローチャートが例示される。カード端末装置にＩＣカードが装着されてＩＣカードがリセットされると、ＩＣカードはカード端末装置にＡＲＴ（Answer To Reset）によって通信プロトコルや転送レートの情報を返す（Ｓ１）。例えばこの時の通信レートはＩＣカード規格の最低である９６００ｂｐｓとされる。カード端末装置は受取ったＡＲＴに基づいてＩＣカードの通信能力を判定し、通信可能な最大転送レートへの変更をＩＣカードに返す（Ｓ２）。例えば９６００ｂｐｓから３８４Ｋｂｐｓへの変更が要求される。ＩＣカードがその変更要求への応答をＡＴＲでカード端末装置に返すと（Ｓ３）、それ以降は、カード端末装置から３８４Ｋｂｐｓの転送レートでコマンドやデータが転送されてくる（Ｓ４）。ここで、ＩＣカードマイコン１は処理Ｓ３でＡＴＲを返してからカード端末装置が新たなコマンドを送信してくるまでに、要するに、ＡＴＲを送信する送信状態からＳ４のコマンドやデータを受ける受信状態への切換えに際して、ＵＡＲＴ１６の転送レートを変更しなければならない。このとき、ＩＣカードは、前述のようにＵＭＡＲ４３，ＵＥＡＲ４５に変更用のデータを予め格納しておき、Ｓ３の処理に際してＴ２Ｒ＝１を設定しておけば、ＵＡＲＴ１６はＳ３によるＡＴＲの送信終に応答してＵＭＡＲ４３，ＵＥＡＲ４５の設定値をＵＭＲ４２，ＵＥＣＲ４４にロードしレジスタ間転送処理を自立的に行ない、その間、ＣＰＵ３には一切負担がかからない。従ってＩＣカードマイコン１はＳ３の終了検出後、レジスタ間転送によって転送レートを変更して、Ｓ４によるコマンド及びデータの受信待ち状態（一つの受信状態）に即座に移行することができる。図６の動作フローチャートに例示されるように送信状態から受信状態に移行するのにＣＰＵ３によるメモリリードとレジスタロードの動作を要しない。斯様に、送信状態から受信状態への遷移に時間がかからず、しかもＣＰＵ３に負担を変えなくても済む。例えばＵＭＡＲ４３及びＵＥＡＲ４５がなければ、受信状態から送信状態への変更に際して、ＣＰＵ３は、図７の動作フローに例示されるように、変更データをメモリからリードし、リードしたデータをＵＭＲ４２，ＵＥＣＲ４４にロードするアクセス処理を行わなければならず、その間、通信動作は途切れることになる。
【００４１】
図８及び図９には送信モードから受信モードへの自動切り替え機能（ＵＣＲＴ２Ｒ＝１時）を使用するときのＵＡＲＴ１６の処理フローが詳細に例示される。Ｔ２Ｒモードを開始するには先ず、ＣＰＵ３はＵＣＲ４１のＵＡビット、ＲＮ＿Ｔビットを夫々０にクリアしてＵＡＲＴ１６を停止状態、受信モードに設定する（Ｔ１）。ＣＰＵ３はＵＥＣＲ４４に１ｅｔｕのクック数を設定して転送レートの初期値を決める（Ｔ２）。個の初期値はＵＥＡＲ４５にもセットされる。送信状態から受信状態に変更されるときＵＥＣＲ４４を自動変更する場合にはＵＥＡＲ４５に変更データを設定する（Ｔ４）。変更しない場合はＵＥＡＲ４５の値はＵＥＣＲ４４の値と同じ値を維持する。次に、ＵＣＲ４１，ＵＭＲ４２に送受信モードを設定し（Ｔ５）、送信状態から受信状態に変更されるときＵＭＲ４２を自動変更する場合にはＵＭＡＲ４３に変更データを設定する（Ｔ７）。変更しない場合はＵＭＡＲ４３の値はＵＭＲ４２の値と同じ値を維持する。その後、ＣＰＵ３はＵＣＲ４１に対し、ＵＡ＝１、ＲＮ＿Ｔ＝１、Ｔ２Ｒ＝１を設定する（Ｔ８）。これにより、ＵＡＲＴ１６は動作可能にされ、送信モードが設定され、送信終了後は受信モードへの自動切換え動作が指示される。これによって図９のＴ２Ｒによる送信モードが開始される。
【００４２】
図９の送信モードでは、ＵＣＳＲ４６のＴＤＲＥフラグにより、ＵＤＲ４７に送信データが無いことを確認後、ＵＤＲ４７に送信データをライトしてＵＣＳＲ４６のＴＤＲＥフラグを０にクリアする。これによって、送信中のデータ送信終了後にＵＤＲ４７にライトされたデータがＵＳＲ２１にライトされ、次の送信動作を開始する。この動作が全データ送信まで繰り返される（Ｔ９〜Ｔ１２）。最後のデータ送信時は、送信中であることを示すＵＣＳＲ４６のＴＥＮＤフラグをリードし、送信終了までポーリングする。Ｔ２Ｒモードでは例えば送信データのスタートビットから１１．５ｅｔｕ前後で送信から受信に切換わるとすると、ＴＥＮＤフラグはＵＡＲＴ１６が受信状態に切換わった状態で０から１に変化されるようになる（Ｔ１３，Ｔ１４）。要するに、ＴＥＮＤフラグが０から１に変化されるまでの間に、図３に例示されるように、ＵＭＡＲ４３の値をＵＭＲ４２に、ＵＥＡＲ４５の値をＵＥＣＲ４４に転送する動作が完了される。ＵＡＲＴ１６が受信モードに切換わった後は、ＣＰＵ３がスリープ命令を実行し、ＩＣカードマイコン１はスリープモードの状態で受信データのスタートビットの入力を待つ。スリープ状態でスタートビットを検出すると、ＩＣカードマイコン１はＵＡＲＴ１６のもみ動作状態に復帰しＣＰＵ３等はスリープ状態を維持する。動作状態に復帰したＵＡＲＴ１６は受信動作を開始する。データ受信後にＣＰＵ３を復帰させるには、ＣＰＵ３によるスリープ命令実行前にＵＣＲ４１のＩＥビットに１を設定し、受信終了後にＵＡＲＴ割込みがＣＰＵ３に発行されるようにすればよい（Ｔ４，Ｔ１５）。
【００４３】
図１０には専らＵＭＲ４２，ＵＥＣＲ４４とＵＭＡＲ４３，ＵＥＡＲ４５との接続関係が例示される。ＵＭＡＲ４３，ＵＥＡＲ４５は夫々データバスＤＢＵＳ経由でＣＰＵ３によりアクセスされ、ＵＭＲ４２，ＵＥＣＲ４４はセレクタ（ＳＥＬ）６０，６１を介してデータバスＤＢＵＳ又はＵＭＡＲ４３，ＵＥＡＲ４５の出力に接続される。ＵＭＡＲ４３，ＵＥＡＲ４５からＵＭＲ４２，ＵＥＣＲ４４への転送はＣＯＭＬＯＧ２５の制御に基づいてセレクタ６０，６１を経由して行われる。セレクタ６０，６１によるデータバスＤＢＵＳとレジスタＵＭＲ４２，ＵＭＡＲ４３，ＵＥＣＲ４５，ＵＥＡＲ４４との選択はＣＰＵ３が実行する命令に基づいて制御されることになる。
【００４４】
図１１にはＵＭＡＲをＵＭＡＲａ４３ＡとＵＭＡＲｂ４３Ｂで構成し、ＵＥＡＲをＵＥＡＲａ４５ＡとＵＥＡＲｂ４５Ｂで構成した場合の例が示される。ＵＭＲ４２はセレクタ（ＳＥＬ）６２を介してデータバスＤＢＵＳ、ＵＭＡＲａ４３Ａ又はＵＭＡＲｂ４３Ｂに接続可能にされ、ＵＥＣＲはセレクタ（ＳＥＬ）６３を介してデータバスＤＢＵＳ、ＵＥＡＲａ４５Ａ又はＵＥＡＲｂ４５Ｂに接続可能にされる。通信状態の切換えに際して選択可能な転送レート及び転送プロトコルの選択肢が増える。セレクタ６２にＵＭＡＲａ４３Ａ又はＵＭＡＲｂ４３Ｂの何れを選択させるか、セレクタ６３にＵＥＡＲａ４５Ａ又はＵＥＡＲｂ４５Ｂの何れを選択させるかの指示にはＵＣＲ４１の特定ビットを用いればよい。選択タイミングはＣＯＭＬＯＧ２５が制御する。セレクタ６２，６３によるデータバスＤＢＵＳとレジスタＵＭＲ４２，ＵＭＡＲａ４３Ａ，ＵＭＡＲｂ４３Ｂ，ＵＥＣＲ４４，ＵＥＡＲａ４５Ａ，ＵＥＡＲｂ４５Ｂとの選択はＣＰＵ３が実行する命令に基づいて制御されることになる。尚、図１０及び図１１においてその他の構成は図示を省略してあるが、実際には図２に例示するその他の回路構成を備えていることは言うまでもない。
【００４５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４６】
例えば半導体装置はＩＣカードマイコンに限定されず、セキュリティ機能を備えていないマイクロコンピュータ、アクセラレータ、システムオンチップと称されるインテリジェント機能を供えた大規模集積回路等に広く適用することができる。マイクロコンピュータが有する回路モジュールが図２に限定されない。調歩同期方式による送受信回路はクロック同期による送受信機能を併せて備えてもよい。送受信回路はＵＡＲＴに限定されない。ＵＡＲＴのレジスタ構成は図１に限定されず適宜変更可能である。ＩＣカードはＳＩＭカードなどであってもよい。ＳＩＭカードのカード端末装置は携帯電話機に代表される携帯端末装置が該当する。
【図面の簡単な説明】
【００４７】
【図１】図１はＵＡＲＴの一例を示すブロック図である。
【図２】図２は本発明に係る半導体装置の一例であるＩＣカード用マイクロコンピュータのブロック図である。
【図３】図３は送信モードから受信モードへの自動切換えの動作タイミングを例示するタイミングチャートである。
【図４】図４はＩＣカード用マイコンを適用したデータ処理システムを例示するブロック図である。
【図５】図５はＩＣカードとカード端末装置との間で通信を確立するときの動作を示すフローチャートである。
【図６】図６は送信状態から受信状態へ自動切換えを行う場合のフローチャートである。
【図７】図７はＵＭＡＲ，ＵＥＡＲを持たない場合に送信状態から受信状態に切換えを行う場合のフローチャートである。
【図８】図８は送信モードから受信モードへの自動切り替え機能（ＵＣＲＴ２Ｒ＝１時）を使用するときのＴ２Ｒモードを開始するときのフローチャートである。
【図９】図９はＴ２Ｒによる送信モードのフローチャートである。
【図１０】図１０はＵＭＲ，ＵＥＣＲとＵＭＡＲ，ＵＥＡＲとの接続関係を専ら例示するブロック図である。
【図１１】図１１はＵＭＡＲとＵＥＡＲを複数組み設けた場合を例示するブロック図である。
【符号の説明】
【００４８】
１  ＩＣカード用マイクロコンピュータ（ＩＣカードマイコン）
ＩＯ１，ＩＯ２  データ入出力端子
ＣＬＫ  クロック入力端子
ＲＥＳ  リセット端子
内部データバス  ＤＢＵＳ
５  クロックパルスジェネレータ（ＣＰＧ）
３  中央処理装置（ＣＰＵ）
６  システムコントローラ（ＳＹＳＣＮＴ）
１０  マスクＲＯＭ（ＭＲＯＭ）
１１  ランダムアクセスメモリ（ＲＡＭ）
１２  不揮発性メモリ（ＥＥＰＲＯＭ）
１３  タイマ（ＴＭＲ）
１６  ＵＡＲＴ
２０  通信制御部（ＣＯＭＣＮＴ）
４０  レジスタ回路（ＲＥＧＣ）
３０，３１  同期化回路（ＳＹＮＣ）
２５  通信制御ロジック（ＣＯＭＬＯＧ）
２１  シフトレジスタ（ＵＳＲ）
２２  ＣＲＣレジスタ（ＵＣＲＣ）２２
２３  ｅｔｕパルスジェネレータ（ＥＴＵＧ）
２４  フラグジェネレータ（ＦＬＧＧ）
４１  コントロールレジスタ（ＵＣＲ）
４２  モードレジスタ（ＵＭＲ）
４３  第１オートロードレジスタ（ＵＭＡＲ）
４４  ＥＴＵカウントレジスタ（ＵＥＣＲ）
４５  第２オートロードレジスタ（ＵＥＡＲ）
４６  ステータスレジスタ（ＵＣＳＲ）
４７  データレジスタ（ＵＤＲ）
５０  カード端末装置
５１  ＩＣカード
５２  プロセッサ
４３Ａ  ＵＭＡＲａ
４３Ｂ  ＵＭＡＲｂ
４５Ａ  ＵＥＡＲａ
４５Ｂ  ＵＥＡＲｂ
【図１】
0005179834.tif 000002
【図２】
0005179834.tif 000003
【図３】
0005179834.tif 000004
【図４】
0005179834.tif 000005
【図５】
0005179834.tif 000006
【図６】
0005179834.tif 000007
【図７】
0005179834.tif 000008
【図８】
0005179834.tif 000009
【図９】
0005179834.tif 000010
【図１０】
0005179834.tif 000011
【図１１】
0005179834.tif 000012