硬件部
DATA-F102是公司的一款蓝牙IC卡读卡器,常用于农业机井灌溉中用户IC卡的充值,查询卡余额发卡等功能,读卡器内部使用了FM1702sl这颗芯片。FM1702sl是复旦微电子股份有限公司设计的基于ISO14443标准的非接触卡读卡机专用芯片,只需最少量的外围线路,操作距离可达10cm,支持ISO14443 typeA协议,内部带有加密单元,支持SPI接口。
软件调试FM1702sl首先要配置CPU的SPI接口方向,为双向全双工;模式,主模式;数据大小,8bits;NSS为高时钟电平为高;SCK频率为107kHz。SPI接口配置正确后,复位并初始化FM1702sl芯片,设置中断,发射控制,内部编码,管脚TX1和TX2的配置,接收控制,内部解调器,Q时钟,接收器常开,EEPROM存入默认密码。发送地址,数据,接收数据,主要是对FM1702sl中的FIFO进行读写,对Command寄存器进行读写,以及对一些寄存器进行设置。测试这些寄存器通过之后,就是FM1702sl对卡片进行操作,1,寻卡;2,防冲突;3,选卡;这三步执行成功就会选定一张卡。在第2步中,会获得卡片的序列号,这个序列号是生产卡片时就确定的。
接下来就是读写卡操作,卡片上内建8K(bit) EEPROM存储容量并划分为16个扇区,每个扇区划分为4个数据存储块,每个扇区可由多种方式的密码管理。指定哪个存储块操作FM1702sl读写卡片,loadkeye验证,Authentication验证,通过后就可以把数据读出或写入,就完成了对卡片的读写卡操作。