基于單片機的韋根信號的接收
摘要:介紹了韋根的概念和標準韋根26-bit信號的定義格式,依據(jù)其特點設計了一個韋根接收讀卡器電路,并提供了程序實現(xiàn)的部分代碼。該設計的電路和程序均已通過調試并在實際項目中得到應用。
關鍵詞:讀卡器;讀卡控制器;韋根信號;單片機
Wiegand,即韋根傳感器是一種當交變磁場經(jīng)過時產(chǎn)生輸出電壓脈沖的傳感器。脈沖的幅度是由激勵磁場的場強決定的。因此,韋根傳感器不需要外界電源供電。由于韋根傳感器非常容易和數(shù)字系統(tǒng)相匹配,并且系統(tǒng)沒有可動的部件或半導體器件,這使得它們能適用于惡劣的環(huán)境和長期無人監(jiān)控的場所。
在設計讀卡器時,讀卡控制器既需要與上位機串行通信,又需要與讀卡器串行通信。大多數(shù)單片機只有一個串行通信口,而設計者希望控制器與讀卡器的通信不占用串行接口,因此,應用韋根信號是一個不錯的選擇。文章介紹了一種基于單片機的韋根信號接收的實現(xiàn)方法。
1 韋根信號的格式說明
韋根信號在數(shù)據(jù)的傳輸中只需要兩條數(shù)據(jù)線,分別是DATA0和DATA1。當空閑時,兩線相對于0 V的電源都是TTL電平的水平,即5 V;當有數(shù)據(jù)傳輸時,兩線交替發(fā)送400μs的低脈沖。當DATA0線發(fā)送脈沖時,數(shù)據(jù)輸出是‘0’;當DATA1線發(fā)送脈沖時,數(shù)據(jù)輸出是‘1’。兩根線不可同時發(fā)送脈沖。脈沖的間隔是1ms,寬度是100μs,周期是600μs。圖1中脈沖寬度在20μs~200μs之間,兩個脈沖間的時間間隔在200μs~200ms之間。
由于標準韋根26-bit格式是一個開放式的格式,這就意味著任何人都可以購買某一特定格式的HID卡,并且這些特定格式的種類是公開可選的。26-bit格式就是一個廣泛使用的工業(yè)標準,并且對所有HID的用戶開放。
韋根的數(shù)據(jù)一般由三部分組成:校驗位、出廠碼和數(shù)據(jù)位。不同的韋根格式有不同的組成。Weigand協(xié)議是國際上統(tǒng)一的標準,格式有很多種,標準的weigand26,即26-bit是最常用的格式。標準的26位韋根輸出是由26位二進制數(shù)組成,其中第1位和第26位是校驗位,2-9位是廠家碼,10-25位是卡號位,其輸出格式如下:
12 9 10 25 26
E XXXX XXXX XXXX…XXXX 0
第1位是前12bit的偶校驗位;前12位(第2-9位)對應電子卡HID碼的低8位,后12位(第10-25位)對應電子卡的PID碼,第26位是后12bit的奇校驗位。數(shù)據(jù)從左至右順序發(fā)送,高位在前。
如果電卡的地區(qū)碼位2個字符,即8位則可用那設置255個地區(qū)碼((15×16)+15=255);電子卡的卡號位4個字符,即16位則可設置65 536個卡號((15×16×16×16)+(15×16×16)+(15×16)+15=65 535)。
例如:一個HID:16 385,PID:00004的電子卡其26位韋根輸出為:
10000000100000000000001000
檢驗位HID=16 385(二進制的低8位)PID=4(二進制)檢驗位。
這26位數(shù)據(jù)在讀出器的韋根輸出線DATA0,DATA1上輸出。
評論