CPLD在射頻卡讀寫器中的應(yīng)用
1 系統(tǒng)工作原理和CPLD特性
本文引用地址:http://butianyuan.cn/article/157983.htm射頻卡讀寫系統(tǒng)又稱射頻識(shí)別系統(tǒng)(Radio Frequency Identification),它是利用無(wú)線方式進(jìn)行非接觸式雙向數(shù)據(jù)通信,進(jìn)而達(dá)到識(shí)別目標(biāo)并交換信息的目的。射頻識(shí)別技術(shù)發(fā)展迅速,在門禁、交通這、防盜、金融、身份證管理、工業(yè)自動(dòng)化等方面有著廣泛的應(yīng)用前景。按照相關(guān)標(biāo)準(zhǔn),非接觸IC卡可以分為3種:(1)密耦合卡(ISO10536),作用距離0~1cm。(2)近耦合卡(ISO 14443),作用距離0~10cm。(3)疏耦合卡(ISO 15693),作用距離0~150cm[1]。
基于ISO 15693協(xié)議標(biāo)準(zhǔn)設(shè)計(jì)的射頻卡讀寫器是目前中低頻段工作距離最遠(yuǎn)(達(dá)1.5米)的射頻識(shí)別裝置。射頻卡由半導(dǎo)體廠商提供,目前國(guó)內(nèi)外均有符合該標(biāo)準(zhǔn)的商用化射頻卡。
在實(shí)際應(yīng)用中,密耦合卡和近耦合卡距離射頻卡讀寫器作用距離特別小,一般每次只要求響應(yīng)一張卡(如公交售票系統(tǒng))。而疏耦合卡往往應(yīng)用在對(duì)多卡同時(shí)進(jìn)行響應(yīng)的場(chǎng)合(如多個(gè)持卡行李同時(shí)經(jīng)過(guò)門檢),讀寫器與多卡同時(shí)進(jìn)行數(shù)據(jù)交換可以通過(guò)軟件設(shè)計(jì)加入“防碰撞機(jī)制”實(shí)現(xiàn)。但是由于讀寫器在響應(yīng)某張卡時(shí)的數(shù)據(jù)交換時(shí)間被限制在200μs~300μs內(nèi),選用普通單片機(jī)無(wú)法達(dá)到這一要求,因此在設(shè)計(jì)中選用了高速CPLD器件來(lái)實(shí)現(xiàn)編碼、解碼以及差錯(cuò)控制功能。一方面在響應(yīng)時(shí)間上滿足了實(shí)際應(yīng)用的需要;另一方面簡(jiǎn)化了軟件設(shè)計(jì)。
2 功能模塊實(shí)現(xiàn)
2.1 編碼器與譯碼器
單片機(jī)啟動(dòng)編碼后,編碼模塊向單片機(jī)發(fā)中斷(INT0)獲取待編碼的指令數(shù)據(jù),同時(shí)將指令數(shù)據(jù)送入并行CRC模塊。當(dāng)指令數(shù)據(jù)完成編碼后,控制電路將2字節(jié) CRC值緊接在數(shù)據(jù)之后進(jìn)行編碼。譯碼時(shí),譯碼器檢測(cè)到起始位后,開(kāi)始譯碼。譯碼后的數(shù)據(jù)通過(guò)中斷(INT1)通知單片機(jī)取走。并同時(shí)送入CRC并行運(yùn)算模塊進(jìn)行校驗(yàn),單片機(jī)在特定的時(shí)刻(接收完最后一字節(jié)數(shù)據(jù)時(shí))讀取CRC校驗(yàn)標(biāo)志端口CRCALL0,判斷整個(gè)數(shù)據(jù)串的正確性。
(1)數(shù)據(jù)編碼從讀寫器到卡的數(shù)據(jù)采用脈沖位置調(diào)制即“1/256”編碼。用256個(gè)時(shí)隙表示8bit數(shù)據(jù),通過(guò)控制bit脈沖出現(xiàn)的時(shí)間位置來(lái)表示0~255范圍內(nèi)的數(shù)據(jù)。如圖2,在第255個(gè)位置出現(xiàn)的位置脈沖(9.44μs高電平的9.44μs低電平)表示數(shù)據(jù)E1(HEX),采用計(jì)數(shù)器加控制電路即可實(shí)現(xiàn)??刂撇糠謪f(xié)助實(shí)現(xiàn)數(shù)據(jù)無(wú)縫編碼及形成幀起始位和結(jié)束位,用VHDL設(shè)計(jì)易于實(shí)現(xiàn)。編碼后的數(shù)據(jù)進(jìn)行ASK調(diào)制(13.56MHz載波),經(jīng)天線發(fā)射出去。
(2)數(shù)據(jù)譯碼從射頻卡返回的數(shù)據(jù)經(jīng)過(guò)一次解調(diào)(去掉13.56MHz載波)后,數(shù)據(jù)編碼格式如圖3所示??梢灾苯舆M(jìn)行數(shù)據(jù)譯碼,也可以去除子載波(423.75kHz)后得到Manchester碼再譯碼。這里采用后者,通過(guò)在每一bit的前、后半段時(shí)間內(nèi)兩次取樣、判決、加以串并變換即可得到譯碼后的并行數(shù)據(jù)并送至并行CRC模塊進(jìn)行CRC校驗(yàn),同時(shí)送往單片機(jī)處理,行CRC模塊在校驗(yàn)結(jié)束時(shí)通知單片機(jī)取校驗(yàn)結(jié)果。
2.2 差錯(cuò)處理模塊
與射頻卡內(nèi)部電路配合,讀寫器端采用了常用的CRC檢錯(cuò)得傳機(jī)制。為了縮短處理時(shí)間,滿足讀寫器在實(shí)際應(yīng)用中對(duì)多張卡同時(shí)處理時(shí)的響應(yīng)時(shí)間要求,設(shè)計(jì)采用硬件實(shí)現(xiàn)。
評(píng)論