1456|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

CPU卡的软件设计 [复制链接]

CPU卡在数据传输方式上与存储卡是不同的,它采用的是串行异步半双工方式,所以在对CPU卡进行读写设计时,首先应计算出在I/O线上数据的位宽,以保证通信的正确;其次,由于采用的是MSP430F系列单片机,它采用了DCO技术,其向系统提供的时钟频率是可调的,故应根据系统要求的时钟频率对基础时钟模块进行设置,以得到准确的时钟信号;在设计读写程序时,一定要按照ISO7816标准规定的流程进行编程,其编制成功的标志是能正确的接收复位信号,能发送命令,并根据每条命令的格式接收到正确的返回数据或状态标志。

I/O口线上所用的数据位宽度被确定为基本时间单位ETU(elementary time unit),计算公式为:ETU=372/f。

其中f为时钟频率,一般在1-5MHz之间选择,当时钟频率为3.75MHz时,传输的速率为9600波特率。

在实际单片机编程时,必须将ETU计算准确,否则将不能保证单片机与IC卡通讯的正确性和稳定性。

由于CPU卡是采用串行异步半双工方式和终端通信,由终端向CPU卡提供时钟信号,并以此来控制交易的时序,所以在程序设计前应先计算出准确的ETU(基本时间单位)。ETU即I/O口线上所用的数据位宽度,ETU的计算可采用延时子程序的方式,在C语言环境下,可以在模拟仿真环境下,观察延时子程序所用的时钟周期,从而得到精确的ETU。

系统时钟MCLK的设置终端和CPU卡的时钟都是由MCLK提供,MCLK的时钟源来自DCO(数字控制振荡器)。MSP430F系列单片机的DCO振荡器被集成在FLL+时钟模块中,它产生的时钟信号可作为MCLK或SMCLK。

CPU卡和终端的时钟信号是由MCLK提供的,外接晶体的频率为32.768KHz,MCLX的频率设置为2MHz,以充分利用MSP430和CPU卡的高速性能。

另外,要想使MCLK信号能够输出,还必须将PJ.1口设置为MCLK输出模式。这样CPU卡的CLK端才能得到正确的时钟信号。
字节接收程序设计





字节发送程序设计






 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表