一種符合EPCC1G2協(xié)議的RFID反向鏈路數(shù)據(jù)解碼技術(shù)的實現(xiàn)
引言
物聯(lián)網(wǎng)技術(shù)是當前新興應用的熱點技術(shù)之一,國內(nèi)多行業(yè)、多地區(qū)正積極摸索其應用模式,并推廣其相對成熟的應用技術(shù)。物聯(lián)網(wǎng)架構(gòu)中的三個層面也陸續(xù)推出了相關的技術(shù)協(xié)議或標準,其中EPCC1G2協(xié)議已基本被業(yè)界所接受,并形成初步應用的協(xié)議支撐。該協(xié)議規(guī)定了在860~960MHz的頻率范圍內(nèi)操作的無源反向散射、詢問機講話優(yōu)先(ITF)和射頻識別(RFID)系統(tǒng)要求,其中規(guī)定了反向鏈路數(shù)據(jù)采用FM0或Miller編碼方式。本文著重介紹反向鏈路數(shù)據(jù)解碼,并給出了基于MCU的ADCFM0解碼技術(shù)及實現(xiàn)。
1EPCC1G2協(xié)議中的反向鏈路數(shù)據(jù)編碼約定
1.1FM0編碼
FM0(即Bi-PhaseSpace)編碼的全稱為雙相間隔碼編碼,其工作原理是在一個位窗內(nèi)采用電平變化來表示邏輯。如果電平從位窗起始處開始翻轉(zhuǎn),則表示邏輯1;如果電平不僅在位窗起始處翻轉(zhuǎn),還在位窗中間處翻轉(zhuǎn),則表示邏輯0。FM0在每個邊界倒轉(zhuǎn)基帶相位,數(shù)據(jù)0有一個附加的中間符號相位倒轉(zhuǎn)。圖1的狀態(tài)圖描繪了所發(fā)送的FM0基本功能的邏輯數(shù)據(jù)序列。S1~S4狀態(tài)標記表明四種可能FM-編碼符號,代表各FM0基本功能的兩個相位。這些狀態(tài)標簽還表示鍵入狀態(tài)后即傳輸?shù)腇M0波形。狀態(tài)轉(zhuǎn)換的標簽表示被編碼的數(shù)據(jù)序列的邏輯值。例如,從狀態(tài)S2轉(zhuǎn)換到狀態(tài)S3是不允許的,因為由此產(chǎn)生的傳輸在符號邊界上沒有相轉(zhuǎn)化。
圖2所示是所發(fā)生的基帶FM0符號和序列。在調(diào)制器輸出時測得的00或11序列的工作循環(huán)應最低為45%,最高為55%,標稱值為50%。FM0編碼有存儲器,因此,圖2中的FM0序列的選擇取決于前一次傳輸。如圖3所示,F(xiàn)M0發(fā)信應始終在每次傳輸結(jié)束時以dummy數(shù)據(jù)1結(jié)尾。
反向鏈路數(shù)據(jù)發(fā)信應以圖4所示的兩個前同步碼開始。至于選擇哪個前同步碼應以啟動該盤存周期的Query命令規(guī)定的TRext位的數(shù)值為準。而對應的編碼示例則如圖5所示,一個位窗的持續(xù)時間是25μs。
1.2Miller編碼
Miller碼也稱延遲調(diào)制碼,是一種變形雙向碼。其編碼規(guī)則:數(shù)據(jù)符號由相應的碼元相位電平翻轉(zhuǎn)來描述,在UHFRFID系統(tǒng)協(xié)議中規(guī)定了Miller序列每位應包含2、4或8個副載波周期,具體情況視啟動該盤存周期的Query命令規(guī)定的M值而定;在Miller基帶序列中兩個碼元之間,即在每一碼元起始處放置一個相位翻轉(zhuǎn),代表數(shù)據(jù)符號0;在Miller基帶序列中一個碼元中間放置一個相位翻轉(zhuǎn),則代表數(shù)據(jù)符號1,即對應的碼元相位邏輯為01或10。關于Miller編碼的發(fā)生器狀態(tài)圖、副載波序列圖等請查閱EPCC1G2協(xié)議,在此不再贅述。
2基于AD的反向鏈路數(shù)據(jù)解碼技術(shù)及實現(xiàn)
以FM0解碼為例,通常解碼的基本思路是數(shù)據(jù)“0”在信號周期中心存在電平翻轉(zhuǎn),而數(shù)據(jù)“1”在整個信號周期都不進行電平翻轉(zhuǎn);由此利用對電平不同翻轉(zhuǎn)情況的判決即可實現(xiàn)對數(shù)據(jù)“0”或“1”的識別,從而完成對FM0的解碼?;诖怂枷雽崿F(xiàn)FM0解碼的技術(shù)平臺選擇是比較豐富的,效率較高的選擇是基于FPGA平臺將兩個下降沿之間的時間間隔和系統(tǒng)時鐘之間的關系通過VHDL程序?qū)崿F(xiàn)對FM0的解碼算法。另外一種常用的技術(shù)平臺是基于MCU平臺,通過外圍I/Q比較電路對接收信號的電平翻轉(zhuǎn)進行判決,再將信號送入MCU,利用MCU內(nèi)部PCA模塊實現(xiàn)對電平翻轉(zhuǎn)的中端響應,完成電平翻轉(zhuǎn)計數(shù),實現(xiàn)對翻轉(zhuǎn)邏輯判決,從而實現(xiàn)對FM0的解碼算法。其解碼效率能基本保證需要,但會增加外圍電路,從而加大設備體積。目前,隨著物聯(lián)網(wǎng)應用的廣泛,對感知層的數(shù)據(jù)采集端設備的體積和成本越發(fā)敏感,因此需要對讀寫端設備進行小型化和高效化設計,其中反向鏈路的數(shù)據(jù)解碼技術(shù)是關系到讀寫端設備關鍵功能指標的重要技術(shù)點。本文提出了基于低成本MCU平臺,利用MCU內(nèi)部ADC和TIMER模塊實現(xiàn)FM0解碼技術(shù)。
2.1解碼技術(shù)設計與實現(xiàn)
2.1.1硬件資源分析
本文解碼技術(shù)設計以MCU內(nèi)部ADC模塊和TIMER模塊為實現(xiàn)解碼的硬件基礎;MCU采用C8051F120為控制器平臺,使用該控制器內(nèi)部的8位ADC模塊和16位TIMER模塊;8位ADC模塊包括一個8通道可配置模擬多路開關(AMUX2),一個可編程增益放大器(PGA2)和一個500ks/s、8bit分辨率的逐次逼近寄存器型ADC。
下面分析ADC2提供的跟蹤和轉(zhuǎn)換方式及其周期。ADC2最高轉(zhuǎn)換速度為500ks/s,ADC2的轉(zhuǎn)換時鐘取自系統(tǒng)時鐘分頻,最大轉(zhuǎn)換時鐘頻率為6MHz。ADC2提供外部和內(nèi)部跟蹤模式,為了節(jié)省外部電路,我們采用內(nèi)部跟蹤模式。ADC2內(nèi)部跟蹤模式提供了低功耗跟蹤模式和通常跟蹤模式,主要區(qū)別在于前者需要三個SAR時鐘的跟蹤周期消耗。圖6所示是ADC2跟蹤和轉(zhuǎn)換時序示意圖。
考慮到ADC建立時間對于解碼效率的影響,我們進一步分析ADC2的建立時間。在ADC2內(nèi)部模塊中確定該時間由ADC2模擬多路開關的電阻、ADC2采樣電容、外部信號源阻抗及所要求的轉(zhuǎn)換精度決定。其數(shù)值可由下述方程式估算:
可知,當SA精度為1/4LSB值時,建立時間大致為1.73四
結(jié)合EPGC1G2協(xié)議約定的Tari值最佳范圍在6.25~25ns,因此對于反向鏈路數(shù)據(jù)解碼速率而言,若采用ADC2對輸入FMO基帶碼元信號進行采樣,是可以滿足采用速率需要的。
2.1.2解碼設計
針對EPCC1G2協(xié)議的反向鏈路數(shù)據(jù)解碼,本文提出的解碼設計思路為:首先根據(jù)反向數(shù)據(jù)速率,將MCU內(nèi)部TIMER2模塊配置為自動重載模式,并根據(jù)數(shù)據(jù)速率值設定時鐘定時參數(shù);其次,將內(nèi)部ADC2模塊配置為窗口檢測模式,根據(jù)協(xié)議規(guī)定數(shù)據(jù)波形上升沿及下降沿電平值,分別設定ADC2GT和ADC2LT參數(shù)值;當TIMER2時鐘定時中斷到來時,在中斷響應中啟動可編程窗口檢測器,使得ADC2對此刻輸入信號進行采樣,并進行窗口判決,根據(jù)判決返回值,對當前信號進行電平判定;最后將判定結(jié)果交由FMO解碼算法進行前導零、同步及數(shù)據(jù)解碼處理,從而實現(xiàn)對FMO的解碼過程。其解碼邏輯示意圖如圖7所示。
2.2解碼算法實現(xiàn)
2.2.1解碼軟件實現(xiàn)流程
基于MCU平臺,實現(xiàn)如前所述的解碼設計,重點在于對MCU定時器和ADC2模塊的精確配置和高效使用。因此,實現(xiàn)FM0解碼軟件過程,首先進行TIMER2和ADC2模塊相關寄存器的初始化配置;隨后在進入Tag接收狀態(tài)后實時啟動TIMER2,等待TIMER2的定時中斷;當TIMER2時鐘中斷到來時,在中斷響應中及時啟動ADC2,對單路輸入信號或差分輸入信號進行采樣,并通過初始化配置完成的ADC2窗口檢測器,對采樣的信號進行電平范圍初判決;電平判決完成后先進行輸入啟動信號的判斷,如果啟動有效,則進行正式的FM0解碼;解碼過程首先是對前導零判決,當前導零識別完成后,可根據(jù)判決情況對TIMER2同步周期進行微調(diào),然后進入前同步碼判決,此處需對同步碼中“V”位的處理進行寬泛調(diào)整以抵消同步延遲產(chǎn)生的影響,在前同步碼完成解碼后,需立即進行同步周期調(diào)整,隨后進入數(shù)據(jù)位解碼過程,當數(shù)據(jù)位中停止位判決生效后,即完成此次FM0解碼周期,等待進入下一個FM0解碼循環(huán)期。圖8所示是其解碼算法實現(xiàn)流程示意圖。
圖8 解碼算法實現(xiàn)流程示意圖
FM0解碼技術(shù)實現(xiàn)效果
按照解碼設計思路,在MCU平臺采用C語言代碼編程,通過示波器抓到的實際運行信號波形圖如圖9所示。從波形可以觀察到,起始位檢測在第4個前導零啟動,并使用3次ADC采用比較數(shù)據(jù)防止抖動干擾;對前導零的解碼使用了6個采樣周期,共解碼出5個有效前導零,并且在前導零期間觸發(fā)了一次采樣調(diào)整和延遲調(diào)整;對前同步碼的解碼過程觸發(fā)了一次采樣調(diào)整;由于前期的調(diào)整,因此在進入數(shù)據(jù)位解碼過程時同步周期保持良好,未觸發(fā)調(diào)整動作。
3反向鏈路數(shù)據(jù)解碼技術(shù)實現(xiàn)關鍵點分析
本文給出的基于MCU平臺并利用ADC模塊實現(xiàn)對EPCC1G2協(xié)議中反向鏈路數(shù)據(jù)解碼的設計思路,可在實際實現(xiàn)過程中通過對FM0碼的解碼得到可行性證明。同時,此實現(xiàn)方法與通常做法相比較,在實現(xiàn)過程中也存在一些影響解碼效果和效率的關鍵因素需要分析,以完善此方法,使之更加滿足實現(xiàn)目標的期望。
圖9 FM0解碼波形圖
ADC解碼技術(shù)的同步調(diào)整
在ADC解碼技術(shù)中,TIMER2的定時周期與FM0碼信號周期的同步是決定能否正確在電平翻轉(zhuǎn)點執(zhí)行ADC采樣的關鍵因素。信號從空口接收到再經(jīng)射頻通道處理的過程,可能會由于時鐘延遲或頻點漂移對正常信號產(chǎn)生干擾,此干擾嚴重時,會直接影響碼形上升或下降沿的變化,造成解碼采樣周期失諧。對此,在解碼過程中應增加對定時周期的延遲調(diào)整機制,通過延遲調(diào)整抵消波形延遲對解碼產(chǎn)生的干擾影響。
ADC解碼技術(shù)的電平采樣效率
在ADC解碼技術(shù)中,對信號翻轉(zhuǎn)的判決是利用ADC對波形采樣并進行窗口檢測來實現(xiàn)的。如前所示,波形的輸入常會受到不利干擾,從而影響波形上升或下降沿的躍變過程,因而需要提高對此過程的采樣精度和準確度,以保證采樣效率。為此,本文給出動態(tài)采樣調(diào)整方法,即通過對采樣數(shù)據(jù)進行簡化、比較、分析,然后動態(tài)調(diào)整采樣點的采樣次數(shù),從而保證采樣效率;此方法不是盲目增加采樣次數(shù),因而不會造成采樣建立時間、轉(zhuǎn)換時間增多,從而降低采樣周期的無效延遲。
4結(jié)論
本文給出的針對EPCC1G2協(xié)議的反向鏈路數(shù)據(jù)解碼技術(shù),已在實際設備中進行了驗證,并對其實現(xiàn)的效果從功能和性能方面進行了分析和評估,可以證明其實現(xiàn)的有效性。同時,本文也注意到在符合EPCC1G2的解碼技術(shù)中,從技術(shù)實現(xiàn)平臺的不同分類,可以分為FPGA平臺和MCU平臺。FPGA平臺可以通過內(nèi)部數(shù)字電路設計,并由VHDL編程實現(xiàn),此平臺的可支持解碼資源較為豐富,實現(xiàn)效率較高;而對于MCU平臺,通常是采用先經(jīng)外部電平檢測電路對輸入信號進行電平翻轉(zhuǎn)判斷,然后輸入給MCU并利用其PCA模塊進行翻轉(zhuǎn)計數(shù),并以此為基礎實現(xiàn)解碼。
當然,本文提供的技術(shù)仍可以在提高解碼可靠性、采樣精度以及減少采樣過程延遲影響等方面進一步完善??傊?當前,物聯(lián)網(wǎng)應用和發(fā)展的趨勢表明,感知層設備將在組件化應用方面得到進一步強化,因此,本文針對符合EPCC1G2的物聯(lián)網(wǎng)協(xié)議,以精簡硬件資源、提高設備性能為目標的解碼技術(shù)運用,將有助于感知層設備的組件化實現(xiàn)和推廣。
20211017_616c461825395__一種符合EPCC1G2協(xié)議的RFID反向鏈路數(shù)據(jù)解碼技術(shù)的實現(xiàn)