CPU卡在数据传输方式上与存储卡是不同的,它采用的是串行异步半双工方式,所以在对CPU卡进行读写设计时,首先应计算出在I/O线上数据的位宽,以保证通信的正确;其次,由于采用的是MSP430F系列单片机,它采用了DCO技术,其向系统提供的时钟频率是可调的,故应根据系统要求的时钟频率对基础时钟模块进行设置,以得到准确的时钟信号;在设计读写程序时,一定要按照ISO7816标准规定的流程进行编程,其编制成功的标志是能正确的接收复位信号,能发送命令,并根据每条命令的格式接收到正确的返回数据或状态标志。
I/O口线上所用的数据位宽度被确定为基本时间单位ETU(elementary time unit),计算公式为:ETU=372/f。其中f为时钟频率,一般在1-5MHz之间选择,当时钟频率为3.75MHz时,传输的速率为9600波特率。在实际单片机编程时,必须将ETU计算准确,否则将不能保证单片机与IC卡通讯的正确性和稳定性。