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