D0 與 D1 一般時候為高準位 ( HIGH ),要輸出 bit 為 1 時,D1 拉低準位,D0 維持高準位;要輸出 bit 為 0 時,D0 拉低準位,D1 維持高準位。
所以要讀取韋根碼,使用接腳中斷的方式偵測負緣 ( 或稱為降緣,Falling Edge ) 觸發,可以很容易的達到這個目的。
在談論到韋根碼之前,先來說明一下 EM 卡 ( HZ1050 使用 EM4100 和 EM4001 的 RFID 卡,簡稱 EM 卡 ) 上面的號碼與韋根碼之間的換算。
卡號與韋根碼的換算:
假設有一片EM 卡,前面 10 碼 0002262506 與後面 3+5 碼 034,34282,都是 10 進位。
EM 卡片型 |
2262506 = 0x002285EA
然後將計算出來的 16 進位的數字作如下計算,就可以得到卡片上 3 + 5 的號碼
0x22 = 034
85EA = 34282
再看一下套件中所附的鑰匙卡的號碼,一般都只標示出 10 位數字在上面,如下圖
算這兩個號碼有什麼特別的意思 ? 首先,10 碼十位數換算成 4 個位元組的 16 進制碼,當使用 UART 方式接收來自 HZ1050 的 TXD 訊號時,輸出的號碼就是這四個位數,也就是會在 COM 埠看到輸出是
00 22 85 EA
這四個 16 進位值。因此要在程式中處理,必須先知道這四個值所代表的意思是什麼,才能接著下去處理;這與其他 RFID 讀取器模組接收 UART 資料的格式是不一樣的,所以請先了解 ,這輸出的格式會用在實際範例的說明中。
緊接著,再來了解一下韋根 26 與韋根 34 的格式。
韋根 26 / 34 ( Wiegand 26 / 34 ):
26 與 34 顧名思義簡單的說:就是輸出的 bit 數目。這些 bit 的組成,代表了 EM 卡 的 Facility Code 和 Card Cord。
看下圖每個字元 ( BIT ) 所代表的組別與意思:
F:代表 Facility Code
C:代表 Card Code
E:對於WIEGAND 26 來說,BIT 2 - 13 所有 1 的數目加起來必須是偶數,若不是 ! 則將 BIT 1 ( E ) 設為 1,使得 1 的個數加起來為偶數,這就是這位元的用處;對於WIEGAND 34 來說,這位元就是 BIT 2 - 17 的偶同位補位位元。
O:反之,對於這一位元來說就是奇同位補位位元。對於 WIEGAND 26 來說,BIT 26 是 BIT 10 - 25 的奇數補位位元;對於 WIEGAND 34 來說,BIT 26 是 BIT 18 - 33 的奇數補位位元。
E eeee eeee eeee oooo oooo oooo O
空白只是為了位元辨識方便,不需要考慮!只需要考慮前後的奇偶同位元將其全部轉成卡號即可;若考慮到 Facility Code,則 W26 的格式就變成
E FFFF FFFF CCCC CCCC CCCC CCCC O
BIT 2 – 9 表示 Facility Code,BIT 10 – 25 表示 Card Code。
所以韋根 26 所能讀到的 10 碼數字最大就是:1677215 = 0x00FFFFFF
E eeee eeee eeee eeee oooo oooo oooo oooo O
空白只是為了位元辨識方便,不需要考慮!需要考慮前後的奇偶同位元,將其全部轉成卡號;若考慮到 Facility Code,則 W34 的格式就變成
E FFFF FFFF FFFF CCCC CCCC CCCC CCCC CCCC O
BIT 2 – 13 表示 Facility Code,BIT 14 – 33 表示 Card Code。
所以韋根 26 所能讀到的 10 碼數字最大就是:4294967295 = 0xFFFFFFFF
在接下來的 Arduino 與 Raspberry Pi 的範例中,範例程式碼將不去考慮 Facility Code,而是直接將讀到的位元全部轉成 Card Code 來做處理;若考慮加入 Facility Code 來做比對,請利用所提供的原始碼做修改即可,轉換上不困難 !!!
<< 部落格 HZ-1050,125KHz RFID 讀卡器模組相關網頁連結 >>
- { HZ1050 } WIEGAND ( 韋根 ) 26 / 34 介紹
- { HZ1050 @ Arduino @ UART 模式 } 125KHz RFID 讀卡器使用說明
- { HZ1050 @ Raspberry Pi @ UART 模式 } 125KHz RFID 讀卡器使用說明
- { HZ1050 @ Arduino @ Wiegand 模式 } 125KHz RFID 讀卡器使用說明
- { HZ1050 @ Arduino + 整合型 LCD } 125KHz RFID 讀卡器使用說明
沒有留言:
張貼留言
留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!
發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?
不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !