RFID 標(biāo)簽分為被動標(biāo)簽(Passive tags)和主動標(biāo)簽(Active tags)兩種。被動標(biāo)簽即非接觸式IC 卡, 由于被動標(biāo)簽識讀距離短, 在許多應(yīng)用中受到限制,。 主動標(biāo)簽也稱有源RFID,由于采用無線射頻識別技術(shù), 識讀距離可達(dá)幾十米, 逐漸成為一種主流應(yīng)用技術(shù), 已經(jīng)成功應(yīng)用到生產(chǎn)制造,、物流管理、公共安全等各個領(lǐng)域。
有源RFID 采用電池供電, 且電池是一次性的, 不能更換,。 因此低功耗設(shè)計(jì)是設(shè)計(jì)中的重點(diǎn),。RFID 卡有讀卡和讀寫卡兩種。讀卡是單向通信, 即定時向外發(fā)送數(shù)據(jù),。 讀寫卡是雙向通信, 即定時向外發(fā)送數(shù)據(jù)的同時接收數(shù)據(jù),。 下面以MC9S08QE4 和nRF24L01 為例,介紹有源RFID 讀卡的設(shè)計(jì)應(yīng)用。歡迎轉(zhuǎn)載,,本文來自電子發(fā)燒友網(wǎng)(http://www.elecfans.com/)
MC9S08QE4 是飛思卡爾新推出極低功耗的單片機(jī), 資源豐富, 內(nèi)置振蕩電路, 小封裝, 非常適合于在RFID 卡的應(yīng)用,。 nRF24.L01 是是NORDIC 公司推出的一款新型單片射頻收發(fā)器件,工作于2.4 GHz~2.5 GHz ISM頻段, 廣泛應(yīng)用于無線領(lǐng)域。
MC908QE4 的主要功能
MC908QE4 是Freescale 基于HCS08 核的8 位單片機(jī),。具有極低功耗,,內(nèi)置RC 振蕩電路及豐富的外圍接口。QE4 的主要特性如下:
低工作電壓1.8V-3.6V
最大總線頻率10Mhz
內(nèi)置瑣頻環(huán)電路FLL
4K FLASH 程序空間
256 字節(jié)RAM
2 個16 位定時器
1 個實(shí)時時鐘計(jì)數(shù)器 RTC
10 路12 位A/D
1 個外部中斷和8 個外部鍵盤中斷KBI
內(nèi)部RC 振蕩器的看門狗
低電壓檢測電路LVI
1 個SPI,,I2C,,SCI
32 LQFP,28 SOIC,20 SOIC,16SDIP,16 TSSOP 封裝
nRF24L01 概述
nRF24.L01 是一款新型單片射頻收發(fā)器件, 工作于2.4 GHz~2.5 GHz ISM 頻段。內(nèi)置頻率合成器,、功率放大器,、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst 技術(shù),,其中輸出功率和通信頻道可通過程序進(jìn)行配置,。nRF24L01 功耗低,在以-6 dBm 的功率發(fā)射時,工作電流只有9 mA;接收時,,工作電流只有12.3 mA,,另外有多種低功率工作模式(掉電模式和空閑模式)。
nRF24L01 主要特性如下:
工作電壓:1.9-3.6V;
真正的GFSK 調(diào)制單收發(fā)芯片;
硬件集成OSI 鏈路層;
具有自動應(yīng)答和自動再發(fā)射功能;
片內(nèi)自動生成報(bào)頭和CRC 校驗(yàn)碼;
數(shù)據(jù)傳輸率可達(dá)2Mb/s;
SPI 速率可達(dá)10 Mb/s;
125 個頻道
QFN20 引腳4 mm×4 mm 封裝;
引腳功能及描述
nRF24L01 的封裝及引腳排列如圖1 所示,。各引腳功能如下:
圖1 nRF24L01 引腳排列
工作模式
通過配置寄存器可將nRF241L01 配置為發(fā)射,、接收、空閑及掉電四種工作模式,,如下表所示,。歡迎轉(zhuǎn)載,本文來自電子發(fā)燒友網(wǎng)(http://www.elecfans.com/)
nRF241L01 可以設(shè)置為以下幾種模式:
硬件設(shè)計(jì)
由于QE4 有SPI 硬件接口, 外部按鍵中斷接口, 內(nèi)部上電復(fù)位電路和內(nèi)部振蕩電路,因此硬件電路非常簡單,。 見下圖:
晶振電路
QE4 內(nèi)部有瑣頻環(huán)電路(FLL)可以把MCU 運(yùn)行的總線頻率倍頻上去,, 最高可以倍頻到20Mhz。 同時QE4 內(nèi)部有RC 振蕩器,, 校準(zhǔn)后的精度可以達(dá)到±2%(±2%為全溫度范圍的最大誤差,。常溫下該精度為±0.2%)。因此完全可以采用內(nèi)部RC 振蕩器,。節(jié)省成本和空間,。
電池電壓檢測
在有些RFID 應(yīng)用中, 需要對電池電壓進(jìn)行監(jiān)測。 雖然QE4 內(nèi)部有掉電檢測電路LVI, 但使能該模塊將消耗較大的電流,, 所以不宜采用,。 可以利用A/D 模塊監(jiān)測電池電壓, A/D 模塊會消耗一定的功耗,, 為了降低功耗,, 可以采用定時檢測的方法, 因?yàn)殡姵仉妷菏蔷徛陆档摹?/p>
由于采用鋰電池直接供電, 采用一般的A/D 模塊監(jiān)測電池電壓的辦法, 則需提供一基準(zhǔn)電壓給AD 模塊. 這樣既增加成本, 又增加功耗.
這里介紹一種簡便的方法用于電池電壓檢測:
在QE4 的內(nèi)部集成一個1.17V 的能隙基準(zhǔn)電壓,,此能隙基準(zhǔn)電壓內(nèi)部連接到ADC 的輸入通道AD27; 因此可以不需要任何外部電路,,AD 模塊只需定時采樣此基準(zhǔn)電壓,由此可換算出電池電壓,。
這種方法的好處是,,不需要外部任何器件, 既節(jié)省成本又節(jié)省空間,而且可以獲知當(dāng)前準(zhǔn)確的電池電壓,。它的原理如下: AD 的參考電壓設(shè)為VDD, VDD 即為電池電壓, 如果AD 設(shè)為12bit 模式, 那么:
能隙基準(zhǔn)電壓的AD 值(AD27)=(1.17V / VDD) *4096 = (1.17V/ 電池電壓) * 4096
所以: 電池電壓= (4096 / 能隙基準(zhǔn)電壓的AD 值(AD27)) * 1.17 (V)
RFID 的低功耗設(shè)計(jì)
在RFID 應(yīng)用中,, 由于是電池供電, 且電池是一次性的,無法更換, 所以低功耗是設(shè)計(jì)中首要考慮的因素,。 系統(tǒng)功耗由兩部分組成: 單片機(jī)本身的功耗和射頻電路的功耗,。下面分別介紹來討論兩者的功耗。
1)射頻芯片的功耗
如前述, 射頻芯片有四種工作模式,。 在RFID 的應(yīng)用中, RFID 定時向外發(fā)送數(shù)據(jù), 例如500ms 發(fā)送一次.所以射頻芯片平時工作在掉電模式, 掉電模式下為900nA,。下表為各種各種模式下的功耗:
2)單片機(jī)的功耗
單片機(jī)的功耗包括正常運(yùn)行時的功耗和睡眠時的功耗。在RFID 的應(yīng)用中, 由于是定時發(fā)送數(shù)據(jù), 發(fā)送完畢, 馬上進(jìn)入睡眠, 因此單片機(jī)大部分時間工作于睡眠狀態(tài),,因此睡眠時的電流至關(guān)重要,。例外進(jìn)入睡眠后, 需要定時喚醒, 定時器的工作電流也是重點(diǎn)考慮的因素之一。歡迎轉(zhuǎn)載,,本文來自電子發(fā)燒友網(wǎng)(http://www.elecfans.com/)
下圖為QE4 各種模式下的電流參數(shù):
從表中看出,, 睡眠3(STOP3 )模式的電流為 350nA, 睡眠2(STOP2 )模式的電流為300nA,。由于STOP2 與STOP3 功耗相差不大,,但是從STOP2 喚醒后,程序會從復(fù)位處重新執(zhí)行,,且所有寄存器設(shè)置會回到默認(rèn)狀態(tài),, 因此建議采用STOP3 模式。
QE4 內(nèi)部有RTC 模塊, 進(jìn)入睡眠時,,RTC 仍然可以工作, 可以用來定時喚醒MCU,。喚醒時間從1ms 到 1s 可設(shè)置。RTC 工作電流只有75nA,。 把RTC 模塊的功耗考慮進(jìn)去,, 那么進(jìn)入睡眠狀態(tài)時,, RTC 模塊工作(定時喚醒MCU),,內(nèi)部RC 振蕩器工作,,MCU 本身的功耗僅為450nA 左右。 如果把射頻芯片的功耗計(jì)算在內(nèi), 那么在待機(jī)模式下,整個系統(tǒng)的功耗為1.35uA,。
另外有一個參數(shù)對系統(tǒng)功耗的影響也非常重要,, 即從睡眠模式喚醒的時間。 喚醒時間越短越好,,因?yàn)閱拘训倪^程中,, 功耗會比較大。QE4 從睡眠3(STOP3 )模式喚醒的時間非常短,,只有6us,, 大大低于業(yè)界的同類產(chǎn)品。
3) 低功耗設(shè)計(jì)的小竅門:
a)未使用的I/O 口的處理
對未使用的I/O 口配置成輸出模式, 輸出高或低,。
b) 未使用的模塊的處理
未使用的模塊除了關(guān)閉該模塊外, 同時還要禁止該模塊的時鐘,。模塊時鐘的使能或禁止通過SCGC1,SCGC2 進(jìn)行配置。
c) RTC 時鐘的選擇
RTC 的時鐘選擇選擇內(nèi)部1K 時鐘, 而不選擇32K 的時鐘,。 選擇32K 的時鐘會增加70uA 的電流,。
d)延時的處理
由于射頻芯片平時工作在掉電(POWER DOWN)模式, 從掉電(POWER DOWN)模式到發(fā)送模式, 射頻芯片需延時1.5ms 左右的時間, 在延時1.5ms 左右的時間內(nèi)單片機(jī)處于等待狀態(tài), 有兩種處理方式以降低功耗。 一是讓單片機(jī)進(jìn)入STOP3 模式, 利用RTC 喚醒, 喚醒時間設(shè)為1.5ms,。另一種方法是, 把單片機(jī)的工作頻率降到最低,讓單片機(jī)進(jìn)入WAIT 模式, 利用定時器喚醒, 定時器的時間設(shè)為1.5ms, 喚醒后把單片機(jī)的工作頻率恢復(fù)到原來的頻率,。
序列號的燒寫:
由于在RFID 應(yīng)用中,每一個RFID 都需要一個唯一的ID 號,。 ID 號可存放在FLASH 中, 單片機(jī)上電后, 從FLASH 中讀出它的ID 號,。 在批量生產(chǎn)過程中, 如何方便地?zé)龑慖D 號, 也是至關(guān)重要的。 下面介紹采用CYCLONE PRO 如何方便地?zé)龑懶蛄刑?。CYCLONE PRO 是用于批量生產(chǎn)的專業(yè)編程器, 支持脫機(jī)燒寫,。 在燒寫程序代碼的同時支持燒寫序列號, 每燒寫一片芯片后, 序列號自動加一。 因此非常適合于批量生產(chǎn),。
在下載程序到CYCLONE PRO 前, 先要用SERIALIZE.EXE 軟件生成一序列號文件,SERIALIZE.EXE 軟件可在WWW.PEMICRO.COM免費(fèi)下載,。歡迎轉(zhuǎn)載,本文來自電子發(fā)燒友網(wǎng)(http://www.elecfans.com/)
生成序列號文件的界面見下圖:
上圖的示例中, ID 號為3 個字節(jié), 將存放在QE4 的0xFFA0,0xFFA1,0xFFA2 中, ID 號的起始號為0x0000001, ID 號的上限為0xFFFFFF,下限為0x000001,。 上下限的含義是:假設(shè)在燒寫過程中, ID 號每次加一, 當(dāng)加到上限值時, ID 會自動回到下限值,。按SAVE 生成***.SER 文件。
可以通過修改PRM文件, 讓編譯器預(yù)留FLASH 從0xFFA0 至0xFFAD 用于存放ID 而不是程序代碼.
下面是缺省的PRM文件:
修改后的PRM文件如下:
/* This is a linker parameter file for the MC9S08QE4 */
生成序列號文件后, 然后打開CYCLONE PRO 軟件, 把程序代碼和序列號下載到CYCLONE PRO 中, 界面見下圖:
SS 是選擇程序代碼文件,。
CS 是選擇序列號文件,。歡迎轉(zhuǎn)載,本文來自電子發(fā)燒友網(wǎng)(http://www.elecfans.com/)
下載完畢, 便可脫機(jī)燒寫, 每燒寫一片芯片, 序列號自動加一, 同時CYCLONE PRO LCD屏上會顯示當(dāng)前的序列號, 操作起來非常方便, 大大提高了生產(chǎn)率,。
結(jié)束語
由于QE4 具有超低功耗,,豐富的外圍接口,, 性價比高等特點(diǎn), 因此非常適合于在RFID 中的設(shè)計(jì)應(yīng)用,。 Freescale 將不斷推出新的基于HCS08 內(nèi)核的系列單片機(jī),, 來滿足低功耗市場應(yīng)用的需求。