本帖最后由 946098169 于 2016-3-15 18:39 编辑
刷卡器大家在日常生活中都会较多的接触,近期有时间做了一个能实现简单功能的产品和大家共享一下,附件有主要部分的代码。
USB刷卡器的主要组成部分包括USB电路、微控制器和编解码芯片。CH558采用增强型E8051内核,主频高达56MHZ,片上RAM大小为4K,FLASH大小为32K,内置了8路11位ADC 模数转换器(转换速率高达1MSPS)、4 组定时器和PWM、双异步串口、RS485、SPI和USB设备控制器等功能模块,可直接与电脑USB连接,并且CH558体积比较小(7mm*7mm),使读卡器能够做的非常小巧轻便,方便携带。
刷卡器硬件设计: 单片机采用8位增强型USB单片机CH558L,刷卡芯片采用恩智浦的RC522。(原理图可参考CH558和RC522官方原理图)
刷卡器软件设计 刷卡器的软件设计主要是实现PC如何通过USB接口向IC卡写入和读取数据,程序采用基于Keil C51的C语言编写,可分成多个模块使用模块化子程序设计。主程序流程如下: (1)初始化。系统启动时对MCU和编解码芯片以及各种接口的初始化,设置USB口工作模式,然后进入系统等待状态。这里需要注意的是读写卡芯片的初始化,复位后,一般先关闭天线再打开,然后设置模式。 (2)寻卡,普通非接触式读卡器寻卡距离在10cm以内,找到卡返回2字节卡类型; (3)防冲突,返回4个字节卡唯一序列号加4字节序列号异或校验值; (4)选卡,返回1字节卡容量码; (5)验证秘钥; (6)前四步都过了以后才能按块号对IC卡进行读写操作。 (7)通过USB口把数据传给上位机,一般模拟成HID设备,免驱。
USB设计 刷卡器的USB接口主要用来和上位机(一般为PC)做实时数据通讯,根据不同的应用场景和客户需求大致有以下三种USB类型: (1)USB虚拟串口模式 此模式的优势是可以兼容到厂商原来使用串口通讯的上位机软件,无需重新开发上位机程序,劣势是需要安装虚拟串口驱动。 (2)模拟USB键盘模式 此模式可将刷卡器识别到的卡信息直接上传至电脑上鼠标的光标处,电脑识别到的刷卡器为HID键盘设备,无需安装软件和驱动。 (3)HID类设备模式 此模式上位机无需安装驱动即可使用上位机软件与USB刷卡器通讯。
|