(57)【要約】【課題】上位装置との処理時間を短縮するとともに磁気カードに形成された複数の記録領域内に記録された同一のデータの読み取る場合、読み取りの信頼性の低下を防止する磁気カードリーダライタを提供する。【解決手段】読取制御部９４は、磁気カード２０に形成された磁気ストライプ２１上の複数の記録領域２２、２３から磁気ヘッド６によりデータを読み取る。判定手段９１３は、読取制御部９４によって読み取られたデータの誤りの有無を記録領域２２、２３毎に判定する。書込制御部９５は、判定手段９１３によって記録領域２２，２３のいずれかでデータの誤りがあると判定された場合に、データの誤りがある記録領域に誤りのないデータを磁気ヘッド６によって書き込む。【選択図】図１
2014089574.tif 000002
【特許請求の範囲】
【請求項１】
カード上の磁気ストライプに記録されたデータを読み取り、またはデータを書き込む磁気ヘッドと、
前記磁気ストライプに形成された複数の記録領域内に記録された同一データを前記磁気ヘッドにより読み取る読取手段と、
前記読取手段によって読み取られた同一データの誤りの有無を前記記録領域毎に判定する判定手段と、
前記判定手段によって前記記録領域のいずれかでデータの誤りがあると判定した場合に、データの誤りがある記録領域に誤りのないデータを前記磁気ヘッドによって書き込む書込手段と
を有することを特徴とする磁気カードリーダライタ。
【請求項２】
前記書込手段による書き込みが行われた場合に、データの誤りがある記録領域に誤りのないデータが書き込まれた旨を上位装置に通知する通知手段を有することを特徴とする請求項１に記載の磁気カードリーダライタ。
【請求項３】
前記通知手段は、前記書込手段によって書き込まれたデータを前記上位装置に通知することを特徴とする請求項２に記載の磁気カードリーダライタ。
【請求項４】
前記読取手段は、前記書込手段による書き込みの行われた記録領域から前記磁気ヘッドによってデータを読み取り、
前記判定手段は、当該データの誤りの有無を判定し、
前記通知手段は、当該データに誤りがないと前記判定手段によって判定した場合に、当該データを前記上位装置に通知する
ことを特徴とする請求項３に記載の磁気カードリーダライタ。
【請求項５】
前記書込手段は、前記判定手段によってデータに誤りがあると判定した場合に、誤りのないデータを前記磁気ヘッドによってすべての前記記録領域に書き込むことを特徴とする請求項１乃至４のいずれか１項に記載の磁気カードリーダライタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気カードリーダライタに関する。
【背景技術】
【０００２】
磁気カードリーダライタは、磁気カードを利用するＡＴＭ（Automated Teller Machine）等の各種装置に用いられ、ユーザにより挿入された磁気カードを引き込んで該磁気カードに対するデータの記録、再生を行った後に磁気カードリーダライタ外部へ排出する。磁気カードは、例えば、クレジットカード、プリペイドカード又はキャッシュカード等のカード状媒体であり、この磁気カード上に形成された磁気ストライプには、例えば金銭価値を示す有価情報やＩＤコードなどの固有情報が記録されている。磁気カードを利用する装置は、例えば磁気カードに記録されているデータを磁気カードリーダライタにより読み取り、更新するデータなどを磁気カードリーダライタにより磁気カードに書き込む。
【０００３】
より具体的には、磁気カードリーダライタは、ユーザによって磁気カードが挿入されると、挿入された磁気カードを本体内部に取り込んで磁気カードからデータを読み取る。そして、読み取ったデータをＲＡＭ（Random Access Memory）等のメモリに記憶した後、その読み取ったデータをメモリから読み出して上位装置に送信する。読み取ったデータを受信した上位装置は、その送信されたデータに基づいて所定の処理を行い、処理が完了すると、磁気カードリーダライタに処理の完了を通知する。この通知を受信した磁気カードリーダライタは、磁気カードを本体内部から排出または取り出し可能にする等してユーザに返却し、磁気カードに対する処理を終了する。
【０００４】
このような磁気カードは、樹脂や紙で作製されたカード状媒体の表面に帯状の磁気ストライプを形成したものであり、この磁気ストライプに磁気ヘッドを接触させてデータの読み取り又は書き込みを行う。ところが、磁気ストライプに傷が付いたり、外部の磁場によって減磁されたりすることによって、データの読み取りが不能になったり、誤ったデータが読み取られたりするという事態が起こり得る。このようなデータの損傷への対策として、特許文献１では、同一のデータを磁気ストライプ上の複数の記録領域に記録することが提案されている。また、特許文献２では、磁気ストライプ上の記録領域を３つ以上に分割し、記録するデータを３つ以上に分割し、分割した各データを記録領域毎に異なる組み合わせで記録することが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】実開昭６１−４５７７０号公報
【特許文献２】特開平３−１３４８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１、２に記載された発明では、同一のデータが複数の記録領域に記録されるので、いずれかの記録領域でデータが損傷したとしても、損傷していないデータを他の記録領域から読み取ることができる。しかし、損傷しなかったデータも、いずれ損傷する可能性があるから、最後には、正しいデータの読み取りが不可能になりかねず、データの一部が破損、消去した状態のまま磁気カードが運用されるという問題があった。
さらに、上述した磁気カードリーダライタにおいて、損傷したデータを復元する場合には、磁気カードに記録されている正しいデータを読み取り、損傷したデータを書き込む処理は、磁気カードリーダライタ単独で行うことはできず、上位装置からのコマンドに従って処理しなければならない。その場合、上位装置と磁気カードリーダライタとの間でその都度、データのやり取りを行わなければならず、処理時間が長くなるという問題があった。
そこで、本発明は、磁気カードに記録されているデータの一部が破損、消去した場合でも、上位装置との間でその都度、データのやり取りを行うことなく、読み取りの信頼性の低下を防止することができる磁気カードリーダライタを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る磁気カードリーダライタは、カード上の磁気ストライプに記録されたデータを読み取り、またはデータを書き込む磁気ヘッドと、前記磁気ストライプに形成された複数の記録領域内に記録された同一データを前記磁気ヘッドにより読み取る読取手段と、前記読取手段によって読み取られた同一データの誤りの有無を前記記録領域毎に判定する判定手段と、前記判定手段によって前記記録領域のいずれかでデータの誤りがあると判定した場合に、データの誤りがある記録領域に誤りのないデータを前記磁気ヘッドによって書き込む書込手段とを有することを特徴とする。
この構成によれば、磁気カードリーダライタは、磁気カードに形成された複数の記録領域内に記録された同一データの読み取りを行い、いずれかのデータの読み取り結果が異常であると判定した場合に、正しいデータを再度書き込む補正を行うので、磁気カードに記録されているデータの一部が破損、消去した場合でも、読み取りの信頼性の低下を防止することができる。
また、この構成によれば、磁気カードリーダライタは、損傷したデータを復元する場合に、磁気カードに記録されている正しいデータを読み取り、データが損傷した記録領域に正しいデータを書き込む処理を行うので、上位装置との間でその都度、データのやり取りを行う必要がない。よって、上位装置との間でデータのやり取りを行う構成と比べて、処理時間を短縮することができる。
【０００８】
上記の構成において、前記書込手段による書き込みが行われた場合に、データの誤りがある記録領域に誤りのないデータが書き込まれた旨を上位装置に通知する通知手段を有することが好ましい。
この構成によれば、磁気カードリーダライタの保守の参考となる情報を提供することができる。
【０００９】
また、上記の構成において、前記通知手段は、前記書込手段によって書き込まれたデータを前記上位装置に通知することが好ましい。
この構成によれば、誤りのないデータを上位装置に通知することができる。
【００１０】
また、上記の構成において、前記読取手段は、前記書込手段による書き込みの行われた記録領域から前記磁気ヘッドによってデータを読み取り、前記判定手段は、当該データの誤りの有無を判定し、前記通知手段は、当該データに誤りがないと前記判定手段によって判定された場合に、当該データを前記上位装置に通知することが好ましい。
この構成によれば、磁気カードのデータの誤りが確実に修正されたことを上位装置に通知することができる。
【００１１】
また、上記の構成において、前記書込手段は、前記判定手段によってデータに誤りがあると判定された場合に、誤りのないデータを前記磁気ヘッドによってすべての前記記録領域に書き込むことが好ましい。
この構成によれば、誤りのないデータがすべての記録領域に書き込まれるから、書き込みの処理を簡素化することができる。
【発明の効果】
【００１２】
本発明によれば、磁気カードに記録されているデータの一部が破損、消去した場合でも、上位装置との間でその都度、データのやり取りを行うことなく、読み取りの信頼性の低下を防止することができる。
【図面の簡単な説明】
【００１３】
【図１】磁気カードリーダライタ１内部の構成を示す図である。
【図２】図１における磁気カードリーダライタ１のＩ−Ｉ線で切断した図である。
【図３】磁気ヘッド６の構造を示す図である。
【図４】磁気カード２０を示す図であり、（ａ）は磁気カード２０の平面図、（ｂ）はデータのフォーマットを示す模式図である。
【図５】磁気カードリーダライタ１の電気的構成を示すブロック図である。
【図６】磁気カードリーダライタ１の動作手順において実行されるメイン処理を示すフローチャートである。
【図７】ステップＳ１で示した磁気情報読取処理の手順を示すフローチャートである。
【図８】磁気情報を読み取る手順を示すフローチャートである。
【図９】ステップＳ２に示す判定処理の手順を示すフローチャートである。
【図１０】磁気情報書込処理の手順を示すフローチャートである。
【図１１】磁気情報を書き込む手順を示すフローチャートである。
【図１２】通知処理の手順を示すフローチャートである。
【図１３】本実施形態に関わる要部の機構および動作を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施の形態を説明する。
（１）実施形態の構成
（磁気カードリーダライタの概略構成）
図１は、磁気カードリーダライタ１内部の構成を示す図である。図２は、図１における磁気カードリーダライタ１のＩ−Ｉ線で切断した図である。
【００１５】
本実施形態では、磁気カードリーダライタ１は、例えば、プリペイドカードを用いてサービスの料金や商品の代金を支払うための装置、より具体的には、洗車場や駐車場の料金支払機、ＰＯＳ（Point of Sale）システムの端末、自動販売機等に接続される。また、これらの装置と磁気カードリーダライタ１とが一体化されていてもよい。
【００１６】
磁気カードリーダライタ１は、磁気カード２０に記録されたデータの読み取りと、磁気カード２０へのデータの書き込みとを行うための装置である。磁気カードリーダライタ１は、図１、２に示すように、筐体１０内に、磁気カード２に記録されているデータの読み取りおよび磁気カード２０へのデータの書き込みを行うカード処理部２と、磁気カードリーダライタ１の全体や各種の制御を行う制御部９の各構成を実装する回路基板とが設けられている。制御部９は、外部の上位装置１２（図５参照）と、例えば、ＲＳ２３２Ｃ等の通信回線を介して電気的に接続されている。
【００１７】
磁気カード２０は、図１、２のＸ軸方向（左右方向）に搬送される。Ａ方向が磁気カード２０の挿入方向であり、Ｂ方向が排出方向である。また、図１、２のＺ軸方向は、磁気カード２０の厚さ方向であり、Ｙ軸方向は、磁気カード２０の幅方向（磁気カード２０の短手方向における幅方向）である。
【００１８】
筐体１０には、磁気カード２０が挿入、排出されるカード挿入口３が形成されており、筐体１０の内部には、カード挿入口３から挿入された磁気カード２０が搬送されるカード搬送路４が形成されている。
カード搬送路４は、カード挿入口３からＸ軸方向に向かって延びるように形成され、Ｙ軸方向の両側からカード搬送路４を挟むように、規制部材８（８１、８２）が設けられている。規制部材８１は、図２における磁気ヘッド６側に設けられており、規制部材８２は、カード搬送路４を挟んで規制部材８１と対向する位置に設けられている。規制部材８１の内側面（カード搬送路４に面した面）は、ガイド基準面となっており、磁気カード２０は、ガイド基準面に押し付けられるようにして搬送され、磁気カード２０がＹ軸方向に逸脱することなく、磁気ヘッド６上を確実に通過する。
また、図１、２に示すように、磁気カードリーダライタ１には、奥側（Ｘ軸方向の右側）に、磁気カード２０の端部が筐体１０から露出するように開口部３１が形成されている。
【００１９】
カード処理部２は、カード搬送路４で磁気カード２０を搬送するためのカード搬送機構５と、データの読み取りおよび書き込みを行う磁気ヘッド６と、カード搬送路４内の磁気カード２０の有無を検出するカード検出センサ（フォトセンサ）７とを備えている。
【００２０】
カード搬送機構５は、カード搬送路４に沿って磁気カード２０を搬送する機構であり、２個の駆動ローラ５１、５３と、各駆動ローラ５１、５３と対向する位置に配置された従動ローラ５２、５４と、駆動ローラ５１、５３を回転駆動する駆動モータ５０と、駆動用モータ５０の動力を駆動ローラ５１、５３に伝達する動力伝達機構とを備えている。また、２個の駆動ローラ５１、５３は、カード２０の搬送方向で所定の間隔をあけた状態で配置されている。
【００２１】
動力伝達機構は、具体的には、図１、２に示すようにプーリ５５、５６、５７と、無端ベルト５８、５９とで構成されている。駆動モータ５０の軸とプーリ５６には、無端ベルト５８が掛け回されている。駆動ローラ５１とプーリ５５は、プーリ５６と同一の軸に設けられている。プーリ５５とプーリ５７には、無端ベルト５９が掛け回されている。駆動ローラ５３は、プーリ５７と同一の軸に設けられている。駆動モータ５０が発生した駆動力は、無端ベルト５８を介してプーリ５６に伝達され、プーリ５５及び駆動ローラ５１がこの駆動力によって回転する。プーリ５５に伝達された駆動力は、無端ベルト５９を介してプーリ５７に伝達され、駆動ローラ５３がこの駆動力によって回転する。従動ローラ５２、５４は、カード搬送路４を挟んでそれぞれ駆動ローラ５１、５３と対向する位置に設けられており、磁気カード２０の搬送に伴って従動回転する。駆動モータ５０が図１のａ方向に回転すると、磁気カード２０がＡ方向に搬送され、駆動モータ５０がｂ方向に回転すると、磁気カード２０がＢ方向に搬送される。
【００２２】
図３は、磁気ヘッド６の構造を示す図である。磁気ヘッド６は、パーマロイ等の強磁性体の磁気コア６１を用いて、磁気コア６１と磁気コア６１の間に僅かな隙間をあけて、そこに生ずる磁界を用いて磁気カード２０に形成された磁気ストライプ２１上を接触・摺動することによって、磁気データ２０の書き込み又は読み込みを行う。より具体的には、図５に示すように、磁気ヘッド６は、磁気ギャップ（磁気スペーサ）６５を挟んで対向する磁気コア６１と、磁気コア６１に巻回されたライト用巻き線６２（１次コイルの一例に相当する）と、磁気コア６１に巻回されたリード用巻き線６３（２次コイルの一例に相当する）と、これらを格納するケース６４と、を有している。このように、磁気ヘッド６は、リード用巻き線６３（リードコイル）が巻回された磁気コア６１（リードコア）とライト用巻き線６２（ライトコイル）が巻回された磁気コア６１（ライトコア）が磁気ギャップ６５を挾んで対向する、いわゆるシングルギャップ形式のヘッド構造を有している。すなわち、磁気ヘッド６は、図５に示すように、磁気ストライプ２１から磁気データを読み取るリード部（リードヘッド）６ａと、磁気ストライプ２１に磁気データを書き込むライト部（ライトヘッド）６ｂとに相当する。ライト部６ｂは、ライト用信号線を介して書込制御部９５に接続されている。リード部６ａは、リード用信号線を介して読取制御部９４に接続されている。
【００２３】
ライト用巻き線６２には、磁気カード２０に対する磁気データの書き込み電流が流れ、リード用巻き線６３には、磁気ギャップ６５近傍の磁束変化に基づいて電磁誘導により電流が流れるようになっている。ライト用巻き線６２に書き込み電流を流すと、ライト用巻き線６２内に誘導磁束が発生するとともに、磁気コア６１に沿って形成された磁路に誘導磁束が発生する。そして、磁気コア６１に沿って形成された磁路に誘導磁束が発生したことに起因して、磁気ギャップ６５近傍の磁束が変化し、電磁誘導によりリード用巻き線６３に誘導電流が発生する。
【００２４】
カード検出センサ７は、カード搬送路４に沿って搬送される磁気カード２０の位置を検出するセンサであり、例えば、発光素子と受光素子とを有する光学式のセンサ（フォトセンサ）である。カード検出センサ７は、第１センサ７１と、第２センサ７２と、第３センサ７３との３つのセンサで構成されている。各センサ７１、７２、７３は、図１等に示すように、発光素子７１ａ、７２ａ、７３ａと受光素子７１ｂ、７２ｂ、７３ｂとをそれぞれカード搬送路４を挟んで互いに対向させて構成されている。なお、発光素子７１ａ、７２ａ、７３ａは、例えば発光ダイオードであり、受光素子７１ｂ、７２ｂ、７３ｂは、例えばフォトトランジスタである。
【００２５】
第１センサ７１は、カード挿入口３近傍と駆動ローラ５１との間の位置に設けられており、第２センサ７２は、駆動ローラ５１と磁気ヘッド６との間の位置に設けられており、第３センサ７３は、磁気ヘッド６と駆動ローラ５３との間の位置に設けられている。
カード検出センサ７（７１、７２、７３）は、図２に示すように、磁気カード２０の搬送方向において、磁気ヘッド６とカード検出センサ７とがＹ軸方向の位置が略一致するように配置されている。また、カード検出センサ７は、第１センサ７１と第２センサ７２との距離（間隔）と、第２センサ７２と第３センサ７３との距離（間隔）とが、いずれも磁気カード２０の長さＬよりも短くなるように配置されている。
【００２６】
（磁気カード）
図４は、磁気カード２０を示す図であり、（ａ）は磁気カード２０の平面図、（ｂ）はデータのフォーマットを示す模式図である。
磁気カード２０は、樹脂や紙で作製されたカードの表面に帯状の磁気ストライプ２１を形成したものである。本実施形態では、磁気カード２０は、いわゆるプリペイドカードであり、残高、残高が書き込まれた日を表す日付、有効期限等のデータが磁気ストライプ２１に記録される。磁気ストライプ２１には、同一のデータが記録される複数の記録領域が形成されており、本実施形態では、図４に示すように、第１記録領域２２と第２記録領域２３が形成されている。
【００２７】
第１記録領域２２と第２記録領域２３には、図４（ｂ）に示すデータフォーマットに従ってデータが記録される。具体的には、磁気カード２０が磁気カードリーダライタ１に挿入される方向（図４（ｂ）の右側から）順に、データの開始を示すスタートコードが記録されるスタートコード領域２２１、２３１と、データが記録されるデータ領域２２２、２３２と、データの終わりを示すエンドコードが記録されるエンドコード領域２２３、２３３と、データ領域２２２、２３２から読み取ったデータが正しいかどうかを検査するためのエラー検出コードが記録されるエラー検出コード領域２２４、２３４となっている。本実施形態では、エラー検出コードは、周知であるＣＲＣ（巡回冗長検査）方式が採用され、各記録領域２２（２３）のスタートコード領域２２１（２３１）、データ領域２２２（２３２）、エンドコード領域２２３（２３３）の３つの領域に記録されたデータを用いてＣＲＣ符号が算出され、各エラー検出コード領域２２４（２３４）に記録される。
【００２８】
（磁気カードリーダライタの電気的構成）
図５は、磁気カードリーダライタ１の電気的構成を示すブロック図である。
磁気カードリーダライタ１は、上位装置１２に通信回線、例えば、ＲＳ−２３２Ｃケーブルを介して接続されている。
【００２９】
上位装置１２は、下位装置に対しコマンド等により動作を指令し、磁気カードリーダライタ１、入力装置１３及び表示装置１４は、上位装置１２からの指令（コマンド等）に従って動作する下位装置に相当する。上位装置１２は、図示しないが、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）及び外部Ｉ／Ｆ（Interface）等の各種ハードウェアを有しており、上位装置１２を統合的に制御する機能、磁気カードリーダライタ１等との通信機能などを有している。すなわち、ＲＯＭなどには、上位装置１２全体を統合的に制御するプログラム、磁気カードリーダライタ１等との通信を行うためのプログラム、及び磁気カードリーダライタ１の制御プログラムなどが格納されており、ＣＰＵは、適宜それらのプログラムを読み出して、ＲＡＭをワーキングエリアとしつつ各種処理を実行する。
【００３０】
入力装置１３は、例えば複数のキーなどの操作子を備えた入力手段である。ユーザが入力装置１３を操作すると、入力装置１３がユーザの操作を表す信号を上位装置１２に供給し、上位装置１２のＣＰＵがこの信号に応じた処理を実行する。
【００３１】
表示装置１４は、例えば液晶パネル及び液晶駆動回路を有する表示手段であり、上位装置１２のＣＰＵから送信された命令に応じて画像を表示する。なお、表示装置１４にタッチパネルの機能を備えることにより、表示装置１４が入力装置１３を兼ねるように構成してもよい。
【００３２】
磁気カードリーダライタ１は、上位装置１２からの命令（コマンド等）に従って動作する下位装置であり、本実施形態では、磁気カードリーダライタ１のほかに、入力装置１３及び表示装置１４が通信回線を介して上位装置１２に接続されている。
【００３３】
磁気カードリーダライタ１の各種の制御を行う制御部９は、回路基板に実装されている。すなわち、以下に説明するＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、読取制御部９４、書込制御部９５及び外部Ｉ／Ｆ（Interface）９６は、回路基板に実装されている。
【００３４】
ＣＰＵ９１は、磁気カードリーダライタ１全体の制御を統括するとともに、ＲＡＭ９３をワークエリアとして用いてＲＯＭ９２に記憶された制御プログラムに従って、復号手段９１１、符号化手段９１２、判定手段９１３及び通知手段９１４の機能を実現するとともに、読取制御部９４、書込制御部９５及び外部Ｉ／Ｆ９６の動作を制御する。
【００３５】
ＣＰＵ９１は、磁気ストライプ２１上の第１記録領域２２と第２記録領域２３に対して、磁気ヘッド６によりデータの読み取り又は書き込みを行う。
ＣＰＵ９１は、ＣＲＣチェックなどにより、読み取ったデータが正常か否かを判定するとともに、データの方向が正常な方向か否かを判定することにより、データが正常か否かを判定する。
なお、磁気ストライプ２１の磁気的特性、データの記録方式は、例えば、日本工業規格（ＪＩＳ）に基づくものとしてもよい。
【００３６】
ＲＡＭ９３は、読取データバッファ９３ａと書込データバッファ９３ｂを有する。読取データバッファ９３ａは、磁気カード２０から読み取ったデータの一時的な記憶に用いられ、書込データバッファ９３ｂは、磁気カード２０に書き込むデータの一時的な記憶に用いられる。より詳細には、読取データバッファ９３ａには、第１記録領域２２に記録されているデータと、第２記録領域２３に記録されているデータが格納される。第１記録領域２２のデータとしては、読取制御部９４で出力された２値データ及び復号手段９１１で復号されたデータ（文字コード）が格納される。第２記録領域２３のデータとしては、２値データ及び復号されたデータ（文字コード）が格納される。書込データバッファ９３ｂには、上位装置１２から送信される更新データや、後述するが、判定手段９１３で正常なデータとして判定されたデータを格納する。
【００３７】
ＲＡＭ９３には、状態フラグ９３ｃが書き込まれる。状態フラグ９３ｃは、磁気カードリーダライタ１の動作モード、すなわち、通常モード中と補正モード中とのいずれかを示すためのフラグである。
この状態フラグ９３ｃは、磁気カード２０を待機している状態では通常モードであり、後述する磁気情報書込処理を実行する場合は補正モードを示すデータが設定される。一方、補正モードを示すデータが書き込まれている場合には、その後の処理を通常モードへ移行させるために、状態フラグ９３ｃには通常モードを示すデータが設定される。
【００３８】
外部Ｉ／Ｆ９６は、例えばＲＳ−２３２Ｃインターフェースであり、ＲＳ−２３２Ｃケーブルによって上位装置１２の外部Ｉ／Ｆ（図示せず）に接続されている。
【００３９】
リード部（リードヘッド）６ａとしての磁気ヘッド６、読取制御部９４、復号手段９１１、ＣＰＵ９１、読取データバッファ９３ａによって読取手段が構成され、読取手段は、磁気カード２０からのデータの読み取りを行う機能を有する。
【００４０】
読取制御部９４は、波形整形回路９４１と復調回路９４２とを有する。波形整形回路９４１は、例えばバンドパスフィルタ、微分回路、コンパレータ等を有し、リード部（リードヘッド）６ａとしての磁気ヘッド６から出力されたアナログ信号のピーク値を検出して矩形波を生成し、この矩形波を復調回路９４２に出力する。より詳細に説明すれば、磁気ヘッド６から得られるアナログ信号の信号波形は、記録電流波形の立ち上がりおよび立ち下がり時点が正負のピークとなって現れる。換言すると、磁気的に記録されている記録データの磁気極性の反転位置で正負のピークが現れる。このアナログ信号波形は、波形整形回路９４１に供給されて、ピーク位置が判別される。
【００４１】
復調回路９４２は、波形整形回路９４１から出力された矩形波を復調する。具体的には、復調回路９４２は、記録電流波形に対応するデジタル信号波形が得られる。すなわち、波形整形回路９４１から出力された矩形波を周波数変調により「０」か「１」の２値データに変換する。本実施形態では、周波数変調の方式としてＦ２Ｆ変調を用いる。この場合、復調回路９４２は、所定の時間内にピークがない場合には「Ｆ」すなわち「０」に変換し、ピークがある場合には「２Ｆ」すなわち「１」に変換する。復調回路９４２は、このようにして復調された２値データを、一旦、読取データバッファ９３ａに格納する。より詳細に述べれば、磁気記録のための記録電流波形は、周波数Ｆのパルス信号と、周波数２Ｆのパルス信号の組み合わせからなり、２値データ「０」は低い周波数Ｆのパルス信号により規定され、２値データ「１」は高い周波数２Ｆのパルス信号により規定される。従って、（００００１０・・）と続く２値データが表されている。
【００４２】
復号手段９１１は、ＣＰＵ９１がソフトウェアを実行することによって実現される機能である。復号手段９１１は、復調回路９４２によって復調された２値データを１文字分ずつのビット列（本実施形態では７ビット）に分割し、文字コード表を参照してビット列を復号する。より具体的には、２値データは読取データバッファ９３ａに格納されるので、復号処理を行う際、復号手段９１１は、読取データバッファ９３ａに格納された２値データを読み出し、復号処理を実施する。復号されたデータ（文字コード）は、読取データバッファ９３ａに記憶される。
【００４３】
書込データバッファ９３ｂ、ＣＰＵ９１、符号化手段９１２、書込制御部９５及びライト部（ライトヘッド）６ｂとしての磁気ヘッド６によって書込手段が構成され、書込手段は、磁気カード２０へのデータの書き込みを行う機能を有する。
【００４４】
符号化手段９１２は、ＣＰＵ９１がソフトウェアを実行することによって実現される機能である。符号化手段９１２は、書込データバッファ９３ｂから読み出したデータを文字コード表を参照して２値データに変換し、この２値データを書込制御部９５に出力する。
【００４５】
書込制御部９５は、書込駆動回路９５１と変調回路９５２とを有する。変調回路９５２は、符号化手段９１２から出力された２値データをＦ２Ｆ変調により変調し、変調されたデータを書込駆動回路９５１に出力する。書込駆動回路９５１は、変調回路９５２によって変調されたデータに基づいて、ライト部（ライトヘッド）６ｂとしての磁気ヘッド６に交番磁界を発生させるための交番駆動電流を生成し、交番駆動電流を、ライト部（ライトヘッド）６ｂとしての磁気ヘッド６に出力する。
【００４６】
判定手段９１３は、読取制御部９４によって読み取られたデータの誤りの有無を記録領域毎に判定する。具体的には、ＣＰＵ９１は、第１記録領域２２と第２記録領域２３から読み取られたデータを読取データバッファ９３ａから読み出し、読み出されたエラー検出コード領域２２４、２３４に格納されているエラー検出コードを取り出し、このエラー検出コードによって各データの誤りの有無を判定する。
【００４７】
具体的には、エラー検出コードには、４つのタイプがある。タイプ１：第１記録領域２２、第２記録領域２３の２つのエラー検出コードが（読み込まれたデータは）正当である旨を示すコードである場合、タイプ２：第１記録領域２２、第２記録領域２３の２つのエラー検出コードが（読み込まれたデータは）異常（エラー）である旨を示すコードである場合、タイプ３：第１記録領域２２のエラー検出コードが正当であるが、第２記録領域２３は異常（エラー）である場合、タイプ４：第１記録領域２２が異常（エラー）であるが、第２記録領域２３が正当である場合である。このうち、タイプ１、タイプ２の両者が同じコードである場合、すなわち、両者とも正当である場合または異常（エラー）である場合には、そのまま上位装置１２に報告する。一方、タイプ３、タイプ４の場合、すなわち、２つのコードが異なっている場合には判定手段９１３は補正機能を用いた処理（補正処理）を実行する（補正モード）。
【００４８】
判定手段９１３は、データを補正する補正機能を有している。この補正機能は、磁気カード２０に形成された第１記録領域２２、第２記録領域２３内に記録された同一のデータの読み取りを行い、いずれかのデータの読み取り結果が異常（エラー）である場合、正当である旨を示す、読み取られたデータを用いて、再度書き込み処理を実行し、異常（エラー）とである旨を示すデータを正当なデータに補正する機能である。
【００４９】
通知手段９１４は、判定手段９１３の結果を上位装置１２に報告する。また、通知手段９１４は、判定手段９１３の補正処理を実行し、書込制御部９５による正当なデータを用いて再度書き込みが行われた場合に、異常（エラー）である旨を示すデータを持つ記録領域に正当なデータを再度書き込む補正処理を実行した旨を上位装置１２に通知する。さらに、通知手段９１４は、書込手段９１３によって書き込まれた（正当な）データを上位装置１２に通知する。具体的には、読取制御部９４は、上述の書込手段による書き込みの行われた記録領域から磁気ヘッド６によりデータを読み取り、判定手段９１３は、当該データの誤りの有無を判定し、通知手段９１４は、当該データに誤りがないと判定手段９１３によって判定された場合に、当該データを上位装置１２に通知する。
【００５０】
（２）本実施形態の動作
次に、図６から図１２に示すフローチャート及び図１３に示す動作説明図を参照して、磁気カードリーダライタ１で行われる各処理について説明する。
図６は、磁気カードリーダライタ１の動作手順において実行されるメイン処理を示すフローチャートである。図１３は、本実施形態に関わる要部の機構および動作を示す図である。磁気カードリーダライタ１は、次のステップを実行する。
【００５１】
ステップＳ１は、磁気情報読取処理である。本実施形態では、磁気カード２０を図１３に示すようにＡ方向に搬送し、磁気ヘッド６で磁気ストライプ２１に記録されている磁気情報を読み取る。具体的には、磁気ストライプ２１上に形成された、第１記録領域２２及び第２記録領域２３から磁気情報を読み取る。
【００５２】
次に、ステップＳ２は判定処理である。第１記録領域２２及び第２記録領域２３に記録されている磁気データをそれぞれ読み取り、復号されたデータについて作成されたエラー検出コードを判定する。
【００５３】
ステップＳ３は、磁気情報書込処理である。読み取りが初めてであれば、磁気カードリーダライタ１が補正モード（補正処理を実行するモード）に変更されて補正処理を実行し、正しい磁気情報を書き込む処理を実行する。一方、補正モードで読み取りが実施された場合には、そのまま上位装置１２に通知する。
【００５４】
ステップＳ４は、通知処理であり、上位装置１２に磁気カードリーダライタ１で処理された結果を通知する。通知される結果は、具体的には、「第１記録領域２２、第２記録領域２３の両者ともに正しい磁気情報が記録されている。」、「補正処理を実行し、両者ともに正しい磁気情報が記録されている。」、「補正処理を実行したが、どちらか一方がエラーとなった。」、「１回目の読み取りエラーチェックと、２回目のエラーチェックとで同じ記録領域であるか、別の記録領域である。」等である。
【００５５】
次に、図７は、ステップＳ１で示した磁気情報読取処理の手順を示すフローチャートである。
ステップＳ１１では、磁気カードを検出する。具体的には、磁気カードリーダライタ１のカード挿入口３に磁気カード２０が挿入されると、磁気カード２０の（前）端部が、カード検出センサとしての第１センサ７１を通過する（図１３（Ａ）参照）。第１センサ７１の発光素子７１ａが発した光が磁気カード２０で遮られると、受光素子７１ｂがカード検出信号をＣＰＵ９１に出力する。第１センサ７１を通過することにより、磁気カード２０が磁気カードリーダライタ１のカード挿入口３内に挿入されたことが検出される。第１センサ７１から検知信号が、磁気カードリーダライタ１の外部Ｉ／Ｆ９６を介して上位装置１２に送信される。上位装置１２は、その検知信号を受信し、磁気カード２０のデータの読み取りを実行させる旨の指示（コマンド等）を磁気カードリーダライタ１に送信する。磁気カード２０の挿入が検出されたならば（ステップＳ１１：ＹＥＳ）、ステップＳ１２に進む。
【００５６】
ステップＳ１２では、磁気カード２０を搬送する。具体的には、磁気カードリーダライタ１が上位装置１２からの指示(コマンド等)により、挿入された磁気カード２０に記録されているデータの読み取り動作を開始する。駆動モータ５０を起動すると無端ベルト５８、５９を介して接続される駆動ローラ５１、５３が回転する。駆動ローラ５１と従動ローラ５２の間に挟まれている磁気カード２０は、磁気カードリーダライタ１の前方（カード挿入口３）から後方（図６の右側）へ向けて搬送される。
【００５７】
ステップＳ１３では、磁気データを読み取る。磁気カード２０がＡ方向に搬送されると、磁気ヘッド６により磁気カード２０に記録されているデータの読み取りが行われる。詳細は、後述する図８に示す磁気データの読取処理手順を示すフローチャートで説明する。
磁気カードリーダライタ１は、さらに、カード搬送路４に配置された磁気ヘッド６を用いて、磁気ストライプ２１上に記録されているデータの読み取り動作を実行する。すなわち、駆動ローラ５１と従動ローラ５２が磁気カード２０を挟み込みながらカード搬送路４内を搬送する。磁気カード２０をさらに搬送させることで、磁気ヘッド６が磁気カード２０の磁気ストライプ２１に接触する。磁気ストライプ２１に磁気ヘッド６を接触させつつ、磁気ストライプ２１の長手方向に磁気カード２０を移動させる。
【００５８】
図８は、磁気情報を読み取る手順を示すフローチャートである。
ステップＳ１３１では、第１記録領域２２に記録されている磁気データを読み取る。上述のように、磁気カード２０がカード搬送路４内を搬送中、磁気ヘッド６は磁気カード２０上に形成された磁気ストライプ２１上を摺動する（図１３（Ｂ）を参照）。第２センサ７２によって磁気カード２０の前端の通過が検知されたならば、磁気ヘッド６がリード部６ａとして作用し、磁気ヘッド６がデータに応じたアナログ信号を出力する。具体的には、磁気ヘッド６は、磁気ストライプ２１内の第１記録領域２２を摺動する。磁気カード２０の先端（前方に向かって）が、図６に示す第２センサ７２を遮光するとセンサ出力信号がＯＮする。これを検出して磁気読み取り処理を実行する（開始する）。磁気カード２０が磁気ヘッド６上を通過してデータを読み取り、磁気ヘッド６から出力されるアナログ信号が制御部９（ＣＰＵ９１）に入力される。磁気ヘッド６で第１記録領域２２から読み取られたアナログ信号は、読取制御部９４に入力され、波形整形回路９４１、復調回路９４２を介して、２値データとして処理される。
なお、第１記録領域２２、第２記録領域２３からデータを読み取るタイミングは、例えば、カード検出センサとしての第２センサ７２によって磁気カード２０の前端の通過が検出されてからの経過時間で特定される。
【００５９】
ステップＳ１３２では、磁気データを復調する。本実施形態では、磁気ヘッド６で読み取られたデータは、波形整形処理および復調処理が行われる。具体的には、磁気ヘッド６で読み取られたデータは、磁気ヘッド６の磁気コア６１に巻回されているリード用巻き線６３を介して読取制御部９４に送信される。このアナログ信号は、読取制御部９４を構成する波形整形回路９４１によってＦ２Ｆ変調方式（周波数変調の方式の一つ）による矩形波に整形され、復調回路９４２によって「０」、「１」の２値データに変換される。すなわち、磁気ヘッド６で読み取られたデータは、２値データに復調される。
【００６０】
ステップＳ１３３では、復調されたデータを格納する。復調されたデータ、すなわち、２値データは、ＲＡＭ９３に格納される。具体的には、復調された２値データは、一旦、ＲＡＭ９３の読取データバッファ９３ａ内の所定の領域に、第１記録領域２２の２値データとして記録される。
【００６１】
ステップＳ１３４では、第２記録領域２３に記録されている磁気データを読み取る。具体的には、引き続き、駆動用モータ５０は同じ方向に回転を継続し、磁気カード２０は、搬送方向を変えずに搬送される。磁気カードリーダライタ１は、カード搬送路４内を搬送する磁気カード２０の第２記録領域２３に記録されているデータを、磁気ヘッド６でアナログ信号として出力され、同様にして、読取制御部９４の波形整形回路９４１、復調回路９４２を介して、２値データとして処理される。
【００６２】
ステップＳ１３５では、磁気データを復調する。上述したステップＳ１３２に示す第１記録領域２２と同様に、第２記録領域２３に記録されている磁気データが、読取制御部９４に送信される。復調された２値データは、一旦、ＲＡＭ９３の読取データバッファ９３ａ内の所定の領域（第１記録領域２２のデータが格納されている領域以外の領域）に格納される。
【００６３】
ステップＳ１３６では、復調されたデータを格納する。上述したステップＳ１３３に示す第１記録領域２２と同様に、第２記録領域２３に記録されている磁気データは、第１記録領域２２の復調されたデータが格納された領域以外の領域に格納される。
【００６４】
ステップＳ１３７では、２値データを復号する。本実施形態では、読取データバッファ９３ａ内の２値データに対して７ビットのビット列の構成に従い第１記録領域２２のデータ編集を実施する。具体的には、変換された２値データは、ＣＰＵ９１内の復号手段９１１に送信され、復号手段９１１によって復号される。すなわち、磁気ヘッド６が、第１記録領域２２、第２記録領域２３内のデータを読み取り、制御部９内で２値データに処理された後、読取データバッファ９３ａ内に格納された２値データに対して、復号手段９１１により、データ復号処理を実行する。さらに、２値データによる文字コードの表現形態としては、７ビットコード体系を用いており、この体系では、１６種類の文字（１〜Ｆ）を表現する。復号手段９１１では、これら１６種類の文字に対応するビット列を予め記憶しており、再生された２値データを７ビット分毎に、これらのビット列と比較することにより、データを再生する。復号されたデータは、第１記録領域２２の読取データバッファ９３ａ内に格納される。格納されるデータは、図４に示すデータフォーマットに従ってデータ領域ごとに、ＲＡＭ９３内の読取データバッファ９３ａ内に記録される。このように、２値データが７ビットごとに対応する文字コードに変換され、スタートコード領域２２１２、データ領域２２２、エンドコード領域２２３に格納される。
【００６５】
ステップＳ１３８では、全データを用いてエラー検出コードを計算する。具体的には、読み取られたデータについて、ＣＲＣ方式により誤り検出を実行する。本実施形態では、第１記録領域２２について、スタートコード領域２２１、データ領域２２２、エンドコード領域２２３に記録されている全データを用いてエラー検出コードを計算し、求めた値を、エラー検出コード領域２２４に記録する。同様にして、磁気ヘッド６が読み取った第２記録領域２３内の復号されたデータについて、ＣＲＣ方式により誤り検出を実行する。計算で求めた値を、エラー検出コード領域２３４に記録する。
【００６６】
ステップＳ１３８が終了した後、図７に示すステップＳ１４が処理され、磁気カード２０の搬送を停止する。具体的には、磁気カード２０はカード搬送路４上の後方（図６において右側）に搬送され、第３センサ７３上を磁気カード２０の後端が通過してセンサ出力はＯＦＦとなる。第３センサ７３によって磁気カード２０の後端の通過が検知されたならば、第３センサ７３が、これを検出して、駆動モータ５０を停止する。駆動モータ５０が停止した状態は、駆動ローラ５１及び従動ローラ５２に磁気カード２０が挟持された状態でカード搬送機構５による磁気カード２０の搬送を停止させる。図１３（ｃ）は、磁気カード２０の搬送を停止させた時点の磁気カード２０の位置を示す図である。また、磁気カード２０が停止したとき、磁気カード２０に記録されているデータを磁気ヘッド６は読み取る動作も終了する（信号の読み取り処理を禁止する）。
【００６７】
次に、図６のステップＳ２では、読み取られたデータについて、判定処理が行われる。図９は、ステップＳ２に示す判定処理の手順を示すフローチャートである。
ステップＳ２１では、読み取ったデータが正当であるか、異常（エラー）であるか（の有無）を記録領域毎に判定する。具体的には、ＣＰＵ９１（判定手段９１３）が、図４（ｂ）に示す第１記録領域２２に形成されているエラー検出コード領域２２４及び第２記録領域２３のエラー検出コード領域２３４に記録されているデータにより誤りの有無を判定する。ＣＰＵ９１は、読取データバッファ９３ａに格納された第１記録領域２２のエラー検出コード領域２２４内に格納されたエラー検出コードを読み出す。同様に、第２記録領域２３のエラー検出コード領域２３４内に格納されたエラー検出コードを読み出す。そして、ＣＰＵ９１は、読み出されたエラー検出コードによって各データの誤りの有無を判定手段９１３で判定する。
【００６８】
ステップＳ２２では、データが正当である記録領域、すなわち、データの異常（エラー）がない記録領域と、データの異常（エラー）がある記録領域とが混在するか否かを判定する。具体的には、読取データバッファ９３ａ内に格納されている第１記録領域２２、第２記録領域２３のエラー検出コード領域２２４、２３４内に記録されているデータから以下の４つの読み取り結果のいずれかを得る。
【００６９】
読取結果１：第１記録領域２２と第２記録領域２３のどちらのデータも正当であると判定された場合、すなわち、エラー検出コード領域内に格納されているデータ（の結果）がともに正常な場合は、正常終了とする。
読取結果２：第１記録領域２２と第２記録領域２３の両方でデータが正当でなく、データの誤りがあると判定された場合、すなわち、エラー検出コード領域内に格納されているデータ（の結果）がともに異常（エラー）な場合は、異常終了とする。
【００７０】
読取結果１と判定された場合、又は、読取結果２と判定された場合については、次のとおりの処理となる。
読取結果１、読取結果２の場合には、２つの第１記録領域２２及び第２記録領域２３は、エラー検出コード領域２２４（２３４）内に記録されているデータが、両者ともに同じデータ、すなわち、データの誤りがある（異常（エラー）がある）記録領域とデータの誤りがない（正当である）記録領域とが混在しないと判定し（ステップＳ２２：ＹＥＳ）、つぎの通知処理（ステップＳ４）に進む。
【００７１】
読取結果１、読取結果２の場合には、ステップＳ４に進み、図６に示すフローチャートにより、上位装置１２からの命令（コマンド等）に従い、第１記録領域２２および第２記録領域２３の読み取り結果を上位装置１２に通知する。その後、上位装置１２からの次の指令（コマンド等）を受信するまで待機する。
【００７２】
ステップＳ２２において、エラー検出コード領域２２４、２３４のいずれかに記録されているデータが異常（エラー）を示すデータがある場合には、第１記録領域２２と第２記録領域２３のいずれか一方でデータの誤りがある（異常（エラー）がある）と判定され、他方ではデータの誤りがない（正当である）と判定された場合には、データの誤りがある記録領域とデータの誤りがない記録領域とが混在すると判定し（ステップＳ２２：ＮＯ）、ステップＳ２３に進む。具体的には、次のとおりである。
【００７３】
読取結果３：（第１記録領域２２内の）エラー検出コード領域２２４に記録された結果が正当であるが、（第２記録領域２３内の）エラー検出コード領域２３４に記録された結果が異常（エラー）がある場合。
読取結果４：読取結果３の逆の場合、すなわち、エラー検出コード領域２２４に記録された結果が異常であるが、エラー検出コード領域２３４に記録された結果が正当な場合。
【００７４】
読取結果３、読取結果４の場合には、磁気カードリーダライタ１は、ＣＰＵ９１の判定手段９１３が持つデータを補正する補正機能（補正モード）を動作させる。本実施形態では、ＲＡＭ９３に形成された状態フラグ９３ｃを、磁気カードリーダライタ１の通常モードから、補正モードに切り替える（ステップＳ２３：ＮＯ）。
もし、ステップＳ２３において、補正モードである場合には、そのまま終了する（ステップＳ２３：ＹＥＳ）。
【００７５】
次に、図６のステップＳ３では、磁気情報書込処理、すなわち、補正処理を実行し、正しい磁気情報を書き込む。図１０は、磁気情報書込処理の手順を示すフローチャートである。図１１は、磁気情報を書き込む手順を示すフローチャートである。
磁気カードリーダライタ１が、判定手段９１３で判定した結果に基づき、補正処理を実施することについて説明する。データを補正する補正処理を実行する場合に、読取結果３の場合では第１記録領域２２に格納されているデータを正当なデータ（有効なデータ）として、第２記録領域２３に書き込まれたデータ、すなわち、異常（エラー）であるデータを補正する。また、読取結果４の場合では第２記録領域２３に格納されているデータを正当なデータ（有効なデータ）として、第１記録領域２２に書き込まれたデータを補正する。
【００７６】
ステップＳ３１では、正当なデータを用いて磁気情報書込処理に使用する補正データを作成する。具体的には、読取結果３、読取結果４の場合に、この正当なデータを書き込み、データを補正する補正処理を実行する。
まず、ＣＰＵ９１は、ステップＳ１０３でエラー検出コード領域２２４（または２３４）に記録されたデータが正当であると判定された第１記録領域２２（または第２記録領域２３）内に格納されている全てのデータを、読み取り結果が異常であった第２記録領域２３（または第１記録領域２２）の補正データとしてコピーし、ＲＡＭ９３内の書込データバッファ９３ｂに展開する。展開後、磁気カードリーダライタ１は、書込データバッファ９３ｂ内に格納された補正データを、第１記録領域２２及び第２記録領域２３に書き込む動作を開始する。
【００７７】
ステップＳ３２では、磁気カード２０をカード挿入口３に向かって搬送する。具体的には、書込制御部９５が、正当なデータを搬送しながら、第１記録領域２２、第２記録領域２３に書き込む。磁気カード２０は、図１３（Ｃ）に示すように、磁気カードリーダライタ１内の後方に停止している状態である。そこで、駆動モータ５０を起動する。より詳細には、駆動用モータ５０の回転方向をステップＳ１２で説明した方向とは逆方向（図１、２等におけるＢ方向）に磁気カード２０が搬送されるように回転する。無端ベルト５８、５９を介して接続される駆動ローラ５１、５３が回転する。駆動ローラ５３と従動ローラ５４の間に挟まれている磁気カード２１は後方（図１３の右側）から前方（左側：カード挿入口３）へ向けてＢ方向に搬送される（図１３（Ｄ）参照）。
【００７８】
ステップＳ３３では、磁気情報を書き込む。具体的には、磁気カード２０が搬送され、第３センサ７３を磁気カード２０の先端(進行方向)が遮光するとセンサ出力信号がＯＮする。第３センサ７３の検知信号を検出して磁気ヘッド６はライト部（ライトヘッド）６ｂとして磁気書込み処理を実行する。磁気カード２０が磁気ヘッド６上を通過する際に、補正データが書き込み信号に変換され、変換された書き込み信号がＣＰＵ９１から出力されデータを書き込む。詳細は、後述する図１１に示す補正データの書き込み処理手順を示すフローチャートで説明する。
【００７９】
図１１は、磁気情報を書き込む手順を示すフローチャートである。
ステップＳ３３１では、補正データを符号化する。具体的には、補正データは、符号化手段９１２によって２値データに変換され、書込制御部９５に入力される。
ステップＳ３３２では、２値データに変換されたデータを変調する。具体的には、変換された２値データは、書込制御部９５に入力され、変調回路９５２によって変調される。変調されたデータは、さらに、書込駆動回路９５１によって交番駆動電流に変換されてライト部６ｂとしての磁気ヘッド６に出力され、ライトコアに巻回されているライトコイルを介して磁気ヘッド６によってデータが第２記録領域２３、第１記録領域２２に書き込まれる。
【００８０】
ステップＳ３３３では、データを第２記録領域２３に書き込む。具体的には、変換された２値データは、変調回路９５２によって変調され、書込駆動回路９５１によって交番駆動電流に変換されてライト部６ｂとしての磁気ヘッド６に出力され、ライトコアに巻回されているライトコイルを介して磁気ヘッド６によってデータが第２記録領域２３のエンドコード領域２３３からデータ領域２３２、スタートコード領域２３１の順に書き込まれる。なお、書き込まれるデータは、ステップＳ１０２で磁気ヘッド６により読み込まれるデータ順と同じ順番である。
【００８１】
ステップＳ３３４では、データを第１記録領域２２に書き込む。具体的には、第２記録領域２３に補正データが書き込まれたならば、磁気カード２０は引き続きカード搬送機構５により搬送され、第１記録領域２２に補正データが書き込まれる。この場合も、第２記録領域２３と同様に、エンドコード領域２２３からデータ領域２２２、スタートコード領域２２１の順に書き込まれる（図１３（Ｅ）を参照）。
【００８２】
なお、第１記録領域２２、第２記録領域２３にデータを書き込むタイミングは、例えば、カード検出センサとしての第３センサ７３によって磁気カード２０の後端の通過が検知されてからの経過時間で特定される。
また、正当なデータは、第１記録領域２２、第２記録領域２３に再度記録される。すなわち、正当なデータが記録されていた記録領域においても、再度書き込み処理が実施される。この理由は、第１記録領域２２、第２記録領域２３の境界およびその間の領域が精度が高くないため、換言すれば、第２記録領域２３のスタートを示すスタートコード領域２３１の初めはデータを書き込みタイミングごとにずれているためである。
【００８３】
第２記録領域２３、第１記録領域２２に補正データが書き込まれ、ステップＳ３３４が終了した後、図１０に示すステップＳ３４が処理され、磁気カード２０の搬送を停止する。具体的には、磁気カード２０が前方に向かって搬送され、第１センサ７１上を磁気カード２０後端(進行方向)が通過してセンサ出力はＯＦＦとなる。第１センサ７１が、これを検出して駆動モータ５０を停止する。磁気カード２０は駆動ローラ５１と従動ローラ５２に挟まれた状態で停止する。また、磁気カード２０が停止したとき、磁気カード２０に記録されているデータを磁気ヘッド６は書き込み動作も終了する（信号の書き込み処理を禁止する）。
【００８４】
補正データが第１記録領域２２、第２記録領域２３に書き込まれたならば、図６に示すように、ステップＳ１に戻る。すなわち、磁気カードリーダライタ１のＣＰＵ９１が、カード搬送機構５により磁気カード２０を排出方向（Ｂ方向）へ搬送し、第３センサ７３によって磁気カード２０の後端の通過が検出されたならば、ＣＰＵ９１は、書込データバッファ９３ｂから補正データ（正当なデータ）を読み出す。また、第２センサ７２によって磁気カード２０の前端の通過が検知されたならば、カード搬送機構５による磁気カード２０の搬送を停止させる（図１３（Ｃ）を参照）。
【００８５】
ステップＳ１の処理については、上述しているが、簡単に説明すると、磁気カード２０を挿入方向（Ａ方向）に搬送する。さらに、磁気ヘッド６により磁気カード２０に記録されているデータの読み取りが行われる。
【００８６】
次に、読み取ったデータが正当であるか、異常（エラー）であるか（の有無）を記録領域毎に判定する。なお、ここでの処理は、上述したステップＳ２と同じ処理なので、ここでの説明は省略する。
【００８７】
ステップＳ２で再度、誤りの有無の判定を行うのは、ステップＳ３で補正データが正常に書き込まれるとは限らないからである。例えば、磁気ストライプ２１に傷が付いていると、補正データを正常に書き込むことができない場合があり得る。また、最初の判定処理で磁気データに誤りがないと判定された記録領域に異物が付着したために、ステップＳ２において当該記録領域のデータに誤りがあると判定される場合もあり得る。本実施形態では、ステップＳ２で再度、誤りの有無の判定を行う。
【００８８】
次に、図６に示すステップＳ４では、通知処理を行う。具体的には、判定結果について上位装置１２に通知する。図１２は、通知処理の手順を示すフローチャートである。
ステップＳ４１では、第１記録領域２２、第２記録領域２３でデータの誤りがあるか否かを判定する。具体的には、上述した処理と同じように、読取データバッファ９３ａ内に格納されている第１記録領域２２、第２記録領域２３のエラー検出コード領域２２４、２３４内に記録されているデータを判定する。
【００８９】
ステップＳ４１では、第１記録領域２２と第２記録領域２３のエラー検出コード領域２２４、２３４に格納されているデータの両方でデータの誤りがある（異常（エラー）である）と判定された場合には、ステップＳ４１：ＹＥＳとなり、ステップＳ４４に進む。
【００９０】
ステップＳ４４では、全記録領域でデータの誤りがある（異常（エラー）がある）と判定した旨を上位装置１２に通知する。このレスポンス（報告）を受けた上位装置１２は、磁気カード２０ではサービスの提供ができない旨を表示装置１４に表示させる。上位装置１２へ通知後、ステップＳ４５へ進む。
【００９１】
ステップＳ４５では、カード搬送機構５を動作させて、磁気カード２０を排出させる。磁気カードリーダライタ１は、ステップＳ２で受信した上位装置１２からの命令（コマンド等）に従い、第１記録領域２２および第２記録領域２３の読み取り結果を上位装置１２に通知する。その後、上位装置１２からのつぎの指令（コマンド等）を受信するまで待機する。
【００９２】
ステップＳ４１において、第１記録領域２２と第２記録領域２３のどちらにもデータの誤りがない（正当である）と判定された場合、又は、第１記録領域２２と第２記録領域２３のいずれかのデータの誤りがない（正当である）と判定したが、他方では誤りがある（異常（エラー）である）と判定した場合（ステップＳ４１：ＮＯ）には、本実施形態では上位装置１２にその旨レスポンス（報告）し、ステップＳ４２に進む。
【００９３】
ステップＳ４２では、誤りのないデータ（正当であるデータ）を書込データバッファ９３ｂから読み出して上位装置１２に送信する。ここで、正当なデータとは、本実施形態の磁気カード２０はプリペイドカードであるので、残高、残高が書き込まれた日を表す日付、有効期限等のデータである。上位装置１２はこのデータを受信する。磁気カードリーダライタ１は、ステップＳ４３に進む。
【００９４】
ステップＳ４３では、上位装置１２からの指示に従って処理を実行する。ここで、上位装置１２は、ステップＳ４２で磁気カードリーダライタ１から受信したデータに基づいて磁気カードリーダライタ１に対する指示の内容を決定する。例えば、ユーザが入力装置１３によって所望のサービスを指定すると、上位装置１２は、磁気カードリーダライタ１から受信した残高からそのサービスの料金を差し引いた残高を磁気カードリーダライタ１に送信し、磁気カードリーダライタ１がこの残高を受信する。すると、磁気カードリーダライタ１の書込制御部９４が、上位装置１２から受信した残高を磁気カード２０に書き込む。そして、上位装置１２は、ユーザが指定したサービスを提供する。例えば、洗車場に備えられた洗車機の使用を許可する。あるいは、ユーザが入力装置１３によって、残高照会の指示を入力すると、上位装置１２は残高を表示装置１４に表示させる。以上の処理を実行したならば、ステップＳ４５に進む。
【００９５】
ステップＳ４５では、カード搬送機構５を動作させて、磁気カード２０を排出させる。磁気カードリーダライタ１は、ステップＳ１０２で受信した上位装置１２からの命令（コマンド等）に従い、第１記録領域２２および第２記録領域２３の読み取り結果を上位装置１２に通知する。その後、上位装置１２からのつぎの指令（コマンド等）を受信するまで待機する。
【００９６】
（本実施形態の効果）
本実施形態の効果は、次のとおりである。
本実施形態に係る磁気カードリーダライタ１は、磁気カード２０に形成された第１記録領域２２、第２記録領域２３に記録された同一データの読み取りを行い、判定手段９１３がいずれかのデータの読み取り結果が異常であると判定した場合、判定手段９１３はその補正機能を動作させて、正当なデータを再度書き込む補正を行うので、磁気カード２０に記録されているデータの一部が破損、消去した場合でも、読み取りの信頼性の低下を防止することができる。
【００９７】
また、本実施形態に係る磁気カードリーダライタ１は、補正処理を実行した場合には、その結果と併せて、データの誤りがある記録領域に誤りのないデータの書き込みが行われた旨を上位装置１２に通知する。これにより、磁気カードリーダライタ１の保守の参考となる情報を上位装置１２に提供することができる。例えば、通知された情報を表わすログを上位装置１２に蓄積しておくことによって、磁気カード２０のデータの誤りの発生頻度がわかる。誤りの発生頻度が高いということは、磁気カードリーダライタ１に何らかの不具合がある可能性を示すから、深刻な故障が発生することを未然に防ぐことができる。
【００９８】
また、本実施形態に係る磁気カードリーダライタ１は、データの誤りがある記録領域に書き込まれたデータを上位装置１２に通知するから、誤りのないデータを上位装置１２に通知することができる。
また、本実施形態に係る磁気カードリーダライタ１は、データの書き込みの行われた記録領域からデータを読み取り、このデータの誤りの有無を判定し、誤りがない場合に、このデータを上位装置１２に通知するから、磁気カード２０のデータの誤りが確実に修正されたことを上位装置１２に通知することができる。
また、本実施形態に係る磁気カードリーダライタ１は、誤りのないデータをすべての記録領域に書き込むから、書き込みの処理を簡素化することができる。
【００９９】
（３）変形例
上記の本実施形態を以下に示す変形例のように変形してもよい。また、複数の変形例を組み合わせても良い。また、本実施形態と変形例を組み合わせてもよい。
【０１００】
（３．１）変形例１
上述した実施形態では、すべての記録領域に誤りのないデータを書き込み（ステップＳ３）、データの読み取りを行い（ステップＳ１）、データの誤りの有無を判定する（ステップＳ２）例を示したが、ステップＳ３の後のステップＳ１、Ｓ２を省略し、ステップＳ３で書込データバッファ９３ｂに記憶されたデータ（誤りのないデータ）を読み出して上位装置１２に送信するようにしてもよい。
【０１０１】
（３．２）変形例２
上述した実施形態では、ステップＳ３の処理後にすべての記録領域からデータを読み取り（ステップＳ１）、これらのデータの誤りの有無を判定する（ステップＳ２）例を示したが、最初のステップＳ２でデータの誤りがあると判定された記録領域からだけデータを読み取り（２度目のステップＳ１）、このデータの誤りの有無を判定する（２度目のステップＳ２）ようにしてもよい。
【０１０２】
（３．３）変形例３
上述した本実施形態では、磁気ストライプ２１の長手方向に順に第１記録領域２２、第２記録領域２３を並べて設けた例を示したが、磁気ストライプ２１を複数のトラックに分割し、磁気ストライプ２１の長手方向に並列に第１記録領域２２、第２記録領域２３を設けてもよい。また、磁気ストライプ２１上でデータが書き込まれる記録領域を３つ以上設けてもよい。
【０１０３】
（３．４）変形例４
上述した本実施形態では、磁気カード２０におけるデータの記録方式として、Ｆ及び２Ｆという２種類の周波数の組み合わせによって記録される周波数変調方式を用いたが、これ以外の変調方式を用いてもよい。例えば、Ｆ３Ｆ、ＮＲＺＩ、ＭＦＭ等の変調方式を用いてもよい。
また、本実施形態では、誤り検出符号がＣＲＣである例を示したが、誤り検出符号は、パリティビット、ＣＲＣＣ（巡回冗長検査符号）、ＥＣＣ（誤り訂正符号）等いかなるものでもよい。
【０１０４】
（３．５）変形例５
本実施形態では、ＣＰＵ９１が制御プログラムを実行することによって磁気カードリーダライタ１の動作を制御する例を示したが、本実施形態と同様の機能をハードウェアで実装するようにしてもよい。また、制御プログラムを、光記録媒体、磁気記録媒体、半導体メモリ等、コンピュータで読み取り可能な記録媒体に記録して提供し、この記録媒体から制御プログラムを読み取って磁気カードリーダライタ１に記憶させるようにしてもよい。また、この制御プログラムを電気通信回線経由で提供してもよい。
本実施形態では、読取制御部９４及び書込制御部９５の機能をハードウェアで実装し、復号手段９１１、符号化手段９１２、判定手段９１３、通知手段９１４の機能をソフトウェアで実装する例を示したが、これらの各機能はハードウェアとソフトウェアのどちらで実装してもよい。
【符号の説明】
【０１０５】
１…磁気カードリーダライタ、３…カード挿入口、４…カード搬送路、５…カード搬送機構、６…磁気ヘッド、６１…磁気コア、６２…ライト用巻線、６３…リード用巻線、６４…ケース、７（７１、７２、７３）…カード検出センサ、８（８１、８２）…規制部材、９…制御部、９１…ＣＰＵ、９１１…復号手段、９１２…符号化手段、９１３…判定手段（補正機能）、９１４…通知手段、９２…ＲＯＭ、９３…ＲＡＭ、９３ａ…読取データバッファ、９３ｂ…書込データバッファ、９４…読取制御部、９４１…波形整形回路、９４２…復調回路、９５…書込制御部、９５１…書込駆動回路、９５２…変調回路、９６…外部Ｉ／Ｆ、１０…筐体、２０…磁気カード、２１…磁気ストライプ、２２…第１記録領域、２３…第２記録領域、２２１、２３１…スタートコード領域、２２２、２３２…データ領域、２２３、２３３…エンドコード領域、２２４、２３４…エラー検出コード領域、１２…上位装置、１３…入力装置、１４…表示装置
【図１】
2014089574.tif 000003
【図２】
2014089574.tif 000004
【図３】
2014089574.tif 000005
【図４】
2014089574.tif 000006
【図５】
2014089574.tif 000007
【図６】
2014089574.tif 000008
【図７】
2014089574.tif 000009
【図８】
2014089574.tif 000010
【図９】
2014089574.tif 000011
【図１０】
2014089574.tif 000012
【図１１】
2014089574.tif 000013
【図１２】
2014089574.tif 000014
【図１３】
2014089574.tif 000015