基于USB接口ID讀卡器的設(shè)計(jì)
1 引言
USB接口ID讀卡器是射頻識(shí)別RFID(Radio Frequency Identification)在125 kHz的具體應(yīng)用,適用于網(wǎng)吧管理、會(huì)員系統(tǒng)、考勤消費(fèi)發(fā)卡器、身份識(shí)別前端等。一般的USB接口ID讀卡器大多采用射頻接收模塊和嵌入式微控制器,但成本高,同時(shí)解碼程序采用定時(shí)查詢(xún)或監(jiān)測(cè)信號(hào)邊沿狀態(tài)的方法進(jìn)行解碼,這些解碼方法對(duì)天線載波頻率以及定時(shí)準(zhǔn)確度要求較高,當(dāng)載波稍微偏離規(guī)定范圍時(shí)將不能正確讀卡。為降低產(chǎn)品的成本同時(shí)提高解碼的速度、準(zhǔn)確率、敏感度等,筆者創(chuàng)新采用內(nèi)嵌USB接口的單片機(jī)和EM4095設(shè)計(jì)USB接口ID讀卡器,同時(shí)介紹一種新的解碼技術(shù),使得載波頻率偏移不影響解碼,而且無(wú)需檢測(cè)信號(hào)的邊沿狀態(tài),能夠更可靠、快速讀卡。
2 系統(tǒng)總體框架及硬件電路設(shè)計(jì)
2.1 系統(tǒng)總體框架
USB接口的125 kHz ID讀卡器主要包括基于SN8P2201單片機(jī)的主控模塊、基于EM4095的射頻模塊、通信模塊(USB)、外部時(shí)鐘、光顯示模塊(LED)、聲音提示模塊(蜂鳴器)、電源模塊、天線,如圖l所示。
ID讀卡器工作過(guò)程:USB接通后,紅色LED燈亮,伴隨蜂鳴器鳴叫,表明讀卡器準(zhǔn)備就緒。若1 min內(nèi)無(wú)ID卡靠近讀卡器,讀卡器將自動(dòng)進(jìn)入睡眠狀態(tài),此時(shí)紅色LED燈自動(dòng)熄滅,綠色LED燈點(diǎn)亮。當(dāng)有ID卡接近讀卡器時(shí),讀卡器自動(dòng)激活,綠色LED燈熄滅,紅色LED燈點(diǎn)亮。讀卡器成功讀取ID卡號(hào)后,蜂鳴器嗚叫,同時(shí)數(shù)據(jù)通過(guò)USB傳輸至PC機(jī)。只需打開(kāi).txt文件,就可輕松接收數(shù)據(jù),無(wú)需任何上位機(jī)。
2.2 系統(tǒng)硬件電路設(shè)計(jì)
2.2.1 主控和通信模塊電路
主控和通信模塊電路如圖2所示。SONIX單片機(jī)SN8P2201的P1.0、P1.1、P0.0引腳分別控制射頻器件EM4095工作狀態(tài)、接收解碼的同步時(shí)鐘、接收解調(diào)數(shù)據(jù)。
SN8P2201引腳5連接復(fù)位電路,電阻R6和電容C8組成基本RC復(fù)位電路。該復(fù)位電路在系統(tǒng)上電時(shí)能夠?yàn)閺?fù)位引腳提供一個(gè)緩慢上升的復(fù)位信號(hào),該復(fù)位信號(hào)上升速度低于VDD的上電速度,從而為系統(tǒng)提供合理復(fù)位時(shí)序,當(dāng)復(fù)位引腳檢測(cè)到高電平時(shí),系統(tǒng)復(fù)位結(jié)束,進(jìn)入正常工作狀態(tài);對(duì)于電源異常情況,二極管正向?qū)ㄊ笴1快速放電并與VDD保持一致,避免復(fù)位引腳持續(xù)高電平,系統(tǒng)無(wú)法正常復(fù)位;R7是必不可少的限流電阻。
而通信電路USB,SN8P2201的D+、D一引腳只接適當(dāng)電容和電阻,就可與單片機(jī)內(nèi)部數(shù)據(jù)進(jìn)行USB通信,電路簡(jiǎn)單。需注意的是:VREG和GND之間連接1μF電容有助于3.3 V穩(wěn)壓器穩(wěn)定輸出,應(yīng)盡可能靠近SN8P2201放置。[!--empirenews.page--]
2.2.2 射頻收發(fā)電路設(shè)計(jì)
射頻器件EM4095通過(guò)天線連續(xù)發(fā)射射頻載波信號(hào),為電子標(biāo)簽提供能量,激活電子標(biāo)簽;調(diào)制發(fā)射信號(hào),將數(shù)據(jù)通過(guò)天線傳送給電子標(biāo)簽;通過(guò)天線接收電子標(biāo)簽發(fā)射信號(hào),并解調(diào)所接收的信號(hào),從而得到電子標(biāo)簽中的數(shù)據(jù),傳送給單片機(jī)做進(jìn)一步處理。圖3為射頻收發(fā)電路。
LA(天線電感值)、C4、C5、C9、C10和C11組成LC串聯(lián)諧振天線,諧振頻率為其中C0=C4||C10||C11+C5||C9。天線的工作電流與諧振電路Q(chēng)值有關(guān),可在天線線圈LA上并聯(lián)一只電阻,調(diào)節(jié)Q值。
EM4095的DEMOND_IN引腳輸入AM信號(hào)在VCO輸出信號(hào)的同步控制下被采樣,采樣輸出信號(hào)由引腳CDEC外接電容隔直和帶通濾波采樣(消除輸出中的載頻成分、高頻和低頻噪聲)后,經(jīng)異步比較得到對(duì)應(yīng)的數(shù)字信號(hào)。接收時(shí),天線感生信號(hào)經(jīng)耦合電容輸入引腳DEMOND_IN,該信號(hào)與天線驅(qū)動(dòng)器的輸入信號(hào)由相位比較器進(jìn)行相位比較,形成與相位差對(duì)應(yīng)的電壓,作為壓控振蕩器的控制信號(hào),最終鎖定天線發(fā)射信號(hào)頻率。RDY/CL發(fā)射的方波是同天線處載波的頻率相同且同步,通過(guò)它傳給單片機(jī)來(lái)計(jì)算同步載波的周期數(shù)。DEMOND_OUT是AM模塊攜帶的數(shù)字信號(hào)的輸出。SHD=1,EM4095為睡眠狀態(tài)。上電后,先為高電平以便初始化,然后為低電平開(kāi)始發(fā)送數(shù)據(jù)。MOD接地表示只讀模式。
2.2.3 其他模塊電路設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)的天線電感值是345μH。天線采用銅制漆包線繞制,漆包線直徑為0.29 mm。圓形(內(nèi)徑)直徑為2 cm,115圈。讀卡器直接通過(guò)USB提供+5 V電壓,使單片機(jī)和EM4095正常工作,無(wú)需外接電源以及額外的5 V穩(wěn)壓器等,這樣電源模塊電路設(shè)計(jì)簡(jiǎn)單,且節(jié)省成本。采用6 MHz晶振為單片機(jī)提供外部高速時(shí)鐘。
2.3 硬件測(cè)試
EM4095的調(diào)試首先檢查有無(wú)時(shí)鐘輸出。不管電子標(biāo)簽是否靠近讀寫(xiě)器,上電后RDY/CLK引腳始終輸出時(shí)鐘信號(hào),否則說(shuō)明EM4005未開(kāi)始工作。當(dāng)確定輸出時(shí)鐘后,可以把電子標(biāo)簽放在讀寫(xiě)器的工作范圍內(nèi),通過(guò)示波器觀察SHD引腳的電平是否由高變低,DEMOD_OUT引腳是否有數(shù)據(jù)波形輸出,若有則說(shuō)明EM4005工作正常。此時(shí),將RDY/CLK引腳接到示波器,觀察其波形,通過(guò)調(diào)整C4,C10,C11的值,使輸出方波的頻率接近125 kHz。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
圖4為軟件設(shè)計(jì)總體流程。該流程基本說(shuō)明讀卡器工作的全過(guò)程。
圖5中,wk05是幀頭計(jì)數(shù)器,time是計(jì)算RDY/CLK引腳載波的周期數(shù)。在中斷的第一個(gè)下降沿到來(lái)時(shí),啟動(dòng)time周期計(jì)數(shù)。尋找?guī)^時(shí),只要time≈64,都將其譯碼成1。在找到8個(gè)連續(xù)“1”后,這時(shí)下降沿間隔會(huì)出現(xiàn)上述3種情況,根據(jù)Tag標(biāo)志位來(lái)譯碼。在找到9個(gè)“l(fā)”后,才會(huì)把譯碼的數(shù)據(jù)送入BUFFER,再經(jīng)奇偶校驗(yàn)正確后,發(fā)送給PC機(jī)。
4 結(jié)束語(yǔ)
USB接口的125 kHz ID讀卡器設(shè)計(jì)簡(jiǎn)單,成本低廉,而且在程序中就可將USB發(fā)送的數(shù)據(jù)轉(zhuǎn)換成鍵盤(pán)數(shù)據(jù),無(wú)需任何上位機(jī)就可接收數(shù)據(jù),操作更簡(jiǎn)單。同時(shí)軟件采用解碼方法可以在讀曼徹斯特碼的同時(shí)進(jìn)行同步解碼,速度較快,而且由于對(duì)載波頻率的變化不敏感,故讀卡成功率非常高。讀卡的距離可達(dá)5 em,時(shí)間小于200 ms。