《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一款新型太陽(yáng)能無(wú)線(xiàn)超高頻閱讀器的設(shè)計(jì)
一款新型太陽(yáng)能無(wú)線(xiàn)超高頻閱讀器的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第10期
田 野,張紅雨
電子科技大學(xué) 電子工程學(xué)院,四川 成都611731
摘要: 射頻識(shí)別是物聯(lián)網(wǎng)的關(guān)鍵技術(shù)之一,其中超高頻段(860 MHz~960 MHz)射頻識(shí)別系統(tǒng)是目前比較成熟的射頻識(shí)別系統(tǒng)。設(shè)計(jì)出一款太陽(yáng)能無(wú)線(xiàn)超高頻閱讀器。LPC2138片內(nèi)PLL可達(dá)60 MHz,具有很好的數(shù)據(jù)處理能力。μCOS-II操作系統(tǒng)是一款嵌入式強(qiáng)實(shí)時(shí)操作系統(tǒng),使用它能夠滿(mǎn)足閱讀器的多任務(wù)要求。CN3722是一款太陽(yáng)能采集芯片,能夠?qū)崿F(xiàn)最大功率點(diǎn)跟蹤。本設(shè)計(jì)采用CN3722配合鋰電池充電芯片TP4056,設(shè)計(jì)出一款多功能充電電路。無(wú)線(xiàn)數(shù)據(jù)傳輸方案采用藍(lán)牙轉(zhuǎn)串口模塊實(shí)現(xiàn)。
中圖分類(lèi)號(hào): TP29
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)10-0025-04
A new type of UHF reader with solar charge and wireless communication
Tian Ye,Zhang Hongyu
College of Electronic Engineering,University of Electronic Science and Technology of China, Chengdu 611731,China
Abstract: RFID is one of the key technologies of the Internet of Things, and UHF(860 MHz to 960 MHz) radio frequency identification system is relatively mature in RFID system. A new type of UHF reader with solar charge and wireless communication has been proposed in this paper. The PLL of LPC2138 can reach to 60 MHz and so the chip has good ability in data processing. μCOS-II is been selected to meet the UHF reader′s multiple tasks requirements. CN3722 is a solar energy collection chip, it combined with TP4056 to complete the task of lithium battery charging. Bluetooth module is used to realize wireless communication.
Key words : RFID;UHF reader;solar charging technology;μCOS-II

    射頻識(shí)別技術(shù)[1]是一種非接觸式自動(dòng)識(shí)別技術(shù),是構(gòu)建物聯(lián)網(wǎng)的關(guān)鍵技術(shù)。根據(jù)通信的頻段來(lái)劃分,可以分成低頻、高頻、超高頻和微波等射頻識(shí)別系統(tǒng)。目前市場(chǎng)上存在的超高頻閱讀器總是擺脫不了與上位機(jī)之間的物理連線(xiàn),物理連線(xiàn)主要用于供電和數(shù)據(jù)交換,在某些特殊場(chǎng)合,這些物理連線(xiàn)十分不方便,比如工作于戶(hù)外的UHF閱讀器。在這樣的背景下,本文基于UHF協(xié)議ISO/IEC18000-6C,結(jié)合太陽(yáng)能充電技術(shù)和無(wú)線(xiàn)通信技術(shù),設(shè)計(jì)出一款太陽(yáng)能無(wú)線(xiàn)UHF閱讀器,它能夠工作于戶(hù)外,與上位機(jī)實(shí)現(xiàn)無(wú)線(xiàn)通信。該閱讀器能夠在USB充電和太陽(yáng)能電池板充電兩者間自由切換,在有可接入電源時(shí),通過(guò)USB充電;沒(méi)有可接入電源時(shí),即在戶(hù)外時(shí),通過(guò)太陽(yáng)能給鋰電池充電。藍(lán)牙轉(zhuǎn)串口模塊實(shí)現(xiàn)閱讀器與上位機(jī)的無(wú)線(xiàn)通信。本文詳細(xì)介紹閱讀器的實(shí)現(xiàn)過(guò)程,主要工作有閱讀器模塊的設(shè)計(jì)、電源管理模塊的設(shè)計(jì)、PIE編碼和Miller序列解碼的軟件實(shí)現(xiàn)、μCOS-II實(shí)現(xiàn)多任務(wù)操作。

1 太陽(yáng)能無(wú)線(xiàn)UHF閱讀器硬件電路設(shè)計(jì)
1.1 整體框圖設(shè)計(jì)

    如圖1所示,系統(tǒng)硬件整體框圖由3個(gè)模塊組成:無(wú)線(xiàn)通信模塊(藍(lán)牙模塊)、閱讀器模塊和電源管理模塊。藍(lán)牙模塊實(shí)現(xiàn)閱讀器與上位機(jī)的無(wú)線(xiàn)通信,接收上位接發(fā)送的命令,同時(shí)向上位機(jī)傳送讀到的標(biāo)簽數(shù)據(jù)。閱讀器模塊完成命令的PIE編碼和射頻信號(hào)的發(fā)送、標(biāo)簽反射波的解調(diào)和Miller序列的解碼、電池電壓的檢查和掉電喚醒。電源管理模塊主要完成太陽(yáng)能的采集、USB充電、鋰電池的升壓以及產(chǎn)生電池電壓檢測(cè)信號(hào)。

1.2 無(wú)線(xiàn)通信模塊
    本次設(shè)計(jì)的無(wú)線(xiàn)通信模塊采用HC-05串口藍(lán)牙模組[2],它采用藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn)。配對(duì)時(shí)電流為30 mA~40 mA,配對(duì)完畢不通信時(shí)電流消耗為2 mA~8 mA,通信時(shí)消耗電流8 mA,通信距離約10 m。藍(lán)牙模塊串口TXD接閱讀器模塊RXD,藍(lán)牙RXD接閱讀器模塊TXD,并接上共地線(xiàn)。
1.3 閱讀器模塊設(shè)計(jì)
    閱讀器模塊主要分成兩部分:基帶數(shù)據(jù)處理和射頻信號(hào)收發(fā)。
    基帶數(shù)據(jù)處理部分主要完成命令的發(fā)送和標(biāo)簽返回信息的解碼。發(fā)送的命令采用PIE編碼,標(biāo)簽返回信息的編碼格式可以為副載波FM0基帶或者M(jìn)iller[3]副載波調(diào)制序列。
    射頻部分完成基帶信號(hào)的調(diào)制、調(diào)制信號(hào)的發(fā)射、標(biāo)簽反射信號(hào)的解調(diào)和放大。信號(hào)的發(fā)送過(guò)程:由RF合成器SI4133產(chǎn)生915 MHz載波,基帶信號(hào)通過(guò)ADI公司的射頻開(kāi)關(guān)器件ADG198實(shí)現(xiàn)對(duì)載波信號(hào)的OOK調(diào)制,調(diào)制后的信號(hào)經(jīng)過(guò)RF2162實(shí)現(xiàn)功率放大。功放RF2162為發(fā)熱器件,所以在硬件布板時(shí)應(yīng)該處理好RF2162的散熱,軟件設(shè)計(jì)上也要做好RF2162的保護(hù),讓其工作一段時(shí)間后關(guān)閉一段時(shí)間。放大后的射頻信號(hào)經(jīng)過(guò)微帶線(xiàn)完成50 ?贅阻抗匹配,由天線(xiàn)發(fā)送出去。
    信號(hào)的接收過(guò)程:接收電路采用UHF讀寫(xiě)器解調(diào)電路專(zhuān)利[4],標(biāo)簽反射信號(hào)經(jīng)過(guò)50 ?贅微帶線(xiàn),單端信號(hào)變雙端信號(hào),如圖2所示,雙端信號(hào)相位相差180°。在接收信號(hào)過(guò)程中,一直有載波發(fā)送(給標(biāo)簽提供能量),所以接收信號(hào)和915 MHz載波分成兩路在二極管上實(shí)現(xiàn)混頻解調(diào),再分別經(jīng)過(guò)LC濾波,成為兩路相位差為180°的差分信號(hào),經(jīng)過(guò)差分放大,最后經(jīng)過(guò)電壓比較芯片MAX942,解調(diào)出標(biāo)簽返回的FM0或Miller序列。

    本設(shè)計(jì)采用ARM7芯片LPC2138[5]處理基帶信號(hào)。通過(guò)調(diào)節(jié)PWM定時(shí)器的輸出波形周期和脈寬實(shí)現(xiàn)PIE波形的產(chǎn)生。通過(guò)定時(shí)器0的捕獲通道0捕獲FM0或Miller序列,并配合軟件解碼。
1.4 電源管理模塊設(shè)計(jì)
    根據(jù)設(shè)計(jì)需求,閱讀器每天連續(xù)讀卡時(shí)間約為2 h(其余時(shí)間待機(jī),功耗較低),每小時(shí)功耗為330 mW,鋰電池充滿(mǎn)一次電需工作10天。因此,選擇6 800 mAH的鋰電池作為儲(chǔ)能裝置。根據(jù)太陽(yáng)能電池板的工作效率和當(dāng)?shù)靥?yáng)光的照度,選擇10 W的太陽(yáng)能電池板作為太陽(yáng)能采集設(shè)備。
    電源管理模塊的具體要求為:(1)可以用USB對(duì)電池充電,也可以用太陽(yáng)能電池板對(duì)電池充電,當(dāng)用USB充電時(shí),切斷太陽(yáng)能電池板充電回路。(2)電源管理模塊向外提供穩(wěn)定的+5 V電壓,所以需對(duì)鋰電池進(jìn)行升壓穩(wěn)壓。(3)MCU需時(shí)刻監(jiān)測(cè)電池電量,如果電池電量低于一定額度(3 V),需強(qiáng)制使系統(tǒng)進(jìn)入掉電模式。(4)當(dāng)電池電壓恢復(fù)到正常值(3.9 V)后,將系統(tǒng)從掉電模式換醒。電源管理模塊電路圖如圖3、圖4所示。

    太陽(yáng)能充電電路以CN3722[6]為核心,它采用恒定電壓跟蹤法(CVT[7]),能最大效率地利用太陽(yáng)能。通過(guò)電阻RCS設(shè)定恒流充電時(shí)充電電流的大小,本次設(shè)計(jì)恒流充電電流為1 A。該芯片能夠?qū)︿囯姵貙?shí)現(xiàn)三段充電法充電。USB充電芯片采用TP4056,按要求,有USB充電時(shí),斷開(kāi)太陽(yáng)能充電電路,如圖4所示,采用PMOS來(lái)實(shí)現(xiàn)。當(dāng)有USB充電時(shí),Q3:Vg=5 V,Vs<4.2 V(鋰電池最大電壓),Q3截止。同理,有USB充電時(shí),Q1也截止,USB為整個(gè)系統(tǒng)提供電能。由于電池電源不穩(wěn)定,所以還要加上一個(gè)DC-DC升壓電路SP6641B-5,為閱讀器模塊提供穩(wěn)定的5 V輸入電壓。
    LPC的AD0.0引腳接圖4所示的VADC,引腳P0.1接OP輸出EINT0,實(shí)現(xiàn)實(shí)時(shí)電池電壓監(jiān)測(cè)。當(dāng)電壓低于1.5 V(鋰電池電壓低于3 V被分壓)時(shí),設(shè)置P0.1接收高電平中斷,系統(tǒng)進(jìn)入掉電模式。而當(dāng)電池電壓高于3.9 V時(shí),OP的輸出EINT0將輸出高電平,產(chǎn)生EINT0中斷,將系統(tǒng)從掉電模式喚醒。3.9 V和3 V有0.9 V的窗口,從而避免監(jiān)測(cè)誤差使系統(tǒng)頻繁地在正常模式和掉電模式間切換。
2 太陽(yáng)能無(wú)線(xiàn)UHF閱讀器軟件設(shè)計(jì)
2.1 PIE編碼和Miller序列解碼

    關(guān)于基帶信號(hào)處理,關(guān)鍵是PIE碼的產(chǎn)生和Miller序列的解碼。
    根據(jù)ISO18000-6C協(xié)議,Tari為詢(xún)問(wèn)機(jī)向標(biāo)簽發(fā)送信號(hào)(PIE碼)的基準(zhǔn)時(shí)間間隔,即數(shù)據(jù)0的持續(xù)時(shí)間。PW為T(mén)ari時(shí)間間隔中,低電平所持續(xù)的時(shí)間。本設(shè)計(jì)選擇Tari為6.25 &mu;s,PW為3.125 ?滋s。數(shù)據(jù)1的周期為12.5 &mu;s,PW為3.125 &mu;s。為了方便通過(guò)PWM產(chǎn)生波形,將數(shù)據(jù)1的波形分成6.25 ?滋s高電平再加上數(shù)據(jù)0的波形。LPC2138的PWM5(引腳P0.21)作為PWM輸出。寄存器PWMMR0設(shè)置PIE序列周期,PWMMR5設(shè)置下降沿的位置。在PWM中斷處理程序中更新寄存器PWMMR0和PWMMR1的值來(lái)產(chǎn)生下一個(gè)PIE序列。
    標(biāo)簽發(fā)射回的信息符合FM0編碼規(guī)則:(1)在每位數(shù)據(jù)邊界倒轉(zhuǎn)相位。(2)數(shù)據(jù)0在其中間有一個(gè)相位倒轉(zhuǎn)。一般一個(gè)FM0碼用一個(gè)副載波表示,但有時(shí)為了降低信號(hào)檢測(cè)誤碼率,可以用2、4或者8個(gè)副載波表示一個(gè)FM0碼,稱(chēng)之為Miller副載波調(diào)制技術(shù)。閱讀器發(fā)送query命令時(shí)選擇副載波數(shù),本設(shè)計(jì)采用M=2。Miller2碼的規(guī)則:每個(gè)數(shù)據(jù)序列用兩個(gè)副載波周期表示,數(shù)據(jù)0的副載波周期不發(fā)生相位翻轉(zhuǎn),數(shù)據(jù)1的副載波周期發(fā)生相位翻轉(zhuǎn),兩個(gè)數(shù)據(jù)0邊界要發(fā)生相位翻轉(zhuǎn)。在本設(shè)計(jì)中將query中的TRext位設(shè)為1,這樣每次從標(biāo)簽中返回Miller序列時(shí),都有16個(gè)前導(dǎo)0加上010111(前同步碼),通過(guò)檢測(cè)前導(dǎo)序列來(lái)判斷是否已經(jīng)開(kāi)始反射數(shù)據(jù)。
    通過(guò)LPC2138定時(shí)器0的捕獲功能和狀態(tài)機(jī)完成Miller2序列的檢測(cè)。研究Miller2序列發(fā)現(xiàn),Miller2序列下降沿的時(shí)間間隔只有圖5所示的兩種情況:T或者1.5T(T為T(mén)ari=6.25 &mu;s)。通過(guò)定時(shí)器0的捕獲通道0捕獲Miller序列的下降沿,并在中斷處理程序中讀取當(dāng)前定時(shí)器快照的計(jì)數(shù)值,求出與上次計(jì)數(shù)值的差值。然后通過(guò)圖6所示的狀態(tài)機(jī),就能夠解碼標(biāo)簽反射的Miller2序列。如圖6所示,Sx為起始狀態(tài),a/b(a:輸入,b:輸出)箭頭指向從初態(tài)到次態(tài)。

    LPC2138接收Miller2序列的引腳為P0.2,設(shè)置該引腳捕獲下降沿,下降沿到來(lái)時(shí),進(jìn)入中斷處理程序,讀取捕獲寄存器CR0的值。計(jì)算出與上次下降沿之間的差值a,將差值存入FIFO(全局?jǐn)?shù)組)中,在沒(méi)有下降沿捕獲時(shí),處理器執(zhí)行解碼程序。本設(shè)計(jì)采用邊接收編解碼的方法。這是因?yàn)?,根?jù)ISO18000-6C協(xié)議,命令間有時(shí)限要求,若接收完Miller2序列后,再進(jìn)行解碼,可能會(huì)破壞這種時(shí)限。
2.2 ISO18000-6C命令和多任務(wù)的實(shí)現(xiàn)
2.2.1 ISO18000-6C命令

    完成了PIE碼發(fā)送和標(biāo)簽返回Miller2副載波的解碼,就能夠很容易地實(shí)現(xiàn)ISO18000-6C規(guī)定的所有命令。根據(jù)協(xié)議,命令分為三類(lèi):選擇命令(select)、盤(pán)存命令(query、queryadjust、ACK等)和訪(fǎng)問(wèn)命令(Read、Write、Lock、BlockWrite、BlockErase)。根據(jù)協(xié)議中命令的格式,分別予以實(shí)現(xiàn)。
2.2.2 多任務(wù)的實(shí)現(xiàn)
    &mu;COS-II[8]是一款搶占式多任務(wù)操作系統(tǒng)內(nèi)核,應(yīng)用十分廣泛,將其移植到LPC2138也十分容易。本設(shè)計(jì)要求閱讀器有以下功能:多卡訪(fǎng)問(wèn)(盤(pán)存)、單卡訪(fǎng)問(wèn)、低電壓監(jiān)測(cè)。多卡訪(fǎng)問(wèn)操作即批量讀卡;單卡訪(fǎng)問(wèn)即對(duì)一張卡進(jìn)行讀/寫(xiě)、鎖定和批量訪(fǎng)問(wèn)等操作;低電壓監(jiān)測(cè)實(shí)現(xiàn)檢測(cè)電池電壓的功能,當(dāng)電池電壓低于門(mén)限電壓下限時(shí),讓閱讀器工作于掉電模式,待電池電壓恢復(fù)到門(mén)限電壓上限時(shí)將系統(tǒng)喚醒。
    創(chuàng)建3個(gè)用戶(hù)任務(wù):MainTask、Tag_Inventory、Tag_Operate,創(chuàng)建2個(gè)信號(hào)量:Semp_Invent和Semp_Operate。MainTask任務(wù)優(yōu)先級(jí)最高,設(shè)為5,完成電壓檢測(cè)和操作模式的選擇;任務(wù)Tag_Inventory優(yōu)先級(jí)為6,完成多卡訪(fǎng)問(wèn);任務(wù)Tag_Operate優(yōu)先級(jí)為7,完成單卡訪(fǎng)問(wèn)。當(dāng)進(jìn)入MainTask任務(wù)后,馬上獲取2個(gè)信號(hào)量,使用case語(yǔ)句實(shí)現(xiàn)任務(wù)選擇,選擇到某項(xiàng)任務(wù)后,釋放該任務(wù)所對(duì)應(yīng)的信號(hào)量,執(zhí)行相應(yīng)任務(wù)。在任務(wù)中,先獲取相應(yīng)信號(hào)量,如OSSemPend(Semp_Invent,0,&err),然后執(zhí)行該任務(wù),最后釋放信號(hào)量OSSemPost(Semp_Read)。
    主任務(wù)中有兩項(xiàng)功能:(1)完成對(duì)系統(tǒng)電壓的檢查。當(dāng)電壓小于3.0 V時(shí),系統(tǒng)進(jìn)入掉電模式,之后,只有當(dāng)系統(tǒng)電壓大于3.9 V后,才可通過(guò)外部中斷將系統(tǒng)喚醒。(2)讀卡模式選擇。選擇多卡訪(fǎng)問(wèn)模式時(shí),系統(tǒng)盤(pán)存完附近的UHF卡的EPC后返回主任務(wù)。選擇單卡訪(fǎng)問(wèn)模式時(shí),可以對(duì)單張UHF卡執(zhí)行讀、寫(xiě)、鎖定、塊讀和塊寫(xiě)等操作。
3 實(shí)驗(yàn)結(jié)果

 


    連接好太陽(yáng)能電池板、電源管理模塊、閱讀器模塊、和無(wú)線(xiàn)通信模塊,消耗鋰電池的電能,直至系統(tǒng)進(jìn)入掉電模式,然后將設(shè)備置于陽(yáng)光充足的戶(hù)外,采取適當(dāng)?shù)纳岷头浪胧?。充電一段時(shí)間后,上位機(jī)藍(lán)牙設(shè)備匹配閱讀器藍(lán)牙模塊,匹配成功后,向閱讀器發(fā)送盤(pán)存命令,太陽(yáng)能無(wú)線(xiàn)超高頻閱讀器能夠正確讀出多張標(biāo)簽的EPC(只讀EPC最后16 bit):FFAB、FF09、FFA9、FF22、FF6C、FF37。實(shí)驗(yàn)結(jié)果證明達(dá)到了設(shè)計(jì)預(yù)期。
參考文獻(xiàn)
[1] 游占清,李蘇劍.無(wú)線(xiàn)射頻識(shí)別技術(shù)理論與應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[2] 天貓商城.HC-05藍(lán)牙模塊[EB/OL].(2013-03)[2013-6-8].http://detail.tmall.com/item.htm?spm=a230r.1.14.1.Cvs0Nd&id=17857557766.
[3] 吳小龍,張紅雨.基于ISO18000-6C協(xié)議標(biāo)準(zhǔn)的RFID閱讀器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012(9):32-38.
[4] 武漢盛華微系統(tǒng)技術(shù)股份有限公司.UHF讀寫(xiě)器解調(diào)電路:中國(guó),200910210904.6[P].2010-05-12.
[5] NXP Semiconductor.LPC2131/32/34/36/38 Datasheet[EB/OL].(2011-7-29)[2013-6-8].http://www.NXP.com.
[6] 如韻電子.CN3722 Datasheet[EB/OL].(2012-8-02)[2013-6-8].http://www.consonance-elec.com/.
[7] 左巧安,陳道煉.光伏發(fā)電系統(tǒng)最大功率點(diǎn)跟蹤控制方法研究[J].電工電氣,2010(7):8-12.
[8] LABROSE J J.嵌入式實(shí)時(shí)操作系統(tǒng)&mu;COS-II[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。