DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1941|回复: 1
打印 上一主题 下一主题

[待整理] 8K智能卡DTT4C08及其应用程序设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 10:42:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
8K智能卡DTT4C08及其应用程序设计

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芯片的智能卡可进行拓展功能的应用开发,在金融、医疗、保险、出入口控制、各种预付费场合有广泛的应用领域和推广价值。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-26 13:11 , 耗时 0.085021 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表