利用DS8007评估套件进行设计

描述

本文阐述使用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评估套件中。下面的章节说明安装这些应用软件的步骤。如果您已经在计算机上安装了这些应用软件,那么可以略过说明安装过程的这些章节。

安装微控制器工具套件

  1. 将DS8007评估套件安装CD插入到计算机的CD-ROM驱动器中。CD将自动启动,显示DS8007评估套件欢迎界面。如果CD-ROM没有自动启动,请浏览CD根目录文件夹,双击index.html文件。
  2. 单击"Install MTK"按钮,单击"Run"按钮,开始安装。
  3. 在MTK安装期间,选择默认设置。 注意: 可能会出现安全报警,这取决于您的网络浏览器安全设置以及您的Windows®版本。如果的确出现了报警,接受它,继续安装。

安装Keil专业开发工具

  1. 安装Keil公司的PK51专业开发工具套件时,将Keil微控制器开发工具CD (含在DS8007评估套件中)插入到您计算机的CD-ROM驱动器中。CD会自动启动,显示主菜单。如果CD-ROM没有自动启动,请浏览CD根目录文件夹,双击setup.exe文件。
  2. 在主菜单上,选择"Install Evaluation Software",然后选择"C51 Compiler (Eval Tools)"。
  3. 按照屏幕显示的提示,在计算机上安装Keil工具。

硬件设置

配置DS8007评估套件电路板时,需要正确设置跳线,将串口和计算机相连,并连接电源。下面详细说明这些步骤。

  1. 按照 图2 ,连接跳接器1到13,其详细说明在表1中。

  2. 将所提供的串行电缆的一端连接至电路板DB-9连接器(J6),另一端连接至计算机的COM口。

  3. 将评估套件中的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®工程文件,以建立正确的可装载文件,然后将其下载到电路板的非易失存储器中。

建立µVision工程

在计算机上安装了Keil C51开发工具后,单击生成的图标,启动µVision程序。我们将按照以下步骤为演示程序建立一个工程文件和C程序文件:

  1. 在工程标题栏,选择"New Project",输入DS8007-1作为工程名。
  2. 当出现了"Select Device for Target"时,从器件选择列表中选择Dallas Semiconductor和DS5002FP。
  3. 当"Copy Standard 8051 Startup Code to Project Folder and Add File to Project"消息出现时,单击"Yes"按钮。
  4. 单击"File",然后是"New",输入以下信息,建立源文件。如果您更愿意下载该文件,则可以下载(ZIP, 11kB)。
    // 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.
    }
    
  5. 输入这些文本后,单击"File",然后是"Save As",输入"DS8007-1.c"作为文件名,保存该文件。
  6. 右键单击工程工作空间窗口中的Target 1,将该文件加到工程列表中,然后单击"Manage Components"选项。在Project Components标签下,单击"Add Files"按钮,在文件名区输入文件名(DS8007-1.c)。单击"Add"按钮,然后单击"Close"按钮。单击"OK"按钮,关闭Components窗口。您会看到该文件已经被加入到Source Group 1中。
  7. 右键单击工程工作空间中的Target 1,选择"Options for Target 'Target 1",配置工程选项。单击Target标签,在Xtal框中输入14.7。如下面的图3所示,Memory Model选择"Small: variables in DATA",Code ROM Size选择"Large: 64K program",Operating system选择"None"。该窗口中的所有其他选项不进行设置,为默认状态。
  8. 在Output标签中,选中"Create Executable" (如果还没有选它),确定选中了"Create HEX File"框。从下拉选择框中选择HEX Format of HEX-80,如图4所示。该窗口中的所有其他选项都应保持默认状态。单击"OK",关闭'Target 1'窗口的Options for Target。
  9. 单击"File",然后是"Save All",保存工程文件。
  10. 单击"Project"标题栏,选择"Rebuild All Target Files",建立可执行文件。屏幕底部的构建窗口应显示0 Error(s), 0 Warning(s)。如果没有这一显示,则应该找到错误,进行必要的改正。重复该步骤,直到不再报告错误为止。

微控制器

图3. 工程选项目标标签设置

!微控制器

图4. 工程选项输出标签设置

装载可执行文件

按照上述步骤对硬件进行配置后,DS8007电路板将连接到计算机的COM口。现在应对处理器进行配置,使其能够知道怎样访问板上存储器。向处理器的MCON和RPCTL寄存器写入对应的数值可完成该任务,按下面步骤进行。

  1. 在您的计算机上找到MTK程序,启动它。

  2. 在Select Device窗口中选择"DS5002FP" ( 图5 ),单击"OK"。

  3. 单击"Options",然后单击"Configure Serial Port"。选择DS8007电路板所要连接的计算机端口,例如COM1。然后,从下拉菜单中选择"Speed 38400",单击"OK"。

  4. 单击"Target",单击"Open COM1 at 38400 baud"。

  5. 确定电路板的串口已经和计算机建立了连接,并加载了5V电源。单击"Target"和"Connect to Loader"。如果连接成功,DS5002FP将显示其启动加载程序标志,如图6所示。

  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

通过显示一连串的圆点表示正在装载。

  1. 完成后,处理器将报告"Load complete",单击"Target",然后单击"Disconnect from Loader",执行程序。

执行装载程序后立即断开,处理器将开始运行程序。MTK屏幕显示程序输出 "Hello DS8007 World!",成功!

微控制器

图5. MTK器件选择微控制器

图6. DS5002FP启动加载程序标志

评估LCD模块

为演示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语言开发工具简化了智能卡应用程序的开发过程。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分