发新帖本帖赏金 15.00元(功能说明)我要提问
12下一页
返回列表
打印

基于USB单片机CH558的刷卡器应用(附件贴源码)

[复制链接]
5771|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
946098169|  楼主 | 2016-3-15 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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类型:
   (1USB虚拟串口模式
          此模式的优势是可以兼容到厂商原来使用串口通讯的上位机软件,无需重新开发上位机程序,劣势是需要安装虚拟串口驱动。
   (2)模拟USB键盘模式
         此模式可将刷卡器识别到的卡信息直接上传至电脑上鼠标的光标处,电脑识别到的刷卡器为HID键盘设备,无需安装软件和驱动。
   (3HID类设备模式
         此模式上位机无需安装驱动即可使用上位机软件与USB刷卡器通讯。
   主程序源码: USB_SKQ.rar (9.8 KB)


打赏榜单

21ic小喇叭 打赏了 5.00 元 2016-03-25

相关帖子

沙发
zwwoshi| | 2016-3-15 18:46 | 只看该作者
谢谢分享

使用特权

评论回复
板凳
946098169|  楼主 | 2016-3-16 09:30 | 只看该作者

:handshake

使用特权

评论回复
地板
骑猪看夕阳| | 2016-3-17 09:49 | 只看该作者
[em:yct21:射频芯片复旦微的好像用的比较多

使用特权

评论回复
5
huangqi412| | 2016-3-18 11:28 | 只看该作者
这单片机多少钱

使用特权

评论回复
6
奥卡姆剃刀| | 2016-3-18 14:29 | 只看该作者
顶一个!

使用特权

评论回复
7
946098169|  楼主 | 2016-3-21 09:42 | 只看该作者

4块多

使用特权

评论回复
8
huangqi412| | 2016-3-21 11:50 | 只看该作者

也不便宜哈

使用特权

评论回复
9
946098169|  楼主 | 2016-3-21 16:59 | 只看该作者

:lol还好,STC没有USB的差不多资源也要4块多

使用特权

评论回复
10
mega1702| | 2016-3-28 10:45 | 只看该作者
谢谢分享!!!

使用特权

评论回复
11
946098169|  楼主 | 2016-3-28 15:57 | 只看该作者

不客气

使用特权

评论回复
12
nanyuanqi| | 2016-3-29 16:47 | 只看该作者
看看是什么东东

使用特权

评论回复
13
smhui| | 2016-4-1 11:07 | 只看该作者
学习了!

使用特权

评论回复
14
946098169|  楼主 | 2016-4-5 09:04 | 只看该作者

使用特权

评论回复

打赏榜单

WCHCN 打赏了 10.00 元 2017-05-17
理由:应用很实际

15
骑猪看夕阳| | 2016-4-18 14:32 | 只看该作者
学习了,做USB应用比较合适,不知道能不能当虚拟串口用

使用特权

评论回复
16
554867362| | 2016-4-18 14:58 | 只看该作者
牛啊,膜拜

使用特权

评论回复
17
WCHCN| | 2016-4-22 15:54 | 只看该作者

使用特权

评论回复
18
WCHCN| | 2016-5-5 09:19 | 只看该作者
骑猪看夕阳 发表于 2016-4-18 14:32
学习了,做USB应用比较合适,不知道能不能当虚拟串口用

做CDC的程序就可以做成虚拟串口用,并且可以直接使用市面上的虚拟串口驱动

使用特权

评论回复
19
骑猪看夕阳| | 2016-6-28 09:21 | 只看该作者
好东西

使用特权

评论回复
20
WCHCN| | 2017-5-17 13:44 | 只看该作者
CH55X单片机最典型的应用,CH55X位8位增强型USB、触摸按键单片机系列,最适合USB周边小产品开发,全系最具性价比单片机售价才1元出头。

使用特权

评论回复
发新帖 本帖赏金 15.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

102

帖子

1

粉丝