根據(jù)曼徹斯***的編碼原則(參見(jiàn)本刊2001年第一期《一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制》),非接觸ID卡采用上升沿對(duì)應(yīng)著位數(shù)據(jù)“0”,下降沿對(duì)應(yīng)著位數(shù)據(jù)“1”,微控制器通過(guò)檢測(cè)U2270B輸出數(shù)據(jù)位的跳變來(lái)實(shí)現(xiàn)對(duì)曼徹斯***的譯碼。在現(xiàn)實(shí)工作中,數(shù)據(jù)信號(hào)會(huì)受到調(diào)制、解調(diào)、噪聲各種效應(yīng)的影響,其上升沿和下降沿存在抖動(dòng),可采用鍵盤消抖的辦法來(lái)消除抖動(dòng)的影響。根據(jù)非接觸ID卡64位數(shù)據(jù)循環(huán)發(fā)送以及其數(shù)據(jù)緒構(gòu)特點(diǎn),即數(shù)據(jù)流中第64位為“0”,第1位至第9位為“1”。據(jù)此,將“0111111111”作為讀數(shù)據(jù)的起始標(biāo)識(shí),如圖2所示。在確定了數(shù)據(jù)起始標(biāo)識(shí)后,采用延時(shí)大于0.5T采樣數(shù)據(jù)位的方法,如圖3所示,來(lái)避開(kāi)曼徹斯***編碼中的空跳對(duì)數(shù)據(jù)譯碼造成的影響,簡(jiǎn)化了譯碼程序。
通過(guò)實(shí)驗(yàn)得到:480μs≤1T≤520μs,220μs≤0.5T≤280μs,由此取Tnext=300μs。為了便于對(duì)讀出數(shù)據(jù)進(jìn)行奇校驗(yàn),讀出數(shù)據(jù)每5位作為一個(gè)字節(jié)。因此確定起始標(biāo)識(shí)和讀取數(shù)據(jù)對(duì)時(shí)鐘有嚴(yán)格要求,所以尋找起始標(biāo)識(shí)和讀取數(shù)據(jù)部分程序采用匯編語(yǔ)言編寫。數(shù)據(jù)讀以后,根據(jù)前面所提到的非接觸ID卡的數(shù)據(jù)結(jié)構(gòu),通過(guò)比較奇校驗(yàn)算法與讀出數(shù)據(jù)中的奇校驗(yàn)位來(lái)驗(yàn)證出數(shù)據(jù)的正確性。
標(biāo)簽:
2001
編碼
編制
調(diào)制
上傳時(shí)間:
2016-10-14
上傳用戶:xhz1993