应用笔记 4200

DS8113智能卡模拟接口评估套件使用说明


摘要 : 本应用笔记介绍使用DS8113智能卡模拟接口评估(EV)套件的必要步骤。本文说明如何安装、配置套件的硬件和软件,如何创建、装载MAXQ2000 RISC微控制器的执行程序。这里提供了一个简单的“Hello World”实例和板上LCD的使用实例。本文还包括一些用来演示智能卡交易的函数(包括C程序)。

概述

DS8113评估(EV)套件为评估DS8113提供了一个便利的、经过验证的平台。DS8113是用于智能卡读卡器的低成本、低功耗模拟前端,针对所有ISO 7816、EMV和GSM11-11应用设计。DS8113支持5V、3V和1.8V智能卡,具有工作模式和停止模式的低功耗选项。

DS8113评估板和附带的JTAG板如图1所示。评估板包括DS8113和MAXQ2000微控制器,可编程提供完备的EMV智能卡接口。这个接口软件库函数可以从套件的CD_ROM获取,或免费从Maxim网站下载文件AN4200_sw.zip。评估板还包含智能卡插槽和每行20个字符,共计两行的LCD模块。

图1. DS8113评估板和JTAG电路板
图1. DS8113评估板和JTAG电路板

本应用笔记介绍如何使用这个评估套件以及如何在这个硬件平台上编译、运行应用程序。提供三个应用:简单的“Hello World”程序、LCD模块演示,另外还有一个演示实际支付终端交易的智能卡功能。提供所有应用的C程序代码。

DS8113器件设计用于连接系统微控制器和智能卡,提供所有电源、ESD保护以及IC卡应用所需的电平转换功能。DS8113为双电源供电器件,VDD的供电范围是2.7V至6.0V,VDDA必须连接到5.0V至6.0V,为智能卡提供电源。DS8113产生智能卡电源:1.8V、3.0V或5.0V。与微控制器的通信通过DS8113专用引脚和处理器的标准输入/输出(I/0)实现。

软件设置

在本应用笔记采用了Maxim的微控制器工具箱(MTK)、Rowley CrossWorks的C语言编译器和集成开发环境(IDE)。所有软件都应该安装在PC内。MTK包含在DS8113评估套件的光盘内,也可以从Maxim网站下载。Rowley工具包可从下面介绍的网站下载,有30天的免费使用期。安装这些应用程序的步骤如下。如果这些应用程序的某一个或全部都已安装到PC内,可以忽略关于安装部分的介绍。

安装微控制器工具箱(MTK)

  1. 将DS8113评估套件的光盘插入计算机CD-ROM驱动器,CD会自动启动并显示DS8113评估板的主界面。如果CD没有自动启动,请查看CD文件夹并双击index.html文件。
  2. 从CD的主页面点击标题DS8113/MAXQ2000 Evaluation Kit Information,然后点击MTK。在提示后选择Run,将开始安装过程。按照屏幕上的提示完成整个过程。
  3. 在MTK安装过程中,选择默认设置。注意:可能会出现安全警告信息,具体取决于网站浏览器的安全设置、计算机的Windows®版本。如果出现警告信息,只要确认并继续安装即可。

为MAXQ安装Rowley Associates的CrossWorks

Rowley Associates为MAXQ®微控制器提供全功能版本的CrossWorks,有30天的许可权限。该软件可从Rowley Associates网站下载。按照指令进行安装。选择默认安装位置及相关选项。开始安装之前,需要通过email从Rowley Associates获取一个30天的产品有效密码。在Rowley Associates网站的“Support: Evaluating CrossWorks”网页按照指示操作。

关于这个工具箱的设置、开发和调试的更多信息,请参考应用笔记3698,"Rowley CrossWorks和MAXQ2000评估板入门"。

硬件设置

为了装载应用程序,必须采取一些步骤配置DS8113评估板,须正确设置评估板跳线。JTAG调试接口板必须与评估板连接,JTAG板的串口与PC连接。最后,为两块电路板上电。下面是详细步骤:
  1. 按照表1所示配置跳线1至9,图2标明具体的跳线位置。注意,图中跳线和连接器引脚1的位置用黑圈表示。
  2. 用附带的10芯扁平电缆连接JTAG板和评估板,确保极性连接正确。在JTAG板上,当电路板元件层向上时,DB-9连接器位于左侧,JTAG连接器P2的引脚1位于右下角。评估板上,JTAG连接器J2的引脚1位于左上角,如图2中黑色引脚所示。扁平电缆带有红色条纹的一侧应该连接两块电路板JTAG连接器的同一个引脚。图1所示为两块电路板的正确配置。
  3. 将附带的串口电缆一端连接至JTAG板的DB-9连接器J1,另一端连接至PC机的COM口。
  4. 将评估套件中附带的300mA,5V稳压电源(±5%)的2.5mm正端接头连接到JTAG板的电源连接器J2。确保JTAG板安装了跳线JH3,以通过JTAG扁平电缆从JTAG板给评估板供电。注意,还应该安装JTAG板的其它两个跳线(JH1和JH2)。
图2. DS8113电路板的跳线位置
图2. DS8113电路板的跳线位置

表1. DS8113评估板跳线设置
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评估套件硬件编写的三个应用程序,它们压缩到一个叫an4200_sw.zip的文件中。如果没有套件的CD-ROM,也可以从Maxim网站下载这个文件。在进行下一步操作之前,应该在计算机的C盘下建立一个目录"DS8113",将.ZIP的所有文件解压缩到这个目录。解压缩文件包括源代码,必要的头文件,十六进制加载文件和CrossWorks的项目文件。通过将这些文件放到指定目录下,软件工具就知道从什么位置找到文件。否则,需要更新项目文件,指明新的位置。

我们要加载的第一个程序是“Hello World”应用程序。为了执行程序,有两个便利途径可以将程序从PC加载到MAXQ2000存储器:MTK和Rowley CrossWorks工具。用户可以使用MTK程序加载一个HEX文件。评估套件的快速入门指南介绍了这个方法。以下将介绍如如何利用Rowley CrossWorks工具加载程序。
  1. 按照上述介绍启动CrossWorks MAXQ1.1 CrossStudio。
  2. 点击File,然后点击Open Solution。进入C:DS8113目录,选择文件“HelloWorld.hzp”并打开。这将打开Hello World项目,这个项目文件包含工具箱建立应用程序所需的完整信息。
  3. 确定JTAG板已经加电(因此DS8113评估板也上电),评估板的电源开关(SW5)处于ON位置(开关朝向DB-9连接器)。在目标窗口的Maxim Serial JTAG Adapter选项上点击右键,然后选择Connect。连接后,“Maxim Serial JTAG Adapter”将会变为粗体字。
  4. 点击Build,然后点击Build and Run。屏幕底部的输出日志会显示出程序编译的进度。完成后,日志会表明程序加载并已验证,如图3所示。
  5. 在目标窗口右击Maxim Serial JTAG Adapter,然后选择Disconnect (或点击Disconnect按钮)。
  6. 应用程序已装载到电路板。将电源从JTAG和评估板撤掉,并断开JTAG板和评估板之间的扁平电缆。在以后步骤中不再使用CrossWorks,也可以关闭它。
图3. “HelloWorld”项目加载后的CrossStudio屏幕
详细图片
(PDF, 122.4kB)
图3. “HelloWorld”项目加载后的CrossStudio屏幕

运行Hello World程序

执行HelloWorld程序时会发送一个信息到串口,可以利用MTK接收并在PC屏幕上显示这个信息。按照下面步骤运行程序:
  1. 从JTAG板移除RS-232电缆,将其插入DS8113评估板的DB-9连接器J3。
  2. 查找并运行MTK程序。当“Select device”窗口(图4)出现时,选择Dumb Terminal并点击OK
  3. 在MTK主窗口点击Options,然后点击Configure Serial Port。选择RS-232电缆连接的PC机com口(比如COM1)。选择速率为115200,然后点击OK
  4. 选择TargetOpen COMx at 115200 baud,x为com端口号。
  5. 最后,将5V电源直接连接到评估板的J1,并将电源开关SW5拨向DB-9连接器,给电路板供电。MTK屏幕会显示“Hello DS8113 World!”信息,如图5所示。通过电源开关给电路板断电,然后再加电,使处理器复位,程序会重新开始,并会再次显示信息。
图4. 选择设备
图4. 选择设备

图5. 输出屏幕
图5. 输出屏幕

评估LCD显示模块

这里运行的程序能够在评估套件的每行20字符,共计两行的液晶显示器(LCD)上显示信息。运行程序前,我们必须设置LCD的对比度,以便程序运行时能够正确显示信息。首先,给电路板加电(注意LCD可能会空白,或者在一些字符位置显示出黑色矩形块)。找到电路板上LCD的偏置电阻R4 (见图2),利用一个小螺丝刀调整电阻,直到屏幕显示出清晰的5 x 7点阵。这一步将调整LCD的对比度,以观察到清晰的字符,但不能解决空白像素问题。

按照上述硬件设置中的步骤2至步骤4,重新将JTAG板和电源连接到评估板。按照上述加载可执行文件的步骤1至步骤4装载LCD演示程序到MAXQ2000的程序存储器。由于这个应用没有使用串口,所以不必按照步骤5和6断开JTAG接口与RS-232电缆。在步骤2中,选择文件LCD_8113.hzp,在完成步骤4后,新的演示程序被装载并开始运行。到此,信息将显示在LCD屏。

智能卡交易

最后一个演示程序是关于智能卡交易程序的装载和运行,实现基本借计操作以及智能卡初始化功能。由于不具备与实际支付系统相关的任何安全措施,所以这里演示的功能只是该系统的一个样本。

该交易例程执行并适当管理由EMV规范定义的应用协议数据单元(APDU)的发送和接收,APDU与DS8113评估套件提供的ACOS3智能卡进行收发通信。通过发送正确的APDU,并处理它们的可能响应,例程展示了一个典型的支付交易过程。

为了建立一组具有代表性的交易函数,本例支持三个主要的智能卡操作。
  1. 借记交易,从卡的余额中扣除一定金额
  2. 信用卡交易,在卡的金额上增加一定金额
  3. 卡初始化交易,将卡的余额和交易次数置为初始值
假定卡中存有$100.00,并且在初始化交易时,最初交易次数被设置为1。为了简化这个例程,无论是借方交易还是贷方交易,从卡的余额中扣除或增加的都是固定金额$10.00。

按照上述装载可执行文件步骤的第1到6步,将智能卡交易演示程序装载到评估板。步骤2中,选择文件Transaction_8113.hzp。完成步骤6后,从JTAG板断开RS-232电缆,并将其插入评估板的串口连接器J3。开始MTK程序,并选择设备Dumb Terminal。点击Target并选择Open COMx at 115200 baud,给电路板加入5V电源,打开电源开关(开关拨向DB-9连接器),按照LCD显示的指令完成预期交易。MTK屏幕将显示程序的RS-232串口输出。该信息可用于分析和调试,也可以忽略这些信息。但是,必要时可以用来分析应用源程序,确定串口输出的含义。

结论

DS8113智能卡接口是用于智能卡读卡器的低成本模拟前端,设计用于ISO 7816、EMV和GSM11-11的所有应用。DS8113支持5V、3V和1.8V智能卡工作,具有工作模式和停止模式的低功耗选项,停止模式下电流低至10nA。DS8113评估套件提供了一个评估DS8113智能卡接口的便利且经过验证的平台。

本文介绍了使用DS8113评估板的必要步骤,说明软件安装和配置、硬件配置以及为板上MAXQ2000 RISC微控制器装载可执行程序的方法。提供了一个简单的“Hello World”例程、电路板LCD演示例程以及实际支付系统智能卡交易的演示例程。提供三个应用的所有C程序代码,智能卡函数基于EMV操作库。