ARM9的超高頻讀寫器基帶編解碼設(shè)計
摘要:根據(jù)超高頻RFID國際標準協(xié)議EPC GEN2中的規(guī)定,基于ARM9芯片S3C2440提出一種適用于超高頻讀寫器的PIE編碼以及MILLER2解碼的實現(xiàn)方式。設(shè)計中使用該芯片的PWM輸出進行編碼,并使用其外部中斷進行解碼。通過分析示波器捕捉到的MILLER2波形以及串口打印的解碼輸出,驗證了該設(shè)計的正確性。
關(guān)鍵詞:S3C2440;EPC GEN2協(xié)議;超高頻讀寫器;PIE編碼;MILLER2解碼
引言
普通的UHF讀寫器主控芯片使用FPGA較多,其優(yōu)點是FPGA對時序邏輯處理速度快,使用HDL語言很容易實現(xiàn)協(xié)議的編碼與解碼,但FPGA芯片本身很少具備串口、網(wǎng)口等通信接口模塊,功能擴展較麻煩。由于ARM9芯片集成了很多擴展接口,同時進行操作系統(tǒng)移植等更高層次的設(shè)計也變得很容易,但對時序邏輯處理較難。因而本文提出了基于ARM9的UHF RFID讀寫器基帶編解碼方法,并加以實現(xiàn)。
1 基本原理
UHF RFID國際標準協(xié)議規(guī)定讀寫器到電子標簽的通信應采用DSB—ASK、SSB—ASK或者PR—ASK調(diào)制方式。本文使用ARM9芯片S3C2440的PWM(脈寬調(diào)制)控制模塊進行PIE編碼,通過編碼信號控制射頻開關(guān)實現(xiàn)OOK調(diào)制。電子標簽接收到命令后反向散射副載波應答,經(jīng)過射頻模塊的天線接收后被解調(diào)電路還原成MILLER2數(shù)據(jù)。構(gòu)造MILLER2解碼狀態(tài)機,使用S3C2440的外部中斷對MILLER2時序序列進行上升沿捕捉,捕捉到的兩次中斷的時間間隔作為狀態(tài)機輸入,進而解調(diào)出標簽反射回來的數(shù)據(jù)。系統(tǒng)的硬件框圖如圖1所示。
讀寫器射頻模塊的工作流程為:發(fā)送命令時,PIE編碼電平控制射頻芯片開關(guān),當開關(guān)開啟時輸出射頻載波,關(guān)閉則不輸出,以達到OOK調(diào)制載波的目的。接收機采用零中頻接收機方案,直接對天線接收到的標簽反向散射信號進行解調(diào),解調(diào)完畢得到相位相差90°的I、Q兩路信號,通過差分放大器放大處理后,輸出到比較器,經(jīng)過比較后電路輸出MILLER2編碼時序信號。
2 PIE編碼
2.1 PIE碼簡介
EPC GNE2協(xié)議規(guī)定UHF讀卡器向標簽發(fā)送命令時,數(shù)據(jù)應采用PIE編碼。PIE碼通過高低電平的時間長度不同來規(guī)定數(shù)據(jù)是“1”還是“0”。協(xié)議使用Tari代表數(shù)據(jù)“0”,時間長度在6.25~25μs范圍內(nèi),容差為±1%,數(shù)據(jù)“1”的寬度在為1.5Tari~2.5Tari,如圖2所示。本次編碼中,Tari值為6.4μs,數(shù)據(jù)“1”的長度為11.4μs,PW的長度為3.2μs。
協(xié)議規(guī)定,完整的PIE碼需在有效數(shù)據(jù)前加上前同步碼或幀同步碼。前同步碼由定界符、Tari、RTcal以及TRcal這4段組成,用在Query命令上。幀同步碼省去了TRcal而直接由前三項組成,用在其他命令上。前同步碼示意如圖3所示。
2.2 PWM實現(xiàn)PIE編碼
S3C2440有5個16位的定時器,其中定時器1~4具有PWM(脈寬調(diào)制)功能,定時器使用經(jīng)過分頻后的系統(tǒng)時鐘PCLK作為時鐘輸入。本設(shè)計中100 MHz的PCLK經(jīng)過2分頻得到50 MHz頻率的定時器輸入時鐘,定時器每計數(shù)一次耗時0.02μs。定時器使用兩個16位的緩沖寄存器TCNTB和TCMPB來實現(xiàn)PWM功能,TCNTB為一次PWM輸出計數(shù)次數(shù),采用遞減的方式計數(shù),當計數(shù)減為TCMPB的時候,PWM輸出電平反轉(zhuǎn)。以數(shù)據(jù)“0”為例,其脈沖總寬度為6.4μs,低電平持續(xù)時間3.2 μs,則可計算出TCNTB=6.4/0.02=320次,TCMTB=3.2/0.02=160次。
為實現(xiàn)連續(xù)的PWM輸出,需要讓定時器工作在自動重載模式,即當定時器計數(shù)器減為0的時候,在定時器中斷處理函數(shù)里更新TCNTB及TCNMPB,讓定時器重新開始一次脈寬輸出。定時器1初始化時經(jīng)過以下步驟:
①TCNMB以及TCMPB寄存器賦非零初值;
②TCON中人工裝載位配置為1,TCNTB和TCMPB更新到內(nèi)部計數(shù)器;
③TCON中自動重載位配置為1,為實現(xiàn)連續(xù)的PWM功能;
④TCON中輸出翻轉(zhuǎn)位配置為1,脈沖以高電平開始;
⑤TCON置為啟動位;
⑥TCON設(shè)置關(guān)閉人工裝載,定時器開始啟動。
評論