JPH09179948A - Icカードインタフェース装置 - Google Patents

Icカードインタフェース装置

Info

Publication number
JPH09179948A
JPH09179948A JP7335384A JP33538495A JPH09179948A JP H09179948 A JPH09179948 A JP H09179948A JP 7335384 A JP7335384 A JP 7335384A JP 33538495 A JP33538495 A JP 33538495A JP H09179948 A JPH09179948 A JP H09179948A
Authority
JP
Japan
Prior art keywords
data
reception
transmission
card
unit
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
JP7335384A
Other languages
English (en)
Inventor
Shigeru Imura
滋 井村
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP7335384A priority Critical patent/JPH09179948A/ja
Publication of JPH09179948A publication Critical patent/JPH09179948A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【課題】 ICカードと電子機器との間で半二重非同期
通信の制御を行なうインタフェース装置において、受信
データレジスタ等のハード構成を増加させることなく、
ICカード側から供給されるデータを確実に受信できる
ようにする。 【解決手段】 送受信部70で受信した受信データRX
Dを受信データレジスタ部41へ格納した時点で、受信
データフラグ41aをセットする。受信データレジスタ
部41に格納された受信データrxdがデータバスD−
BUSを介して図示しないCPU側に取り込まれると、
受信データフラグ41aをリセットする。再送要求生成
部80は、新たなデータを受信した際に、受信データフ
ラグ41aがセットされている場合は、パリティエラー
に伴う再送要求の機能を利用した再送要求信号80aを
生成し、送信バッファ部56を介して出力することで、
図示しないICカード側に同一データの再送信を要求す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロプロセ
ッサ(CPU)内蔵のICカードと、このICカードが
装着される電子機器との間で、半二重非同期通信でデー
タ伝送を行なうためのデータインタフェース装置に係
り、詳しくは、電子機器側のデータインタフェース装置
の受信バッファが満杯の場合は、パリティエラー発生時
のデータ再送信機能を利用して、同一データを再送信さ
せることで、受信データを確実に取り込めるようにした
データインタフェース装置に関するものである。
【0002】
【従来の技術】半二重非同期通信プロトコルを適用した
CPU内蔵のICカードは、ISO7816標準等で知
られている。図3はISO準拠のICカードの外部接続
端子の説明図である。ICカード10は、6個の外部接
続端子C1〜C3,C5〜C7を備えている。なお、I
SOでは、2個の予備端子C4,C8を将来のための予
備端子として用意している。
【0003】Vcc端子C1は、ICカード10に回路
電圧Vccを供給するための電源供給端子である。RS
T端子C2は、リセット信号の供給端子である。このR
ST端子C2に供給するリセット信号の論理レベルに応
じて、ICカード10をリセット状態または動作状態に
制御できる。
【0004】CLK端子C3は、ICカード10に内蔵
されているCPUを動作させるためのクロック信号の供
給端子である。このCLK端子C3から供給されたクロ
ック信号は、ICカード10内の分周回路で分周され、
非同期通信を行なうためのビットクロックとしても利用
される。GND端子C5は、グランド端子である。
【0005】Vpp端子C6は、プログラム電圧の供給
端子であり、ICカード10に内蔵されている不揮発性
メモリ(例えばEEPROM)の電源が外部から供給す
る場合に使用する端子である。なお、ICカード10
に、プログラム電圧を供給する電源回路が内蔵されてい
る場合は、Vpp端子C6を使用する必要はない。
【0006】I/O端子C7は、データ入出力用のもの
であり、ICカード10とこのICカード10を装着し
た後述する電子機器20との間で、データ伝送を行なう
ために使用される。
【0007】図4はICカード10およびこのICカー
ド10が装着される電子機器20のブロック構成図であ
る。ICカード10は、CPU11と、プログラムメモ
リ12と、データメモリ13と、インタフェース回路部
14とを備えている。プログラムメモリ12には、半二
重非同期通信を行なうためのプログラム、ならびに、デ
ータメモリ13から読み出し,データメモリ13への書
き込み等の制御プログラムが格納されている。データメ
モリ13は、ユーザデータを格納するためのものであ
り、不揮発性メモリで構成されている。インタフェース
回路部14は、半二重非同期通信を行なうための回路を
備えている。
【0008】CPU11は、電子機器20からインタフ
ェース回路14を介して動作状態を要求するリセット
(RST)信号が供給されると、インタフェース回路1
4を介して供給されるクロック(CLK)信号に基づい
て動作を開始する。CPU11は、半二重非同期通信に
よって受信した各種の制御データに基づいて、データメ
モリ13に格納されているデータを読み出して電子機器
20側へ出力したり、電子機器20側から供給されるデ
ータをデータメモリ13へ書き込む。
【0009】電子機器20は、ICカードインタフェー
ス装置40と、CPU21と、電源部22と、図示しな
いプログラムメモリ,データメモリ,操作部,表示部等
のこの電子機器20としての機能を実現するための各種
回路部を備える。
【0010】ICカード10と電子機器20との間で
は、インタフェース回路部14とICカードインタフェ
ース装置40を介して、半二重非同期通信でデータの伝
送を行なう。
【0011】図5は半二重非同期通信のデータ伝送フォ
ーマットの説明図である。スタートビット31は、常に
論理レベルLで始まる。スタートビット31に続く8ビ
ットD1〜D8はデータビットである。このデータビッ
トD1〜D8は、交換されるデータそのものである。
【0012】ISO7816標準では、8ビットのデー
タを正論理で下位ビットから上位ビットの順に送信する
正論理先頭下位ビットフォーマットと、8ビットのデー
タを負論理で上位ビットから下位ビットの順に送信する
負論理先頭上位ビットフォーマットとの、2種類のフォ
ーマットを規定している。そして、使用するフォーマッ
トを指定するフォーマット指定データを、ICカード1
0側から相手側である電子機器20のICカードインタ
フェース装置40へ供給することで、ビットシリアルデ
ータの伝送フォーマットを決定する。図5は、正論理先
頭下位ビットフォーマットの場合を示している。
【0013】データビットD1〜D8の次にパリティビ
ット32を設けている。ISO7816標準では、偶数
パリティを採用している。例えば、データビットD1〜
D8の8ビット中のHレベルのビット数が奇数の場合
は、パリティビット32をHレベルとして、データビッ
トD1〜D8とパリティビット32との全体でHレベル
の個数が偶数となるようパリティビット32の論理レベ
ルが決定される。伝送フォーマットが正論理先頭下位ビ
ットフォーマットの場合は、パリティビット32も正論
理を用い、伝送フォーマットが負論理先頭上位ビットフ
ォーマットの場合は、パリティビット32も負論理を用
いる。
【0014】送信側は、パリティビット32を送信した
後は、所定の時間の間、I/O端子C7をHレベル(ま
たは高インピーダンス)に保持する。受信側はパリティ
チェックを行なった結果、パリティエラーが検出された
場合には、Lレベルの再送要求(キャラクタ再送要求)
33を送信することで、送信側は同一のデータを再度送
信する規定になっている。受信側でLレベルの再送要求
33を送出するタイミングは、10.5ビットに相当す
るタイミングからで、Lレベルの再送要求33の送出時
間は最小で1ビット分,最大で2ビット分である。図5
では、1.5ビット分の期間Lレベルの再送要求33を
送出する場合を、仮想線で示した。
【0015】図6は、電子機器20側に設けられる従来
のICカードインタフェース装置40のブロック構成図
である。従来のICカードインタフェース装置40は、
図4に示した電子機器20側のCPU21のデータバス
D−BUSに接続された受信データレジスタ部41と、
送信データレジスタ部42と、状態データレジスタ部4
3と、制御データレジスタ部44と、電子機器20側の
CPU21のアドレスバスA−BUSならびに制御バス
C−BUSに接続されたレジスタ制御部45と、半二重
非同期通信の送受信部50とを備えている。
【0016】受信データレジスタ部41は、送受信部5
0から出力された受信データRXDを一時記憶するため
の受信バッファメモリを備える。この受信データレジス
タ部41は、CPU21に対して未転送の受信データが
バッファメモリにある場合は、バッファメモリに受信デ
ータがある旨の信号(データ受信フラグ)41aを状態
データレジスタ部43へ供給する。また、この受信デー
タレジスタ部41は、レジスタ制御部45から受信デー
タ出力指令45aが供給されると、バッファメモリに格
納してある受信データrxdをデータバスD−BUSへ
出力する。
【0017】さらに、この受信データレジスタ部41
は、ICカード10側から供給されるフォーマット指定
データの検出回路を備えている。そして、受信データレ
ジスタ部41は、フォーマット指定データを受信した場
合は、受信データがある旨の信号41aを発生しない。
また、受信データレジスタ部41は、フォーマット指定
データに基づいて指定されたフォーマットに対応して、
受信バッファの下位ビット〜上位ビットのデータの各格
納位置に、受信データの下位ビット〜上位ビットのデー
タを格納するようにしている。したがって、データバス
D−BUS上に出力される受信データrxdは、半二重
非同期通信の伝送フォーマットに拘らず、データバスの
下位ビット〜上位ビットに対して、ICカード10側か
ら供給されたデータの下位ビット〜上位ビットが対応さ
れている。
【0018】送信データレジスタ部42は、データバス
D−BUSを介してCPU21から供給される送信デー
タtxdを一時記憶するための送信バッファメモリを備
える。この送信データレジスタ部42は、送受信部50
によって送信バッファメモリに格納した送信データTX
Dが送信されると、送信バッファメモリが空き状態であ
ることを示す信号42aを状態データレジスタ部43へ
供給する。また、この送信データレジスタ部42は、レ
ジスタ制御部45から送信データ読み込み指令45bが
供給されると、データバスD−BUS上に供給されてい
る送信データtxdを送信バッファメモリに読み込む。
【0019】状態データレジスタ部43は、受信データ
レジスタ部41から供給される受信データがある旨の信
号41a、ならびに、送信データレジスタ部42から供
給される送信バッファメモリが空き状態であることを示
す信号42aに基づいて、受信データの有無、ならび
に、新たな送信データの受入れが可能か否かの送信に係
る状態を管理し記憶している。そして、この状態データ
レジスタ部43は、レジスタ制御部45から送受信状態
出力要求45cが供給されると、受信データの有無なら
びに送信データの受入れが可能か否かの送受信に係る状
態データSTDを、データバスD−BUS上に供給す
る。
【0020】制御データレジスタ部44は、CPU21
から供給される制御データを格納するレジスタを備え
る。この制御データレジスタ部44は、レジスタ制御部
45から制御データ読み込み指令45dが供給される
と、データバスD−BUS上に供給される制御データC
TRを読み込み一時記憶する。そして、この制御データ
レジスタ部44は、読み込んだ制御データCTRがIC
カード10に対するアクセス要求である場合は、ICカ
ード10を動作状態に制御するためのリセット信号rs
tをリセット端子RSTを介してICカード10側へ供
給するとともに、クロック供給指令44aを送受信部5
0へ供給して、ICカード10に対するクロック供給を
行なわせる。
【0021】レジスタ制御部45は、アドレスバスA−
BUS上のアドレスデータを監視し、受信データレジス
タ部41,送信データレジスタ部42,状態データレジ
スタ部43、制御データレジスタ部44の各レジスタ部
に対して予め割り当てられたアドレスデータを検出す
る。レジスタ制御部45は、このアドレスデータの検出
により、制御バスC−BUS上に供給される読み出しタ
イミング信号,書き込みタイミング信号に基づいて、ア
ドレスデータによって指定された各レジスタ部41〜4
4に対する指令(受信データ出力指令45a,送信デー
タ読み込み指令45b,送受信状態出力要求45c,制
御データ読み込み指令45d)を生成して出力する。
【0022】半二重非同期通信の送受信部50は、デー
タ入出力端子I/Oを介してICカード10側から供給
されるシリアルビット信号をパラレルビット信号へ変換
し、変換したデータを受信データRXDとして出力する
直列−並列変換部51と、送信状態と受信状態との切り
替えを制御する送受切替制御部52と、受信時に受信デ
ータに基づいて内部パリティビットのデータ53bを生
成するとともに、送信状態ではパリティビットを付加し
た送信データ53aを生成するパリティ生成部53を備
える。送受信部50は、再送要求信号54aの生成なら
びに送出を行なう再送要求生成部54と、パリティビッ
トが付加されたパラレルビットの送信データ53aをシ
リアルビットの送信データ55aへ変換する並列−直列
変換部55と、送信データ55aならびに再送要求信号
54aをデータ入出力端子I/Oを介してICカード1
0側へ送出する送信バッファ部56と、送受信に必要な
各種のタイミング信号57aを生成するタイミング信号
生成部57を備える。さらに、送受信部50は、電子機
器20側から供給されるマスタークロックMCKを分周
し、クロック端子CLKを介してICカード10側へク
ロック信号clkを供給するとともに、タイミング信号
生成部57へタイミング生成に必要な基準クロック58
aを供給するクロック分周部58を備える。
【0023】送受切替制御部52は、送信データレジス
タ部42に送信すべきデータが格納されていない場合
は、送受信部50を受信待機状態に制御する。受信待機
状態において送受切替制御部52は、データ入出力端子
I/O端子の信号を監視しており、ICカード10側か
ら送信されたスタートビット31を検出すると、スター
トビット検出パルス信号52aを生成し、生成したスタ
ートビット検出パルス信号52aをタイミング信号生成
部57へ供給する。
【0024】タイミング信号生成部57は、スタートビ
ット検出パルス信号52aに基づいて、このタイミング
信号生成部57内に設けられたカウンタをリセットする
ことで、カウンタを利用した各種のタイミング信号生成
回路から、受信データのビットタイミングに同期させた
各種のタイミング信号57aを出力する。
【0025】直列−並列変換部51は、シリアル入力−
パラレル出力型のシフトレジスタを備える。この直列−
並列変換部51は、タイミング信号生成部57から供給
される受信データ取り込みタイミング信号57a1に基
づいて、ICカード10側から送信されたデータビット
D1〜D8ならびにパリティビット32のデータを順次
取り込む。そして、直列−並列変換部51は、受信デー
タチェックバス51aを介して、受信した各データビッ
トD1〜D8の各データ51adをパリティ生成部53
へ供給し、また受信したパリティビットのデータ51a
pを再送要求生成部54へそれぞれ供給する。
【0026】送受切替制御部52は、送受状態指示バス
52bを介して、受信状態にあるときは受信状態である
ことを示す受信モード信号52bRを、送信状態にある
ときは送信状態であることを示す送信モード信号52b
Tを、各回路部へ供給している。
【0027】パリティ生成部53は、送受状態指示バス
52bを介して供給される受信モード信号52bRに基
づいて受信モードにあることを検出した場合は、受信デ
ータチェックバス51aを介して供給される受信データ
51ad(D1〜D8)に基づいてパリティビットデー
タ53bを生成して、生成したパリティビットデータ5
3bを再送要求生成部54へ供給する。
【0028】再送要求生成部54は、送受状態指示バス
52bを介して供給される受信モード信号52bRに基
づいて受信モードにあることを検出した場合は、パリテ
ィ生成部53から供給されるパリティビットデータ53
bと、受信データチェックバス51aを介して供給され
る受信パリティビットデータ51apとを比較し、両者
のパリティビットデータが一致した場合はパリティ一致
検出信号54bを出力し、不一致の場合はLレベルの再
送要求信号54aを生成して出力する。
【0029】再送要求生成部54は、タイミング信号生
成部57から供給される再送要求送出タイミング信号5
7a2に基づいて、図5に示した再送要求送出タイミン
グで再送要求信号54aを生成し出力する。この再送要
求信号54aは、ワイヤードオア回路W1を介して送信
バッファ部56の送信許可端子56aへ供給されるとと
もに、ワイヤードオア回路W2を介して送信バッファ部
56の送信データ入力端子56bへ供給される。
【0030】送信バッファ部56は、送信許可端子56
aに供給される信号がHレベルの場合は、出力端子56
cを高インピーダンス状態に保持し、送信許可端子56
aに供給される信号がLレベルの場合は、送信データ入
力端子56bに供給される論理レベルの信号をデータ入
出力端子I/Oを介してICカード10側へ送出するよ
う構成されている。
【0031】直列−並列変換部51は、再送要求生成部
54からパリティ一致検出信号54bが供給されると、
シフトレジスタ内に格納してあるデータビットD1〜D
8のデータ(受信キャラクタデータ)を受信データRX
Dとして、受信データレジスタ部41へ供給し、受信デ
ータレジスタ部41に格納させる。
【0032】送受切替制御部52は、受信待機状態にお
いて、送信データバス52cを介して送信データレジス
タ部42に未送信の送信データTXDがあるか否かをチ
ェックしている。送受切替制御部52は、送信データレ
ジスタ部42に未送信の送信データTXDがある場合
は、送信状態であることを示す送信モード信号52bT
を各回路部へ供給するとともに、送信データレジスタ部
42から送信データTXDを取り込んで、取り込んだ送
信データTXDを送信データ52dとしてパリティ生成
部53へ供給する。
【0033】パリティ生成部53は、送信モード信号5
2bTに基づいて送信モードであることを検出した場合
は、送受切替制御部52から供給される送信データ52
d(TXD)に対してパリティビットデータを生成し、
パリティビットを付加した送信データ53aを並列−直
列変換部55へ供給する。
【0034】並列−直列変換部55は、パラレル入力−
シリアル出力型のシフトレジスタを備え、このシフトレ
ジスタにパリティ生成部53から供給されるパリティビ
ットを付加した送信データ53aを格納する。また並列
−直列変換部55は、先頭ビットにLレベルのスタート
ビットを付加し、タイミング信号生成部57から供給さ
れる送信タイミング信号57a3に基づいて、シリアル
ビットの送信データ55aを生成するとともにこの送信
データ55aを、ワイアードオア回路W2を介して、送
信バッファ部56の送信データ入力端子56bへ供給す
る。
【0035】送受切替制御部52は、送信モードにある
ときは、Lレベルの送信バッファ動作指令信号52b1
を、ワイアードオア回路W2を介して、送信バッファ部
56の送信許可端子56aへ供給して、送信バッファ部
56を動作可能な状態に制御している。したがって、並
列−直列変換部55から出力された送信データ55a
は、送信バッファ部56を介してデータ入出力端子I/
OからICカード10側へ送出される。
【0036】図7は従来のICカードインタフェース装
置40の動作を示すフローチャートである。ICカード
インタフェース装置40は、電源が投入されると受信待
機状態となり、この受信待機状態ではスタートビットの
検出動作が継続される(ステップS1)。ICカードイ
ンタフェース装置40は、ステップS1で、ICカード
10側から送信されたスタートビットを検出すると、ス
テップS2でスタートビットに続いて送信されるデータ
を受信する。ICカードインタフェース装置40は、受
信した各ビットデータD1〜D8に基づいて、内部パリ
ティデータを生成する(ステップS3)。
【0037】ICカードインタフェース装置40は、デ
ータビットD1〜D8に続いて送信されるパリティビッ
トを受信すると(ステップS4)、生成した内部パリテ
ィデータと受信したパリティデータとを比較する(ステ
ップS5)。ICカードインタフェース装置40は、パ
リティデータが不一致の場合には、ステップS6で再送
要求54aを発生した後に、ステップS1へ戻って再送
されるデータの受信に備える。ICカードインタフェー
ス装置40は、パリティデータが一致した場合は、受信
したデータD1〜D8を受信データレジスタ部41へ格
納し(ステップS7)、データ受信フラグをセットし
(ステップS8)、ステップS1へ戻って次にデータ受
信に備える。または、ICカードインタフェース装置4
0は、ステップS8で、データ受信フラグをセットした
後は、CPU21がデータ受信フラグを検出して、受信
データレジスタ部41に格納した受信データを取り込む
まで、受信動作を停止させる。
【0038】なお、データ受信フラグのセットとは、デ
ータ受信レジスタ部41に受信データが格納されること
で、受信データがある旨の信号41aが出力されるこ
と、ならびに、この受信データがある旨の信号41aに
よって、状態レジスタ部43が受信データある状態にセ
ットされることをいう。
【0039】
【発明が解決しようとする課題】以上説明したようにI
Cカード10とICカードインタフェース装置40との
間のデータ伝送は、パリティエラーが発生した際にデー
タの再送を行なうことができる通信規約となっている
が、受信データレジスタ部41に格納した受信データを
電子機器側のCPU21が取り込むことができない場合
には、次の送信を一時停止させるといったデータフロー
制御が可能な通信規約とはなっていない。
【0040】このため、ISO7816標準を適用する
ICカードインタフェース装置40では、電子機器20
側のCPU21が、電子機器20側の他の処理動作のた
めに、受信データレジスタ部41に格納した受信データ
を速やかに取り込むことができない状態を想定して、複
数段の受信データレジスタを用意しておき、ICカード
10側から順次送られてくるデータを、各受信データレ
ジスタに順次格納し、複数段の受信データレジスタが満
杯になる前に、各受信データレジスタから受信データを
順次読み出すようにする必要があった。
【0041】ここで、受信データレジスタの段数は、デ
ータの転送速度,電子機器20側のCPU21の処理能
力に応じて適宜設定されることになるが、増設する受信
データレジスタとそれらを制御するための制御回路が増
加することになり、ICカードインタフェース装置40
のハード構成が複雑となるとともに、消費電力の増加に
なる。
【0042】特に、ICカード10を利用する電子機器
20が、例えば携帯電話装置などの電池駆動型の機器で
ある場合には、ICカードインタフェース装置40を構
成する専用IC内部のゲート数の増加、ならびに、ゲー
ト数の増加に伴う消費電力の増加は、電子機器の経済
化、小型化、ならびに、通話時間の長時間化に反するこ
ととなるので、ICカードインタフェース装置40のハ
ード規模の増加は好ましくない。
【0043】また、複数段の受信データレジスタを設け
ないようにするために、処理速度の高いCPUを採用す
ることも考えられるが、一般に処理速度を高くすると消
費電力が増加するので、電池動作型の電子機器では、電
池での連続動作時間との兼ね合いで、高速のCPUを採
用できない場合がある。一方、データ伝送処理を最優先
で行なうことも考えられるが、電子機器の操作入力に対
する応答遅れ等が発生する虞れもあり、望ましくない。
【0044】この発明はこのような課題を解決するため
なされたもので、受信データレジスタ等のハード構成を
増加させることなく、ICカード側から供給されるデー
タを確実に受信することのできるICカードインタフェ
ース装置を提供することを目的とする。
【0045】
【課題を解決するための手段】前記課題を解決するため
この発明にICカードインタフェース装置は、受信デー
タレジスタに受信データが格納されている場合は、パリ
ティエラーに伴う再送要求を利用して同一データの再送
をICカード側へ供給することで、受信データのフロー
制御(受信データの取りこぼしをなくす制御)を行なう
再送要求生成部を備えたことを特徴とする。
【0046】再送要求生成部は、受信データレジスタに
格納された受信データを、電子機器側のCPUが取り込
まない状態では、パリティエラーに伴う再送要求を利用
して同一データの再送をICカード側へ供給する。よっ
て、ICカードインタフェース装置は、電子機器側のC
PUが他の処理のために受信データレジスタに格納され
た受信データの取り込み処理が遅れても、ICカード側
から供給されるデータを電子機器側のCPUが確実に取
り込み得るようにする。
【0047】このように、ICカードインタフェース装
置は、パリティエラーに伴う再送要求を利用して、受信
データのフロー制御を行なうことから、ハード構成を増
加させることなく、受信データのフロー制御を行なうこ
とができる。
【0048】
【発明の実施の形態】以下、この発明の実施の形態につ
いて添付図面に基づいて説明する。図1はこの発明に係
るICカードインタフェース装置60のブロック構成図
である。なお、同図において、上述した従来のICカー
ドインタフェース装置40と対応する構成については、
同一符号を用いている。
【0049】ICカードインタフェース装置60は、送
受信部70内の再送要求生成部80を、図6に示した従
来のICカードインタフェース装置40と異なる構成と
している。再送要求生成部80は、受信モードにおい
て、受信データレジスタ部41から出力されるバッファ
メモリに受信データがある旨の信号(データ受信フラ
グ)41aの供給を受けている状態では、データ受信の
たび毎に、再送要求信号80aを出力するよう構成して
いる。
【0050】すなわちICカードインタフェース装置6
0は、図4に示した電子機器20側のCPU21のデー
タバスD−BUSにそれぞれ接続された受信データレジ
スタ部41と、送信データレジスタ部42と、状態デー
タレジスタ部43と、制御データレジスタ部44と、電
子機器側のCPU21のアドレスバスA−BUSならび
に制御バスC−BUSに接続されたレジスタ制御部45
と、半二重非同期通信の送受信部70とを備えている。
【0051】受信データレジスタ部41は、送受信部7
0から出力された受信データRXDを一時記憶するため
の受信バッファメモリを備える。この受信データレジス
タ部41は、CPU21に対して未転送の受信データが
バッファメモリにある場合は、このバッファメモリに受
信データがある旨の信号(データ受信フラグ)41aを
状態データレジスタ部43へ供給する。
【0052】また、この受信データレジスタ部41は、
レジスタ制御部45から受信データ出力指令45aが供
給されると、バッファメモリに格納してある受信データ
rxdをデータバスD−BUSへ出力する。さらに、受
信データレジスタ部41は、受信データrxdをデータ
バスD−BUSへ出力した後は、状態データレジスタ部
43へのバッファメモリに受信データがある旨の信号
(データ受信フラグ)41aの出力を停止する。
【0053】この受信データレジスタ部41は、ICカ
ード10側から供給されるフォーマット指定データの検
出回路を備えている。そして、受信データレジスタ部4
1は、フォーマット指定データを受信した場合は、受信
データがある旨の信号41aを発生しない。また、受信
データレジスタ部41は、フォーマット指定データに基
づいて指定されたフォーマットに対応して、受信バッフ
ァの下位ビット〜上位ビットのデータの各格納位置に、
受信データの下位ビット〜上位ビットのデータを格納す
るようにしている。したがって、データバスD−BUS
上に出力される受信データrxdは、半二重非同期通信
の伝送フォーマットに拘らず、データバスの下位ビット
〜上位ビットに対して、ICカード10側から供給され
たデータの下位ビット〜上位ビットが対応されている。
【0054】送信データレジスタ部42は、CPU21
から供給される送信データtxdを一時記憶するための
送信バッファメモリを備える。この送信データレジスタ
部42は、送受信部70によって送信バッファメモリに
格納した送信データTXDが送信されると、送信バッフ
ァメモリが空き状態であることを示す信号42aを状態
データレジスタ部43へ供給する。また、この送信デー
タレジスタ部42は、レジスタ制御部45から送信デー
タ読み込み指令45bが供給されると、データバスD−
BUS上に供給されている送信データtxdを送信バッ
ファメモリに読み込む。
【0055】状態データレジスタ部43は、受信データ
レジスタ部41から供給される受信データがある旨の信
号(データ受信フラグ)41a、ならびに、送信データ
レジスタ部42から供給される送信バッファメモリが空
き状態であることを示す信号42aに基づいて、受信デ
ータの有無、ならびに、新たな送信データの受入れが可
能か否かの送信に係る状態を管理し記憶している。そし
て、この状態データレジスタ部43は、レジスタ制御部
45から送受信状態出力要求45cが供給されると、受
信データの有無ならびに送信データの受入れが可能か否
かの送受信に係る状態データSTDを、データバスD−
BUS上に供給する。
【0056】したがって、電子機器20側のCPU21
は、状態データレジスタ部43内のデータを読み出すこ
とで、受信データの有無(データ受信フラグがセットさ
れているか否か)、ならびに、送信データの受入れが可
能か否かの送受信に係る状態を把握することができる。
【0057】制御データレジスタ部44は、CPU21
から供給される制御データを格納するレジスタを備え
る。この制御データレジスタ部44は、レジスタ制御部
45から制御データ読み込み指令45dが供給される
と、データバスD−BUS上に供給される制御データC
TRを読み込み一時記憶する。そして、この制御データ
レジスタ部44は、読み込んだ制御データCTRがIC
カード10に対するアクセス要求である場合は、ICカ
ード10を動作状態に制御するためのリセット信号rs
tをリセット端子RSTを介してICカード10側へ供
給するとともに、クロック供給指令44aを送受信部7
0へ供給して、ICカード10に対するクロック供給を
行なわせる。
【0058】レジスタ制御部45は、アドレスバスA−
BUS上のアドレスデータを監視し、受信データレジス
タ部41,送信データレジスタ部42,状態データレジ
スタ部43、制御データレジスタ部44の各レジスタ部
に対して予め割り当てられたアドレスデータを検出す
る。レジスタ制御部45は、このアドレスデータの検出
により、制御バスC−BUS上に供給される読み出しタ
イミング信号,書き込みタイミング信号に基づいて、ア
ドレスデータによって指定されたレジスタ部41〜44
に対する指令(受信データ出力指令45a,送信データ
読み込み指令45b,送受信状態出力要求45c,制御
データ読み込み指令45d)を生成して出力する。
【0059】半二重非同期通信の送受信部70は、デー
タ入出力端子I/Oを介してICカード10側から供給
されるシリアルビット信号をパラレルビット信号へ変換
し、変換したデータを受信データRXDとして出力する
直列−並列変換部51と、送信状態と受信状態との切り
替えを制御する送受切替制御部52と、受信時に受信デ
ータに基づく内部パリティビットのデータ53bを生成
するとともに、送信状態ではパリティビットを付加した
送信データ53aを生成するパリティ生成部53とを備
える。送受信部70は、パリティエラー発生時だけでな
く受信データレジスタ部41内に先に受信した受信デー
タがCPU21側から読み出されることなく残されてい
る場合に再送要求信号80aの生成ならびに送出を行な
う再送要求生成部80と、パリティビットが付加された
パラレルビットの送信データ53aをシリアルビットの
送信データ55aへ変換する並列−直列変換部55と、
送信データ55aならびに再送要求信号80aをデータ
入出力端子I/Oを介してICカード10側へ送出する
送信バッファ部56と、送受信に必要な各種のタイミン
グ信号57aを生成するタイミング信号生成部57を備
える。さらに送受信部70は、電子機器20側から供給
されるマスタークロックMCKを分周し、クロック端子
CLKを介してICカード10側へクロック信号clk
を供給するとともに、タイミング信号生成部57へタイ
ミング生成に必要な基準クロック58aを供給するクロ
ック分周部58を備える。
【0060】送受切替制御部52は、送信データレジス
タ部42に送信すべきデータが格納されていない場合
は、送受信部70を受信待機状態に制御する。受信待機
状態において、送受切替制御部52は、データ入出力端
子I/O端子の信号を監視しており、ICカード10側
から送信されたスタートビット31を検出すると、スタ
ートビット検出パルス信号52aを生成し、生成したス
タートビット検出パルス信号52aをタイミング信号生
成部57へ供給する。
【0061】タイミング信号生成部57は、スタートビ
ット検出パルス信号52aに基づいて、このタイミング
信号生成部57内に設けられたカウンタをリセットする
ことで、カウンタを利用した各種のタイミング信号生成
回路から、受信データのビットタイミングに同期させた
各種のタイミング信号57aを出力する。
【0062】なお、電子機器20側のCPU21から制
御データレジスタ部44へ伝送速度(ビットレート)に
係るデータを書き込むようにするとともに、制御データ
レジスタ部44に書き込まれた伝送速度(ビットレー
ト)に係るデータを、タイミング信号生成部57へ供給
する。タイミング信号生成部57は、供給された伝送速
度(ビットレート)に係るデータに基づいて指定された
伝送速度に応じたビットレートでの各種のタイミング信
号57aを生成して出力するようにしてもよい。
【0063】直列−並列変換部51は、シリアル入力−
パラレル出力型のシフトレジスタを備える。この直列−
並列変換部51は、タイミング信号生成部57から供給
される受信データ取り込みタイミング信号57a1に基
づいて、ICカード10側から送信されたデータビット
D1〜D8ならびにパリティビット32のデータを順次
取り込む。そして、直列−並列変換部51は、受信デー
タチェックバス51aを介して、受信した各データビッ
トD1〜D8の各データ51adをパリティ生成部53
へ供給し、また受信したパリティビットのデータ51a
pを再送要求生成部80へそれぞれ供給する。
【0064】送受切替制御部52は、送受状態指示バス
52bを介して、受信状態にあるときは受信状態である
ことを示す受信モード信号52bRを、送信状態にある
ときは送信状態であることを示す送信モード信号52b
Tを、各回路部へ供給している。
【0065】パリティ生成部53は、送受状態指示バス
52bを介して供給される受信モード信号52bRに基
づいて受信モードにあることを検出した場合は、受信デ
ータチェックバス51aを介して供給される受信データ
51ad(D1〜D8)に基づいてパリティビットデー
タ53bを生成して、生成したパリティビットデータ5
3bを再送要求生成部80へ供給する。
【0066】再送要求生成部80は、送受状態指示バス
52bを介して供給される受信モード信号52bRに基
づいて受信モードにあることを検出した場合は、パリテ
ィ生成部53から供給されるパリティビットデータ53
bと、受信データチェックバス51aを介して供給され
る受信パリティビットデータ51apとを比較する。再
送要求生成部80は、両者のパリティビットデータが一
致した場合はパリティ一致検出信号80bを出力し、不
一致の場合はLレベルの再送要求信号80aを生成して
出力する。
【0067】再送要求生成部80は、受信モードにおい
て、受信データレジスタ部41から先の受信データが電
子機器20側のCPU21によって取り込まれておら
ず、受信データレジスタ部41内に先の受信データが残
されている状態にあることを示す信号(データ受信フラ
グ)41aが供給されている場合は、データの受信のた
び毎に再送要求信号80aを出力するよう構成してい
る。
【0068】再送要求生成部80は、タイミング信号生
成部57から供給される再送要求送出タイミング信号5
7a2に基づいて、図5に示した再送要求送出タイミン
グで再送要求信号80aを出力する。この再送要求信号
80aは、ワイヤードオア回路W1を介して送信バッフ
ァ部56の送信許可端子56aへ供給されるとともに、
ワイヤードオア回路W2を介して送信バッファ部56の
送信データ入力端子56bへ供給される。
【0069】送信バッファ部56は、送信許可端子56
aに供給される信号がHレベルの場合は、出力端子56
cを高インピーダンス状態に保持し、送信許可端子56
aに供給される信号がLレベルの場合は、送信データ入
力端子56bに供給される論理レベルの信号をデータ入
出力端子I/Oを介してICカード10側へ送出するよ
う構成されている。
【0070】直列−並列変換部51は、再送要求生成部
80からパリティ一致検出信号80bが供給されると、
シフトレジスタ内に格納してあるデータビットD1〜D
8のデータ(受信キャラクタデータ)を受信データRX
Dとして、受信データレジスタ部41へ供給し、受信デ
ータレジスタ部41に格納させる。
【0071】送受切替制御部52は、受信待機状態にお
いて、送信データバス52cを介して送信データレジス
タ部42に未送信の送信データTXDがあるか否かをチ
ェックしている。送受切替制御部52は、送信データレ
ジスタ部42に未送信の送信データTXDがある場合
は、送信状態であることを示す送信モード信号52bT
を各回路部へ供給するとともに、送信データレジスタ部
42から送信データTXDを取り込んで、取り込んだ送
信データTXDを送信データ52dとしてパリティ生成
部53へ供給する。
【0072】パリティ生成部53は、送信モード信号5
2bTに基づいて送信モードであることを検出した場合
は、送受切替制御部52から供給される送信データ52
d(TXD)に対してパリティビットデータを生成し、
パリティビットを付加した送信データ53aを並列−直
列変換部55へ供給する。
【0073】並列−直列変換部55は、パラレル入力−
シリアル出力型のシフトレジスタを備え、このシフトレ
ジスタにパリティ生成部53から供給されるパリティビ
ットを付加した送信データ53aを格納する。並列−直
列変換部55は、先頭ビットにLレベルのスタートビッ
トを付加し、タイミング信号生成部57から供給される
送信タイミング信号57a3に基づいて、シリアルビッ
トの送信データ55aを生成するとともに、この送信デ
ータ55aをワイアードオア回路W2を介して、送信バ
ッファ部56の送信データ入力端子56bへ供給する。
【0074】送受切替制御部52は、送信モードにある
ときは、Lレベルの送信バッファ動作指令信号52b1
を、ワイアードオア回路W2を介して、送信バッファ部
56の送信許可端子56aへ供給して、送信バッファ部
56を動作可能な状態に制御している。したがって、並
列−直列変換部55から出力された送信データ55a
は、送信バッファ部56を介してデータ入出力端子I/
OからICカード10側へ送出される。
【0075】図2はこの発明に係るICカードインタフ
ェース装置60の動作を示すフローチャートである。I
Cカードインタフェース装置60は、電源が投入される
と受信待機状態となり、この受信待機状態では受信デー
タレジスタ部41によるスタートビットの検出動作が継
続される(ステップS11)。
【0076】ICカードインタフェース装置60は、ス
テップS11で、受信データレジスタ部41によってI
Cカード10側から送信されたスタートビットを検出す
ると、ステップS12でスタートビットに続いて送信さ
れるデータを受信する。ICカードインタフェース装置
60は、受信した各ビットデータD1〜D8に基づい
て、パリティ生成部53において、内部パリティデータ
を生成する(ステップS13)。
【0077】ICカードインタフェース装置60は、デ
ータビットD1〜D8に続いて送信されるパリティビッ
トを受信する(ステップS14)。ICカードインタフ
ェース装置60は、パリティビットを受信したことで一
連のシリアルデータブロック(キャラクタ)の受信が終
了したことを検出すると、次のステップS15で、受信
データレジスタ部41内に先に受信した受信データがC
PU21側へ未転送の状態で残されているか否かをチェ
ックする。
【0078】このICカードインタフェース装置60で
は、受信データレジスタ部41から出力されるバッファ
メモリに受信データがある旨の信号(データ受信フラ
グ)41aに基づいて、受信データレジスタ部41に先
に受信したデータが残されているか否か(受信データレ
ジスタ部41が空きか否か)を判断している。
【0079】先に受信したデータが既にCPU21側に
取り込まれており、バッファメモリに受信データがある
旨の信号(データ受信フラグ)41aが出力されていな
い場合(受信データレジスタ部41が空きの場合)、I
Cカードインタフェース装置60内の再送要求生成部8
0は、パリティ生成部53で受信データD1〜D8に基
づいて生成した内部パリティデータ53bと、受信した
パリティデータとを比較し、パリティチェックを行なう
(ステップS16)。
【0080】ICカードインタフェース装置60は、ス
テップS15で受信データレジスタ部41が空きでない
ことを検出した場合、ならびに、ステップS16でパリ
ティ不一致が検出された場合は、ステップS17で再送
要求生成部80において再送要求信号80aを生成し
て、所定の再送要求信号送出タイミングでICカード1
0側へ送出する。
【0081】ICカードインタフェース装置60は、ス
テップS16でパリティ一致が検出された場合は、ステ
ップS18で、受信したデータD1〜D8を受信データ
RXDとして受信データレジスタ部41へ格納する。受
信データRXDを受信データレジスタ部41へ格納する
と、受信データレジスタ部41は、ステップS19で、
バッファメモリに受信データがある旨の信号41aを出
力する(データ受信フラグをセットする)。
【0082】ICカードインタフェース装置60は、受
信状態および受信待機状態において、ステップS11〜
S19からなる一連の処理を繰り返す。パリティチェッ
ク結果がOKの正常なデータ受信がなされると、受信デ
ータRDXを受信データレジスタ部41に格納して、受
信データがある旨の信号41aを出力する(データ受信
フラグをセットする)。電子機器20側のCPU21
は、ICカードインタフェース装置60から送出される
受信データがある旨の信号41a(データ受信フラグ)
を状態レジスタ43を介して読み込むことで、受信デー
タがあることを検出し、データバスD−BUSを介して
受信データレジスタ部41に格納された受信データrx
dを取り込むことができる。
【0083】ICカードインタフェース装置60は、電
子機器20側のCPU21が、受信データレジスタ部4
1に格納された受信データrxdを取り込むと、受信デ
ータがある旨の信号41aが出力されなくなるので(デ
ータ受信フラグをリセットする)、次に受信したデータ
を受信データレジスタ部41に格納することができる。
【0084】ここで、ICカードインタフェース装置6
0は、電子機器20側のCPU21が他の処理等のため
に、受信データレジスタ部41に格納された受信データ
rxdを取り込むことができない場合、受信データがあ
る旨の信号41aが継続して出力されているので(デー
タ受信フラグのセット状態が継続)、次のデータを受信
した場合は、ステップS15で、受信データレジスタが
空きでないことが判断され、ステップS17で再送要求
信号が送出される。
【0085】ICカード10は、再送要求信号を受ける
と同一のデータを再送信する。ICカードインタフェー
ス装置60は、再送信されたデータを受信した時点で、
先に受信したデータを電子機器20側のCPU21が未
だ取り込んでいない場合は、再送要求信号が再度送出さ
れる。ICカードインタフェース装置60は、このよう
にして、先に受信したデータを電子機器20側のCPU
21が取り込むまで、同一データの再送を繰り返すこと
ができるので、ICカード10側から送出されたデータ
を取りこぼすことなく、確実に受信することができる。
【0086】なお、図1ならびに図2に示したICカー
ドインタフェース装置60においては、受信データレジ
スタ部41に受信データが格納された時点で、データ受
信フラグをセットし、電子機器20側のCPU21が受
信データレジスタ部41に格納された受信データを取り
込むと、データ受信フラグをリセットするように構成し
たが、本発明はかかる構成に限定されない。例えば、I
Cカードインタフェース装置は、電子機器20側のCP
U21が他の処理のために受信データを取り込めない状
態にあるときは、その旨を示すデータ受信一時待ちフラ
グを制御データレジスタ部44に書き込み、再送要求生
成部80が、この制御データレジスタ部44に書き込ま
れたデータ受信一時待ちフラグに基づいて、再送要求信
号送出タイミング毎に再送要求を送出するようにしても
よい。
【0087】このように、本発明に係るICカードイン
タフェース装置60は、送信側であるICカード10と
受信側である電子機器20との間にあって、受信側から
送信側に受信可能な状態であることを通知しない伝送プ
ロトコルにおいて、パリティチェックに基づく再送機能
を有効に利用することで、1個または小数の受信データ
レジスタ部41で、送信側から送出されたデータの取り
こぼしを解消できるようにしたので、ICカードインタ
フェース装置60のハード構成を増加することなく、デ
ータの受信を確実に行なうことができる。
【0088】
【発明の効果】以上説明したようにこの発明に係るIC
カードインタフェース装置は、電子機器側のCPUが所
定の時間内に受信データを取り込むことができずに、受
信データレジスタに先に受信したデータが格納されてい
る場合は、パリティエラーに伴う再送要求を利用して同
一データの再送をICカード側へ供給することで、新た
な受信データの受信もれをなくすようにしたので、IC
カードインタフェース装置のハード構成を増加すること
なく、データ受信を確実に行なうことができる。
【図面の簡単な説明】
【図1】この発明に係るICカードインタフェース装置
にブロック構成図である。
【図2】この発明に係るICカードインタフェース装置
の動作を示すフローチャートである。
【図3】ISO準拠のICカードの外部接続端子の説明
図である。
【図4】ICカードおよびICカードが装着される電子
機器のブロック構成図である。
【図5】半二重非同期通信のデータ伝送フォーマットの
説明図である。
【図6】電子機器側に設けられる従来のICカードイン
タフェース装置のブロック構成図である。
【図7】従来のICカードインタフェース装置の動作を
示すフローチャートである。
【符号の説明】
10 ICカード 20 電子機器 21 電子機器側のCPU 41 受信データレジスタ部 51 直列−並列変換部 52 送受切替制御部 53 パリティ生成部 56 送信バッファ 57 タイミング信号生成部 60 ICカードインタフェース装置 70 半二重非同期通信の送受信部 80 再送要求生成部 80a 再送要求信号

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 CPUとメモリとを内蔵するICカード
    とこのICカードを利用する電子機器のCPUとの間に
    配置され、半二重非同期通信によってデータの転送を制
    御するICカードインタフェース装置において、 電子機器側のCPUに受け渡すために受信データを一時
    記憶しておく受信データレジスタと、 この受信データレジスタに受信データが格納されている
    場合は、パリティエラーに伴う再送要求を利用して同一
    データの再送をICカード側へ供給することで、受信デ
    ータのフロー制御を行なう再送要求生成部とを備えたこ
    とを特徴とするICカードインタフェース装置。
JP7335384A 1995-12-22 1995-12-22 Icカードインタフェース装置 Withdrawn JPH09179948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7335384A JPH09179948A (ja) 1995-12-22 1995-12-22 Icカードインタフェース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7335384A JPH09179948A (ja) 1995-12-22 1995-12-22 Icカードインタフェース装置

Publications (1)

Publication Number Publication Date
JPH09179948A true JPH09179948A (ja) 1997-07-11

Family

ID=18287952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7335384A Withdrawn JPH09179948A (ja) 1995-12-22 1995-12-22 Icカードインタフェース装置

Country Status (1)

Country Link
JP (1) JPH09179948A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327810A (ja) * 1998-05-11 1999-11-30 Fujitsu Ltd データ転送装置
WO2001009709A1 (fr) * 1999-08-02 2001-02-08 Matsushita Electric Industrial Co., Ltd. Connecteur de carte a circuit integre
US6655588B2 (en) 2000-07-28 2003-12-02 Nec Electronics Corporation Card system, IC card and card reader/writer used for the card system
JP2005148647A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327810A (ja) * 1998-05-11 1999-11-30 Fujitsu Ltd データ転送装置
WO2001009709A1 (fr) * 1999-08-02 2001-02-08 Matsushita Electric Industrial Co., Ltd. Connecteur de carte a circuit integre
US6779724B1 (en) 1999-08-02 2004-08-24 Matsushita Electric Industrial Co., Ltd. IC card reader and method
US6655588B2 (en) 2000-07-28 2003-12-02 Nec Electronics Corporation Card system, IC card and card reader/writer used for the card system
JP2005148647A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置

Similar Documents

Publication Publication Date Title
US5444847A (en) Data transfer method for transferring a data frame among a plurality of devices connected to a serial data bus
US20050091427A1 (en) Integrated circuit device having send/receive macro for serial transfer bus
EP3265922A1 (en) Impedance-based flow control for a two-wire interface system with variable frame length
EP2207101A1 (en) Method and device for parallel interfacing
US5051899A (en) Data transmission error detection in an electronic cash register system
JPH09179948A (ja) Icカードインタフェース装置
US5737633A (en) Serial data receiving device having a memory for storing a reception permit signal which enable or disable the device from hand-shaking with the transmitting device
WO1995007515A1 (en) Ic card reader/writer and its control method
JPH10116187A (ja) マイクロコンピュータ
US20210173808A1 (en) Early parity error detection on an i3c bus
US20180357121A1 (en) Error correction calculation upon serial bus abort
US11520729B2 (en) I2C bus architecture using shared clock and dedicated data lines
EP0829095B1 (en) Method and apparatus for reducing latency time on an interface by overlapping transmitted packets
JPH103436A (ja) 自動転送機能付シリアル入出力回路
JP2738229B2 (ja) シリアル・データ通信制御装置
US11360916B2 (en) Group slave identifier time-multiplexed acknowledgment for system power management interface
EP1544844B1 (en) System and method for controlling display of mobile terminal
JP2764452B2 (ja) バス転送応答方法
JP2001134421A (ja) Fifo記憶装置
JPH06152695A (ja) シリアルインタフェース回路
JP2001175544A (ja) 情報通信装置および情報通信方法
JP3198251B2 (ja) 情報通信端末
JPH11232243A (ja) 通信制御装置、方法および通信制御システム
JP2000003312A (ja) 同期式シリアル通信システム及びその制御方法
JPH07319841A (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: 20030304