




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、韋根26協(xié)議及應用韋根協(xié)議及其應川目錄第一章韋根協(xié)議簡介31. 傳感器原理介紹32. 數(shù)拯輸出的基本概念33. 韋根6位輸出格式44. 韋根26接收45. 韋根接口定義46. 特別說明:5第二章韋根協(xié)議的應用61. wiegand接口硬件設計62. 流程圖63. 發(fā)送源程序7第一章韋根協(xié)議簡介wiegand (韋根)協(xié)議是由摩托羅拉公司制定的一種通訊協(xié)議,它適用于涉及門禁控制 系統(tǒng)的讀卡器和卡片的許多特性,其協(xié)議并沒冇左義通訊的波特率、也沒冇怎義數(shù)據(jù)反度 韋根格式主要定義是數(shù)據(jù)傳輸方式:datao 11 datal兩根數(shù)據(jù)線分別傳輸0和1,現(xiàn)在應 用最多的是26bit, 34bit, 36bi
2、t, 44bit等等,其中標準26-bit格式是一個開放式的格 式,任何人都可以購買某一特定格式的hid卡,并且這些特定格式的種類是公開可選的, 26-bit格式就是一個廣泛使用的工業(yè)標準,并且對所有hid的用戶開放,現(xiàn)在兒乎所有的 門禁控制系統(tǒng)都接受26-bit格式的標準。1. 傳感器原理介紹韋根傳感器是由一根雙穩(wěn)態(tài)磁頌感功能合金絲和纏繞其外的感應線圈紐成的。其工作原 理是:在交變磁場屮,當平行于敏感絲的某極性(例如n極)磁場達到觸發(fā)磁感應強度 時,敏感絲中的磁疇受到激勵會發(fā)牛:運動,磁化方向瞬間轉向同一方向,同時在敏感絲周 圍空間磁場也發(fā)生瞬間變化,由此在感應線圈中感生出一個電脈沖。此后若
3、該磁場減弱, 敏感絲磁化方向將保持穩(wěn)定不變,感應線圈也無電脈沖輸出,但當相反極性(s極)磁場 增強觸發(fā)磁感應強度時,敏感絲磁化方向乂瞬間發(fā)仝翻轉,并在感應線圈中感生出一個方 向相反的電脈沖。如此反復,韋根傳感器便將交變磁場的磁信號轉換成交變電信號。2. 數(shù)據(jù)輸出的基本概念韋根協(xié)議又稱韋根碼,韋根碼在數(shù)據(jù)的傳輸中只需兩條數(shù)據(jù)線,一條為datao,另一條 為datalo協(xié)議規(guī)定,兩條數(shù)據(jù)線在無數(shù)據(jù)時均為高電平,如果datao為低電平代表數(shù)據(jù) 0, data1為低電平代表數(shù)據(jù)1 (低電平信號低于iv,高電平信號大于4v),數(shù)據(jù)信號波 形如圖1.1所示。圖1.1中脈沖寬度在20us到200us之間,兩
4、個脈沖間的時間間隔在 200 u s 到 20ms 之間。data20"200 s數(shù)據(jù)200 s200ms圖1. 1數(shù)據(jù)信號波形圖3.韋根6位輸出格式標準韋根輸出是由26位二進制數(shù)組成,每一位的含義如下:e xxxx xxxx xxxx xxxx xxxx xxxx 0 二進制第1位為2-13位的偶校驗位第2-9位對應與電子卡hid碼的低8位第10-25位對應電子卡的pid號碼第26位為14-25位的奇校驗位以上數(shù)據(jù)從左至右順序發(fā)送,高位在前。如果電卡的地區(qū)碼位2個字符,即8位則可用那設置255個地區(qū)碼(15x16) +15=255);電子卡的卡號位4個字符,即16位則可設置6553
5、6個卡號(15x16x16x16) + (15x16x16) + (15x16) +15二65, 535)。例如:一個htd: 16385, ptd: 00004的電子卡其26位韋根輸出為:10000000100000000000001000檢驗位1110=16385 (二進制的低8位)pid=4 (二進制)檢驗位這26位數(shù)據(jù)在讀出器的韋根輸出線datao, data1上輸出。datao, data1在沒有數(shù)據(jù)輸出時都保持+5v高電平。若輸出為0,則data0拉低一段時 間,若輸出為1,則data1拉低一段時間。兩個電子卡韋根輸出z間的最小間隔為0.25 秒。4. 韋根26接收韋根的接收對時間
6、的實時性耍求比較高,如果用查詢的方法接收會出現(xiàn)丟幀的現(xiàn)象:假 設查詢到data0為0時主程序正在指向其它任務,等主程序執(zhí)行完該任務時data0已經變 為1 了,那么這樣就導致了一個obit丟了,這樣讀出的卡號肯定奇偶校驗通不過,所以 表現(xiàn)出mcu接收不到i c模塊發(fā)送的卡號。唯一的辦法是在外部屮斷里接收每個bit (僅 僅在中斷里獲得開始接收wiegand數(shù)據(jù)還不行,因為這是盡管給開始接收wiegand數(shù)據(jù)標 志位置位了,但是主程序還在執(zhí)行具它代碼而沒有到達杳詢開始接收wiegand數(shù)據(jù)標志位 這條指令)。5. 韋根接口定義wiegand接口界而由三條導線紐.成:datao:暫定,蘭色,p2.
7、5 (通常為綠色)。data1:暫定,門色,p2.6 (通常為門色)。gnd:(通常為黑色),暫定信號地。當安裝讀卡器時,在讀卡器和門禁控制而板的連接點(終端)上都能夠看到這三個名 稱。h前所有的標準型讀卡器都提供對選擇的wiegand接口,這三條線負責傳送wiegand 數(shù)據(jù),也被稱為wiegand信號。6. 特別說明:在上述標準26位韋根格式中,只包含了電子卡hid碼的低8位,即對應于韋根輸出的 第2位到第9位,實際上電子卡的hid碼為16位。除非特別說明,所售census產品的韋 根通訊協(xié)議均為上述標準協(xié)議。奇/他校驗(ecc)是數(shù)據(jù)傳送時采川的一種校正數(shù)據(jù)錯誤 的一種方式,分為奇校驗和
8、偶校驗兩種,其原理如下:如果是采用奇校驗,在傳送每一個 字節(jié)的時候另外附加一位作為校驗位,當實際數(shù)據(jù)屮“1”的個數(shù)為偶數(shù)的時候,這個校 驗位就是“1”,否則,這個校驗位就是“0” ,這樣就可以保證傳送的數(shù)據(jù)滿足奇校驗的 要求。在接收方收到數(shù)拯時,將按照奇校驗的要求檢測數(shù)據(jù)中“1”的個數(shù),如果為奇 數(shù),表示傳送正確,反之,表示傳送錯誤。偶校驗的過程和奇校驗一樣,只不過是檢測數(shù) 據(jù)中的“1”的個數(shù)為偶數(shù)。第二章韋根協(xié)議的應用1. wiegand接口硬件設計將wiegand接口的datao和datal兩個輸出通過74ls573接到mcu的兩個t0腳匕 采 用杳詢的方式接收數(shù)據(jù),但這樣接收并不可靠。比
9、較好的方法是將datao和datal兩個輸 出通過74ls573接到mcu的兩個10腳上,并將它們通過74ls08接到mcu的外部中斷1 上,采用中斷的方式接收數(shù)據(jù),其電路圖如圖2.1所示。圖2. 1 ic卡讀卡電路圖2流程圖<xv74ls08一一一 -二一一vcliqqqqqqqqees寸卜o12 3 4 567n1-edddddddd g-op3x- rv211+二3-2i-4i-1i:di.a:jju : iledl 丄43.q理:2.11圖2.2工藝流程圖圖2. 3程序流程圖3.發(fā)送源程序/ 7“ 1#7"*?> %t#1#*2<>txlx*£
10、;# 7“ 1# b 7" 7"7“ vtx*x# xb %x xf fyt彳*/模塊名稱:ic卡卡號顯示程序f flzlz lx k%lx az lzlzlx klzlxlz%/z%/z lx3f f|> t> |> t>|> t> 7|>7 |> t>|>t%1%葉、嚇、7嚇、|> t% #t t%t% xt% xj 7s t%<|>x7t% x7* 功能說明:讀取ic卡卡號,并予以lcm24064顯示;/完成日期:2008年10月*連線說明:其中do接mcu的p1. 5, d1接mcu的p1
11、. 6, do與d1相與輸出端接/ mcu 的外部中斷1;/作者:*/ /ki" lx %l %<" sl *2<*1 lx7"*£ " " “ » %f> vt %®x%a %l*jx2</ / 彳#inelude <math. h>#inelude<string h>#inelude<absacc. h>#include<reg51. h>#include<intrins h>#include<stdio.h>#in
12、clude<huanyingguanglin. h>#include<lcm. h>#define uint unsigned int #define uchar unsigned char sbit do二pl飛;/韋根數(shù)據(jù)0 sbit d1=p5; /韋根數(shù)據(jù) 1 bit even; /前16位偶校驗 bit odd; 后16位奇校驗uint m=0;uchar t;uchar flag=l; 讀數(shù)次數(shù)uchar wiegand3 = 0xff, oxff, oxff; /ic 卡卡號 韋根 26 數(shù)據(jù)包 24 位 bit even_odd_ture=0; /奇偶校
13、驗正確判斷位 uchar icno6;void init ( void );void zijiezhuanhuan(void);void into isr(void);bit data check (void);void into_isr(void) interrupt 0 /外部中斷 0 服務程序 bit sbufo; /讀數(shù)緩沖器exo二0; /關中斷sbufo二do; /讀數(shù)據(jù) dataoswitch (flag)case 1:if (sbufo=o) even=0; /確定偶校驗位 else even=l;flag+;break;case 2: /第 29 位為區(qū)號碼 if (sbuf
14、o=o) wiegand0&=0x7f;else wiegand0|=0x80;flag+;break;case 3:if(sbufo=o) wiegand0&=0xbf;else wiegand0|=0x40;flag 卄;break;case 4:if(sbufo=o) wiegand0&=0xdf;else wiegand0|=0x20;flag 卄;break;case 5:if(sbufo=o) wiegand0&=0xef;else wiegand0|=0xl0;flag+;break;case 6:if (sbuf0=0) wiegand 0&am
15、p;=0xf7;else wiegand0|=0x08;flag 卄;break;case 7:if(sbuf0=0) wiegand0&=0xfb;else wiegand0|=0x04;flag 卄;break;case 8:if(sbuf0=0) wiegand0&=0xfd;else wiegand0|=0x02;flag 卄;break;case 9:if(sbuf0=0) wiegand0&二oxfe;else wiegandotoxorr flag+_ break-case 15?if(sbufoho) wiegande簾 0x7f_、m1025i2?*7
16、truidselsewiegandet0x80i flag+.tbreakcase lrrif(sbufoxo) wiegand 10hoxbf- else wiegand-ljtoxao-flag+.tcase 12-if (sbl.foho) wicgandlghoxdfi else wiegand1itox2o -flag豐八break-casesif(sbufoho) wiegandlghoxef 八 else wiegand1一"oxlo- flag+.tbreakcase 14-if(sblfouuo) wiegandl0hoxf 7 八 else wiegand1tox
17、o8- flag+break.case 15:if (sbufoo) wiegand1&=oxfb; else wiegand1 |=0x04; flag+; break; if (sbufoo) wiegandl&=oxfd; else wiegandl | =0x02; flag+; break; case 16:case 17:if(sbufo=o)wiegand1&二oxfe;elsewiegand1|二0x01;flag+;break;case 18:if(sbufo=o)wiegand2&=0x7f;elsewiegand2|=0x80;flag+;
18、break;case 19:if(sbufo=o)wiegand2&=oxbf;elsewiegand2|二0x40;flag+;break;case 20:if(sbufo=o)wiegand2&=oxdf;else wiegand2|二0x20;flag 卄;break;case 21:if(sbufo=o) wiegand2&=oxef;else wiegand2|=0xl0;flag 卄;break;case 22:if(sbufo=o) wiegand2&二oxf7;else wiegand2|二0x08;flag 卄;break;case 23:if
19、(sbufo=o) wiegand2&=oxfb;else wiegand2|=0x04;flag+;break;case 24:if(sbufo=o) wiegand2&=oxfd;else wiegand2|=0x02;flag 卄;break;case 25:if (sbufo=o) wiegand2&=0xfe;else wiegand2|=0x01;flag 卄;break;case 26:if(sbufo=o) odd=0;else odd=l;t=flag;flag"m+;break;default:break;exo二1; /開中斷/* * *
20、 * * *ic號數(shù)拯奇偶校驗 * * * * */ / / 偶校驗:bit的個數(shù)為偶數(shù),則為0/ bit 1的個數(shù)為奇數(shù),則為1/奇校驗:bit的個數(shù)為奇數(shù),則為0/ bit 的個數(shù)為偶數(shù),則為1bit data_check(void)!uchar i, check_temp; /uchar one_num=0; /bit 1 的個數(shù)bit ovon_temp; 偶校驗位緩沖器bit odd_temp; /奇校驗位緩沖器check_temp=wiegand 0 ; /先進行偶校驗for(i=0;i<8:i+) /前 8 位 if (chock temp&oxol) one nu
21、m+; /判斷是否為 1,若為 1,則 one num 加 1 check_temp>>=l; /右移chock temp=wiegandl;for (i=0; i<4; i+) /第 912 位 if (check_temp&0x80) one_num+; /判斷是否為 1,若為 1,則 one_num 加 1 check_temp«=l; /左移one_num%2=0?(eventemp二0):(eventemp二1); /one_num=0; /bit 1 的個數(shù)清零if (even_temp=even) /若偶校驗正確,則進行奇校驗 check_te
22、mp=wiegandl;for(i=0;i<4;i+) /第 1317 位 i f(check temp&oxol)one_num+;check_temp>>=l;check_temp=wiegand 2; /第 1824 位for(i=0;i8;i+) / if(check_temp&0x01)one_num+;check_temp>>=l;one num%2=0?(odd temp=l): (odd temp=0);/one_num=0;if (odd=odd_temp) return 1; /若奇偶校驗正確,則返回1else return 0; /否則返回 0void init ( void ) lcmlnit ();ito二1; 外部中斷0,卜降沿觸發(fā)有效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國瀝青和混凝土攤鋪設備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 教師職業(yè)行為規(guī)范試題及答案
- 2025-2030中國沙發(fā)茶幾組合行業(yè)市場深度調研及競爭格局與投資研究報告
- 母豬護理中所需的技能與知識考查試題及答案
- 全方位提升母豬護理質量的考核試題及答案
- 28 棗核 教學設計-2023-2024學年統(tǒng)編版語文三年級下冊
- 2025年會計師試題及答案私人定制
- 2024年系統(tǒng)規(guī)劃與管理師筆試的知識提煉與總結試題及答案
- 更新知識結構的圖書管理員考試試題及答案2024
- 皮膚病常見癥狀的識別試題及答案
- 山東省青島市市南區(qū)育才中學2025年中考數(shù)學一模試卷(含答案)
- 第十個全民國家安全教育日“全民國家安全教育 走深走實十周年”心得體會
- 網絡運維方案
- 江蘇省常熟市2022-2023學年高一下學期期中考試歷史試題 含答案
- 2025年04月國家廣播電視總局直屬事業(yè)單位公開招聘310人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 地鐵施工監(jiān)測監(jiān)理細則
- 呼吸機的使用操作流程
- “雙碳”目標下數(shù)智化供應鏈運作管理策略研究
- 住建局安全管理匯報
- 粉體輸送設備安裝工程施工合同
- 空調定期清洗消毒制度消毒
評論
0/150
提交評論