アプリケーションノート 4200

スマートカードアナログインタフェースDS8113の評価キット入門


要約: このアプリケーションノートでは、スマートカードアナログインタフェースDS8113の評価(EV)キットを簡単に使用するために必要な手順について説明しています。また、この記事では、キットのハードウェアとソフトウェアのインストール方法や設定方法、およびオンボードのMAXQ2000 RISCマイクロコントローラで実行可能なアプリケーションの作成方法とロード方法について説明します。ボードのLCDの使用例のほか、単純な「Hello World」の例を用意しました。また、スマートカードトランザクションのデモ用にいくつかの関数を提供しています(Cソースコードを含む)。

概要

DS8113の評価(EV)キットは、DS8113デバイスを評価するための、使いやすく実績のあるプラットフォームです。DS8113は、スマートカードリーダ用の低コストで、低消費電力のアナログフロントエンドで、ISO 7816、EMV、およびGSM11-11のすべてのアプリケーションで使用することができるように設計されています。DS8113は、5V、3V、および1.8Vのスマートカードに対応しており、アクティブモードとストップモードという低消費電力のオプションを提供します。

DS8113のEVキットボードおよび付属のJTAGボードを図1に示します。EVキットボードには、DS8113とMAXQ2000マイクロコントローラが含まれており、これらをプログラミングすることによって、EMVスマートカードのあらゆるインタフェースを提供することができます。このインタフェース用のソフトウェアライブラリ関数は、キットに同梱のCD-ROM、あるいはマキシムのウェブサイトから、ファイルAN4200_sw.zipを自由にダウンロードして利用することができます。キットボードには、スマートカードソケットと2行 x 20文字のLCDモジュールも含まれます。

Figure 1. DS8113 Evaluation Kit and JTAG boards.
図1. DS8113の評価キットおよびJTAGボード

このアプリケーションノートでは、このEVキットを簡単に使用するための方法と、アプリケーションコードをコンパイルしてこのハードウェアで実行する方法について説明します。次の3つのアプリケーションが用意されています。すなわち、「Hello World」プログラム、LCDモジュールのデモ、および一連のスマートカード機能(実際の支払端末トランザクションなど)です。すべてのアプリケーションについてCのソースコードが提供されます。

DS8113デバイスは、システムのマイクロコントローラとスマートカード間をインタフェース接続するように設計されており、ICカードアプリケーションに必要なすべての電源、ESD保護、およびレベルシフトを提供します。DS8113はデュアル電源デバイスで、2.7V~6.0Vの範囲のVDDと、スマートカードに電源電圧を供給するために5.0V~6.0Vに接続する必要のあるVDDAで動作します。DS8113は、1.8V、3.0V、または5.0Vのスマートカードの電源電圧を生成します。マイクロコントローラとの通信は、プロセッサの標準入出力(I/O)ピンにじかに接続されたDS8113の専用ピンを通じて行われます。

ソフトウェアのセットアップ

このアプリケーションノートでは、マキシムのマイクロコントローラツールキット(MTK)とRowley CrossWorksのCコンパイラおよび統合開発環境(IDE)を使用します。両方のプログラムをPCにインストールする必要があります。MTKは、DS8113のEVキットのディスクか、マキシムのウェブサイトからダウンロードして利用することができます。またRowley社のツールセットの全機能のコピーは、30日間無料で、以下で説明するようにRowley社のウェブサイトからダウンロードすることができます。これらのアプリケーションのインストール方法の指示に従ってください。アプリケーションの一方または両方が、すでにPCにインストールされている場合は、該当するインストール方法を説明している項をお読みいただく必要はありません。

マイクロコントローラツールキット(MTK)のインストール

  1. DS8113のEVキットのCDをコンピュータのCD-ROMドライブに挿入します。CDは自動ブートし、DS8113のEVキットのメイン画面が表示されます。CDが自動ブートしない場合は、CDのルートフォルダを開き、index.htmlファイルをダブルクリックします。
  2. CDのメインページから、DS8113/MAXQ2000 Evaluation Kit Informationの見出しを選択して、次にMTKを選択します。Runが表示されるとこれをクリックします。これでインストールが開始されます。画面上の指示に従って処理を完了します。
  3. MTKのインストール時に、デフォルト設定を選択します。ウェブブラウザのセキュリティ設定およびWindows®のバージョンによっては、セキュリティ警告が表示される場合があります。この場合は、そのまま警告を了解し、インストールを続行してください。

Rowley Associates社CrossWorks for MAXQのインストール

Rowley Associates社は、30日の評価ライセンス付きでCrossWorks for MAXQ®マイクロコントローラの完全機能バージョンを提供しています。このソフトウェアは、Rowley Associates社のウェブサイトからダウンロードすることができます。インストール時には指示に従ってください。インストールする場所およびその他のオプションはデフォルトを選択してください。続行する前に電子メールでRowley Associates社から30日の製品アクティベーションキーを入手する必要があります。Rowley Associates社のウェブサイト上の「Support: Evaluating CrossWorks」の指示に従ってください。

このツールを使用したセットアップや開発、およびプログラムデバッグの詳細については、アプリケーションノート3698、「Rowley CrossWorksおよびMAXQ2000の評価キット入門」をご覧ください。

ハードウェアのセットアップ

提供されたアプリケーションをロードするには、いくつかの操作を行ってDS8113のEVキットボードを構成する必要があります。ボードのジャンパを適切に設定する必要があります。JTAGデバッグインタフェースボードを、PCに接続されているJTAGボードのシリアルポートを用いてEVキットボードに接続しなければなりません。最後に、両方のボードに電力を供給する必要があります。以下に、この手順について詳しく説明します。
  1. 表1に示すようにジャンパ1~9を接続します。その位置とジャンパの配置を図2に示します。この図で、ジャンパとコネクタのピン1の場所が黒丸で確認することができます。
  2. 付属の10芯リボンケーブルを使って、JTAGボードをEVキットボードに接続します。接続部の極性に注意してください。JTAGボードでは、ボードの部品面を上にしてDB-9コネクタを左側にした状態で、JTAGコネクタP2のピン1は右下の位置になります。EVキットボードでは、図2の黒いピンで示すようにJTAGコネクタJ2のピン1は左上の位置になります。リボンケーブルの赤い縞のある側が、両方のボード上のJTAGコネクタの同じピンに接続されている必要があります。図1に2つのボードの正しい構成を示します。
  3. 付属のシリアルケーブルの片方の端をJTAGボードのDB-9コネクタJ1に接続し、もう一方の端をPCのCOMポートに接続します。
  4. EVキットに同梱の電源(5V、安定化(±5%)、300mA、2.5mmのセンタプラス)をJTAGボードの電源コネクタJ2に接続します。JTAGボードにジャンパJH3が取り付けられていることを確認します。これによって、JTAGボードからJTAGリボンケーブルを経由してEVキットボードに5Vの電源が供給されます。JTAGボードの他の2つのジャンパ(すなわちJH1とJH2)も取り付ける必要があります。

Figure 2. DS8113 board jumper locations.
図2. DS8113ボードのジャンパ位置

表1. DS8113のEVキットボードのジャンパ設定
Jumper Installed Description
JU1 Installed DS8113's VCC connected to smart-card socket, C1 pin
JU2 Installed: connect pins 1 and 2 DS8113's PRES pin pulled high (3.3V) through 10kΩ resistor
JU3 Installed: connect pins 2 and 3 Smart-card socket's S2 pin connected to ground
JU4 Installed: connect pins 2 and 3 Board's VDDA source connected to DS8113's VDDA pin
JU5 Not Installed DS8113's VUP pin is unused
JU6 Installed: connect pins 2 and 3 Board's 5V source selected as board's VDDA
JU7 Installed Board's VDDA source connected to DS8113's VDDA pin
JU8 Installed: connect pins 2 and 3 Board's 3.3V source selected as DS8113's VDD
JU9 Installed Board's VDD source connected to DS8113's VDD pin

実行ファイルのロード

実行ファイルをMAXQ2000プロセッサの32Kワード(16ビット)プログラムメモリにロードして、プログラムを実行します。DS8113のEVキットのハードウェア用に作成された3つのアプリケーションプログラムは、an4200_sw.zipというファイル名で圧縮されてキットのCD-ROMに収録されています。キットのCD-ROMが利用することができない場合、マキシムのウェブサイトからこのファイルをダウンロードすることもできます。次に進む前に、ディレクトリ「\DS8113」をコンピュータのCドライブに作成しておく必要があります。このディレクトリに、.ZIPファイルに含まれるファイルをすべて展開する必要があるためです。展開されたファイルには、ソースコード、必要なヘッダファイル、16進のロードファイル、およびCrossWorksのプロジェクトファイルが含まれます。この特定のディレクトリにこれらのファイルを置くことで、ソフトウェアツールは、その特定のディレクトリでファイルを探すことができます。ディレクトリを作成しておかないと、新しい場所を示すためにプロジェクトファイルを更新する必要が生じます。

最初にロードするプログラムは、「Hello World」アプリケーションです。簡単にPCからMAXQ2000のメモリにプログラムをロードして実行することができる方法が2つあります。すなわち、MTKとRowley CrossWorksツールセットを使用する方法です。MTKプログラムを使用してHEXファイルをロードすることができます。この手法は、EVキットに含まれるクイックスタートガイドで説明しています。以下の手順では、Rowley CrossWorksツールセットを使用してプログラムをロードする方法について説明します。
  1. 前述したように、CrossWorks MAXQ1.1 CrossStudioを開始しておきます。
  2. FileOpen Solutionを順にクリックします。C:\DS8113ディレクトリに移動し、「HelloWorld.hzp」ファイルを選択してOpenをクリックします。これでHello Worldプロジェクトが開きます。このプロジェクトファイルには、ツールセットでアプリケーションをビルドするのに必要な全情報が含まれています。
  3. JTAGボード(したがってDS8113のEVキットボード)に電源が供給されていること、およびキットボードの電源スイッチ(SW5)がONの位置にあること(レバーがDB-9コネクタの方を向いている)ことを確認します。TargetsウィンドウのMaxim Serial JTAG Adapterを右クリックで選択してからConnectを選択します。接続すると、「Maxim Serial JTAG Adapter」の文字が太文字に変わります。
  4. BuildBuild and Runの順にクリックします。画面底部の出力ログによって、プログラムのビルドの進捗が示されます。図3に示すように、完了時、ログはプログラムがロードされて検証されたことを示しています。
  5. TargetsウィンドウのMaxim Serial JTAG Adapterを右クリックしてからDisconnectを選択します(あるいはDisconnectアイコンをクリックします)。
  6. 以上で、アプリケーションプログラムはボードにロードされます。JTAGおよびEVキットボードから電源を取り外してから、JTAGリボンケーブルをEVキットボードから取り外します。次のステップでは使用しないため、CrossWorksも閉じることができます。
Figure 3. CrossStudio screen after the 'HelloWorld' project file is loaded.
画像の拡大
(PDF, 122.4kB)
図3. 「HelloWorld」プロジェクトファイルをロードした後のCrossStudio画面

Hello Worldプログラムの実行

Hello Worldプログラムは、実行時にシリアルポートにメッセージを送信します。MTKを使用してこのメッセージを受信してPC画面に表示することができます。以下の手順に従ってプログラムを実行してください。
  1. RS-232ケーブルをJTAGボードから取り外して、DS8113のEVキットボードのDB-9コネクタJ3に差し込みます。
  2. MTKプログラムを見つけて実行します。「Select device」ウィンドウ(図4)が表示されたら、Dumb Terminalを選択してOKをクリックします。
  3. MTKのメインウィンドウ上部でOptionsConfigure Serial Portの順にクリックします。RS232ケーブルを接続するPCのCOMポート(たとえばCOM1)を選択します。速度115200を選択してOKをクリックします。
  4. TargetOpen COMx at 115200 baudの順に選択します。ここでxはCOMポート番号です。
  5. 最後に、5V電源をEVキットボードのJ1にじかに接続し、電源スイッチSW5をDB-9コネクタの方向に切り替えてボードに電力を供給します。図5に示すように、MTK画面に「Hello DS8113 World! 」メッセージが表示されます。ボードの電源スイッチをオフにしてからオンにすると、プロセッサがリセットされ、プログラムが再起動してメッセージが再度表示されます。
Figure 4. Select device.
図4. デバイスの選択

Figure 5. Output screen.
図5. 出力画面

EVキットのLCDモジュール

ここで、プログラムを実行し、EVキットの2行 x 20文字の液晶ディスプレイ(LCD)にメッセージを表示します。ただし、開始前にLCDのコントラストを調整し、プログラムの実行時に正しくメッセージが表示されるようにしておきます。最初にボードに電力を供給します(LCDが空白か、あるいは個々の文字位置に黒い矩形が表示される場合があります)。ボード上で、LCDバイアス抵抗R4の位置を見つけます(上の図2を参照してください)。小さなねじ回しを使用して、ディスプレイに5 x 7ドットの各ブロックが表示されるまで抵抗を調整します。次にブロックがちょうど消えるまでR7をゆっくりと調整します。このようにLCDのコントラストを設定することで、文字が見えるようになると同時に、空白文字は見えなくなります。

上記の「ハードウェアのセットアップ」の項のステップ2~4に従って、JTAGボードと電源をキットボードにもとどおり接続します。上記の実行ファイルのロードの項のステップ1~4を実行し、LCDのデモプログラムをMAXQ2000のプログラムメモリにロードします。このアプリケーションではシリアルポートを使用しないため、ステップ5と6に記したJTAGインタフェースとRS232ケーブルを取り外す必要はありません。ステップ2では、LCD_8113.hzpファイルを選択します。ステップ4の完了後、新しいデモプログラムがロードされ実行されます。これでメッセージがLCD上に表示されます。

スマートカードのトランザクション

最後のデモとして、スマートカード関連のトランザクションを実行するアプリケーションをロードして実行します。クレジットとデビットの基本的なトランザクションが、スマートカードの初期化機能とともに実装されています。実際の支払トランザクションに通常は付随するセキュリティ対策は含まれていません。ここで実証する各機能は、このシステムの見本となる機能です。

このトランザクション例では、DS8113のEVキットに付属のACOS3スマートカードに対して、EMV仕様で規定したアプリケーションプロトコルデータ単位(APDU)の送受信を実行して適正に管理しています。適切なAPDUを処理して送信することによって、また予想される応答を処理することによって、標準的な支払トランザクションの典型的な各アクションを実証しています。

トランザクション機能の代表的なグループを作成するため、この例では、スマートカードの3種類の主要な動作を実装しています。
  1. デビットトランザクション。金額がカードの残高から差し引かれます。
  2. クレジットトランザクション。金額がカードの残高に加算されます。
  3. カード初期化トランザクション。カードの残高とトランザクション数が初期値に設定されます。
初期化トランザクション時に、架空の初期残高100.00ドルがカードに格納され、初期トランザクションカウントが1に設定されます。例を簡単にするため、クレジットまたはデビットのいずれのトランザクションでも、カードの残高に対して定額の10.00ドルが加算または差し引かれます。

上記の実行ファイルのロードの項のステップ1~6に従って、スマートカードトランザクションのデモプログラムをEVキットボードにロードします。ステップ2では、Transaction_8113.hzpファイルを選択します。ステップ6の完了後、RS232ケーブルをJTAGボードから取り外してキットボードのシリアルコネクタJ3に差し込みます。MTKプログラムを開始して、デバイスとしてDumb Terminalを選択します。TargetOpen COMx at 115200 baudの順にクリックします。ここで、5V電源をじかにキットに加えて電源スイッチを入れ(DB-9コネクタの方向)、さらにLCDの指示に従って所望のトランザクションを完了します。MTKの画面には、プログラムのRS-232シリアル出力が表示されます。これは、分析とデバッグのための情報であり、無視して問題ありません。必要に応じて、アプリケーションのソースコードを分析してシリアル出力の意味を判断することができます。

結論

DS8113スマートカードインタフェースデバイスは、スマートカードリーダ用の低コストなアナログフロントエンドであり、ISO 7816、EMV、およびGSM11-11のすべてのアプリケーションで使用することができるように設計されています。DS8113は、5V、3V、および1.8Vのスマートカードに対応しており、アクティブモードとストップモードという低消費電力のオプションを提供します。ストップモードの電流消費はわずか10nAになります。DS8113のEVキットは、DS8113スマートカードインタフェースを評価するための、使いやすく実績のあるプラットフォームです。

この記事では、DS8113のEVキットを簡単に使用するために必要な手順について説明しています。また、この記事では、ソフトウェアのインストール方法と構成方法、ハードウェアの構成方法、およびオンボードのMAXQ2000 RISCマイクロコントローラで実行可能なアプリケーションの作成方法とロード方法について説明しています。単純な「Hello World」の例とともに、ボードのLCDのデモ、および現実の支払システムの代表的なスマートカードトランザクションのデモも用意しています。3つのアプリケーションのそれぞれについてCのソースコードが用意されており、スマートカードの関数は、EMVタイプの動作のライブラリを利用しています。
次のステップ
EE-Mail EE-Mail配信の登録申し込みをして、興味のある分野の最新ドキュメントに関する自動通知を受け取る。
© , Maxim Integrated Products, Inc.
このウェブサイトのコンテンツは米国および各国の著作権法によって保護されています。コンテンツの複製を希望される場合は お問い合わせください。.
APP 4200:
アプリケーションノート 4200,AN4200, AN 4200, APP4200, Appnote4200, Appnote 4200