有谁做过PN512读CPU卡 求帮助外国青年读懂中国

推广普及嵌入式系统、RFID技术欢迎交流合作mail:panchunwei@sdjzu.edu.cnQQ:
&&&&&& ISO/IEC
15693使用基于UID和时隙轮询的防冲突协议。读写器发出的防冲突命令(inventory)中包含一个由当前时隙(0位或4位二进制数)和部分低位UID组成的标识,如果标签的低位UID对应位的数据与此标识相同,就回送应答,否则不予响应。
读写器通过改变当前时隙和指定的部分UID来完成防碰撞功能。时隙数目可以是1或16。有效的低位UID通过掩码一个以字节为单位的被掩码数据获得。掩码是一个字节的长度值,掩码长度是被掩码数据中有效的低位UID的长度,当使用16时隙时,为0~60之间的值;当使用1时隙时,为0~64之间的任何值。如果被掩码数据的位长不是8的倍数,要在被掩码数据的高位补0,被掩码数据先发送最低有效位。
读写器发出inventory命令即启动第一个时隙,之后读写器通过发出一个EOF切换到下一个时隙。如果读写器未检测到VICC应答,读写器可以切换到下一个时隙;如果收到一个或多个应答,读写器应该接收完整个数据帧后再发出一个EOF切换到下一个时隙。
&&&&&& 假设有两个序列号长度为8位
ISO 18000-2:低于135KHz射频通信的空中接口参数。
ISO 18000-1:标准的参考架构与参数定义。
在RFID技术中,从低频的125KHz、134.2KHz到高频的13.56MHz,再到超高频和微波段的433MHZ、860-960MHz、2.45GHZ,研究标签向读写器回送数据的编码方式,我们会发现一个有趣的现象,那就是几乎各个频段的标签,如果防冲突机制使用的是二进制树形搜索算法,则标签向读写器发送数据都是用曼侧斯特码或FM0编码。究其原因,主要是因为曼侧斯特码与FM0编码本身具有天然的冲突识别特性。
曼侧斯特码在每一位数据的中心有一个跳变沿,其中上升沿表示0,下降沿表示1,当发送连续的0或连续的1时,在数据的开始处插入一个状态转换沿,如下图所示。
从进入天线射频场得电复位,到进入“准备”状态,这一段时间称为射频卡的复位时间。不同类型、不同生产厂家的射频卡产品复位时间不一,有时甚至差别巨大。设计射频读卡器产品时,一方面要克服射频卡复位时间不同所带来的消极影响,另一方面也可以利用这种复位时间的差别来实现期望的功能。
在射频卡读写器的设计中,读写器接收上位机命令,根据命令打开天线磁场对卡片进行指定的操作,操作完成后关闭射频场并将操作结果回送上位机。在未收到命令的时间里,为节能考虑,天线往往设置为都是关闭的,只在需要对卡片操作时才打开天线。这种情况下,一些读写器往往会出现对某些卡片读取距离很好,而对另一些卡片读写距离很短甚至出现无法读取的情况,其原因往往是软件设计中从打开射频场天线到开始对卡片操作之间的间隔时间太短。因为不同厂家的卡片复位时间不同,复位时间短的卡片可以正常操作,而复位时间长的卡片则还没有完成复位过程,读写器就已经对其发送命令了,卡片自然没有反应。卡片复位时间的长短也和天线磁场的场强有关,场强大则能量充足,卡片工作电压的建立时间就快,自然复位的也越快,反之从打开天线到复位准备
PN512是NXP推出的一款低功耗、支持多协议的13.56MHz射频接口芯片。在主动模式下,可以读写ISO/IEC
14443A/MIFARE、ISO/IEC
14443B和FeliCa卡。到底读写哪一种卡,主要决定于对PN512的寄存器设置。在本人开发的一款可读写上述三种卡片的读写器中,将PN512的寄存器设置值做成一个常量数组,其内容如下:
code unsigned char CardTypeSetReg[ ][5]={
{0x08,0,0x08,0x08,0x08},
{0x0C,1,0x10,0x10,0x10},
{0x11,2,0x38,0x39,0x3B},&
{0x12,2,0x92,0x00,0x83},
{0x13,2,0x92,0x00,0x83},
{0x14,2,0x83,0x83,0x83},
{0x15,2,0x00,0x40,0x00},
{0x16,2,0x10,0x10,0x10},
{0x17,2,0x84,0x86,0x86},
{0x18,2,0x55,0x84,0x44},
{0x19,2,0x41,0x4D,0x4D},
{0x1A,2,0x00,0x00,0x00},
{0x1D,2,0x11,0x10,0x10},
{0x1E,2,0x00,0x00,0x90},
{0x23,2,0x88,0x88,0x88},
{0x24,2,0x26,0x26,0x26},
{0x26,2,0x79,0x7F,0x79},
{0x27,2,0x88,0x88,0x88},
{0x28,2,0x30,0x20,0x20
TRF7960系列是TI推出的载波为13.56MHz、支持ISO15693、ISO14443A/B和FeliCa协议的射频接口芯片。许多人更关心它能不能读写MF1卡片,就我的理解及实际验证,由于MF1在卡选择之前的操作是遵守ISO14443A协议的,之后的卡验证和卡数据读写都是NXP自己的保密协议,所以TRF7960可以对MF1卡执行到卡选择操作,或者通俗的说可以读MF1的卡片序列号,但不能对MF1卡读写数据,除非开发者自己知道NXP的加密协议并自己编写代码实现该协议。
在TI官方公开的TRF7960说明书中,有详细的参考电路及基于MSP430单片机的参考代码,参考这些资料做自己的开发板或者产品板基本上难度不大。MCU可以使用并口或SPI串口操作TRF7960,并口相对简单一些,SPI通信则有一些问题需要特别注意。
首先,TI给出的SPI参考代码使用的是MSP430的内置SPI接口,我们实际开发中因为单片机内部资源或引脚分配限制往往需要软件模拟SPI通讯。TRF7960的SPI协议规定:
不通讯的时候,片选NSS保持高电平,时钟CLOCK保持低电平,通讯的时候NSS保持低电平。
主机向TRF7960写一位数据时,在CLOCK为低电平期间根据数据的值设置
电子门锁是现代星级酒店管理电子化、智能化的重要电子设备。相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表输出。
1 &系统整体分析
S50和S70卡是遵守ISO14443A国际标准的非接触式逻辑加密卡,S50卡内共有1024字节非易失性存储空间,分为16个扇区,每个扇区包含4个数据块,每个扇区都有一组独立的密码A和B,扇区内的每个数据块都可单独设置存取条件。S70存储结构与S50类似,存储空间为4096字节,分为40个扇区。
旅客入住酒店时,酒店前台将旅客的入住时间、退房时间、房间号等信息写入已授权卡片指定扇区的数据块。客人在选定的房间门锁前刷卡,门锁射频读卡模块使用定时红外线扫描,当探测到卡片后启动读卡程序,读出卡片的全球唯一序列号和卡内的旅客入住信息,并比对房间号和入住与退房时间,决定是否开门,并将事件记录在门锁的E2PROM中。
卡内使用一个字节作为卡类型标识,除了客人卡、还可识别管理卡、清洁卡、楼层卡、报警卡、时钟卡等不同功能的卡
ARM汇编中立即数的构成规则:必须是一个8位的二进制数,前面补上24位二进制0,扩展为32位;然后将这个32位的扩展数首尾相连循环偶数位得到。
给定一个立即数,判断其是否合法可以分三步:首先将给定的立即数写成32位二进制的形式;然后看能不能用一个8位的二进制数包括所有含1的部分,如不能则非法;最后看这个8位二进制数能不能循环右移偶数位得到给定的立即数,不能数则非法。举例如下:
0xff=00 :相当于8位二进制循环右移0位得到,合法;
0x104=01 :相当于8位二进制循环右移2位得到,合法;
0x101=01 :包含所有1的部分是,无法用一个8位二进制表示,非法;
智能卡按安全级别可以分为三类:存储器卡、逻辑加密卡和CPU卡,其中CPU卡是安全级别最高的。从“CPU”这个名字可以看出,CPU卡最大的特点就是卡片里面有一个'CPU',有了CPU我们就可以对卡片编程写入软件(COS,卡片操作系统),实现复杂的安全加密算法,所以CPU卡的安全性是最高的。与之形成对比的是,存储器卡和逻辑加密卡中没有'CPU',尽管在我们看来像MIFARE1卡看起来似乎也很智能,但M1卡里存在的仅仅是一个专用集成电路(ASIC),而不是CPU。
说到非接触式CPU卡,就不得不提接触式CPU卡,因为就CPU卡的灵魂——COS来说,二者遵循的协议基本是一样的,都是ISO7816-4,不同之处在于二者进入COS的方式和途径,在此以复旦微电的非接触式CPU卡FM1208M01为例,与接触式CPU卡进入COS的过程对比如下图所示。
(33)(8)(4)(13)(3)(3)(0)& 相关文章 &
PN512智能卡驱动移植过程
PN512智能卡驱动移植过程 目标板:AM3715 目标系统:linux-2.6.37-psp04.02.00.07
一、在Linux系统的drivers目录下新建module_picc目录,将驱动源码复制到module_picc目录下。
二、修改在drivers目录下的Kconfig文件,添加: source “drivers/module_picc/Kconfig”
三、修改在drivers目录下的Makefile文件,添加: obj-$(CONFIG_MODULE_PICC
嵌入式linux2.6平台搭建——bootloader、Linux内核、根文件系统、开源工程
驱动移植 Linux2.6.34下 USB驱动(U盘\USB鼠标、键盘) Linux 2.6.34下LCD驱动移植 Linux2.6.34开机启动图片修改 Linux下LCD 10分钟自动关屏的问题 UDA1341声卡驱动 Linux下SD卡驱动移植 Linux下USB从(USB gadget) 驱动配置与使用 Linux下S3C2440 RTC实时时钟驱动配置与修改 S3C2440 UART2被配置为CTS问题解决 根文件系统制作 使用busybox制作Linux根文件系统 nfs服务器配置过程
ARM-Linux移植攻略
) Partially written block *** detected解决方案 ARM-Linux移植攻略--yaffs2 Partially written block xxx detected 问题解决 ARM-Linux自动创建设备结点 ARM-Linux触摸屏驱动移植--问题总结 ARM-Linux驱动移植--RTC(实时时钟)移植 ARM-Linux驱动移植--Watch Dog Timer(看门狗)驱动移植 FL2440开发板U盘挂载 linux-2.6.35.3内核移植(s3c2440) linux内核移植-移植2.6.35.4内核到s3c2440 ARM-Linux驱动移植--DM9000网卡驱动移植 ARM-Linux驱动移植--Linux下烧写工具DNW和USB驱动安装
FireFox 中添加智能卡驱动支持.
在 SSL 客户端双向加密中, 对于保存在智能卡中的数字证书,需要客户端使用证书提供的PKI驱动. 在早期的浏览器支持得不是很好. Chrome 浏览器也在后期中添加了自动支持, 而 Firefox 浏览器 则需要在浏览器中加载智能卡驱动支持. 注意: 下一步的"模块名称" 最好不要填写非英文. 各个智能卡驱动的DLL文件名 可以咨询智能卡生产厂商相关技术支持.. 图例为 X天诚信的 Epass3000 的驱动..
华清远见嵌入式Linux驱动开发培训班
嵌入式linux驱动培训是华清远见的金牌课程,本课程融合了讲师多年的项目开发经验,这些经验无疑是学员短期内提升驱动开发水平最有效的捷径。
驱动程序开发是嵌入式Linux项目中工作量最大的一部分内容,开发出高质量的驱动程序是项目成功的关键。随着产品上市周期的缩短,市场对于驱动程序开发 人员的要求也在日益增加。 本课程旨在培养具备开发Linux下驱动程序的人才,采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。通过本
工具链制作的补充说明
gtk的交叉编译环境搭建 uda1341声卡驱动的移植步骤
ARM Cross Compiler Toolchain 4.6.0 嵌入式Linux系统概述
构建交叉编译工具链
bootloader概述
以s3c2440为背景深入剖析U-Boot
Linux内核简介 移植、裁减及配置Linux内核到s3c2440开发板
内核Kconfig与Makefile文件分析
ARM平台 Android 移植与驱动核心开发 Android嵌入式智能操作系统是基于Linux内核和驱动的,对于 HTC、华为等公司开发Android操作系统时,需要专门将Android移植到特定硬件平台下,同时将必要的驱动进行编写及开发。本课程旨在让学员成为Android的核心层开发者,让学员在这种嵌入式设备厂商中谋得核心开发人员的职位。 ◆1. Android系统体系及移植相关工具
1.1 Android操作系统体系结构介绍
Android Linux内核移植介绍
AT91SAM9260上的linux CAN即MCP2515驱动移植
由于项目需要用到CAN总线,因此,在AT91SAM9260平台linux上移植了CAN驱动。CAN控制器选用SPI接口通讯的MCP2515。
【移植准备】 由于在此之前对CAN总线缺少了解,因此,看了一遍《CAN协议中文版.pdf》CAN2.0B协议部分,至少对CAN2.0B协议有了初步的了解。接下来就是详细阅读MCP2515数据手册了(网上下载的中文资料)。
【MCP2515驱动移植】
华清远见嵌入式Linux系统开发班
4.3 动手修改Linux内核源代码
4.4 分析编译过程错误和宏定义的关系
4.5 Linux启动过程源代码分析
4.6 2.6内核平台设备结构介绍 13:30 | 16:30 【实验】
(1) 配置编译高版本的Linux内核
(2) 移植高版本(linux-2.6.26)内核支持FS2410板
● 网卡驱动移植
● mtd支持及flash分区方法
linux移植系列重要参考
博主主页:http://singleboy.blog.163.com/blog/#m=0 u-boot-2009.08在mini2440上的移植 系列 http://singleboy.blog.163.com/blog/#m=0&t=1&c=fks_095071 U-Boot编译过程分析 Boot Loader启动过程分析 U-Boot启动过程分析(一) U-Boot启动过程分析(二
《Linux设备驱动开发详解(第2版)》前言
NAPI的接口等,并对delayed_work等较新的内核机制进行了介绍; 4.删除了大量过时的内容,如redhat Linux 2.4内核更新到2.6、传统的按键驱动、SAA7113H启动、传统的IDE驱动等,同时新增了大量内容,包括Linux内核的编码风格、Linux内核的移植、Android驱动、USB UDC和gadget驱动、ALSA SoC驱动、input驱动、SPI驱动、基于sysfs的设备驱动、Linux设备驱动的固件加载、Linux性能调优工具、Linux设备驱动的电源管理
《Linux设备驱动开发详解(第2版)》隆重出版
/o映射以及异步通知、阻塞i/o、非阻塞i/o等linux 设备驱动理论;字符设备、块设备、tty设备、i2c设备、lcd设备、音频设备、usb设备、网络设备、pci设备等linux设备驱动的架构和框架中 各个复杂数据架构和函数的关系,并讲解了linux驱动开发的大量实例,使读者能够独立开发各类linux设备驱动。 本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大linux开发人员、嵌入式工程师参考使用。 目录 第1篇 linux设备驱动入门 第1章 linux设备驱动概述及开发环境构建
Linux USB无线网卡驱动相关资料收集
Linux下USB无线网卡驱动程序移植的实现 http://www.docin.com/p-.html linux下安装USB无线网卡驱动 http://wenku.baidu.com/view/fac9bb6daa2e2.html linux下安装USB无线网卡驱动 http://download.csdn.net/detail/xin USB无线网卡驱动安装问题 http://bbs.chinaunix.net/thread--1.html
嵌入式Linux的学习大纲
第四篇 Linux的内核移植 4.1 配置编译Linux内核 4.1.1 Linux内核源代码结构 4.1.2 Linux内核编译选项解析 4.1.3
Linux内核编译链接 4.2
Linux启动过程源代码分析 4.3
Linux内核移植平台相关代码分析 第五篇 Linux的驱动编程 5.1 Linux的设备管理 5.2 Linux的驱动程序结构 5.3 简单的字符设备驱动程序 5.4 Linux内核模块的加载卸载 5.5 Linux的打印调试方法 5.6 字符设备的高级属性-中断 5.6
Linux设备驱动之HID驱动
Linux设备驱动之HID驱动
PCSC-LITE使用及移植总结
PS:随便学习,随便转载~闻道有先后,术业有专攻
!瞧不起这篇博主:http://blog.csdn.net/wenjunfen/article/details/5025861?reload感觉此人太坐坐了~。
PCSC-Lite应该是Personal Computer/Smart Card lite的缩写。 PCSC-Lite 以后简称PCSC是为智能卡提供驱动和开发的linxu精简版。本文主要总结工作中Linux下使用并移植PCSC的过程和遇到的问题,仅供后来者参考讨论
内核移植(包括LCD液晶屏、OTG-usb)
______________________________________ (一)内核编译成映像文件 ———————————————————————— 1.出现错误,是关于Pci的不能编译通过。可以make menuconfig-&drivers-&去掉pci驱动选项 2. —————————— (二)Lcd驱动移植 —————————— 1.静态加载LCD驱动
  将写好的lcd驱动程序lcd.c放到arm/linux/drivers/char目录下,修改arm/linux
ARM及嵌入式linux培训视频
多线程程序设计 5.Linux设备驱动: uClinux内核模块及设备驱动程序开发 介绍linux驱动程序分类和各自操作系统上下层接口 驱动开发实例:蜂鸣器驱动、按键驱动开发、串口驱动、触摸屏驱动、网络驱动开发、USB驱动、液晶屏 驱动等。 ARMlinux移植过程。 引导程序Uboot移植。 最小系统启动开发过程。 嵌入式文件系统移植:ramdisk、JFFS2、yaff 6.综合试验: 实现网络文件传输服务程序; 构建嵌入式WEB服务器; 移植mediaplay播放器 开发嵌入式视频服务器,基于H.264协议 课程目录详情见下图: 需要的联系QQ: QQ空间中有资料的详细介绍!
目前处于搭建平台阶段。现已完成homer2410的u-boot移植(nand flash启动),yaffs2文件系统,2.6.24.4内核移植,LCD驱动移植,RTC移植,USB移植,CS8900移植,进度还算顺利。
下个星期进行SD/MMC卡移植,MiniGUI移植。不过,公司项目高温实验也差不多了。估计还要进入软件完善阶段了。也许要分出时间来忙了。
电源参数)开发,是基于linux系统ARM-S3C2410平台。新产品,已经做好内核移植,bootloader(u-boot-1.1.3)移植,NFS移植,cramfs和YAFFS2文件系统移植,boa网页服务移植,mplayer移植,驱动编写(键盘驱动,LED驱动,USB驱动,串口驱动,声卡驱动,蜂鸣器驱动),也已经做好了应用层程序:键盘扫描,串口和下位机通讯,linux定时器等(用C++语言编写的)。现在在学习linux网页程序设计(基于boa服务)。在工作中也碰到很多不懂和疑惑的地方,大部分都能独立解决了,但还有很多等待解决。很希望能得到linux高手们的指点。加油呀!自己。
无意间拍了张工作台的照片,我正在调试的S3C2410开发板及产品,留做纪念吧!
& 2012 - 2016 & aiuxian.com &All Rights Reserved. &
/*爱悠闲图+*/
var cpro_id = "u1888441";谁会用MFRC531之类的芯片 读ISO14443B卡啊?_百度知道
谁会用MFRC531之类的芯片 读ISO14443B卡啊?
谁会用MFRC531之类的芯片 读ISO14443B卡啊?
我有更好的答案
ISO15693)以上的这些芯片是比较常用的,如果带NFC功能的话,立马休眠,再寻下一个,直到寻完所有在天线区域的标签,632(支持ISO1(支持ISO14443A),531(支持ISO14443A,ISO14443B)高频RFID读卡器的读卡芯片有RC400(支持ISO15693),还有PN512等;关于您提到的读多标签,目前我们金木雨公司的高频IC卡读写器,支持读多个标签,但是基本上是寻到一个,ISO14443B
我用531读写a卡没问题。但是我用531去读身份证,连卡都寻不到。寻卡的前一步是寄存器的设置。在设置这一部分需要注意什么呢。
采纳率:94%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。IC卡基础知识_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
IC卡基础知识
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
还剩41页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 帮助你的孩子爱上阅读 的文章

 

随机推荐