物联网驱动编写之NFC/RFID的调试总结

AB卡调试过程以及总结

14443_A卡类型

Mifare系列卡片(NXP-恩智浦半导体生产的芯片

根据卡内使用芯片的不同

            分为Mifare UltraLight,又称为MF0;

            Mifare S50和S70,又称为MF1;

            Mifare Pro,又称为MF2;

            MifareDesfire,又称为MF3

14443_B卡调试步骤:

1.先调通A卡的使用:A卡的调试步骤

2.在A卡的基础上,修改初始化代码,初始化需要注意的要有如下修改;

(1)初始化

disable ASK为100%

TxmodeReg=3

RxmodeReg=0x0b

TypeReg=0

(2)载波调制调试:在载波调试的之前先大概微调试下信号的匹配电路


调试的原则:

1) LC的匹配,我调试主要先调试L2,L3,C25,C30.再调试2中电路,调的原则就是TP38的电压在15V以上;

调试的经验范围:P-P值为15~30v,我调到20V左右就好了;调好这个数值是通讯载波被调制的基础;

还有就是元器件的选择很重要,尤其是L2与L3,我之前在调试匹配电路的时候由于身边没有合适的元器件(封装很重要,我之前默认使用的是0603的2.2Uf一直不行,换了大封装的2.2uF就变好了) ,所以怎么调也调不到该电压值;还有C25与C30的数值可以试一试47P-82P之间的容值(47p,56p,68p常见);

2) 修改调试和没有调制的值,对应的天线不一样,值是不一样的。

用示波器观察波形,测试并计算出调制后是否是调制深度是否为8%~14%,

如下调试出来的一个波形180mv/(740+560) mv =13.8%,经验之谈在这个范围的距离会好一点;还有接受电路最好是5:1分压

主要修改初始化中:

GsnReg=0xf8

CwgsReg=0x3f

ModgspReg=0x05

如下一组调试数值:主要调试0X29的寄存器ModgspReg

           3)调试的正常通讯的时候在 REQB 的时候发送是 5个字节,3个字节的数据+2个字节的CRC校验,注意的是有些芯片需要加入CRC校验,有些不需要,之后的ATTRIB命令也是如此,详细命令值以及解释以在14443_3B的通讯协议做简述如下:

如:命令

Reader发出>> 05 00 00  71 FF

REQB命令:

0x50

+AFI(族和子族:00表示所有族的所有子族)

+时间槽(bit8-6=000,bit5=1表示PCD支持扩展ATQB,0表示不支持; bit4=1表示是WUPB命令,0表示REQB命令;bit3-1编码时间槽,取值2的n次方: 这里=0表示2的0次方 =1,PICC返回ATQB并进入Ready-Declared状态,若时间槽大于1则PICC随机产生一个小于等于命令中时间槽的数作为卡片时间槽 若随机产生的时间槽等于1,则PICC响应ATQB,并进入Ready-Declared状态 若随机产生的时间槽不等于1,则卡片不响应ATQB,PICC进入Ready-Requested状态,等待Slot-marker命令) +CRC_B<<50FFFFFFFF00000000 8081812C90 ATQB响应:0x50+PUPI(4字节,PICC唯一标识符,可固定,可随机生成——卡片上电进 入IDLE状态时生成,一次上电只生成一次) +应用数据(4字节,字节1=reqb命令中的AFI,字节2-3=应用AID的crc 结果,字节4的bit8-5表示符合AFI的应用个数。

猜你喜欢

转载自blog.csdn.net/xiaoxilang/article/details/80554661