MC9S08QE4在RFID 中的设计应用
RFID标签分为被动标签(Passive tags)和主动标签(Active tags)两种。被动标签即非接触式IC 卡, 由于被动标签识读距离短, 在许多应用中受到限制。 主动标签也称有源RFID,由于采用无线射频识别技术, 识读距离可达几十米, 逐渐成为一种主流应用技术, 已经成功应用到生产制造、物流管理、公共安全等各个领域。
有源RFID采用电池供电, 且电池是一次性的, 不能更换。 因此低功耗设计是设计中的重点。RFID 卡有读卡和读写卡两种。读卡是单向通信, 即定时向外发送数据。 读写卡是双向通信, 即定时向外发送数据的同时接收数据。 下面以MC9S08QE4和nRF24L01 为例,介绍有源RFID 读卡的设计应用。
MC9S08QE4是飞思卡尔新推出极低功耗的单片机, 资源丰富, 内置振荡电路, 小封装, 非常适合于在RFID 卡的应用。 nRF24.L01 是是NORDIC 公司推出的一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段, 广泛应用于无线领域。
MC908QE4 的主要功能
MC908QE4 是Freescale 基于HCS08 核的8 位单片机。具有极低功耗,内置RC 振荡电路及丰富的外围接口。QE4 的主要特性如下:
低工作电压1.8V-3.6V
最大总线频率10Mhz
内置琐频环电路FLL
4K FLASH 程序空间
256 字节RAM
2 个16 位定时器
1 个实时时钟计数器 RTC
10 路12 位A/D
1 个外部中断和8 个外部键盘中断KBI
内部RC 振荡器的看门狗
低电压检测电路LVI
1 个SPI,I2C,SCI
32 LQFP,28 SOIC,20 SOIC,16SDIP,16 TSSOP 封装
nRF24L01 概述
nRF24.L01 是一款新型单片射频收发器件, 工作于2.4 GHz~2.5 GHz ISM 频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst 技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01 功耗低,在以-6 dBm 的功率发射时,工作电流只有9 mA;接收时,工作电流只有12.3 mA,另外有多种低功率工作模式(掉电模式和空闲模式)。
nRF24L01 主要特性如下:
工作电压:1.9-3.6V;
真正的GFSK 调制单收发芯片;
硬件集成OSI 链路层;
具有自动应答和自动再发射功能;
片内自动生成报头和CRC 校验码;
数据传输率可达2Mb/s;
SPI 速率可达10 Mb/s;
125 个频道
QFN20 引脚4 mm×4 mm 封装;
引脚功能及描述
nRF24L01 的封装及引脚排列如图1 所示。各引脚功能如下:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_0.jpg)
图1 nRF24L01 引脚排列
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_1.jpg)
工作模式
通过配置寄存器可将nRF241L01 配置为发射、接收、空闲及掉电四种工作模式,如下表所示。
nRF241L01 可以设置为以下几种模式:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_2.jpg)
硬件设计
由于QE4 有SPI 硬件接口, 外部按键中断接口, 内部上电复位电路和内部振荡电路,因此硬件电路非常简单。 见下图:
晶振电路
QE4 内部有琐频环电路(FLL)可以把MCU 运行的总线频率倍频上去, 最高可以倍频到20Mhz。 同时QE4 内部有RC 振荡器, 校准后的精度可以达到±2%(±2%为全温度范围的最大误差。常温下该精度为±0.2%)。因此完全可以采用内部RC 振荡器。节省成本和空间。
电池电压检测
在有些RFID 应用中, 需要对电池电压进行监测。 虽然QE4 内部有掉电检测电路LVI, 但使能该模块将消耗较大的电流, 所以不宜采用。 可以利用A/D 模块监测电池电压, A/D 模块会消耗一定的功耗, 为了降低功耗, 可以采用定时检测的方法, 因为电池电压是缓慢下降的。
由于采用锂电池直接供电, 采用一般的A/D 模块监测电池电压的办法, 则需提供一基准电压给AD 模块. 这样既增加成本, 又增加功耗.
这里介绍一种简便的方法用于电池电压检测:
在QE4 的内部集成一个1.17V 的能隙基准电压,此能隙基准电压内部连接到ADC 的输入通道AD27; 因此可以不需要任何外部电路,AD 模块只需定时采样此基准电压,由此可换算出电池电压。
这种方法的好处是,不需要外部任何器件, 既节省成本又节省空间,而且可以获知当前准确的电池电压。它的原理如下: AD 的参考电压设为VDD, VDD 即为电池电压, 如果AD 设为12bit 模式, 那么:
能隙基准电压的AD 值(AD27)=(1.17V / VDD) *4096 = (1.17V/ 电池电压) * 4096
所以: 电池电压= (4096 / 能隙基准电压的AD 值(AD27)) * 1.17 (V)
RFID 的低功耗设计
在RFID 应用中, 由于是电池供电, 且电池是一次性的,无法更换, 所以低功耗是设计中首要考虑的因素。 系统功耗由两部分组成: 单片机本身的功耗和射频电路的功耗。下面分别介绍来讨论两者的功耗。
1)射频芯片的功耗
如前述, 射频芯片有四种工作模式。 在RFID 的应用中, RFID 定时向外发送数据, 例如500ms 发送一次.所以射频芯片平时工作在掉电模式, 掉电模式下为900nA。下表为各种各种模式下的功耗:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_4.jpg)
2)单片机的功耗
单片机的功耗包括正常运行时的功耗和睡眠时的功耗。在RFID 的应用中, 由于是定时发送数据, 发送完毕, 马上进入睡眠, 因此单片机大部分时间工作于睡眠状态,因此睡眠时的电流至关重要。例外进入睡眠后, 需要定时唤醒, 定时器的工作电流也是重点考虑的因素之一。
下图为QE4 各种模式下的电流参数:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_5.jpg)
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_6.jpg)
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_7.jpg)
从表中看出, 睡眠3(STOP3 )模式的电流为 350nA, 睡眠2(STOP2 )模式的电流为300nA。由于STOP2 与STOP3 功耗相差不大,但是从STOP2 唤醒后,程序会从复位处重新执行,且所有寄存器设置会回到默认状态, 因此建议采用STOP3 模式。
QE4 内部有RTC 模块, 进入睡眠时,RTC 仍然可以工作, 可以用来定时唤醒MCU。唤醒时间从1ms 到 1s 可设置。RTC 工作电流只有75nA。 把RTC 模块的功耗考虑进去, 那么进入睡眠状态时, RTC 模块工作(定时唤醒MCU),内部RC 振荡器工作,MCU 本身的功耗仅为450nA 左右。 如果把射频芯片的功耗计算在内, 那么在待机模式下,整个系统的功耗为1.35uA。
另外有一个参数对系统功耗的影响也非常重要, 即从睡眠模式唤醒的时间。 唤醒时间越短越好,因为唤醒的过程中, 功耗会比较大。QE4 从睡眠3(STOP3 )模式唤醒的时间非常短,只有6us, 大大低于业界的同类产品。
3) 低功耗设计的小窍门:
a)未使用的I/O 口的处理
对未使用的I/O 口配置成输出模式, 输出高或低。
b) 未使用的模块的处理
未使用的模块除了关闭该模块外, 同时还要禁止该模块的时钟。模块时钟的使能或禁止通过SCGC1,SCGC2 进行配置。
c) RTC 时钟的选择
RTC 的时钟选择选择内部1K 时钟, 而不选择32K 的时钟。 选择32K 的时钟会增加70uA 的电流。
d)延时的处理
由于射频芯片平时工作在掉电(POWER DOWN)模式, 从掉电(POWER DOWN)模式到发送模式, 射频芯片需延时1.5ms 左右的时间, 在延时1.5ms 左右的时间内单片机处于等待状态, 有两种处理方式以降低功耗。 一是让单片机进入STOP3 模式, 利用RTC 唤醒, 唤醒时间设为1.5ms。另一种方法是, 把单片机的工作频率降到最低,让单片机进入WAIT 模式, 利用定时器唤醒, 定时器的时间设为1.5ms, 唤醒后把单片机的工作频率恢复到原来的频率。
序列号的烧写:
由于在RFID 应用中,每一个RFID 都需要一个唯一的ID 号。 ID 号可存放在FLASH 中, 单片机上电后, 从FLASH 中读出它的ID 号。 在批量生产过程中, 如何方便地烧写ID 号, 也是至关重要的。 下面介绍采用CYCLONE PRO 如何方便地烧写序列号。CYCLONE PRO 是用于批量生产的专业编程器, 支持脱机烧写。 在烧写程序代码的同时支持烧写序列号, 每烧写一片芯片后, 序列号自动加一。 因此非常适合于批量生产。
在下载程序到CYCLONE PRO 前, 先要用SERIALIZE.EXE 软件生成一序列号文件,SERIALIZE.EXE 软件可在WWW.PEMICRO.COM免费下载。
生成序列号文件的界面见下图:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_8.jpg)
上图的示例中, ID 号为3 个字节, 将存放在QE4 的0xFFA0,0xFFA1,0xFFA2 中, ID 号的起始号为0x0000001, ID 号的上限为0xFFFFFF,下限为0x000001。 上下限的含义是:假设在烧写过程中, ID 号每次加一, 当加到上限值时, ID 会自动回到下限值。按SAVE 生成***.SER 文件。
可以通过修改PRM文件, 让编译器预留FLASH 从0xFFA0 至0xFFAD 用于存放ID 而不是程序代码.
下面是缺省的PRM文件:
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_9.jpg)
修改后的PRM文件如下:
/* This is a linker parameter file for theMC9S08QE4*/
![MC9S08QE4在RFID 中的设计应用](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_10.jpg)
生成序列号文件后, 然后打开CYCLONE PRO 软件, 把程序代码和序列号下载到CYCLONE PRO 中, 界面见下图:
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/220168_1_11.jpg)
SS 是选择程序代码文件。
CS 是选择序列号文件。
下载完毕, 便可脱机烧写, 每烧写一片芯片, 序列号自动加一, 同时CYCLONE PRO LCD屏上会显示当前的序列号, 操作起来非常方便, 大大提高了生产率。
结束语
由于QE4 具有超低功耗,丰富的外围接口, 性价比高等特点, 因此非常适合于在RFID 中的设计应用。 Freescale 将不断推出新的基于HCS08 内核的系列单片机, 来满足低功耗市场应用的需求。
评论