



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种简便的ID卡曼彻斯特解码方法我这里介绍的是常用的125KHz的ID卡。ID卡内固化了64位数据,由5个区组成:9个引导位、10个行偶校验位“POP9、4个列偶校验位“PC0PC3”、40个数据位“D00D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“”,当它输出数据时,首先输出9个引导位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。 “D00D13”是一个8位的晶体版本号或ID识别码。“D20D93”是8组32位的芯片信息,即卡号。注意校验位都是偶校验,网上有些资料写的是奇校验,很明显是错的,如果是奇校验的话,在一
2、个字节是FF的情况下,很容易就出现9个1,这样引导位就不是唯一的了,也就无法判断64位数据的起始位了。数据结构如下图:我读的一个ID卡数据是 10001 00101 00000 00011 00000 01010 00000 11011 00110 01100 01100,对应的ID卡号是01050d36。ID卡数据采用曼彻斯特编码,1对应着电平下跳,0对应着电平上跳。每一位数据的时间宽度都是一样的(1T)。由于电路参数的差别,时间宽度要实际测量。解码芯片采用U2270B,单片机采用89S52。U2270B的输出脚把解码得到的曼彻斯特码输出到89S52的INT脚。在89S52的外部中断程序中完
3、成解码。在没有ID卡在读卡器射频范围内时,U2270B的输出脚会有杂波输出,ID卡进入读卡器射频范围内后,会循环发送64位数据,直到ID卡离开读卡器的有效工作区域。根据ID卡的数据结构,64位数据的最后一位停止位是0。最开始的9位引导位是1,可以把做为引导码。也就是说在ID卡进入读卡器工作范围后,丢掉ID卡发送的第一个64位码,检测最后1位0,然后检测ID卡发送的第2个64位码的9个引导码,引导码检测成功后,解码剩余的55位码。得到ID卡的数据。然后丢掉ID卡发送的第3个64位码,检测第3个64位码的最后1位0,再检测ID卡发送的第4个64位码。这样连续3次检测到同一个码,就认为解码到了正确的
4、ID卡号。之所以要丢掉ID卡发送的第一个64位数据,是因为U2270B在没有ID卡刷卡时,也会输出波形到89S52的INT脚,这样将无法判断ID卡数据的头码。从第2个码开始解码能确保检测的头码正确。丢掉第3个码的原因是在检测第2个码时,最后一位停止位也被解码,那么就不能采用 来检测第3个码了,只能检测第3个码的最后1位0,再解码第4个码。下面详细介绍解码原理,程序中要用到的变量定义如下:Bit_over:为0,表示1位数据处理完,为1,表示当前处于数据位的跳变处。Head_start:检测到头码0时,把head_start置1,然后连续检测到8次下降沿时间间隔大于0.75T,小于1.25T,并
5、且 head_start为1,置位头码标志head_flag。Head_start的作用就是保证是连续检测到。Head_flag:头码标志,检测到后置1。Prev_bit:保存当前数据位的值,下一位数据的值要根据当前位的值来判断。Pulse_width:16 位数据,保存INT脚两次下降沿之间的时间间隔。Bit_cnt:检测完头码后,每次检测5位数据,也就是一行。Row:行数,不包括头码,总共11行,用来判断64位数据是否接收完。Buff11:缓冲区,用来保存接收的11行数据。每个数据只有低5位有效。Id_data11:保存缓冲区的11个数据,进行校验,得到ID卡号。头码检测外部中断设置成下降
6、沿中断,在外部中断函数中,用T1来计算两次下降沿的时间间隔。从上图可以看到,64位为0,1位为1,64到1两次下降沿之间的间隔大于0.75T,小于1.25T,认为检测到数据0-1的变化。这时置标志位head_start为1,然后连续检测到8次下降沿间隔时间大于 0.75T,小于1.25T,且head_start为1,认为检测到了,这时置头码标志head_flag,因为这时下降沿在数据 1的电平跳变处,数据1还没接收完,把bit_over置1,prev_bit置1。数据位检测分析曼彻斯特码,有以下5种情况,其它情况下是错误码。Bit_over = 1时,也就是进入下降沿中断时,上一位的数据没处理
7、完1、(两次下降沿时间间隔1T)Bit_over=1时,x=1T,bit_cnt+1,当前位为1,bit_over仍为1。2、(两次下降沿时间间隔1.5T)Bit_over=1时,x=1.5T,bit_cnt+1,当前位为0,bit_over变为0。3、(两次下降沿时间间隔2T)Bit_over =1时,x=2T,bit_cnt+2,一次接收2位数据,第1位数据与上一位值相反,第2位数据与上一位值相同,bit_over仍为1。Bit_over=0时,有2种情况4、(两次下降沿时间间隔1T)Bit_over = 0时,x = 1T,bit_cnt+1,当前位与上一位值相同,bit_over仍为0。5、(两次下降沿时间间隔1.5T)Bit_over=0时,x=1.5T,bit_cnt+2,一次接收2位数据,第1位值与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 偏瘫患者的早期康复课件
- 你我同心反诈同行课件
- 1.1细胞生活的环境 课件 高中生物选择性必修一
- 企业班组长安全培训课件
- 企业消防安全培训费用课件
- 网络企业公章管理办法
- 2025年儿科手术操作技巧模拟试卷答案及解析
- 出货检验流程简介
- 跨平台训练系统-洞察及研究
- 靶点筛选与验证-洞察及研究
- 中文版儿童睡眠习惯问卷(CSHQ)
- 8-30个月儿童汉语沟通能力评估量表PCDI(完整表)
- 2025年河北高考生物试卷真题答案详解及备考指导
- 律师事务所数据管理制度
- 2025年4月自考15044马克思主义基本原理概论试题及答案含解析
- 市场化运作路径-洞察及研究
- (2025)公共基础知识真题库和答案
- 电机学模拟习题(含答案解析)
- (高清版)DB13∕T 5360-2021 水利工程项目划分导则
- 美容院股权分配协议书
- 《电子商务基础(第二版)》课件 第二章 电子商务交易模式
评论
0/150
提交评论