




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、韋根26經(jīng)典講解目 錄第一章 韋根協(xié)議簡(jiǎn)介31傳感器原理介紹32數(shù)據(jù)輸出的基本概念33韋根6位輸出格式44韋根26接收45韋根接口定義46特別說明:5第二章 韋根協(xié)議的應(yīng)用61wiegand接口硬件設(shè)計(jì)62流程圖63發(fā)送源程序7第一章 韋根協(xié)議簡(jiǎn)介wiegand(韋根)協(xié)議是由摩托羅拉公司制定的一種通訊協(xié)議,它適用于涉及門禁控制系統(tǒng)的讀卡器和卡片的許多特性,其協(xié)議并沒有定義通訊的波特率、也沒有定義數(shù)據(jù)長(zhǎng)度韋根格式主要定義是數(shù)據(jù)傳輸方式:data0和data1兩根數(shù)據(jù)線分別傳輸0和1,現(xiàn)在應(yīng)用最多的是26bit,34bit,36bit,44bit等等,其中標(biāo)準(zhǔn)26-bit 格式是一個(gè)開放式的格式
2、,任何人都可以購買某一特定格式的hid卡,并且這些特定格式的種類是公開可選的,26-bit格式就是一個(gè)廣泛使用的工業(yè)標(biāo)準(zhǔn),并且對(duì)所有hid的用戶開放,現(xiàn)在幾乎所有的門禁控制系統(tǒng)都接受26-bit格式的標(biāo)準(zhǔn)。1傳感器原理介紹韋根傳感器是由一根雙穩(wěn)態(tài)磁敏感功能合金絲和纏繞其外的感應(yīng)線圈組成的。其工作原理是:在交變磁場(chǎng)中,當(dāng)平行于敏感絲的某極性(例如n極)磁場(chǎng)達(dá)到觸發(fā)磁感應(yīng)強(qiáng)度時(shí),敏感絲中的磁疇受到激勵(lì)會(huì)發(fā)生運(yùn)動(dòng),磁化方向瞬間轉(zhuǎn)向同一方向,同時(shí)在敏感絲周圍空間磁場(chǎng)也發(fā)生瞬間變化,由此在感應(yīng)線圈中感生出一個(gè)電脈沖。此后若該磁場(chǎng)減弱,敏感絲磁化方向?qū)⒈3址€(wěn)定不變,感應(yīng)線圈也無電脈沖輸出,但當(dāng)相反極性(s
3、極)磁場(chǎng)增強(qiáng)觸發(fā)磁感應(yīng)強(qiáng)度時(shí),敏感絲磁化方向又瞬間發(fā)生翻轉(zhuǎn),并在感應(yīng)線圈中感生出一個(gè)方向相反的電脈沖。如此反復(fù),韋根傳感器便將交變磁場(chǎng)的磁信號(hào)轉(zhuǎn)換成交變電信號(hào)。2數(shù)據(jù)輸出的基本概念韋根協(xié)議又稱韋根碼,韋根碼在數(shù)據(jù)的傳輸中只需兩條數(shù)據(jù)線,一條為data0,另一條為data1。協(xié)議規(guī)定,兩條數(shù)據(jù)線在無數(shù)據(jù)時(shí)均為高電平,如果data0為低電平代表數(shù)據(jù)0,data1為低電平代表數(shù)據(jù)1(低電平信號(hào)低于1v,高電平信號(hào)大于4v),數(shù)據(jù)信號(hào)波形如圖1.1所示。圖1.1中脈沖寬度在20s到200s之間,兩個(gè)脈沖間的時(shí)間間隔在200s到20ms之間。圖1.1 數(shù)據(jù)信號(hào)波形圖3韋根6位輸出格式標(biāo)準(zhǔn)韋根輸出是由26
4、位二進(jìn)制數(shù)組成,每一位的含義如下: e xxxx xxxx xxxx xxxx xxxx xxxx o二進(jìn)制第1位為2-13位的偶校驗(yàn)位第2-9位對(duì)應(yīng)與電子卡hid碼的低8位第10-25位對(duì)應(yīng)電子卡的pid號(hào)碼第26位為14-25位的奇校驗(yàn)位以上數(shù)據(jù)從左至右順序發(fā)送,高位在前。如果電卡的地區(qū)碼位2個(gè)字符,即8位則可用那設(shè)置255個(gè)地區(qū)碼(15×16)+15=255);電子卡的卡號(hào)位4個(gè)字符,即16位則可設(shè)置65536個(gè)卡號(hào)(15×16×16×16)+(15×16×16)+(15×16)+15=65,535)。例如:一個(gè)hid
5、:16385,pid:00004的電子卡其26位韋根輸出為:10000000100000000000001000檢驗(yàn)位hid=16385(二進(jìn)制的低8位)pid=4(二進(jìn)制)檢驗(yàn)位這26位數(shù)據(jù)在讀出器的韋根輸出線data0,data1上輸出。data0,data1在沒有數(shù)據(jù)輸出時(shí)都保持+5v高電平。若輸出為0,則data0拉低一段時(shí)間,若輸出為1,則data1拉低一段時(shí)間。兩個(gè)電子卡韋根輸出之間的最小間隔為0.25秒。4韋根26接收韋根的接收對(duì)時(shí)間的實(shí)時(shí)性要求比較高,如果用查詢的方法接收會(huì)出現(xiàn)丟幀的現(xiàn)象:假設(shè)查詢到data0為0時(shí)主程序正在指向其它任務(wù),等主程序執(zhí)行完該任務(wù)時(shí)data0已經(jīng)變?yōu)?/p>
6、1了,那么這樣就導(dǎo)致了一個(gè)0bit丟了,這樣讀出的卡號(hào)肯定奇偶校驗(yàn)通不過,所以表現(xiàn)出mcu接收不到i c模塊發(fā)送的卡號(hào)。唯一的辦法是在外部中斷里接收每個(gè)bit(僅僅在中斷里獲得開始接收wiegand數(shù)據(jù)還不行,因?yàn)檫@是盡管給開始接收wiegand數(shù)據(jù)標(biāo)志位置位了,但是主程序還在執(zhí)行其它代碼而沒有到達(dá)查詢開始接收wiegand數(shù)據(jù)標(biāo)志位這條指令)。5韋根接口定義 wiegand接口界面由三條導(dǎo)線組成: data0:暫定,蘭色,p2.5(通常為綠色)。data1:暫定,白色,p2.6(通常為白色)。gnd:(通常為黑色),暫定信號(hào)地。當(dāng)安裝讀卡器時(shí),在讀卡器和門禁控制面板的連接點(diǎn)(終端)上都能夠看
7、到這三個(gè)名稱。目前所有的標(biāo)準(zhǔn)型讀卡器都提供可選擇的wiegand接口,這三條線負(fù)責(zé)傳送wiegand數(shù)據(jù),也被稱為wiegand信號(hào)。6特別說明:在上述標(biāo)準(zhǔn)26位韋根格式中,只包含了電子卡hid碼的低8位,即對(duì)應(yīng)于韋根輸出的第2位到第9位,實(shí)際上電子卡的hid碼為16位。除非特別說明,所售census產(chǎn)品的韋根通訊協(xié)議均為上述標(biāo)準(zhǔn)協(xié)議。奇/偶校驗(yàn)(ecc)是數(shù)據(jù)傳送時(shí)采用的一種校正數(shù)據(jù)錯(cuò)誤的一種方式,分為奇校驗(yàn)和偶校驗(yàn)兩種,其原理如下:如果是采用奇校驗(yàn),在傳送每一個(gè)字節(jié)的時(shí)候另外附加一位作為校驗(yàn)位,當(dāng)實(shí)際數(shù)據(jù)中“1”的個(gè)數(shù)為偶數(shù)的時(shí)候,這個(gè)校驗(yàn)位就是“1”,否則,這個(gè)校驗(yàn)位就是“0”,這樣就可
8、以保證傳送的數(shù)據(jù)滿足奇校驗(yàn)的要求。在接收方收到數(shù)據(jù)時(shí),將按照奇校驗(yàn)的要求檢測(cè)數(shù)據(jù)中“1”的個(gè)數(shù),如果為奇數(shù),表示傳送正確,反之,表示傳送錯(cuò)誤。偶校驗(yàn)的過程和奇校驗(yàn)一樣,只不過是檢測(cè)數(shù)據(jù)中的“1”的個(gè)數(shù)為偶數(shù)。第二章 韋根協(xié)議的應(yīng)用1wiegand接口硬件設(shè)計(jì)將wiegand接口的data0和data1兩個(gè)輸出通過74ls573接到mcu的兩個(gè)io腳上,采用查詢的方式接收數(shù)據(jù),但這樣接收并不可靠。比較好的方法是將data0和data1兩個(gè)輸出通過74ls573接到mcu的兩個(gè)io腳上,并將它們通過74ls08接到mcu的外部中斷1上,采用中斷的方式接收數(shù)據(jù),其電路圖如圖2.1所示。圖2.1 ic
9、卡讀卡電路圖2流程圖開始字節(jié)調(diào)整奇偶校驗(yàn)讀數(shù)據(jù)中斷初始化lcm初始化結(jié)束字符顯示中斷?圖2.2 工藝流程圖開始zijiezhuanhuan()data_check()int0_isr()init( )lcminit( )結(jié)束putchar()t=26?圖2.3 程序流程圖3發(fā)送源程序/*/模塊名稱:ic卡卡號(hào)顯示程序 /*/功能說明:讀取ic卡卡號(hào),并予以lcm24064顯示;/連線說明:其中d0接mcu的p1.5,d1接mcu的p1.6,d0與d1相與輸出端接/ mcu的外部中斷1;/ 作者: */完成日期:2008年10月 */*#include <math.h>#includ
10、e <string.h>#include <absacc.h>#include <reg51.h>#include <intrins.h>#include <stdio.h>#include <huanyingguanglin.h>#include <lcm.h>/*函數(shù)定義*/#define uint unsigned int#define uchar unsigned charsbit d0=p16; /韋根數(shù)據(jù)0sbit d1=p15; /韋根數(shù)據(jù)1bit even; /前16位偶校驗(yàn)bit odd; /
11、后16位奇校驗(yàn)uint m=0;uchar t;uchar flag=1; /讀數(shù)次數(shù)uchar wiegand3=0xff,0xff,0xff; /ic卡卡號(hào) 韋根26數(shù)據(jù)包24位bit even_odd_ture=0; /奇偶校驗(yàn)正確判斷位 uchar icno6; /*函數(shù)聲明*/void init( void );void zijiezhuanhuan(void);void int0_isr(void);bit data_check(void);/*into中斷服務(wù)程序*/void int0_isr(void) interrupt 0 /外部中斷0服務(wù)程序 bit sbuf0; /讀數(shù)
12、緩沖器 ex0=0; /關(guān)中斷 sbuf0=d0; /讀數(shù)據(jù)data0 switch(flag) case 1: if(sbuf0=0) even=0; /確定偶校驗(yàn)位 else even=1; flag+; break; case 2: /第29位為區(qū)號(hào)碼 if(sbuf0=0) wiegand0&=0x7f; else wiegand0|=0x80; flag+; break; case 3: if(sbuf0=0) wiegand0&=0xbf; else wiegand0|=0x40; flag+; break; case 4: if(sbuf0=0) wiegand0
13、&=0xdf; else wiegand0|=0x20; flag+; break; case 5: if(sbuf0=0) wiegand0&=0xef; else wiegand0|=0x10; flag+; break; case 6: if(sbuf0=0) wiegand0&=0xf7; else wiegand0|=0x08; flag+; break; case 7: if(sbuf0=0) wiegand0&=0xfb; else wiegand0|=0x04; flag+; break; case 8: if(sbuf0=0) wiegand0
14、&=0xfd; else wiegand0|=0x02; flag+; break; case 9: if(sbuf0=0) wiegand0&=0xfe; else wiegand0|=0x01; flag+; break; case 10: /第1025位為卡號(hào)碼 if(sbuf0=0) wiegand1&=0x7f; else wiegand1|=0x80; flag+; break; case 11: if(sbuf0=0) wiegand1&=0xbf; else wiegand1|=0x40; flag+; break; case 12: if(sb
15、uf0=0) wiegand1&=0xdf; else wiegand1|=0x20; flag+; break; case 13: if(sbuf0=0) wiegand1&=0xef; else wiegand1|=0x10; flag+; break; case 14: if(sbuf0=0) wiegand1&=0xf7; else wiegand1|=0x08; flag+; break; case 15: if(sbuf0=0) wiegand1&=0xfb; else wiegand1|=0x04; flag+; break; case 16: i
16、f(sbuf0=0) wiegand1&=0xfd; else wiegand1|=0x02; flag+; break; case 17: if(sbuf0=0) wiegand1&=0xfe; else wiegand1|=0x01; flag+; break; case 18: if(sbuf0=0) wiegand2&=0x7f; else wiegand2|=0x80; flag+; break; case 19: if(sbuf0=0) wiegand2&=0xbf; else wiegand2|=0x40; flag+; break; case 2
17、0: if(sbuf0=0) wiegand2&=0xdf; else wiegand2|=0x20; flag+; break; case 21: if(sbuf0=0) wiegand2&=0xef; else wiegand2|=0x10; flag+; break; case 22: if(sbuf0=0) wiegand2&=0xf7; else wiegand2|=0x08; flag+; break; case 23: if(sbuf0=0) wiegand2&=0xfb; else wiegand2|=0x04; flag+; break; ca
18、se 24: if(sbuf0=0) wiegand2&=0xfd; else wiegand2|=0x02; flag+; break; case 25: if(sbuf0=0) wiegand2&=0xfe; else wiegand2|=0x01; flag+; break; case 26: if(sbuf0=0) odd=0; else odd=1; t=flag; flag=1; m+; break; default:break; ex0=1; /開中斷 /*ic卡號(hào)數(shù)據(jù)奇偶校驗(yàn)*/偶校驗(yàn):bit "1"的個(gè)數(shù)為偶數(shù),則為0/ bit "
19、;1"的個(gè)數(shù)為奇數(shù),則為1 /奇校驗(yàn):bit "1"的個(gè)數(shù)為奇數(shù),則為0/ bit "1"的個(gè)數(shù)為偶數(shù),則為1bit data_check(void) uchar i,check_temp; / uchar one_num=0; /bit 1的個(gè)數(shù) bit even_temp; /偶校驗(yàn)位緩沖器 bit odd_temp; /奇校驗(yàn)位緩沖器 check_temp=wiegand0; /先進(jìn)行偶校驗(yàn) for(i=0;i<8;i+) /前8位 if(check_temp&0x01)one_num+; /判斷是否為1,若為1,則one_
20、num加1 check_temp>>=1; /右移 check_temp=wiegand1; for(i=0;i<4;i+) /第912位 if(check_temp&0x80)one_num+; /判斷是否為1,若為1,則one_num加1 check_temp<<=1; /左移 one_num%2=0?(even_temp=0):(even_temp=1); / one_num=0; /bit 1的個(gè)數(shù)清零 if(even_temp=even) /若偶校驗(yàn)正確,則進(jìn)行奇校驗(yàn) check_temp=wiegand1; for(i=0;i<4;i+)
21、 /第1317位 if(check_temp&0x01)one_num+; check_temp>>=1; check_temp=wiegand2; /第1824位 for(i=0;i<8;i+) / if(check_temp&0x01)one_num+; check_temp>>=1; one_num%2=0?(odd_temp=1):(odd_temp=0);/ one_num=0; if(odd=odd_temp) return 1; /若奇偶校驗(yàn)正確,則返回1 else return 0; /否則返回0void init( void ) lcminit( );it0=1; /外部中斷0,下降沿觸發(fā)有效 ex0=1; /允許外部中斷0中斷 ea=1; lcmc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泉州醫(yī)學(xué)高等專科學(xué)?!渡锛夹g(shù)制藥實(shí)驗(yàn)二》2023-2024學(xué)年第二學(xué)期期末試卷
- 南陽醫(yī)學(xué)高等專科學(xué)校《攝影攝像綜合實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省 2025屆高考?xì)v史全真模擬試題(含解析)
- 慶陽市慶陽縣2024-2025學(xué)年六年級(jí)下學(xué)期小升初數(shù)學(xué)考前押題卷含解析
- 保安證考試流程解析及試題及答案
- 備戰(zhàn)2025年保安證考試試題及答案
- 廣西理工職業(yè)技術(shù)學(xué)院《大學(xué)生心理團(tuán)體輔導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年保安證試題庫及答案
- 承德醫(yī)學(xué)院《文化經(jīng)紀(jì)人基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 1 教師在學(xué)前教育中的角色考察及答案
- 公文發(fā)文流程圖
- 2025年中國模數(shù)轉(zhuǎn)換器(ADC)行業(yè)市場(chǎng)前瞻與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2024年03月中國工商銀行總行本部2024年招考暑期實(shí)習(xí)生筆試歷年參考題庫附帶答案詳解
- 光肩星天牛防治技術(shù)規(guī)程 DB23-T 2625-2020 黑龍江
- 進(jìn)化醫(yī)療-跨物種腫瘤基因治療的開拓者
- 法理學(xué)復(fù)習(xí)題+答案
- 信息化系統(tǒng)平臺(tái)試運(yùn)行方案
- 統(tǒng)編版(2024新版)七年級(jí)下冊(cè)道德與法治期末復(fù)習(xí)背誦知識(shí)點(diǎn)提綱
- 《認(rèn)知理論》課件
- 2024年度寧夏回族自治區(qū)國家電網(wǎng)招聘之環(huán)化材料類題庫檢測(cè)試卷B卷附答案
- 《冠心病護(hù)理》課件
評(píng)論
0/150
提交評(píng)論