基于sm32+wiegad26的射頻卡讀頭的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于sm32+wiegad26的射頻卡讀頭的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于sm32+wiegad26的射頻卡讀頭的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于sm32+wiegad26的射頻卡讀頭的設(shè)計(jì)與實(shí)現(xiàn)

1射頻考勤的方式隨著經(jīng)濟(jì)的發(fā)展,先進(jìn)的管理方法和高效的辦公工具已成為必然的要求。在這種情況下,與公司工資制度和考勤制度掛鉤的方便快捷的考勤設(shè)備便應(yīng)運(yùn)而生。隨著射頻卡技術(shù)的不斷成熟和應(yīng)用范圍的不斷擴(kuò)大,非接觸式射頻考勤也成為必然趨勢??记谘b置有許多種,這里采用的是125kHz的射頻卡考勤終端與上位機(jī)配合,且該終端單元可獨(dú)立工作。射頻卡有125kHz的ID卡和13.56MHz的IC卡兩種,相應(yīng)的讀頭傳輸數(shù)據(jù)的標(biāo)準(zhǔn)和格式也不完全一樣??紤]到最終產(chǎn)品的性價(jià)比,這里采用125kHz的ID卡。通常情況下,ID卡讀頭采用TTL232方式或Wiegand26方式輸出數(shù)據(jù)。若采用TTL232方式,就需要占用CPU的串口,從而給終端與上位機(jī)的通訊帶來不便;而采用Wiegand26方式,則會(huì)損失射頻卡的高位信息,這又會(huì)給卡號(hào)格式轉(zhuǎn)換帶來困難。下面就從硬件和軟件兩個(gè)角度來分析和解決這兩個(gè)矛盾。2硬件設(shè)計(jì)2.1讀取卡片數(shù)據(jù)的電路設(shè)計(jì)硬件應(yīng)滿足三個(gè)基本要求。(1)要讀取卡號(hào)的全部信息。這意味著要采用TTL232方式而不是Wiegand26方式讀取卡號(hào)數(shù)據(jù)。(2)不能占用CPU串口。因?yàn)榭记诮K端有大量數(shù)據(jù)需要通過232方式或485方式與上位機(jī)通訊,所以讀卡最好不要占用串口。(3)硬件電路盡量簡化。要減小終端體積的大小、降低成本和提高系統(tǒng)的可靠性,終端的硬件電路應(yīng)盡量簡化。2.2網(wǎng)絡(luò)嵌入的mtp-1332本終端所采用的相關(guān)電路如圖1所示。這里采用的是MTP-125K4SeriesLowCostProximityReader。該讀頭工作頻率為:125kHz,卡片格式為:EM4001/4102或兼容卡,譯碼方式為:Manchester64bit,modulus64,感應(yīng)距離最大為:30cm,輸出格式為:韋根26位/RS232TTL(ASCII)。K4的Pin1和Pin2接680μH的外置天線。Pin3通過R1接高電平,選擇TTL232輸出方式。Pin4通過R3接T1,蜂鳴器BUZZER放在T1的集電極。在TTL232輸出方式下,采用d1(Pin5)而不用d0(Pin6)輸出。采用兩個(gè)施密特反相器是為了增加驅(qū)動(dòng)和對(duì)波形進(jìn)行整形。d1的信號(hào)經(jīng)過兩個(gè)施密特反相器后接到Atmel89c55的P3.2/INTO腳。通過10k的R2和10μF的C3對(duì)MTP-125K4上電復(fù)位。Pin8和Pin9是接5V工作電源的。這里充分利用了Atme189c55的P3.2/INTO腳的外部中斷功能和Timer0來完成讀卡。因?yàn)閐1輸出的其實(shí)是一次卡號(hào)序列方波,所以最主要的就是準(zhǔn)確的捕捉數(shù)據(jù)中的每一個(gè)位,然后通過軟件把所有的位組合起來,最后再對(duì)所得到的數(shù)據(jù)進(jìn)行奇偶效驗(yàn)和格式轉(zhuǎn)換。因?yàn)槊看嗡⒖ㄖ惠敵鲆淮畏讲?為了不丟失數(shù)據(jù),把INTO優(yōu)先級(jí)設(shè)為最高,并用單字節(jié)起始位的下降沿來觸發(fā)中斷。為了準(zhǔn)確定時(shí),CPU晶振選擇11.0592MHz,Timer0工作于方式2,進(jìn)行自動(dòng)裝載,且裝載值為整數(shù),不存在累積誤差。3軟件方案的設(shè)計(jì)3.1軟件分析3.1.1輸出本構(gòu)模型如:1MTP-125K4以9600bps從d1輸出卡號(hào)數(shù)據(jù)。每一個(gè)Byte輸出波形如圖2所示。這個(gè)波形由1位StartBit、一位StopBit和8位有效數(shù)據(jù)Bit組成。每次刷卡輸出的所有數(shù)據(jù)格式如圖3所示。具體數(shù)據(jù)傳輸舉例:假如ID卡號(hào)碼為62E3086CED,則傳送的卡號(hào)值如為:10ASCIIDATA:36H,32H45H,33H30H,38H36H,43H45H,44H,相當(dāng)于HEXDATA(62HE3H08H6CHEDH)。輸出的檢驗(yàn)碼為:CHECKSUM:(62H)XOR(E3H)XOR(08H)XOR(6CH)XOR(EDH)=08H,Checksum為二進(jìn)制格式數(shù)據(jù)。故MTP-K4射頻模塊輸出的完整的二進(jìn)制文檔為:02363245333038364345440803。在這里用數(shù)據(jù)頭字節(jié)02的StartBit的下降沿來觸發(fā)中斷,進(jìn)入外部中斷后立即啟動(dòng)Timer0。要可靠讀數(shù)必須讀每一個(gè)Bit的中間,并盡量減少偏移。因?yàn)閎ps為9600,所以要讀到Bit0的中間,進(jìn)入INTO后就必須等156μS。在這里做一個(gè)52μS的基準(zhǔn)定時(shí)。由于Atme189c55的晶振采用11.0592MHz,所以Timer0工作于模式2,自動(dòng)裝載值為#0d0h。3.1.2比較as-c由于各個(gè)廠家的讀卡器譯碼格式不盡相同,通常情況下有5種卡號(hào)格式,這里采用的是格式1。在讀卡輸出時(shí),讀出的二進(jìn)制或十六進(jìn)制(Hex)結(jié)果應(yīng)該是唯一的,但是又可以通過幾種主要換算辦法,輸出不同結(jié)果的十進(jìn)制卡號(hào)(Dec)。這里讀頭輸出的是ASCII碼格式的十六進(jìn)制(Hex)數(shù)據(jù),而封裝噴號(hào)為格式1,所以要把此格式為格式1。轉(zhuǎn)換方式是把ASCII格式的十六進(jìn)制(Hex)數(shù)據(jù)轉(zhuǎn)換并組合為真正十六進(jìn)制(Hex)數(shù)據(jù)。最后把10位HEX數(shù)據(jù)中的后8位轉(zhuǎn)換為10位十進(jìn)制卡號(hào)。這樣就與封裝噴號(hào)的數(shù)據(jù)格式1一致。3.2程序的組成3.2.1模式2:t0t0每個(gè)Byte將由INTO中斷和Timer0中斷配合逐位讀取,最后進(jìn)行組合和臨時(shí)保存。定時(shí)器周期為52μS。單字節(jié)讀取流程如圖4。初始化程序如下:;——定時(shí)器0產(chǎn)生52μS時(shí)基初始化movTMOD,#22H;T0、T1工作于模式2movTHO,#OdOh;計(jì)數(shù)初值movTLO,#Odoh;——外部中斷0初始化setbIT0;置int0為下降沿觸發(fā)setbpT0;置timer0為最高優(yōu)先級(jí)setbEX0;開外部中斷0;——setbEX1;開外部中斷13.2.2輸出格式到格式1轉(zhuǎn)換讀取過程由02開始,03結(jié)束。讀取結(jié)束后進(jìn)行異或檢驗(yàn),一致則保存卡號(hào),不一致則放棄。最后進(jìn)行讀頭輸出格式到格式1的轉(zhuǎn)換,并作為最終考勤機(jī)使用的數(shù)據(jù)。由于篇幅限制,此處不能給出源代碼,程序流程如圖5。此處流程圖僅為相關(guān)的子程序流程圖。在寫程序過程會(huì)涉及到,INT0中斷與Timer0中斷切換、內(nèi)部RAM重復(fù)使用、堆棧的靈活使用等技巧。4軟件流程和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論