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为低电平期间根据数据的值设置mosi数据线,然后clock上升沿通知trf7960可以接收数据,clock下降沿后继续准备下一位要发送的数据,代码如下:
for(j=8;j >0;j--) { if(((*pbuf)&0x80)==0x80)trf796x_mosi_high; else trf796x_mosi_low; trf796x_sck_high; (*pbuf) < 0;j--) { trf796x_sck_high; _nop();_nop(); trf796x_sck_low; (*pbuf) < 0;j--) { if(((*pbuf)&0x80)==0x80)trf796x_mosi_high; else trf796x_mosi_low; trf796x_sck_high; (*pbuf) < <= 1; trf796x_sck_low; } _nop(); _nop(); trf796x_sck_high; _nop(); _nop(); slave_select_high; _nop(); _nop(); trf796x_sck_low;
最后,trf7960向磁场中的卡片发送数据后,等待卡片回应,是否收到卡片回送的数据及是否反应超时等命令的执行情况都是通过中断机制来表示的。在nxp的射频芯片中,可以不使用芯片的中断引脚irq而是直接查询射频芯片的中断标志寄存器来获得各种事件发生的情况,但在trf7960中不能使用这种方式,因为读一次trf7960的中断标志寄存器将会把寄存器中的中断标志清除,所以电路中通常要使用irq引脚,可以用irq引脚使能mcu中断或直接查询irq引脚,从而得知trf7960内部发生了中断事件,进而用spi读取其中断标志寄存器获取详细的中断事件产生情况。
吉时利推出半导体测试软件升级版KTE 5.3
大联大诠鼎集团推出基于NOVATEK产品的安防监控解决方案
中国移动推动CHBN四大市场全向发力,持续深化价值经营
如何使用springboot+vue搭建个人网站3
鸿蒙系统2.0 带来的改变,将从物联网产业开始布局
射频识别技术漫谈(29)——射频接口芯片TRF7960
疫情催生远程办公热潮 网络安全威胁或将激增
继电维护设备的原理图
验证电阻网络的分压和分流特性实验方案
新处理器力撑ADAS 德州仪器发动智能驾驶攻势
告诉你为什么无线充电在2014年流行
光纤激光打标机助力摄像头外壳二维码激光标识实现自动化生产
关于相机防水透声组件在喇叭MIC上的应用
清洁机器人是怎样工作的
盛世龙图EMID-EU7防盗门RFID系统
角位变送器在水泥厂中的应用
STM32处理器存储空间布局结构说明
首款元宇宙手机原来是这样
VIAVI Solutions公司近日推出一系列产品和服务
如何选择适合的视频会议网络线路