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