新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM9的超高頻讀寫器基帶編解碼設(shè)計(jì)

        ARM9的超高頻讀寫器基帶編解碼設(shè)計(jì)

        作者: 時(shí)間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

        3.2 解碼狀態(tài)機(jī)
        本文使用S3C2440的外部中斷捕捉比較器的輸出,使用單邊觸發(fā)上升沿檢測(cè)。對(duì)正確的MILLER2編碼序列進(jìn)行上升沿捕捉時(shí),兩次中斷的時(shí)間間隔有a和b兩種情況,其中a表示兩次中斷的時(shí)間間隔為Tari,即6.4μs,b表示間隔為1.5Tari,即9.6μs,據(jù)此繪制了MILLER2編碼的狀態(tài)以及狀態(tài)轉(zhuǎn)換圖。狀態(tài)共有22個(gè),其中用于前導(dǎo)碼檢測(cè)的狀態(tài)有13個(gè),用于數(shù)據(jù)檢測(cè)的有9個(gè)狀態(tài)。部分前導(dǎo)碼狀態(tài)以及全部數(shù)據(jù)狀態(tài)如圖7所示。

        本文引用地址:http://www.104case.com/article/201610/306001.htm

        g.jpg


        下面描述各個(gè)狀態(tài)的意義。
        s0:解碼開始,表示收到1個(gè)a間隔;
        s1:前導(dǎo)碼狀態(tài)的一種,表示收到2個(gè)a間隔;
        s2:表示收到3個(gè)a間隔;
        s3:收到4個(gè)a間隔,s3狀態(tài)若連續(xù)收到a間隔,則仍舊歸于s3狀態(tài);
        s4:表示s3收到b間隔,此時(shí)前導(dǎo)碼中的16個(gè)數(shù)據(jù)“0”解碼結(jié)束,進(jìn)入數(shù)據(jù)序列“101112”解碼狀態(tài);
        s5~sa:前導(dǎo)碼中的數(shù)據(jù)序列“101112”檢測(cè)狀態(tài),依次類推,圖7中省略;
        sb:前導(dǎo)碼結(jié)束狀態(tài);
        d1:收到數(shù)據(jù)“0”的2/4位;
        d2:收到完整數(shù)據(jù)“0”以及數(shù)據(jù)“1”的1/4位;
        d3:收到完整數(shù)據(jù)“0”以及數(shù)據(jù)“0”的1/4位;
        d4:收到數(shù)據(jù)“1”的3/4位;
        d5:收到數(shù)據(jù)“0”的3/4位;
        d6:收到完整數(shù)據(jù)“1”以及數(shù)據(jù)“0”或者“1”的1/4位;
        d7:收到完整數(shù)據(jù)“0”以及數(shù)據(jù)“1”的1/4位;
        d8:收到完整數(shù)據(jù)“1”;
        d9:收到完整數(shù)據(jù)“0”以及數(shù)據(jù)“0”的2/4位。
        以上狀態(tài)中,當(dāng)狀態(tài)機(jī)當(dāng)前狀態(tài)為d2、d3、d6、d7、d8、d9的一種時(shí),表示收到1位有效數(shù)據(jù)。狀態(tài)轉(zhuǎn)換圖如圖8所示,狀態(tài)d2、d7只畫出了有效輸入時(shí)的轉(zhuǎn)換圖,在無效輸入時(shí)結(jié)束狀態(tài)機(jī)程序返回。

        h.jpg


        3.3 MILLER2解碼程序設(shè)計(jì)
        進(jìn)行MILLER2解碼主要是把接收到的中斷時(shí)間間隔作為狀態(tài)機(jī)的輸入,在狀態(tài)機(jī)里進(jìn)行判斷和狀態(tài)轉(zhuǎn)換,解碼出有效數(shù)據(jù)。本設(shè)計(jì)中,使用上面描述的編碼方式碼發(fā)送Query命令,UHF電子標(biāo)簽收到有效命令之后反向散射采用MILLER2編碼的16位偽隨機(jī)數(shù)RN16。程序在發(fā)送完畢Query命令之后立即使能外部中斷,在外部中斷處理函數(shù)中,把中斷時(shí)間間隔保存在數(shù)組中,等接收的中斷間隔超過b或者中斷次數(shù)超過接收RN16所需要的次數(shù)后,關(guān)閉中斷。在外部程序中通過狀態(tài)機(jī)進(jìn)行解碼,解調(diào)的同時(shí)對(duì)有效位進(jìn)行計(jì)數(shù),計(jì)數(shù)器達(dá)到16位后,返回解調(diào)出來的數(shù)據(jù),否則返回0。解調(diào)程序流程如圖9所示。

        i.jpg


        在主函數(shù)里面循環(huán)發(fā)送Query命令并進(jìn)行MILLER2解碼,如果解碼成功則使用串口工具在上位機(jī)上打印出解調(diào)出來的RN16的值,解碼失敗則不打印。在PC上使用串口工具SecureCRT觀察到以十六進(jìn)制輸出的RN16,如圖10所示,表明MILLER2解碼成功。

        j.jpg



        結(jié)語
        本文提出使用ARM9進(jìn)行UHF 讀卡器基帶編解碼,并加以實(shí)現(xiàn)。ARM9芯片豐富的外設(shè)使該方案擁有較好的擴(kuò)展性、實(shí)用性,為進(jìn)行系統(tǒng)級(jí)別的設(shè)計(jì)打下了基礎(chǔ)。


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: RFID

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沙河市| 阿巴嘎旗| 安乡县| 西贡区| 区。| 盐亭县| 博野县| 武威市| 长垣县| 兰州市| 七台河市| 赤水市| 万全县| 嘉善县| 惠来县| 巩义市| 郴州市| 漳平市| 宝山区| 抚顺市| 大悟县| 濮阳县| 泰顺县| 垣曲县| 米林县| 井研县| 封丘县| 永定县| 区。| 广饶县| 安泽县| 萨嘎县| 龙游县| 红河县| 固镇县| 襄樊市| 民乐县| 泾川县| 呼伦贝尔市| 龙胜| 文登市|