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