完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
当前在中国的各类计量行业中,使用的计量表如水表、燃气表和热量表等,绝大多数均不带流量控制功能,经常的做法是先使用后交费,这样会给用户造成很多不便,因此预付费的计量表便应运而生。本文介绍了一种广泛应用于预付费卡表的RFID控制阀门,与其它各类表的控制阀门的方式相比,用RFID控制阀门的优势在于:
1)在识别方面,使用RFID后,会使可识别的距离更灵活,具有无屏障阅读和穿透性,可以穿透非磁性材料,比如水、塑胶、混凝土等。 2)在耐用性方面,RFID对水、油和腐蚀性较强的化学药品等具有很强的抵抗性;同时RFID将数据存在芯片中,芯片和外界没有直接接触,因此可以免受污损。 3)在可重复使用方面,RFID标签则可以重复的修改、删除RFID内储存的数据,信息更新很方便。 4)在数据的安全性方面,RFID承载的是电子式信息,其数据内容可经由密码保护,使其内容不易被伪造和变更。 5)成本低廉,可加入LC振荡器到微控制器中来实现高性价比的收发器。 6)可实现低功耗设计,尤其在接收端。 1 系统硬件设计 1.1 系统组成 控制阀系统主要由6部分组成:电子标签、射频天线及调制电路、控制核心(MCU)、电机及其控制模块、LCD显示模块和蜂呜报警模块。 1)电子标签:本系统采用的电子标签是ATA5567射频卡,该射频卡由内置芯片、内置天线和EEPROM组成。射频卡中的EEPROM用于存储数据,其中数据可以反复的读取和擦除,读写次数不少于10万次,内置电线用于与射频天线进行通信。市面上常见的电子标签都是无源的,所以需要内置天线接收射频天线传递信息的同时,通过耦合来提供EEPROM读写数据所需要的能量。内置芯片用于接收命令并根据命令的内容决定数据的发送方式。 2)射频天线及调制电路:射频天线主要用来与电子标签建立通信通路。调制电路一般包括:功率放大电路、检波电路和滤波放大整形电路3个部分。 3)控制核心MCU:本系统采用***新唐科技Nano100系列超低功耗的32位内嵌ARM Cortex—MO核的MCU作为控制核心,其主要实现功能有:①通过CLKO输出125 KHz的载波。②通过TC0捕获调制电路输出的波形信息。③通过GPIO和ADC驱动直流有刷电机并在电机卡住时断电保护。 ④通过MCU内部的LCD Driver驱动段码式LCD。⑤通过PWM控制蜂鸣器产生合适的报警声音。 4)电机驱动及控制模块:通过H桥控制直流有刷电机的转动,电机卡住时将断电保护。 5)LCD显示模块:通过MCU驱动段码式LCD以显示金额、开阀、关阀等信息。 6)蜂鸣报警模块:通过PWM控制蜂鸣器产生适当的报警声音。 1.2 天线及调制电路设计 1)载波产生和天线驱动电路:由MCU的CLKO输出频率稳定的125 kHz的方波,经过三极管进行功率放大。之后的串联谐振电路中天线是漆包线绕制的线圈,电容采用的是精准的校正电容,加入功率放大和产生谐振的目的是获得最大的磁通量,从而产生最大的读卡距离。 2)检波电路,滤除载波信号。 3)放大电路,采用有低廉的LM358运算放大器进行两级电压放大。 4)捕获及运算,该部分是在MCU内部完成的,由MCU中的Timer0工作在周期自由捕获模式,完成码元间隔时间的捕获,然后经过运算,得出各个Block的数值。 1.3 电机驱动设计 主体电路是由4个三极管组成的H桥驱动电路,在同一时刻最多只有2个三极管处于导通状态,可以方便的控制电机的正传和反转,再电机卡住时,由于电流是正常工作时的6~7倍,所以通过MCU内部的ADC检测电阻上的电压值,如果数值满足条件,则会给电机断电,并视情况发生报警,以免电机烧毁和设备的损坏。 |
|
|
|
|
|
2 系统软件设计
本系统的软件设计主要由6个部分组成:1)读卡;2)写卡;3)GPIO控制电机和ADC过压检测;4)PWM驱动蜂鸣器;5)125 kHz载波产生;6)LCD显示。其中最主要的当属1)读卡和2)写卡了,完成读卡和写卡后,系统的躯干就有了,然后3),4),5),6)就是在躯干上添枝加叶,让这个系统完整起来。 2.1 ATA5567卡片的读写规则 ATA5567中的存储是330bit的EEPROM,一共有10个块(block),每个块有33bit,其中第一位为锁bit。一共分为两页,第一页包含8个block,编号分别为block0-block7。第二页包含2个block,为只读block,包含可回溯数据,由AIMEL公司规划。 ATA5567的数据率和调制方式是由block0决定。 1)主控键值,需执行读写操作,所以主控键值选为8。 2)比特率,综合MCU的性能和读ATA5567所用时间,取一个折中,选择的是RF/32,这样一个码元的周期 4)AOR是按请求应答,主要的作用是防碰撞机制。当有多张ATA5567卡靠近应答器时,可以实现每张卡的逐次读取。 5)最大块,为了保证信息的完整性和保护密码不被窃取,最大块取6。 6)PWD,为了防止ATA5567被恶意改写,密码是一定需要的,即该位为1。 7)ST是为了方便以同步头的方式实现数据的读取。 2.2 ATA5567数据的存储和编码格式 对于ATA5567能操作的其实只有block0-block7,这几块的格式是一样的,只不过block0作为控制块,block7作为密码块,所以实际上真正能存储用户数据的只有block1-block6,共有6个块。 ATA5567的编码方式设定为曼切斯特编码。曼切斯特编码是基带传输中广泛应用的一种数据传输编码方式,这种编码通常用于局域网传输,是一种自同步法编码方式。在数据信号的波形中既有同步时钟信号又有数据信号。在调制电路输出的波形中,数据“1”对应着曼切斯特编码(下面简称“曼码”)电平的上跳沿,数据“0”对应着曼码电平的下跳沿。在所接收的一系列曼码数据,注意空跳变,假定两个相邻bit的间隔时间是1P。若两个相邻bit代表的数据极性相同(同为0或者同为1),那么在这两个bit传送之间,会出现一个预备性的非数据跳变。 2.3 ATA5567写卡规则 在ATA5567卡片内部有一个写解码器,该解码器采用脉冲间隔编译码技术。在写卡期间,写解码器会检查写数据流是否有效,并检测场中断间隔。 1)标准写命令格式如表2所示。 2)保护写命令格式如表3所示。 2.4 ATA5567读卡规则和算法实现 对于ATA5567,读卡命令如表4所示。 由于PWD位已经置为1,所以选择第一种格式,写命令与之前讲述的写数据类似,此处不再讲述。 发完写命令后,Nano110单片机会捕获到数据,这些时间间隔数据是获取二进制数据来源。根据ATA5567数据的存储和编码格式,读卡算法如下: 算法的核心是ReadNumber()函数的实现,由于在发送完命令之后,ATA5567会根据发送命令中的地址信息,循环发送所选地址存储是数据。由于每个block中存储了32 bit的数据,实际上转换为曼码对应的波形最多有64个跳变,所以采集到的128个数据中一定至少有一个所需数据的完整遍历。这时同步码也包括在128个数据之中,通过同步码来确定block中数据的起始位。同步码的波形如图8所示。 程序执行完毕后,bit_array[]数组中就存储了某个block对应的32bit的数据,这些数据是二进制数据,可以根据需要将其转换为十进制或者十六进制的数据,因为需要在各个block中存储时间、日期、金额、流量(热量)等信息,这里需要将其转换为十进制数据。 3 结束语 文中主要针对预付费的表类(热表、水表、气表、电表),提出了一种低成本、低功耗、高可靠性的解决方案。由于篇幅所限,着重介绍了无需解码芯片的RFID解码电路的构成,提出了一种针对ATA5567的高效的编解码方案,这是整个系统架构的核心。对于系统而言,大部分时间处于非工作状态,可以使其进入PowerDown模式(ARM架构MCU具有的功能),以节省电力。另外出于对数据备份和保护的目的,可以在系统里加入单独的存储单元,如SPI-Flash或者EEPROM,以期在设备损毁等场合尽最大可能的减少用户的损失。在某些场合下,如果需要组网,除了使用RS-485外还可以使用以太网或者无线方式(如433 MHz),这样就可以实现与局域管理系统进行实时对接。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
926 浏览 0 评论
如何使用STM32+nrf24l01架构把有线USB设备无线化?
3087 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2987 浏览 5 评论
3846 浏览 3 评论
3311 浏览 8 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
1266浏览 1评论
1212浏览 0评论
882浏览 0评论
973浏览 0评论
926浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 18:18 , Processed in 1.010616 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4222