• 二、PN532及恩智浦PN系列产品简介


    恩智浦

    恩智浦(NXP)是荷兰一家半导体公司,目前在半导体领域全球排名前十。这家公司原来隶属于飞利浦,后以80亿欧的价格卖给荷兰一家公司,并在2006年以【恩智浦】的中文名在中国市场经营。在消费市场领域,NXP是全球第一大电视硅芯片厂商,平均出售两台电视机就有一台内部使用NXP的多媒体芯片,NXP同时是RFID解决方案的第一大厂商,其RFID芯片占全球市场的80%以上。NXP同时提供有LPC, i.MX系列ARM Cortex-M0至M7内核通用MCU。

    NXP公司的PN系列产品

    上面说到NXP公司在射频芯片领域是一骑绝尘的,其NFC产品系列以PN开头,如比较出名的PN532, PN7150, 以及全功能NFC支持的PN5180(这玩意儿甚至支持VISA和万事达信用卡的消费)。

    PN532是一个以80C51为内核的单片机,支持ISO14443A/B标准Mifare卡和FeliCa, Jewel等类型的卡的读写,需要上层MCU主控,通信接口可选UART,SPI,I2C。官方报价4.8US每片(4000片),淘宝上售价RMB15-18每片。

    PN7150是一个NFC全功能的高性能芯片,支持读卡器模式,卡仿真模式,以及点对点通信模式,几乎支持市面上所有类型的NFC卡片。需要上层MCU主控,通信接口只有I2C。官方售价3.36US每片(490片),淘宝上售价19-25元每片。

    PN5180是一个RFID全功能高性能芯片,与前两者不同的是,它不再仅仅是一个NFC芯片,它是一个全功能的RFID芯片,它可以读ISO15693协议的ID卡,以及具有高级安全协议的银行信用卡,比如VISA和MASTER,因此可以用它来开发POS机(开发难度也是巨大的)。同时PN5180不再需要上层MCU主控,直接可以在PN5180内部进行编程,需要配合NXP自家的IDE进行开发。官方售价4.09US每片(490片),淘宝售价60元左右每片。

    综合成本、开发难度、产品使用场景等因素考量,我们选择PN532作为NFC芯片。淘宝购买的模组如下,价格30元左右,同时送了两张Mifare S50卡,商家提供的百度网盘中还有一些实用的PC上位机,开发文档等若干,此处不表。

    PN532

    下面来详细介绍一下PN532,这款芯片在中国的使用度极广,因此网上的资料也很多,在这里我们仍然以一种零基础入门者的心态来理解这颗芯片。

    硬件部分我们这里就不表了,因为手上已经购买了开发板,成品设计时让硬件工程师照着官方PCB和原理图进行设计就可以了。我们主要关心使用上位机与PN532进行通信的流程,点击下载PN532的官方手册点击下载PN532应用笔记

    软件部分,根据官方手册,我们了解到PN532可以使用UART,SPI,I2C与主控MCU进行通信,具体通信方式根据P16和P17引脚来决定,参考PN532AN.pdf Page7:  这里要说明的是,硬件通信接口只指定通信介质和时序,跟软件通信协议无关,无论何种通信接口,其传输数据时收包和发包的内容都是一致的,由软件层面的通信协议来决定。具体使用时不同的通信接口单双工模式稍有差别,SPI和UART在硬件层面是双工的,I2C则是单工的,软件层面的协议要仔细看手册,PN532所有通信行为都是单工的。

    PN532AN Page32列举了一次典型的对于Mifare卡的读写流程:

    简而言之,逻辑上就是:

    • 寻卡
    • 认证
    • 读写卡
    • 释放

    以上步骤将会依次经历以下流程:

    • InListPassivTarget
    • InDataExchange
    • InSelect, InDeselect, InRelease(这一步其实不重要)

    具体的,上面这些流程将涉及什么样的输入输出字节流,我们下一节将详细讲解。

    小结

    这一章我们对恩智浦NXP公司,以及他们家的产品线有了一个大概的了解,着重对PN532这个芯片产品有了一个认知。下面一节我们将深入PN532的通信协议,罗列一套完整的上位机与PN532进行通信的握手过程,实现Mifare S50卡片的读写。

  • 相关阅读:
    Linux下干净卸载mysql详解
    服务器重启后 django无法连接mysql数据库的解决方法
    团队排表系统V3.0最佳实践及使用说明
    nginx配置部署多个单页应用 踩坑
    前端项目首屏加速 gzip打包 路由懒加载 cdn资源优化
    JS实现手动将String转换为utf8格式的arraybuffer
    微信小程序Component组件调用回调函数this指向不是本页面
    linux系统后台运行python, 关闭shell后不会中断
    pycharm连接数据库失败
    react添加onScroll事件踩坑
  • 原文地址:https://www.cnblogs.com/strengthen/p/16221068.html
Copyright © 2020-2023  润新知