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

时间:2023-07-21


摘要:大唐微电子技术有限公司8K智能CPU卡的基本硬件结构、应用开发方法,介绍了一种作为电信智能卡接受ME命令的散转接口应用程序设计技巧,节约了程序空间。

关键词:智能CPU卡 芯片操作系统 程序设计

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

1 DTT4C08芯片简介

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

其管脚定义和布局。

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 芯片操作系统软件调试环境

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

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

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

其中CLA是命令类别,取值为“A0”,当CLA=FF时,为PTS过程的头标;INS为指令代码,用来区分别不同的命令。ME通过I/O双向数据线按顺序将命令数据串行发送给卡,卡将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芯片的智能卡可进行拓展功能的应用开发,在金融、医疗、保险、出入口控制、各种预付费场合有广泛的应用领域和推广价值。

上一篇:二维条码PDF417译码技术
下一篇:一种新型密钥管理系统的设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料