基于 Intel R1000 的超高頻 RFID 讀寫(xiě)器設(shè)計(jì)
文章出處:http://m.dipdnbxp.cn 作者:黃志敏,李 鵬,高 遠(yuǎn),沈少武,徐斌富 人氣: 發(fā)表時(shí)間:2011年10月15日
0 引 言
RFID技術(shù)是一種非接觸的自動(dòng)識(shí)別技術(shù),通過(guò)無(wú)線射頻的方式進(jìn)行非接觸雙向數(shù)據(jù)通信,對(duì)目標(biāo)加以識(shí)別并獲取相關(guān)數(shù)據(jù)。RFID系統(tǒng)通常主要由電子標(biāo)簽、讀寫(xiě)器、天線3部分組成。讀寫(xiě)器對(duì)電子標(biāo)簽進(jìn)行操作,并將所獲得的電子標(biāo)簽信息反饋給PC機(jī)。射頻識(shí)別技術(shù)以其獨(dú)特的優(yōu)勢(shì),逐漸被廣泛應(yīng)用于生產(chǎn)、物流、交通運(yùn)輸、防偽、跟蹤及軍事等方面。按工作頻段不同,RFID系統(tǒng)可以分為低頻、高頻、超高頻和微波等幾類。目前,大多數(shù)RFID系統(tǒng)為低頻和高頻系統(tǒng),但超高頻頻段的RFID系統(tǒng)具有操作距離遠(yuǎn),通信速度快,成本低,尺寸小等優(yōu)點(diǎn),更適合未來(lái)物流、供應(yīng)鏈領(lǐng)域的應(yīng)用。盡管目前,RFID超高頻技術(shù)的發(fā)展已比較成熟,也已經(jīng)有了一些標(biāo)準(zhǔn),標(biāo)簽的價(jià)格也有所下降;但RFID超高頻讀寫(xiě)器卻有變得更大,更復(fù)雜和更昂貴的趨勢(shì),其消耗能量將更多,制造元件達(dá)數(shù)百個(gè)之多。然而,這里的設(shè)計(jì)采用高度集成的R1000,可以解決上述問(wèn)題,既可降低芯片設(shè)計(jì)中的復(fù)雜性和生產(chǎn)成本,又能使制造商制造出體積更小,更有創(chuàng)新性的讀寫(xiě)器,從而開(kāi)拓新的RFID應(yīng)用領(lǐng)域。
1 讀寫(xiě)器硬件結(jié)構(gòu)設(shè)計(jì)
該設(shè)計(jì)選用W78E465作為主控模塊,IntelR1000收發(fā)器作為射頻模塊。該設(shè)計(jì)可以作為手持終端,并用RS 232串行通信模塊和電平轉(zhuǎn)換接口MAX232與上位機(jī)相連。系統(tǒng)硬件原理見(jiàn)圖1。
1.1 主控模塊
W78E365是具有帶ISP功能的FLASH EPROM的低功耗8位微控制器,可用于固件升級(jí)。它的指令集與標(biāo)準(zhǔn)8052指令集完全兼容。W78E365包含64 KB的主ROM,4 KB的輔助FLASH EPROM,256 B片內(nèi)RAM;4個(gè)8位雙向、可位尋址的I/0口;一個(gè)附加的4位I/O口P4;3個(gè)16位定時(shí)/計(jì)數(shù)器及1個(gè)串行口。這些外圍設(shè)備都由有9個(gè)中斷源和4級(jí)中斷能力的中斷系統(tǒng)支持。為了方便用戶進(jìn)行編程和驗(yàn)證,W78E365內(nèi)含的ROM允許電編程和電讀寫(xiě)。一旦代碼確定后,用戶就可以對(duì)代碼進(jìn)行保護(hù)。
W78E365內(nèi)部ROM僅64 KB,內(nèi)存太小,故采用AT29C256作為外擴(kuò)ROM。線路連接見(jiàn)圖2。
1.2 收發(fā)模塊
射頻模塊采用Intel R1000收發(fā)器。R1000內(nèi)包含了一個(gè)能源擴(kuò)大器,使得它可以在近距離或者2 m內(nèi)對(duì)標(biāo)簽進(jìn)行編碼和閱讀,而具體距離由讀寫(xiě)器所使用的天線決定。有了額外的外部能源擴(kuò)大器,使用R1000讀寫(xiě)器的讀寫(xiě)范圍可以達(dá)到10 m。R1000必須與單獨(dú)的微處理器連接,這個(gè)微處理器可以把由R1000數(shù)字信息處理器產(chǎn)生的原始數(shù)據(jù)轉(zhuǎn)換成EPc或者18000-6c格式的代碼,其工作頻率為860~960 MHz,共有56個(gè)引腳,采用0.18μmSiGe BiCMOs先進(jìn)工藝,體積僅為8 mm×8 mm,功耗只有1.5 w左右,具有很高的集成度。
R1000與W78E365的連接見(jiàn)圖3。射頻信號(hào)經(jīng)天線進(jìn)入電橋,輸出信號(hào)被分為兩路,一路信號(hào)經(jīng)過(guò)帶通濾波器和不平衡到平衡的轉(zhuǎn)換進(jìn)入R1000的射頻輸入口。另一路信號(hào)經(jīng)不平衡到平衡的轉(zhuǎn)換進(jìn)人R1000的本振輸入口。這兩路信號(hào)在R1000內(nèi)部經(jīng)過(guò)解調(diào)和模/數(shù)轉(zhuǎn)換等一系列操作后,將所得的數(shù)字信息送給W78E365。W78E365對(duì)收到的信號(hào)經(jīng)解碼和校驗(yàn),將所得信息送往上位機(jī),并將其對(duì)R1000的命令編碼和加密后發(fā)送給R1000。這些命令在R1000內(nèi)部經(jīng)過(guò)調(diào)制和PA,再經(jīng)過(guò)平衡到不平衡的轉(zhuǎn)換和濾波,由天線發(fā)射出去。數(shù)字模塊中的時(shí)鐘驅(qū)動(dòng)來(lái)自于外部TCXO產(chǎn)生的24 MHz參考頻率。系統(tǒng)中通過(guò)∑-△DACS的信號(hào)頻率為24 MHz;通過(guò)∑-△ADCS的信號(hào)頻率為48 MHz。
R1000內(nèi)部集成了接收器和發(fā)射器。實(shí)質(zhì)上,接收器是一個(gè)零中頻接收機(jī)。下變頻后,直流的大部分被復(fù)位,由交流耦合電容器濾除。模擬中頻濾波器提供粗略的頻道選擇。它具有可編程帶寬滿足大范圍的數(shù)字通過(guò)率。該濾波器可以配置成兩個(gè)實(shí)際的低通濾波器,也可以配置成復(fù)雜的單相帶通濾波器。經(jīng)濾波后,I,Q信號(hào)被數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)。濾波器中自動(dòng)中頻增益的升高會(huì)降低模/數(shù)轉(zhuǎn)換器的動(dòng)態(tài)范圍。
R1000中,發(fā)射器支持同相正交矢量調(diào)制和極化調(diào)制。前者,用于SSB-ASK調(diào)制和反相幅移鍵控調(diào)制;后者,用于DSB-ASK。在這兩種調(diào)制方式下,數(shù)字模塊產(chǎn)生的信號(hào),經(jīng)過(guò)∑一△數(shù)/模轉(zhuǎn)換器和重建濾波器轉(zhuǎn)換成模擬信號(hào)。
在SSB-ASK調(diào)制方式下,基帶編碼信號(hào)經(jīng)希爾伯特濾波器產(chǎn)生復(fù)合的同相信號(hào)I和正交信號(hào)Q,經(jīng)∑-△數(shù)/模轉(zhuǎn)換器將I,Q數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),進(jìn)入模擬模塊,該模擬信號(hào)經(jīng)天線發(fā)射出去。在PR-ASK調(diào)制方式下,用混頻器將信號(hào)反相彌補(bǔ)AM部分的時(shí)延,反相時(shí)延控制有一個(gè)可編程時(shí)延,使極化調(diào)制的相位與幅度之問(wèn)的時(shí)間錯(cuò)誤趨于最小值。在DSB-ASK調(diào)制方式下,基帶編碼和脈沖信號(hào)同樣也經(jīng)過(guò)希爾伯特濾波器產(chǎn)生一個(gè)復(fù)合的I,Q信號(hào)。所不同的是脈沖成型信號(hào)預(yù)先進(jìn)行了扭曲,這樣可以補(bǔ)償調(diào)幅傳遞函數(shù)中的非線性。這個(gè)經(jīng)過(guò)預(yù)先扭曲的調(diào)幅控制信號(hào)經(jīng)過(guò)∑-△數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),最后通過(guò)天線發(fā)射出去。
基于功率要求和調(diào)制方式的不同,R1000有全功率非線性,低功率非線性和線性3種發(fā)射模式。在DSB-ASK調(diào)制模式下。R1000采用全功率非線性發(fā)射模式。為了發(fā)射R1000允許的天線上最大發(fā)射功率值為+30 dBm,需在R1000外部接1個(gè)PA。采用class—C極化調(diào)制能夠提高系統(tǒng)的功率效率。在這種發(fā)射方式下,只有在DSB—ASK調(diào)制方式才有效。低功率非線性發(fā)射模式與全功率非線性發(fā)射模式相似,只是外部不再需要PA。相反,只使用內(nèi)部較低的輸出功率,在這種發(fā)射方式下只有DSB—ASK調(diào)制方式有效。在線性發(fā)射模式下,R1000的PA—out信號(hào)與外部線性PA相連,這是因?yàn)镾SB—ASK調(diào)制方式要求1個(gè)線性的PA。需要指出的是在R1000外部接1個(gè)PA時(shí),會(huì)增加系統(tǒng)的復(fù)雜度,但同時(shí)放大了傳輸信號(hào)的功率,使信號(hào)傳輸距離更遠(yuǎn),提高了讀寫(xiě)器的讀寫(xiě)距離。
1.3 天線
對(duì)Intel R1000超高頻收發(fā)器,基于不同的天線子系統(tǒng),天線有兩種配置情況。第一種情況是單天線模式。在這種情況下,用一個(gè)回路來(lái)隔離發(fā)射路徑和接收路徑,每根天線都具備接收器和發(fā)射器的功能。第二種情況是雙天線模式。同樣用分離的天線將接收器和發(fā)射器連接起來(lái),通常情況下,兩根獨(dú)立的天線由一個(gè)開(kāi)關(guān)控制,每根天線僅具備接收器功能或發(fā)射器功能。
對(duì)單天線模式,因天線的反射系數(shù)并不理想,所以接收增益不能太大,會(huì)有飽和的問(wèn)題。以R1000的高接收靈敏度,可以搭配-10 dB左右的Coupler,視整體線路的隔離而定;對(duì)于雙天線模式,天線的收發(fā)隔離比較理想,接收路徑可以使用高增益。
該設(shè)計(jì)采用雙天線模式,用矩形微帶天線和同軸電纜構(gòu)成讀寫(xiě)器的天線。該微帶天線的基板材料采用介電常數(shù)比較高的陶瓷基片,厚0.635 mm。天線寬為70.5 mm,長(zhǎng)為52.689 mm,微帶線寬度為0.598 mm,饋電點(diǎn)選取在天線寬邊中心。經(jīng)過(guò)ADS仿真,該天線中心頻率為915 MHz。為減小天線反射系數(shù),達(dá)到較理想的匹配,對(duì)天線串聯(lián)一根長(zhǎng)度為18.471 mm,阻值為50Ω的傳輸線,然后再并聯(lián)一根長(zhǎng)度為24.678 mm,阻值為50Ω的傳輸線。經(jīng)ADS仿真優(yōu)化得知,在中心頻率915 MHz處,天線最大輻射方向上的方向性系數(shù)為3.535;效率為40.087%;增益為1.417。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 主程序
若系統(tǒng)在PC機(jī)的監(jiān)控下工作,則系統(tǒng)與PC機(jī)之間是主從通信模式。系統(tǒng)收到Pc機(jī)的命令便進(jìn)入初始化狀態(tài),按照主控程序進(jìn)行相應(yīng)的工作。處理完畢后,將所得信息送往PC機(jī)。主程序流程見(jiàn)圖4。
2.2 軟件設(shè)計(jì)
該設(shè)計(jì)采用曼徹斯特編碼方式,用2位二進(jìn)制數(shù)來(lái)表示一位二進(jìn)制數(shù)據(jù)信息。編碼波形的上升沿用01來(lái)表示,對(duì)應(yīng)數(shù)據(jù)信息0;下降沿用10來(lái)表示,對(duì)應(yīng)數(shù)據(jù)信息1。首先,對(duì)w78E365進(jìn)行初始化,使計(jì)數(shù)器TO工作在16位定時(shí)器工作模式下;T1工作在計(jì)時(shí)器工作模式下,對(duì)T0,T1賦初值,使:
TLO/1=(最大計(jì)時(shí)次數(shù)一要計(jì)數(shù)次數(shù))%256
THO/1=(最大計(jì)時(shí)次數(shù)一要計(jì)數(shù)次數(shù))/256
然后,設(shè)同步脈沖定時(shí)值為一位半碼寬,將有效數(shù)據(jù)編碼采用半位碼寬定時(shí)。接著啟動(dòng)定時(shí)器T0,檢測(cè)同步沿的到來(lái)。若檢測(cè)不到同步沿的到來(lái),則繼續(xù)檢測(cè);若檢測(cè)到同步沿的到來(lái),則開(kāi)始讀端口狀態(tài),并啟動(dòng)計(jì)時(shí)器T1。當(dāng)檢測(cè)到下一跳變沿到來(lái)時(shí),使計(jì)數(shù)器數(shù)目加1,且將對(duì)應(yīng)端口數(shù)字1編碼為10,對(duì)應(yīng)端口數(shù)字0編碼為01。之后進(jìn)入下一輪循環(huán),直至計(jì)數(shù)器數(shù)目達(dá)到碼長(zhǎng)為止。按照上面操作就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的編碼。同理,在進(jìn)行解碼時(shí)只要按照相反的逆操作進(jìn)行即可。
多字節(jié)CRC校驗(yàn)的方法一般是移位法。這種方法執(zhí)行起來(lái)速度較慢,但是其需要的空間小;另一種方法是查表法,即預(yù)先把多字節(jié)可能產(chǎn)生的余式計(jì)算出來(lái)組成一個(gè)余式表,直接查表而不進(jìn)行二進(jìn)制的除法。這是一種快速的方法,但是需要很大的空間。用標(biāo)準(zhǔn)CRC一16進(jìn)行校驗(yàn),則需要至少1~2 KB,對(duì)于MCU來(lái)說(shuō)是很不利的,故選擇前者。
該設(shè)計(jì)采用流密碼加密算法,將明文M分割成字符串和比特串M=m0,m1,…,mj,…,并逐位加密:EK(m)=Ek0(m0),Ekl(m1),…,Ekj(mj),…,其中密鑰流是K=k0,k1,…,kj…。對(duì)明文加密就是將K和M對(duì)應(yīng)的分量分別進(jìn)行模2相加,得到密文序列C。在接收端,合法的接收者將密文序列C與上述密鑰序列進(jìn)行簡(jiǎn)單的模2相加,將原來(lái)的明文恢復(fù)出來(lái)。序列密碼使用一個(gè)比特流發(fā)生器,以產(chǎn)生隨機(jī)二進(jìn)制數(shù)字流,稱為密碼比特流。密碼比特流直接作為密鑰使用,而且其長(zhǎng)度與明文報(bào)文的長(zhǎng)度相等??紤]到比特流發(fā)生器不是真正隨機(jī)的實(shí)際情況,流密鑰生成器用線性反饋移位寄存器構(gòu)造。
2.3 防碰撞程序
該設(shè)計(jì)采用非基于位碰撞的二進(jìn)制算法來(lái)實(shí)現(xiàn)防碰撞。防碰撞流程如圖5所示。
具體流程如下:
(1)發(fā)送Request命令給應(yīng)答器;
(2)發(fā)送Group-select命令和Ungroup-select命令給所有應(yīng)答器,使所有或部分應(yīng)答器參與沖突判斷過(guò)程:
①若有沖突,讀寫(xiě)器發(fā)送.Fail命令給選定應(yīng)答器,直到?jīng)]有沖突;
②若沒(méi)有沖突,讀寫(xiě)器發(fā)送Select命令給應(yīng)答器, 選定該應(yīng)答器。
(3)發(fā)送Data-Read命令給選定的應(yīng)答器:
①若正確接到應(yīng)答器反饋的信息,讀寫(xiě)器發(fā)送Success命令給選定應(yīng)答器;
②若未正確接收到應(yīng)答器反饋的信息,發(fā)送一定次數(shù)Resend命令給選定應(yīng)答器。超過(guò)該次數(shù)則認(rèn)為有沖突,進(jìn)入步驟(2)的①。
(3)當(dāng)讀寫(xiě)器讀寫(xiě)信息成功后,讀寫(xiě)器對(duì)選定應(yīng)答器發(fā)送Unselect命令,使應(yīng)答器進(jìn)入完全非激活的狀態(tài),不再應(yīng)答讀寫(xiě)器發(fā)送的命令。
為了重新活化應(yīng)答器,必須暫時(shí)離開(kāi)讀寫(xiě)器的作用范圍,以實(shí)行復(fù)位。通過(guò)以上程序就可以實(shí)現(xiàn)系統(tǒng)的防沖突功能。
3 結(jié) 語(yǔ)
設(shè)計(jì)在Modelsire 6.1中進(jìn)行功能和時(shí)序仿真,并通過(guò)Altera QuartusⅡ6.0的Stratix EPl SlOF484C5器件綜合。結(jié)果表明,該算法使用的寄存器為347,比基于位碰撞的算法使用的寄存器數(shù)少得多,節(jié)省了硬件資源。最大讀寫(xiě)標(biāo)簽數(shù)為3 595,讀寫(xiě)速度可達(dá)每秒1 000個(gè)標(biāo)簽,防碰撞算法效率接近50%,比傳統(tǒng)算法具有更高的TDMA信號(hào)利用率及平均識(shí)別效率。支持SSB-ASK和DSB-ASK雙重調(diào)制方式,具備單、雙天線模式,體積小,集成度高,可作為手持終端,且能夠在各種環(huán)境下即插即用。