摘 要: 在分析密勒調制副載波技術的基礎上,根據(jù)其編碼特征,,設計了一種簡單的解碼器,。首先對來自標簽的突發(fā)數(shù)據(jù)幀進行異或運算,然后根據(jù)異或運算結果解碼,,最后根據(jù)解出碼判斷數(shù)據(jù)幀的開始與結束,。
關鍵詞: Verilog HDL;密勒碼,;異或運算,;仿真
超高頻射頻識別UHF RFID技術具有可讀距離長、閱讀速度快,、防碰撞能力強及作用范圍廣的特點,,可廣泛應用于物流管理、交通管理,、物品跟蹤等領域,。在實際應用中,為實現(xiàn)電子標簽和讀寫器之間的數(shù)據(jù)通信,,需要對數(shù)據(jù)進行編碼,。密勒(Miller)編碼含有豐富的時鐘信息且具有較好的抗干擾能力,因此是RFID中進行數(shù)據(jù)通信的優(yōu)選碼型,。為改善讀寫器在擁堵環(huán)境或容易發(fā)生干擾環(huán)境中的工作能力,,ISO/IEC 18000-6C協(xié)議規(guī)定,電子標簽返回讀寫器的數(shù)據(jù)除可以選用FM0編碼外,,還可以選用密勒調制副載波序列(M=2,、4、8),以改變編碼速率[3],。在射頻通信領域,,有少量文獻對密勒解碼進行研究,但總體上缺乏對密勒解碼技術尤其是對密勒調制副載波序列解碼技術的詳細研究,。本文分析ISO/IEC 18000-6C協(xié)議中采用的密勒調制副載波技術,,設計并實現(xiàn)一種符合該協(xié)議的密勒解碼器。
1 密勒碼[3]
1.1 Miller基本功能和狀態(tài)圖
圖1顯示了生成Miller編碼的基本功能和狀態(tài)圖,?;鶐iller按順序在2個數(shù)據(jù)0之間變換相位?;鶐iller還在數(shù)據(jù)1符號的中間放置一個相轉化。圖1(b)所示的狀態(tài)圖描繪了基帶Miller基本功能的邏輯數(shù)據(jù)序列,。S1~S4狀態(tài)標記表明4種可能的Miller編碼符號,,代表各Miller碼基本功能的2個相位。這些狀態(tài)標簽還表示鍵入狀態(tài)后即傳輸?shù)腗iller波形,。狀態(tài)轉換標簽表示被編碼的數(shù)據(jù)序列的邏輯值,。例如,從狀態(tài)S2轉換到狀態(tài)S3是不允許的,,因為由此產生的傳輸在數(shù)據(jù)0和數(shù)據(jù)1之間的符號邊界上沒有相轉化,。圖1(b)所示的狀態(tài)圖不暗示任何特殊執(zhí)行。
1.2 副載波序列和結尾特征
Miller調制副載波序列,,每位應包含2,、4或8個副載波周期,具體情況視啟動該盤存周期的Query命令規(guī)定的M值而定,。在調制器輸出時測得的0或1符號的工作循環(huán)最低為45%,,最高為55%,標稱值為50%,。Miller發(fā)信應始終在每次傳輸結束時以“dummy”數(shù)據(jù)-1結尾[3],。
2 解碼器的設計與實現(xiàn)
傳統(tǒng)的密勒解碼是根據(jù)一個同步時鐘和一個計數(shù)器計值來判斷輸出,通過對輸入信號進行異或運算,,結合編碼特征,,判斷輸出,實現(xiàn)比較復雜,。
2.1 異或運算
首先,,通過時鐘的上升沿來激勵,一旦數(shù)據(jù)開始,,就將輸入的數(shù)據(jù)與時鐘異或,。如圖2,M=2(2個副載波周期),輸入data_in(010111000),,與clk異或,,結果就是re_mark。re_mark的波形與圖1 Miller基本功能的波形相似,,從而可以解出的碼為‘010111000’,,如圖2。
2.2 密勒解碼
整個解碼過程用一個有限狀態(tài)機控制,,圖3為解碼狀態(tài)機的程序說明圖,。M_value的值表示副載波周期的個數(shù),計數(shù)器counter用來記錄clk的周期數(shù),,pre_one記錄當讀到re_mark=1時,,之前有幾個re_mark=1,pre_zero記錄當讀到re_mark=0時,,之前有幾個re_mark=0,。其中State<={M_value,counter,,pre_one,,pre_zero}。
2.3 幀頭檢測
根據(jù)Miller副載波前同步碼的特性,,解碼出的數(shù)據(jù)首先要進行前同步碼的檢測,。程序中定義2個寄存器TRext、register,。前同步碼的幀頭0的個數(shù)由TRext所決定,。幀頭檢測模塊如圖4。當幀頭檢測到時,,輸出data_begin_valid=1,,否則data_begin_valid=0。
2.4 數(shù)據(jù)零的相位判斷
根據(jù)編碼特征:符號‘0’期間不發(fā)生相位翻轉,;符號‘1’中間處發(fā)生相位翻轉,;只有在相鄰符號都為‘0’時,符號分界處才發(fā)生相位翻轉,,解出的碼,,要進行0相位的判斷。
2.4.1 數(shù)據(jù)存儲
模塊的程序流程圖如圖5,。其中newdata0_zero_flag,、newdata1_zero_flag、zero_flag,、one_flag來自解碼模塊,。newdata0_zero_flag是數(shù)據(jù)0由連續(xù)低電平解碼的標志位;newdata1_zero_flag是數(shù)據(jù)0由連續(xù)高電平解碼的標志位;zero_flag是數(shù)據(jù)0的標志位,;one_flag是數(shù)據(jù)1的標志位,。
2.4.2 相位判斷
數(shù)據(jù)儲存模塊有2個功能,一個功能是儲存用于幀頭檢測的數(shù)據(jù),,另一個功能用于零相位的判斷,。其中寄存器data_begin_valid、counter_zero0,、counter_zero1,、zero_flag、data_valid來自數(shù)據(jù)存儲模塊,。counter_zero0表示連續(xù)幾個時鐘周期(具體個數(shù),,由M_value決定)的低電平而輸出的解碼數(shù)據(jù)0。counter_zero1表示連續(xù)幾個時鐘周期(具體個數(shù),,由M_value決定)的高電平而輸出的解碼數(shù)據(jù)0,。模塊程序流程圖如圖6。
2.4.3 幀尾檢測
解碼過程中,,當輸出數(shù)據(jù)為100時,,如果符號0之間發(fā)生相位翻轉了,,則error=0,反之,,error=1。之后再判斷解碼數(shù)據(jù)是否為連續(xù)的低電平,。如果是,,則判斷1為結束位,反之則判斷相位翻轉錯誤,。輸出data_over脈沖表示解碼結束,,同時error=1,然后停止解碼,,等待下一幀數(shù)據(jù)的到來,。
2.5 解碼器的實現(xiàn)
數(shù)據(jù)由data_in輸入,由data_begin控制數(shù)據(jù)的開始,;由data_out輸出,,同時data_out_valid必須等于1,error必須等于0,,否則0的相位有錯,。整個模塊如圖7。
3 仿真結果
本文設計的密勒調制副載波序列解碼器采用數(shù)字邏輯設計,,用Verilog HDL對該方法進行編程實現(xiàn),。為了驗證設計的正確性,本文使用Altera的Quartus II(V6.1)對設計進行電路綜合。 由于前同步碼格式,,副載波數(shù)取值的難易關系到仿真圖的坐標長短,,本文為便于解釋,M取2,,即M_value=0,TRext=0,。
3.1 幀頭檢測測試
當檢測到幀頭時,輸出data_begin_valid=1,。如果輸入data_in只是一個前同步碼,,則data_begin_valid輸出,如圖8,。
3.2 數(shù)據(jù)輸出仿真結果
數(shù)據(jù)‘10110001’從同步碼后輸入,,即從215 ns后輸入。解碼后,,從端口data_out輸出,,如圖9。同時data_out_valid必須為高電平,,error必須為低電平,。每來一個時鐘上升沿,從端口讀取解碼后的數(shù)據(jù),。
3.3 相位出錯仿真
數(shù)據(jù)從395 ns之后就輸入一串如同時鐘一樣的電平,。根據(jù)編碼特性,符號0之間必須相位翻轉,,否者就違反編碼規(guī)則,。數(shù)據(jù)符號0之間沒有相位翻轉,結果仿真就輸出error置高電平了,,如圖10,。
3.4 幀尾檢測仿真
幀尾檢測,用到一個5位的寄存器register_data,。其功能是存儲解碼輸出數(shù)據(jù),,一旦出現(xiàn)error=1,便判斷其存儲值是否為‘10000’,。結果為1就是結束標志,。從395 ns后,輸入1,,之后的數(shù)據(jù)如同時鐘數(shù)據(jù),。符號0相位未翻轉,之后再存儲幾個解碼數(shù)據(jù),,判斷是相位翻轉錯誤還是幀結尾標志,。如圖11,,出現(xiàn)了幀結尾標志。
本文分析了應用于超高頻RFID數(shù)據(jù)通信的密勒調制副載波技術的特點,,并基于該特點設計了一種密勒調制副載波序列解碼器,。該設計采用硬件描述語言編程實現(xiàn),并進行FPGA硬件驗證,。硬件測試結果驗證了該方法能夠正確地對副載波密勒編碼數(shù)據(jù)進行解碼,。
參考文獻
[1] 羅杰.Verilog HDL與數(shù)字ASIC設計基礎[M].武漢:華中科技大學出版社,2008,,3.
[2] 王鈿,,卓興旺.基于Verilog HDL的數(shù)字系統(tǒng)應用設計[M]. 北京:國防工業(yè)出版社,2007,,8.
[3] ISO/IEC 18000-6C:Information technology-Radio frequency identification for item management-Part 6:Parameters for air interface communications at 860 MHz to 960 MHz,,final draft[S].
[4] 樊昌信,張甫祤,,徐炳祥,,等.通信原理(第五版)[M].北京:國防工業(yè)出版社,2001:280-318.
[5] Takao Rokutan,,Hachioqi.Modified Miller Data Demodulator[P]. US:4,612,508,,1986.