<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 非接觸ID卡在自動(dòng)識別系統中的應用

非接觸ID卡在自動(dòng)識別系統中的應用

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:非接觸ID卡具有數據讀數速度快、抗干擾能力強、價(jià)格低等特點(diǎn),在自動(dòng)識別系統中有良好的應用前景。本文分析非接觸ID卡的數據讀取及數據校驗的操作,并給出相應的源程序。

本文引用地址:http://dyxdggzs.com/article/255629.htm

關(guān)鍵詞:非接觸ID卡 自動(dòng)識別 數據讀取及校驗

隨著(zhù)半導體芯片技術(shù)的不斷發(fā)展,自動(dòng)識別系統(如巡更系統、門(mén)禁系統、考勤系統、倉儲管理系統、流水線(xiàn)生產(chǎn)自動(dòng)化管理系統等)所采用的ID標識也在不斷地更新,從條形碼、磁卡到智能IC卡、非接觸ID卡,都有各自的特點(diǎn)及適用場(chǎng)合,表1列出了幾種ID標識的特性與區別。在實(shí)踐應用過(guò)程中,用戶(hù)可根據不同的使用環(huán)境及功能要求選擇不同的ID標識。

非接觸ID卡的數據讀取具有非常接觸的特性,即根據不同的硬件電路設計,可以在距離非接觸ID卡4~10cm處讀取其數據。因此,讀取非接觸ID卡數據無(wú)需機械接觸即可完成,避免了接觸式數據讀取而產(chǎn)生的卡損傷,從而大大提高了卡的使用壽命。此外,非接觸ID卡還可以按不同的應用采用異型封裝,如硬幣型、柱型等,并可將其預埋于設備的混凝土基礎中,使其不容易受到外力破壞。

1 非接觸ID卡主要特性

目前市場(chǎng)上非接觸ID卡主要有臺灣凌航科技的GK4001卡和瑞士SWATCH集團的H4001卡。它們都采用125kHz的典型工作頻率,有64位激光可編程ROM,調制方式為曼徹斯特碼(Manchester)調制,位數據傳送周期為512μs,其64位數據結構如圖1所示。

連續9位“1”作為頭數據,是讀取數據時(shí)的同步標識;D00~D93位是用戶(hù)定義數據位;P0~P9是行奇校驗位,PC0~PC3是列奇校驗位,最后位“0”是結束標志。非接觸ID卡的這種數據結構非常有利于判斷讀出數據的正確性。

由于Temic U2270B射頻基站的典型工作頻率為125kHz,因此,可采用以U2270B作為射頻基站模塊構成的電路(參見(jiàn)本刊2001年第3期《Temic RF卡讀寫(xiě)器的設計》)來(lái)實(shí)現對非接觸ID卡的數據讀取。在工作狀態(tài)下,只要射頻基站電路不斷電,非接觸ID卡循環(huán)發(fā)送64位數據。

2 非接觸ID卡數據讀取及校驗

根據曼徹斯特碼的編碼原則(參見(jiàn)本刊2001年第一期《一種采用曼碼調制的非接觸IC卡讀寫(xiě)程序編制》),非接觸ID卡采用上升沿對應著(zhù)位數據“0”,下降沿對應著(zhù)位數據“1”,微控制器通過(guò)檢測U2270B輸出數據位的跳變來(lái)實(shí)現對曼徹斯特碼的譯碼。在現實(shí)工作中,數據信號會(huì )受到調制、解調、噪聲各種效應的影響,其上升沿和下降沿存在抖動(dòng),可采用鍵盤(pán)消抖的辦法來(lái)消除抖動(dòng)的影響。根據非接觸ID卡64位數據循環(huán)發(fā)送以及其數據緒構特點(diǎn),即數據流中第64位為“0”,第1位至第9位為“1”。據此,將“0111111111”作為讀數據的起始標識,如圖2所示。在確定了數據起始標識后,采用延時(shí)大于0.5T采樣數據位的方法,如圖3所示,來(lái)避開(kāi)曼徹斯特碼編碼中的空跳對數據譯碼造成的影響,簡(jiǎn)化了譯碼程序。

通過(guò)實(shí)驗得到:480μs≤1T≤520μs,220μs≤0.5T≤280μs,由此取Tnext=300μs。為了便于對讀出數據進(jìn)行奇校驗,讀出數據每5位作為一個(gè)字節。因此確定起始標識和讀取數據對時(shí)鐘有嚴格要求,所以尋找起始標識和讀取數據部分程序采用匯編語(yǔ)言編寫(xiě)。數據讀以后,根據前面所提到的非接觸ID卡的數據結構,通過(guò)比較奇校驗算法與讀出數據中的奇校驗位來(lái)驗證出數據的正確性。非接觸ID卡的數據讀取程序如下:

;------------------------------------------

;讀出數據程序

;晶振11.059 2MHz

;Lable define

;-----------------------------------------

TLL EQU 2DH

TLH EQU 42H

THL EQU 62H

THH EQU 81H

TDL EQU 88H

TDL1 EQU 2AH

BLK1 EQU 70H ;讀出數據緩存

OK BIT 79H

OUT BIT P1.1

CFE BIT P1.2

;-------------------------------------------

ORG 0000H

LJMP RD_D

ORG 0050H

;------------------------------

;READ RF CARD

;-------------------------------

RD_D:MOV A,R6

PUSH ACC

MOV A,R7

PUSH ACC

LCALL EDGEM

JB OK,RD_OK

RD_D0:CLR OK

LJMP RD_D

RD_OK:NOP

RD_D1:MOV R0,#BLK1 ;讀到BLK1

RD_DL0:MOV R6,#0BH ;位計數---R6*R5

RB_L:CLR A

MOV @R0,A

RD_DL1:MOV R5,#05H

RD_DL2:JB OUT,RD_DL5

MOV A,#00H

RD_DL3:CJNE A,#TDL1,RD_DL4

LJMP RD_D0

RD_DL4:JB OUT,RD_DLK

INC A

SJMP RD_DL3

RD_DL5:MOV A,#00H

RDDL5:CJNE A,#TDL1,RD_DL6

LJMP RD_D0

RD_DL6:JNB OUT,RD_DLK

INC A

SJMP RDDL5

RD_DLK:MOV C,OUT

CPL C

MOV A,@R0

RLC A

MOV @R0,A

MOV R1,#TDL ;延時(shí)TNEXT

DJNZ R1,$

DJNZ R5,RD_DL2

INC R0

DJNZ R6,RB_L

SETB OK

RDRET:POP ACC

MOV R7,A

POP ACC

MOV R6,A

SJMP $

;---------------------------------------------

;確定數據流起始標識

;---------------------------------------------

EDGEM:MOV R7,#00H

EDGE0:MOV R1,#08H

NOP

DJNZ R7,EDGE1

EDGER:CLR OK

RET

;--------------------

EDGE1:JNB OUT,$

MOV DPTR,#0000H

EDGE2:INC DPTR

JB OUT,EDGE2

MOV A,DPH

JNZ EDGER

MOV A,DPL

CLR C

SUBB A,#THL

JC EDGE0

MOV A,DPL

CLR C

SUBB A,#THH

JNC EDGER

;--------------------

EDGE3:JNB OUT,$

MOV DPTR,#0000H

EDGE4:INC DPTR

JB OUT,EDGE4

MOV A,DPL

CLR C

SUBB A,#TLH

JNC EDGE0

MOV A,DPH

JNZ EDGER

MOV A,DPL

CLR C

SUBB A,#TLL

JC EDGER

MOV A,DPL

CLR C

SUBB A,#TLH

JNC EDGE0

DJNZ R1,EDGE3

MOV R1,#TDL

DJNZ R1,$

SETB OK

RET

END

結束語(yǔ)

通過(guò)實(shí)驗得出,只有在正確找到數據的起始標識和通定合適的時(shí)間間隔常數后,才能正確讀出非接觸ID卡的數據。經(jīng)過(guò)一段實(shí)踐,以上兩點(diǎn)并不難解決。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>