【物联网无线通信技术】NFC从理论到实践(FM17XX)

这篇具有很好参考价值的文章主要介绍了【物联网无线通信技术】NFC从理论到实践(FM17XX)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NFC,全称是Near Field Communication,即“近场通信”,也叫“近距离无线通信”。NFC诞生于2004年,是基于RFID非接触式射频识别技术演变而来,由当时的龙头企业NXP(原飞利浦半导体)、诺基亚以及索尼联合发起。NFC采用13.56MHz频段,设计运行于20厘米距离之间,传输速度分为13.25KB/s、26.5KB/s、53KB/s三种。

NFC虽然具有只需要靠近就能快速完成配对和传输全过程的优势,但是所谓成也萧何败也萧何,其短距离才能建立连接,以及低带宽的特点在面对手机与其他电子设备无线连接需求时劣势尽显,再加上跟蓝牙相比,其需要单独的天线(蓝牙可以wifi公用),所以其在刚诞生之际鲜有移动设备搭载此项功能,倒是在门禁等安防系统中有所应用。后来随着移动支付的需求增加,NFC功能又迎来了新的机遇。

本篇文章从NFC的技术诞生背景将起,从最常见的应用入手,由上到下讲述了整个NFC技术从理论到实现的过程,NFC读卡器使用的是复旦微电子的FM17XX系列芯片,NFC卡片为M1。

目录

NFC技术概述

防止冲突机制 

卡片认证

实现原理 

嵌入式软件 

卡片触发

INITVAL VALUE

读卡

写卡 


NFC技术概述

在讲NFC之前,先讲讲它的前辈:RFID,其英文全称是radio-frequency identification,即射频识别技术。RFID系统使用标签(Tag)来识别物体。除了标签,RFID系统还有一个双向无线收发机,被称为读写器(Interrogator/Reader),向标签发送信号,并读取标签的反馈。RFID属于自动识别(AIDC:Automatic Identification and Data Capture)技术中的一种。这个识别过程如下:

  1. 首先,跟物品绑定的数据会预先通过读写器存储在RFID标签中。
  2. 当标签进入读写器扫描天线的范围内时,无源RFID标签的天线将接收到的电磁波能量转化成电能,激活RFID标签中的芯片,并将RFID芯片中的数据发送出来。
  3. 无线电波被读写器的天线接收,读写器将这些无线电波解码为数字信息。

【物联网无线通信技术】NFC从理论到实践(FM17XX),嵌入式网络通信技术,物联网,嵌入式开发,无线通信

NFC作为RFID技术的后辈,在设计之初旨在智能设备的近场双向通信,但是其诞生之后,应用最为广泛还是门禁的功能。

【物联网无线通信技术】NFC从理论到实践(FM17XX),嵌入式网络通信技术,物联网,嵌入式开发,无线通信

ISO14443协议是Contactless card standards(非接触式IC卡标准)协议,它定义了以下两个主体:

  • PICC:接近式卡 Proximity Card(PICC) (卡片)。
  • PCD : 接近式耦合设备 Proximity coupling device (PCD)(读卡器)

根据信号发送和接收方式的不同,ISO/IEC14443-3定义了TYPEA、TYPEB两种卡型。  以飞利浦,西门子公司为代表的TYPEA。 以摩托罗拉,意法半导体公司为代表的TYPEB。今天我们讲到的为M1卡,指的是菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,常用的有S50及S70两种型号,属于TYPEA类型。

读卡机我们文章涉及到的FM17XX系列芯片,可分别支持13.56MHz频率下的typeA、 typeB、15693三种非接触通信协议,支持MIFARE和SH标准的加密算法。

标准不仅定义了射频卡和读写器的物理特性,例如频率和天线设计,还描述了射频卡与读写器之间的初始化和防冲突机制以及数据传输协议和指令集。下图是文章涉及的读卡机与卡片的通信流程。

【物联网无线通信技术】NFC从理论到实践(FM17XX),嵌入式网络通信技术,物联网,嵌入式开发,无线通信


防止冲突机制 

读卡器正常情况下一个时间点只能对磁场中的一张卡进行读或写操作,但是实际应用中经常有当多张卡片同时进入读写器的射频场,读写器怎么处理呢?读写器需要选出特定的一张卡片进行读或写操作,这就是标签防碰撞。常见的防冲突机制主要有以下几种:

  • 面向比特的防冲突机制,ISO14443A(TYPEA)使用这种防冲突机制,其原理是基于卡片有一个全球唯一的序列号。比如Mifare1卡,每张卡片有一个全球唯一的32位二进制序列号。
  • 面向时隙的防冲突机制,ISO14443B(TYPEB)中使用这种防冲突机制。
  • 位和时隙相结合的防冲突机制,ISO15693中使用这种机制。一方面每张卡片有一个7字节的全球唯一序列号,另一方面读写器在防冲突的过程中也使用时隙叫号的方式,不过这里的号不是卡片随机选择的,而是卡片唯一序列号的一部分。

卡片认证

三重加密算法被用于执行标准认证。在密钥缓冲器中必须存储准确的密钥以便能够进行成功的认证操作。

  1. 通过LoadKeyE2或者LoadKey加载密钥到内部密钥缓冲器。
  2. 启动Authent1指令结束之后,检查错误标志来判断执行结果。
  3. 启动Authent2指令,结束之后,检查错误标志以及Crypto1On标志来判断执行结果。

实现原理 

使用任意型号的MCU(一般需要具有低功耗模式)作为微处理器(下图中的uProcessor),MCU与FM17XX系列芯片采用SPI接口进行通信,天线直接连接FM17XX,具体如下图。

【物联网无线通信技术】NFC从理论到实践(FM17XX),嵌入式网络通信技术,物联网,嵌入式开发,无线通信


嵌入式软件 

嵌入式软件从下到上主要分为以下三层:

  1. 常用/基本函数,包括卡片UID种类判断,FM17XX初始化,命令传输,向EEPROM以及FIFO读写数据等。
  2. FM17XX卡片操作基本函数,包括HALT,LOADKEY,REQUEST,ANTICOLLISION,SELECT,AUTHENTICATION,READ,WRITE,INCREMENT,DECREMENT,RESTORE,TRANSFER。
  3. 应用功能函数。

下面主要将应用功能的部分函数贴上来供各位深入理解读卡器对卡片的操作功能。


卡片触发

/*************************************
/*名称: HL Active
/*功能: 该函数实现高级 MIFARE 卡激活命今
/*输入: Secnr: 扇区号
/*      Block Adr: 块地址
/*输出:操作状态码
/*     读出数据存于 buffer 中
*************************************/
uchar HL_Active(uchar Block_Adr,uchar Mode)
{
    uchar temp;
    Secnr = Block_Adr/4;
    MIF_Halt();                        //Halt
    temp = Request(RF_CMD_REQUEST+STD);//Request
    if(temp != FM1715_OK)
    {
        return(FM1715_REQERR);
    }
    temp = AntiColl();                //AntiCol
    if(temp != FM1715_OK)
    {
        return(FM1715_ANTICOLLERR);
    }
    temp = Select_Card();             ///Select
    if(temp != FM1715_OK)
    {
        return(FM1715_SELERR);
    }
    Load_keyE2_CPY((Secnr%16),Wode);//LoadKey
    temp = Authentication(UID, Secnr, Mode);//Authentication
    if(temp != FM1715_OK)
    {
        return(FM1715 AUTHERR)
    }
    return FM1715_OK;
}

INITVAL VALUE

/**************************************
/*名称:MIF_Initival
/*功能: 该函数实现 MIFARE 卡初始化值操作
/*输入: buff: 四个字节初始化数值起始地加
/*      Block Adr: 块地址
/*输出: FM1715 NOTAGERR:无卡
/*      FM1715 BYTECOUNTERR: 接收字节错误
/*      FM1715 NOTAUTHERR: 未经权威认证
/*      FM1715 EMPTY:数据溢出错误
/*      FM1715 CRCERR: CRC 校验错
/*      FM1715 PARITYERR: 奇偶校验错
/*      FM1715 WRITEERR: 写卡块数据出错
/*      FM1715 0K: 应答正确
/**************************************
uchar MIF_Initival(uchar idata *buff,uchar Block_Adr)
{
    uchar idata temp;
    uchar i;
    for (i = 0; i < 4: i++)
    {
        *(buff + 4 + i)=~(*(buff + i));
    }    
    for (i = 0;i < 4: i++)
    {
        *(buff + 8 + i)=*(buff + i);
    }
    *(buff + 12) = Block Adr;
    *(buff + 13) =Block Adr;
    *(buff + 14) = Block Adr;
    *(buff + 15) =Block Adr;
    temp = MIF_Write(buff, Block_Adr);
    return temp;
}

读卡

/***************************
/*名称: HL Read
/*功能:该函数实现高级读命令
/*输入:Secnr: 扇区号
/*     Block Adr: 块地址
/*输出:操作状态码
/*读出数据存于 buffer 中
/***************************
uchar HL_Read(uchar idata *buff,uchar Block_Adr,uchar Mode)
{
    uchar temp;
    temp = HL Active(Block_Adr, Mode);
    if(temp != FM1715_OK)
    {
        return temp;
    }
    //Read
    temp = MIF_READ (buff,Block_Adr);
    if(temp != FM1715_OK)
    {
        return temp;
    }
    return FM1715_OK
}

写卡 

/*******************************
/*名称: HL Write
/*功能:该函数实现高级写命令
/*输入: buff: 待写入数据的首地址
/*      Secnr: 刷区号
/*      Block Adr: 块地址
/*输出:操作状态码
/*******************************
uchar HL_Write(uchar idata *buff,uchar Block_Adr,uchar Mode)
{
    uchar temp;
    temp = HL_Active(Block_Adr, Mode);
    if(temp != FM1715_OK)
    {
        return temp;
    }
    //Write
    temp = MIF_Write(buff, Block_Adr);
    if(temp != FM1715_OK)
    {
        return FM1715_WRITEERR;
    }
    return FM1715_OK;
}

十六宿舍 原创作品,转载必须标注原文链接。

©2023 Yang Li. All rights reserved.

欢迎关注 『十六宿舍』,大家喜欢的话,给个👍,更多关于嵌入式相关技术的内容持续更新中。文章来源地址https://www.toymoban.com/news/detail-673686.html

到了这里,关于【物联网无线通信技术】NFC从理论到实践(FM17XX)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无线网络通信技术详细介绍

    以下是对各类网络各自常见和常用的通信技术进行简单介绍。 一、无线广域网(WWAN) 无线广域网WWAN(Wireless Wide Area Networks)主要是为了满足超出一个城市范围的信息交流和网际接入需求,让用户可以和在遥远地方的公众或私人网络建立无线连接。在无线广域网的通信中一般要用

    2024年02月08日
    浏览(48)
  • 元宇宙挑战现实世界无线通信技术

    导 言 事 件 2021年10月28日,在名为Facebook Connect的年度大会上,Facebook宣布,公司名称将更改为“Meta”,这是元宇宙Metaverse的前缀,意思是包含万物无所不连。标志着这一世界级的科技巨头从传统的社交媒体公司,all in元宇宙的战略决心。这一信息也将酝酿多年的元宇宙概念研

    2024年02月05日
    浏览(46)
  • 物联网通信技术

    UWB:超宽带无线通信技术(UWB)是一种无载波通信技术,UWB不使用载波,而是使用短的能量脉冲序列,并通过正交频分调制或直接排序将脉冲扩展到一个频率范围内。 NFC:全称是Near Field  Communication,即“近场通信”,也叫“近距离无线通信”。 ARQ:自动重传请求(Automati

    2024年02月09日
    浏览(35)
  • 了解无线通信技术WiFi,Sub 1G,Zigbee

    本文主要记录一些无线通信技术的常识,用处不大但是至少能让你在别人谈论通信的时候能够听得懂。 通信技术是移动互联网中至关重要的一环,从2G到今天的5G,都显示了移动互联网通信技术的进步。5G通信技术,即第五代移动通信技术,是最新一代的蜂窝移动通信技术,也

    2024年02月11日
    浏览(64)
  • 物联网中的通信技术

    阅读引言: 本文主要大致为大家带来物联网中的常见的通信方式的知识梳理。 目录 一、概述 二、无线通信技术 1.物联网电子标签 RFID 1.1 RFID 概念 1.2 RFID 系统组成 2.WI-FI技术 3.UWB技术 4.ZigBee技术 5.NFC技术 6.蓝牙技术 7.EnOcean技术              物联网的通信层担负着极其重

    2024年01月18日
    浏览(38)
  • 物联网通信技术复习题整理

    1【单选题】三层结构类型的物联网不包括( )。 A、感知层 B、网络层 C、应用层 D、会话层 答案:D 2【单选题】物联网的核心是( )。 A、应用 B、产业 C、技术 D、标准 答案:A 3【单选题】属于感知控制层通信技术的是( ). A、ZigBee技术 B、3G网络 C、4G网络 D、局域网 答案:

    2024年02月09日
    浏览(56)
  • MIMO-OFDM无线通信技术(Matlab代码实现)

        目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 本代码为MIMO-OFDM无线通信技术及MATLAB实现。分为十章,供大家学习。 主函数部分代码: [1]黄丘林. MIMO无线通信技术研究[D].西安电子科技大学,2007. 部分理论引用网络文献,若有侵权联系博主删除。

    2023年04月16日
    浏览(41)
  • 车联网V2X通信技术及应用介绍

    摘要: V2X技术影响用户体验的主要系统指标有延时时间、可靠性、数据速率、通信覆盖范围移动性、用户密度、安全性等。 车联网是物联网在交通这个特殊行业的典型应用。在车联网体系参考模型中主要包括三层:数据感知层、网络传输层和应用层。 1. 数据感知层 数据感知

    2024年02月06日
    浏览(32)
  • STM32与无线通信技术的应用:蓝牙、Wi-Fi和LoRa

    STM32是一款广泛应用于嵌入式系统的微控制器单元(MCU),它可以与多种无线通信技术进行集成,包括蓝牙、Wi-Fi和LoRa。本文将分别介绍STM32与这三种无线通信技术的应用。 1. STM32与蓝牙应用 蓝牙技术是一种短距离无线通信技术,用于在设备之间传输数据。STM32可以与蓝牙模块集

    2024年04月27日
    浏览(43)
  • 最新消息:谷歌将在Chromebook上运用UWB技术,无线通信更上一层

    超宽带(UWB)技术是一种创新的短距离无线通信技术,具有高速数据传输和精确定位物体位置的优势。尽管该技术已经存在一段时间,但最近开始广泛应用于各种设备中。据最新报道,Pixel Watch 2可能会搭载UWB模块,这也许不会是谷歌唯一一款采用这项技术的新产品。 除了智

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包