8K智能卡DTT4C08及其应用程序设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

8K智能卡DTT4C08及其应用程序设计

来源:中国一卡通网  作者:  发布时间:2006-12-29 16:40:59  字体:[ ]

关键字:智能卡  DTT4C08  数据存储器  

摘   要:DTT4C08是具有低功耗、高性能、可反复擦写的FLASH程序存储器和8KEEPROM数据存储器的8位8K智能CPU卡芯片,采用自上而下(Top-Down)设计方法设计实现。

DTT4C08是具有低功耗、高性能、可反复擦写的FLASH程序存储器和8KEEPROM数据存储器的8位8K智能CPU卡芯片,采用自上而下(Top-Down)设计方法设计实现。

1 DTT4C08芯片简介

1.1 DTT4C08管脚定义(模块状态)

其管脚定义和布局如图1所示。

1.2 基本硬件结构

中央处理CPU、16K字节程序存储器FLASH、256字节数据存储顺SRAM、可电擦写的8K数据存储器EEPROM。DTT4C08芯片利用FLASH工艺技术,制作成编程速率快、擦写时间短、面积小的FLASH存储器,并具备了相应的控制、接口和防攻击电路,具有更安全、更开放、更灵活的特点;DTT4C08芯片CPU指令集与MCS-51完全兼容。

    1.3 DTT4C08芯片其它说明

(1)8K字节的EEPROM数据存储器支持页操作和字节操作;

(2)256字节的内部SRAM单元,支持位寻址;

(3)带时钟频率检测器。当外部时钟停止时,置片上FLASH于stand by状态,EEPROM、SRAM停止工作,以减少功耗。

2 基于DTT4C08的智能卡应用开发方法

2.1 芯片操作系统软件设计方法

下面以电信智能卡操作系统(COS)开发流程为例简要说明基于DTT4C08软件的应用开发。应用外接设备执行操作,卡片上电后,首先进行参数初始化,向移动终端发送ATR,卡与移动终端ME进行传输协议商定,然后开始接收命令数据并进行数据分析,根据分析结果散转到相应命令子程序入口并执行命令,命令结束后卡发给移动终端响应。一条指令执行流程结束,卡重新开始接收数据,执行下一条指令。

电信智能卡COS主控程序流程图如图2所示。

2.2 芯片操作系统软件调试环境

芯片操作系统编码完成后可利用大唐微电子推荐的“集成调试环境+读写器模拟器”软件仿真系统进行软件仿真测试。该仿真系统涵盖了智能卡应用开发对仿真器的仿真需求,能够模拟条例ISO7816标准的I/O输入输出,超出了通常意义上的软件仿真。整个芯片操作系统经过仿真之后就可以下载程序列卡上,由真实的“卡”作为“调试载体”,使得开发过程与实际应用环境完全一致。

图3是通过一台微机实现DTT4C08芯片的仿真调试。

3 一种散转接口应用程序设计方法

卡(DTT4C08芯片)接收ME的命令数据要进行数据分析,根据分析结果散转到相应命令子程序入口并执行命令。命令数据即应用协议数据单元(APDU)的信息结构如图4所示。

其中CLA是命令类别,取值为“A0”,当CLA=FF时,为PTS过程的头标;INS为指令代码,用来区分别不同的命令。ME通过I/O双向数据线按图4顺序将命令数据串行发送给卡,卡将CLA、INS、P1、P2和P3分别暂存于R3、R4、R5、R6和R7,将数据体暂存于RAM的指定连续单元。最简单的命令散转判断程序如下:

CJNE R4,#0A4H,NEXT_INS01 ;通过INS判断具体命令

LJMP SELECT ;转向SELECT指令处理程序

NEXT_INS01:CJNE R4,#0F2H,NEXT_INS02

LJMP STATUS ;转向STATUS指令处理程序

NEXT_INS02:CJNE R4,#0B0H,NEXT_INS03

LJMP READ_DINARY ;转向READ_BINARY 指令处理程序

NEXT_INS03: ……

NEXT_INS34:CJNE R4,#14H,NEXT_INS22

LJMP TERMINAL_RESPONSE

;转向TERMINAL_RESPONSE指令处理程序

NEXT_INS35:出错处理

除标准GSM命令外,加上SIM卡发行、调试等附加命令的散转处理,卡至少需处理35条指令(210字节),占用了较多的程序空间。本文利用堆栈和子程序返回指令,通过查表判断散转入口的设计技巧,巧妙地获得指令处理入口地址,散转程序只需要131字节,大大节省了程序空间。需要处理的命令越多,节省的程序空间越多。

    MOV R2,#(Command_INS_END-Command_INS)/3 命令个数

MOV DPTR,#Command_INS ;INS 命令表起始地址

Command_INS_LOOP:CLR A

MOVC A,@A+DPTR

XRL A,R4

JZ find_INS_in_table ;A=R4,找到相应命令

INC DPTR

INC DPTR

INC DPTR

;没找到,指向下一命令信息地址

DJNZ R2,Command_INS_LOOP

;查找下一个出错处理

find_INS_in_table:

MOV A,#02H

MOVC A,@A+DPTR

PUSH ACC

;相应命令处理程序入口低地址入栈

MOV A,#01H

MOVC A,@A+DPTR

PUSH ACC

;相应命令处理程序入口高地址入栈

RET ;借用RET指令将堆栈中的数据弹出给PC地址指针,转向相应命令处理程序入口

Command_INS:DB 0A4H

DW SELECT ;SELECT命令

DB 0F2H

DW STATUS ;STATUS命令

DB 0B0H

DW READ_BINARY

;READ_BINARY命令

……

DB 14H

DW TERMINAL_RESPONSE

;TERMINAL_RESPONSE命令

Command_INS_END: ;35个命令

4 结束语

采用DTT4C08芯片的智能卡可进行拓展功能的应用开发,在金融、医疗、保险、出入口控制、各种预付费场合有广泛的应用领域和推广价值。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖