项目名称:二合一阅读器
功能要求:
1、能够对身份证ID读取和身份证里面具体信息(姓名,性别,地主,图片,指纹)进行读取
2、能够普通IC、CPU卡进行操作(这里不对它进行讲解)
硬件平台:STM32 THM3070 公安部模块(SAM模块,对身份证里面信息进行编码和解码用的)
编译软件:keil5
下载工具:ST_LINK V2
下载软件:STM32 ST-LINK Utility
工作原理:上位机软件调用公安部SDK,发送SAM模块对应协议命令(寻找身份证,选择身份证,读取身份证),STM32接收到命令通过串口直接转发给SAM模块,然后SAM收到命令之后进行编码,STM32通过检测TX_FRAME引脚为高电平时,说明SAM模块编码完毕,然后STM32通过IIC(模拟或者硬件自带IIC引脚),连接到SAM模块的SDATA和SCLK引脚,通过IIC协议把编码后数据取出来,再把这些数据通过THM3070射频芯片发送给身份证,身份证接收数据,处理完后应答数据,STM32通过射频芯片可以把应答数据接收出来,接收出来数据,这时STM32把RX_FRAM引脚设置高电平,通过IIC接口把应答数据发送SAM模块,当SAM模块解码完毕时,通过串口发送给STM32,STM32接收串口数据直接转发给上位机软件,这个就是整个过程
测试出现问题:发现同时生成hex和bin程序,hex的程序功能正常,bin程序不正常,bin程序读取身份证信息时数据头都对,但是姓名,性别,地址,出生年月,指纹都不对,只有图片显示正确
参考资料:《GA 467 2013》 ---- 公安部 编著