0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MSP430F413单片机和MFRC522芯片实现低功耗预付费水表的设计

电子设计 来源:电子技术应用 作者:程东海,于海勋 2021-01-25 10:15 次阅读

非接触式智能卡(射频卡)以其高度安全保密性、通信高速性、使用方便性广泛应用于三表行业,实现预付费功能,使人们生活质量有了很大的提高。射频卡技术应用于水表将是智能水表的一次伟大革命。

基于MSP430F413单片机和MFRC522芯片实现低功耗预付费水表的设计

MF RC522是Philips公司针对三表最新推出的一款非接触式低功耗读写基站芯片,它是应用于13.56MHz非接触式通信中高集成读卡IC系列中的一员。该读卡IC系列利用了先进的调制和解调概念,完全集成了13.56MHz下所有类型的被动非接触式通读方式和协议。MF RC522支持ISO14443A所有的层,传输速度最高达424kbps,具有三种主机接口方式:SPI模式、UART模式、I2C模式。

本设计采用MSP430系列超低功耗16位单片机为主控芯片,系统3.3V供电完全适合MFRC522供电要求,实现了低功耗的完美结合。

1 系统设计

该系统以TI MSP430F413单片机为核心,工作电压为1.8V~3.6V,内置LCD驱动器24%26;#215;4段,可以缩小体积、降低成本,在休眠模式下典型电流仅为0.7μA;采用内部Flash保存用水数据、剩余水量和水表状态信息电源监控采用理光R3111E(可根据设定的门限电压选择相应的型号);水表阈门采用2.5V~6V直流电机,当人为破坏水表或所购买水量低于设定值时,水表报警并及时关掉阀门,同时将数据保存在内部Flash中;采用MFRC522读写芯片读写Mifare 1 S50卡片实现预付费功能。系统框如图1所示。

本设计利用RC522 UART模式与单片机通信,由于MSP430F413没有硬件串口,故需使用TIMERA模拟串口,如图2所示。

对于MSP430F413而言,P1.0(TimerA捕获/比较输出口)口是UART的TX,P1.1(TimerA捕获/比较输出口)是UART的RX。

2 MFRC522命令寄存器及基本指令集

2.1 命令寄存器CommandReg(0x01)

MF RC522内部有64个寄存器,共分4页:PAGE0:COMMAND AND STATUS;PAGE1:COMMAND;PAGE2:CFG;PAGE3:TEST。MF RC522通过内部寄存器的读写控制与Mifare 1 IC卡数据通信。

CommandReg命令控制字如表1所示。

Command命令类别如表2所示。

2.2 基本指令集

MF RC522有14种基本指令集,实现不同方式的数据传输,如表3所示。

3 软件设计

MSP430F413首先对MF RC522进行初始化配置,寄存器设置好后,MF RC522可以接收控制执行命令执行操作,实现与Mifare 1 S50卡片通信;Mifare 1 S50卡根据接收到的指令进行相应操作。但是MSP430F413并不是通过简单的指令就可以读写IC卡片,需要一系列的操作才能完成通信。主要包括:(1)请求唤醒;(2)防重叠;(3)选择卡片;(4)密码认证;(5)读写操作。

MSP430F413对Mifare 1 S50卡片操作流程,如图3所示。

3.1 请求Request Std/Request All

当在天线有效工作距离内检测到卡片,MF RC522发送Request Std/Request All请求指令,卡片接收到请求指令后返回握手信号,从而判断操作是否成功。

Request Std(0x26)连续读卡指令

Request All(0x52)非连续读卡指令

3.2 Atcollision(防重叠)

MF RC522能够防止多张卡片重叠造成的数据错误。当在天线有效工作距离内检测到多张卡片时,MCU读取序列号进行判断检测。

Mifare 1 S50卡具有全球唯一4个字节的序列号,SN存放在Sector0的Block0内前4个字节,第5个字节存放校验码(4字节异或结果),MCU控制循环读取序列号,直到读取一个校验正确的序列号后,保存并退出循环;当然出错也会退出循环。

Sector0的Block0数据格式如表4所示。

3.3 Select(选择卡片)

将Anticollision操作读取的序列号SN 4个字节还有异或的校验码发送到Mifare 1 S50卡上,卡片接收后与自身SN及校验码核对,只有完全一样才能选定卡片。

3.4 Authentication(密码认证)

Mifare 1 S50卡有1KB容量,分为16个扇区:Sector0到Sector15,每个Sector(扇区)包括4个Block(块),每个Block具有16个byte的存储容量。Block被分为Block0至Block3;整个Mifare 1 S50非接触式智能卡共有64个Block。

每个Sector的Block3都存放着本扇区自己的密码KeyA、KeyB和Access Bits。通过Access Bits设置密码方式和数据块类型(Write/Read或Value)。

只有密码完全认证通过后,才可以对卡片进行Write/Read操作。

3.5 Write/Read(读写操作)

Authentication密码认证通过后,可以对64Block进行读写操作。其中Sector0中的Block0只能执行读操作。Mifare 1 S50读写时是以Block为单位的,读或写都是针对整个Block 16字节的数据,不能单个字节读写。为了确保数据的正确性,可进行数据校验。

3.6 Decrement/Increment(增值和减值操作)

当数据块通过设置Access bits配置成Value型时,可以对其进行Decrement/Increment操作。为了防止数据出错,Value Block设有复杂的数据格式。Value重复存放3次,其中原码存放2次,补码再存放1次;Adr重复存放4次,其中原码存放2次,补码再存放2次。

Value:增值或减值 Adr:操作Block地址

执行Decrement/Increment后,把结果存放在内部数据缓冲寄存器中,等待Transfer指令操作写入指定的目标Block中。

3.7 Restore

Restore指令是将Mifare 1 S50内某一Block内容读出,存放在内部数据缓冲寄存器中,等待Tranfer指令操作写入指定的目标Block中,相当于复制Block a到Block b中。

3.8 Transfer(传送)

Transfer指令操作是将内部数据缓冲区内数据传送到目标Block中。执行Decrment/Increment和Restore指令操作都需要Transfer指令,数据才能成功传输。

3.9 Halt(停机)

Halt指令操作将结束MF RC522与Mifare S50通信。

MF RC522作为新一代非接触IC卡与传统的IC卡相比有着很大的优势,具有较强的保密性能和防碰撞功能,特别是采用低电压供电大大降低功耗,能够与超低功耗MSP430单片机结合实现低功耗预付费水表的设计。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50387

    浏览量

    421752
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632891
  • 射频
    +关注

    关注

    104

    文章

    5549

    浏览量

    167542
收藏 人收藏

    评论

    相关推荐

    MSP430F413的新型智能水表的设计

    文以智能IC卡水表系统为研究对象,重点探讨了基于MSP430F413型超低功耗单片机低功耗智能仪表上的应用与开发。论文首先提出利用IC卡技
    发表于 06-27 17:11

    [原创]超低功耗单片机MSP430F413实现的智能遥控器设计

    PIC子程序库-按键唤醒|常用PIC系列8位单片机芯片引脚符号的功能|超低功耗单片机MSP430F413实现的智能遥控器设计|MPS
    发表于 02-20 11:45

    MSP430F413问题

    谁现在在用MSP430F413呀,给个QQ加个好友吧~~~~
    发表于 03-20 21:22

    MFRC522

    请问实现MSP430MFRC522芯片通信时,MFRC522芯片是否能够在睡眠状态下唤醒???
    发表于 03-03 13:56

    MFRC522单片机测试过程代码

    MFRC522单片机测试过程代码,#include #include#include #include “main.h”#include “mfrc522.h”unsigned char code
    发表于 07-14 07:22

    请问mfrc522模块与52单片机怎么连接?

    mfrc522模块与52单片机怎么连接?
    发表于 10-20 07:11

    基于单片机预付费智能卡水表软时钟结构设计与分析

    本文介绍了预付费智能卡水表的工作原理及其MPU MSP430F413 单片机和PCF8563时钟芯片的功能及特性在
    发表于 06-18 09:28 44次下载

    MSP430F413实现的智能遥控器设计

    MSP430F413实现的智能遥控器设计:MSP430F413 单片机是TI 公司最近推出的超低功耗混合信号16 位
    发表于 09-30 20:29 71次下载

    基于MFRC522的热量表预付费模块设计

    介绍了热量表中基于MFRC522预付费模块的组成及工作原理,提出了预付费功能的硬件电路和软件控制流程设计方案。通过对IC卡电路和驱动电磁阀的电源控制,实现了系统的低功
    发表于 11-22 14:46 171次下载

    基于MSP430F413的新型智能水表的设计

    基于MSP430F413的新型智能水表的设计 针对传统水表落后产生的一系列问题,国家建设部提出了城镇居民住宅“三表出户”的要求。所以目前国内的很多水表生产厂家都在进行
    发表于 08-05 10:56 1162次阅读
    基于<b class='flag-5'>MSP430F413</b>的新型智能<b class='flag-5'>水表</b>的设计

    基于MFRC522的热量表预付费模块设计[图]

    摘要: 介绍了热量表中基于MFRC522预付费模块的组成及工作原理,提出了预付费功能的硬件电路和软件控制流程设计方案。通过对IC卡电路和驱动电磁阀的电源控制,实现了系统的
    发表于 01-18 03:51 499次阅读

    基于MSP430F149的RFID读卡器模块设计的详细中文资料介绍

    以TI 公司的超低功耗单片机MSP430F149为主控芯片,控制恩智浦公司的高集成度读卡器芯片MFRC5
    发表于 06-04 08:07 7次下载
    基于<b class='flag-5'>MSP430F</b>149的RFID读卡器模块设计的详细中文资料介绍

    使用51单片机MFRC522实现RFID的源代码和资料合集免费下载

    本文档的主要内容详细介绍的是使用51单片机MFRC522实现RFID的源代码和资料合集免费下载。
    发表于 03-30 08:00 47次下载
    使用51<b class='flag-5'>单片机</b>和<b class='flag-5'>MFRC522</b><b class='flag-5'>实现</b>RFID的源代码和资料合集免费下载

    MFRC522测试程序分享

    使用STC89C52开发测试MFRC522的程序,已编译可用。测试结果通过串口输出,可用计算机接收。你也可以使用其他51单片机实现
    发表于 05-04 10:13 0次下载

    基于MSP430F413单片机的智能水表的设计

    电子发烧友网站提供《基于MSP430F413单片机的智能水表的设计.doc》资料免费下载
    发表于 11-17 14:42 2次下载
    基于<b class='flag-5'>MSP430F413</b><b class='flag-5'>单片机</b>的智能<b class='flag-5'>水表</b>的设计