楊丹,袁赫
(1、沈陽拓荊科技有限公司,遼寧 沈陽 110000;2、沈陽拓荊科技有限公司,遼寧 沈陽 110000)
該讀卡器設(shè)計(jì)是利用射頻卡基站芯片驅(qū)動(dòng)天線發(fā)送和接收數(shù)據(jù),傳輸?shù)阶鳛橹骺刂破鞯膯纹瑱C(jī)ATmega8,單片機(jī)核對(duì)卡號(hào)信息,根據(jù)程序預(yù)先設(shè)定權(quán)限進(jìn)行相應(yīng)操作控制。
當(dāng)射頻卡進(jìn)入讀卡器的工作區(qū)域后,由射頻卡中電感線圈和電容組成的諧振回路接收讀卡器發(fā)射的載波信號(hào),讀卡器中芯片的射頻接口模塊由此信號(hào)產(chǎn)生出電源電壓、復(fù)位信號(hào)及系統(tǒng)時(shí)鐘,使芯片“激活”;芯片讀取控制模塊將存儲(chǔ)器中的數(shù)據(jù)經(jīng)調(diào)相編碼后調(diào)制在載波上,經(jīng)射頻卡內(nèi)天線回送給讀卡器。
ID讀卡器是以單片機(jī)ATmega8為核心的軟硬件系統(tǒng)。采用U2270B的短距離緊密耦合型應(yīng)用電路,其中微處理器ATmega8用來承擔(dān)數(shù)據(jù)的發(fā)射以及回收數(shù)據(jù)的曼徹斯特解碼任務(wù),發(fā)射數(shù)據(jù)由ATmega8控制CFE端來實(shí)現(xiàn),接收的曼徹斯特編碼數(shù)據(jù)則通過基站Output引腳輸出給ATmega8。在編制發(fā)射和接收數(shù)據(jù)的程序時(shí),必須嚴(yán)格按照相應(yīng)射頻卡的通信規(guī)約來進(jìn)行。
ATmega8是一款采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機(jī)。AVR單片機(jī)的核心是將32個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起,所有的工作寄存器都與ALU(算術(shù)邏輯單元)直接相連,實(shí)現(xiàn)了在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的一條指令同時(shí)訪問(讀寫)兩個(gè)獨(dú)立寄存器的操作。這種結(jié)構(gòu)提高了代碼效率,使得大部分指令的執(zhí)行時(shí)間僅為一個(gè)時(shí)鐘周期。因此,AT?mega8可以達(dá)到接近1MIPS/MHz的性能,運(yùn)行速度比普通CISC單片機(jī)高出10倍。
射頻卡讀寫器的關(guān)鍵芯片是射頻卡基站芯片,它主要用于完成數(shù)據(jù)的調(diào)制、發(fā)射和射頻的接收以及數(shù)據(jù)的解調(diào)任務(wù)。由AT?MEL公司生產(chǎn)的U2270B是一種低成本、性能完善的低頻(100~150kHz)射頻卡基站芯片.
其主要特點(diǎn)如下:
(1)載波振蕩器能產(chǎn)生100kHz~150kHz的振蕩頻率,并可通過外接電阻進(jìn)行精確調(diào)整,其典型應(yīng)用頻率為125kHz;典型數(shù)據(jù)傳輸速率為5kbps(125kHz時(shí));(2)適用于曼徹斯特編碼和雙相位編碼;(3)帶有微處理器接口,可與單片機(jī)直接連接;供電方式靈活,可以采用+5V直流供電,也可以采用汽車用+12V供電,同時(shí)具有電壓輸出功能,可以給微處理器或其它外圍電路供電;(4)具有低功耗待機(jī)模式,可以極大地降低基站的耗電量;(5)125kHz時(shí)的典型讀寫距離為15mm;(6)適用于對(duì)TEMIC的e5530/e5550/e5560射頻卡進(jìn)行讀寫操作。
一直在監(jiān)視著電平的變化,然后通過波形維持高電平和低電平的時(shí)間長(zhǎng)度以及高低電平的有序組合來判斷當(dāng)前的數(shù)據(jù)是“1”還是“0”主要分四種情況:(1)如果上一個(gè)數(shù)據(jù)是0,并產(chǎn)生跳變變?yōu)楦唛_始計(jì)時(shí)到變?yōu)榈碗娖酵V褂?jì)數(shù)然后與時(shí)鐘周期相比較,如果時(shí)間長(zhǎng)度約為0.5T時(shí),再接著計(jì)高電平時(shí)間也維持大約0.5T說明該數(shù)據(jù)為0;(2)如果剛才的高電平維持大約為1個(gè)T時(shí),說明這位數(shù)據(jù)為1;(3)如果上一位數(shù)據(jù)是1,并產(chǎn)生負(fù)跳變開始計(jì)時(shí)到低電平結(jié)束然后和時(shí)鐘周期比較,如果時(shí)間長(zhǎng)度約1T時(shí)說明該位數(shù)據(jù)為0;(4)如果低電平維持的時(shí)間約為0.5T,則接著計(jì)高電平的時(shí)間,如果維持時(shí)間也大約是0.5T則說明該位數(shù)據(jù)為1。
載波頻率fOSC=125kHz,位數(shù)據(jù)傳送率選RF/64,則每傳送一位的時(shí)間(周期)為振蕩周期的64分頻,故位傳送周期為:1P=1/(125kHz×64)=512μs。
此設(shè)計(jì)主要是針對(duì)非接觸式ID卡而設(shè)計(jì)的一種微型讀卡器,同時(shí)軟件采用解碼方法可以在讀曼徹斯特碼同步解碼,速度較快并且讀數(shù)準(zhǔn)確率較高。在應(yīng)用中,只要將控制器的串行通信即可接收數(shù)據(jù)。
[1]ATmega8 Data Sheet[M],ATMEL
[2]陽永華.曼碼調(diào)制的非接觸ID卡通用讀卡程序編制[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005.
[3]周興華.單片機(jī)智能化產(chǎn)品C語言設(shè)計(jì)實(shí)例詳解[M].北京:北京航空航天大學(xué)出版社,2006.