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