ARM9的超高頻讀寫(xiě)器基帶編解碼設計
經(jīng)過(guò)以上配置后,將定時(shí)器I/O引腳配置為PWM輸出模式就可以進(jìn)行PWM輸出。以一個(gè)Query命令的編碼為例,Query命令是由前同步碼和22位數據構成,先將這22位數據計算好并保存在全局數組data[]中,發(fā)送Query命令時(shí)開(kāi)啟定時(shí)器1并允許定時(shí)器1中斷,在中斷處理函數里面更新TCNTB以及TCMPB的值來(lái)決定下一個(gè)脈沖的PWM輸出。編碼程序流程如圖4所示。本文引用地址:http://dyxdggzs.com/article/201610/306001.htm
正確的Query命令會(huì )讓標簽返回16位偽隨機數RN16。為了測試Query命令是否發(fā)送正確,使用示波器觀(guān)察比較器輸出,如果有MILLER2編碼的16位數據輸出,則表明Query命令正確。使用示波器觀(guān)察的結果如圖5所示,可以看出是MILLER2編碼的序列,詳細分析其位數后確認是16位,驗證了PIE編碼的正確性。
3 MILLER2解碼
3.1 MILLER2碼介紹
EPC GEN2協(xié)議中規定標簽反向散射的數據應該采用FM0或者M(jìn)ILLER的編碼方式。MILLER定義在兩個(gè)數據“0”之間變換相位,在數據“1”中間放置一個(gè)相轉化,MILLER2碼則表示每一位數據重復兩個(gè)副載波周期。完整的MILLER2編碼,需要在有效數據前加上前同步碼。前同步碼可編程選擇格式,在Query命令中將M和Trext這兩位設置為1,選擇前同步碼由16個(gè)數據“0”加上數據序列“101112”構成。MILLER2數據定義和前同步碼如圖6所示。MILLER2碼每一位數據的時(shí)間長(cháng)度由Tari值決定,本設計中為2個(gè)Tari(即1 2.8μs)。
評論