本文阐述使用DS8007双智能卡接口评估(EV)套件的步骤,解释了怎样安装和配置软件、配置硬件,建立并装载板上DS5002FP微控制器执行的应用软件。提供了一个简单的"Hello World"实例,以及几个C程序函数,以演示板上LCD模块的使用。
DS8007评估(EV)套件为DS8007双智能卡接口评估提供方便、成熟的平台。DS8007是混合信号外设,管理微控制器和两个独立智能卡之间的所有接口。
DS8007评估套件包括DS8007和DS5002FP安全微控制器,通过对其编程可提供完整的智能卡接口。它还提供两个智能卡插槽:一个用于标准信用卡和支付卡,一个用于用户识别模块(SIM)。DS8007评估板如图1所示。本文阐述该评估套件的使用步骤,如何开发并运行应用软件代码。
图1. DS8007评估板
DS8007为两个独立的智能卡和微控制器的物理连接提供所有必须的电信号。该器件包括一个专用内部序列发生器,控制卡自动激活和禁止,还含有用于数据通信的ISO UART。此外,DS8007的电荷泵和电压稳压器使其能够工作在2.7V至6.0V电压,并提供两路独立的智能卡供电电压,每一路都可以是1.8V、3.0V或者5.0V。标准并行8位总线以复用或非复用配置实现与微控制器的通信。
本应用笔记中,应该在计算机上安装并运行Dallas Semiconductor的微控制器工具套件(MTK)和Keil公司的PK51专业开发工具软件。两个软件包都含在DS8007评估套件中。下面的章节说明安装这些应用软件的步骤。如果您已经在计算机上安装了这些应用软件,那么可以略过说明安装过程的这些章节。
配置DS8007评估套件电路板时,需要正确设置跳线,将串口和计算机相连,并连接电源。下面详细说明这些步骤。
按照 图2 ,连接跳接器1到13,其详细说明在表1中。
将所提供的串行电缆的一端连接至电路板DB-9连接器(J6),另一端连接至计算机的COM口。
将评估套件中的5V ±5%、300mA稳压电源的2.5mm中心正极电源连接至电路板的J7电源连接器。
图2. DS8007电路板跳线位置
表1. DS8007电路板跳线设置 | Jumper | Installed | Description |
| -------- | --------------------------------- | ------------------------------------------------------------------- |
| JU1 | Installed | Board's DVDD connected to DS8007's digital VDD |
| JU2 | Installed | DS8007's VCCA connected to smart card socket 1, pin C1 |
| JU3 | Installed | Board's AVDD connected to DS8007's analog supply, VDDA |
| JU4 | Installed: Connect pins 1 and 2 | Board's AVDD connected to smart card socket 1, pin S2 |
| JU5 | Installed: Connect pins 2 and 3 | Board's AVDD connected to smart card socket 1 pin, S1 through 10K |
| JU6 | Not Installed | |
| JU7 | Not Installed | |
| JU8 | Installed | DS8007's VCCB connected to SAM socket, pin C1 |
| JU9 | Installed: Connect pins 2 and 3 | DS8007's PRESB connected to GND (through 10K) |
| JU10 | Installed: Connect pins 2 and 3 | DS5002FP's nPROG connected to RS-232 DTR0/DSR0 |
| JU11 | Installed | Board's 5V supply connected to board's AVDD |
| JU12 | Installed | Board's 5V supply connected to board's DVDD |
| JU13 | Installed: Connect pins 2 and 3 | DS8007's INTAUX pin connected to GND (through 10K) |
下一步是建立.HEX文件,它可以下载到电路板存储器中,由DS5002FP运行。建立该文件需要配置Keil µVision®工程文件,以建立正确的可装载文件,然后将其下载到电路板的非易失存储器中。
在计算机上安装了Keil C51开发工具后,单击生成的图标,启动µVision程序。我们将按照以下步骤为演示程序建立一个工程文件和C程序文件:
// File DS8007-1.C
#include < REG5000.H > // special function register declarations
// // for the DS5000/5002
#include < stdio.h > // prototype declarations for I/O functions
// Main C function. Program execution starts here.
void main (void) {
// Set up the serial port for 38400 baud at 14.7MHz.
TMOD=0x21; // Timer 1: 8-bit auto-reload from TH1, Timer 0: 16-bit
TH1 = 0xFE; // Set timer reload value for 38,400 baud
PCON|=0x80; // Turn on baud rate doubler SMOD_0
TCON=0x50; // Enable timers 0 and 1
SCON=0x50; // 10-bit async, enabled
TI=1; // Set TI to send first character
TR1 = 1; // Start timer 1
// Start main program
printf ("\\nHello DS8007 World!\\n\\n"); // Output message
while (1) ; // End program by looping here.
}
图3. 工程选项目标标签设置
!
图4. 工程选项输出标签设置
按照上述步骤对硬件进行配置后,DS8007电路板将连接到计算机的COM口。现在应对处理器进行配置,使其能够知道怎样访问板上存储器。向处理器的MCON和RPCTL寄存器写入对应的数值可完成该任务,按下面步骤进行。
在您的计算机上找到MTK程序,启动它。
在Select Device窗口中选择"DS5002FP" ( 图5 ),单击"OK"。
单击"Options",然后单击"Configure Serial Port"。选择DS8007电路板所要连接的计算机端口,例如COM1。然后,从下拉菜单中选择"Speed 38400",单击"OK"。
单击"Target",单击"Open COM1 at 38400 baud"。
确定电路板的串口已经和计算机建立了连接,并加载了5V电源。单击"Target"和"Connect to Loader"。如果连接成功,DS5002FP将显示其启动加载程序标志,如图6所示。
在 > 提示符下,输入以下命令来配置MCON和RPCTL寄存器:
> W MCON 0A
> W RPCTL 01
> R
MCON:0A RPCTL:81 MSL:01 Microcontroller's response to read register command
如果在输入启动加载程序命令时,您收到"E: LOCKED"错误消息,说明该部分有自己的安全锁定设置。要对该部分进行解锁,在加载程序提示符 >下输入解锁命令(U)即可。这样做会破坏存储在处理器存储器中的信息,但是该部分解锁后,可以输入上面的寄存器命令。发出读寄存器命令(> R)后,DS5002FP报告寄存器MCON (0A)和RPCTL (81)的状态。DS5002FP还显示MSL位的状态(参见安全微控制器用户指南(English only),了解详细信息),该例中为01。
DS8007电路板现在可以装入Keil开发工具建立的编程文件。1. 单击"File",然后选择"Load SRAM"。选择文件DS8007-1.HEX,然后单击"OPEN"。DS5002FP处理器的响应是: > Loading File ...\\DS8007-1.hex
> Loading File ...\\DS8007-1.hex
通过显示一连串的圆点表示正在装载。
执行装载程序后立即断开,处理器将开始运行程序。MTK屏幕显示程序输出 "Hello DS8007 World!",成功!
图5. MTK器件选择
图6. DS5002FP启动加载程序标志
为演示DS8007评估套件非常有用的一项功能,我们现在建立一个应用程序,在2行20字符的液晶显示屏(LCD)上显示一条消息。但是在开始前,必须设置LCD的对比度,使其在程序执行时能够正确地显示消息。首先,对电路板加电,LCD应不亮。找到电路板上的可变电阻R7 (参见上面的图2),使用小螺丝刀对电阻进行调整,直到一个5 x 7点阵出现在显示屏的字符位置。慢慢调整R7,直到点阵刚刚消失。这设置LCD的对比度,使我们能够看到字符,而看不到间隔。
按照上面的第1步到第10步( 建立µVision工程 ),建立一个新工程和可执行文件。工程文件名为DS8007-2,C源代码文件名为DS8007-2.c。该程序的源代码在下面的附录A中给出。如果您不愿意输入这些信息,也可以从上面提到的FTP网站下载这些文件的.ZIP文件。
一旦建立了HEX文件,按照上面的步骤( 装入可执行文件 )将其装入到电路板的存储器中。和加载程序断开后,LCD将显示两行消息。
DS8007评估套件为DS8007双路智能卡接口评估提供方便、成熟的平台。套件和Keil C语言开发工具简化了智能卡应用程序的开发过程。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !