韋根數(shù)據(jù)格式_第1頁
韋根數(shù)據(jù)格式_第2頁
韋根數(shù)據(jù)格式_第3頁
韋根數(shù)據(jù)格式_第4頁
韋根數(shù)據(jù)格式_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、韋根數(shù)據(jù)輸出格式一、 韋根數(shù)據(jù)輸出的基本概念:韋根數(shù)據(jù)輸出由二根線組成,分別是DATA0 和DATA1 ;二根線分別將0或1輸出。輸出0時(shí):DATA0線上出現(xiàn)負(fù)脈沖;輸出1時(shí):DATA1線上出現(xiàn)負(fù)脈沖;具體時(shí)序如下:例如:數(shù)據(jù)1011時(shí)序如下:DATA0 DATA1 TP TW 負(fù)脈沖寬度TP=100 us;周期TW=1000 us二、 幾種韋根輸出格式:韋根26位輸出格式:E CCCC CCCC CCCC CCCC CCCC CCCC O 12BIT偶校驗(yàn) 12BIT奇校驗(yàn)E/O:偶/奇校驗(yàn)位。C: 卡片ID號(hào)。以上數(shù)據(jù)從左至右順序發(fā)送。韋根34位輸出格式:E CCCC CCCC CCCC

2、CCCC CCCC CCCC CCCC CCCC O16BIT偶校驗(yàn) 16BIT奇校驗(yàn)E/O:偶/奇校驗(yàn)位。C: 卡片ID號(hào)。以上數(shù)據(jù)從左至右順序發(fā)送。韋根36位輸出格式:E CCCC CCCC CCCC CCCC C CCCC CCCC CCCC CCCI I O17BIT偶校驗(yàn) 17BIT奇校驗(yàn)E/O:偶/奇校驗(yàn)位。C: 卡片ID號(hào)。I:2位卡片發(fā)行碼。以上數(shù)據(jù)從左至右順序發(fā)送。韋根44位輸出格式:CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC IIII IIII XXXXC: 卡片ID號(hào)。I:8位卡片發(fā)行碼。XXXX:LRC校驗(yàn)。以上數(shù)據(jù)從左至右順序發(fā)送。

3、韋根26韋根34發(fā)送程序WG26協(xié)議Wiegand 26格式:各數(shù)據(jù)位的含義:第 1 位: 為輸出數(shù)據(jù)213位的偶校驗(yàn)位第 29 位: ID卡的HID碼的低8位第10-25位: ID卡的PID號(hào)碼第 26 位: 為輸出數(shù)據(jù)14-25位的奇校驗(yàn)位數(shù)據(jù)輸出順序:     HID碼和PID碼均為高位在前,低位在后例:一張ID卡內(nèi)容為:HID:32769   PID:34953      ( 卡面?。?147584137   001, 34953 )相應(yīng)的二進(jìn)制為:HID:

4、1000 0000 0000 0001       ( 只輸出低8位 )PID:1000 1000 1000 1001輸出如下:1 2         9 10                     25  260 0 0 0 0 0 0 0 1

5、1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1    1   | HID_L   |        PID             |輸出端D0、D1時(shí)序:圖示:(1) D0、D1在沒有數(shù)據(jù)輸出時(shí)均保持高電平;(2) 輸出數(shù)據(jù)位時(shí)間為420uS(TL),如輸出為0,D0拉低420uS(TL)后為高電平,

6、若輸出為1,則D1拉低420uS(TL)后為高電平;輸出數(shù)據(jù)位之間的間隔時(shí)間為2mS(TL),如輸出00:D0拉低420uS(TL)后為高電2mS(TL),再拉低為低電平420uS(TL),然后釋放為高電平;WG34協(xié)議Wiegand 34格式:各數(shù)據(jù)位的含義:第 1 位: 為輸出第217位的偶校驗(yàn)位第 2-17 位: ID卡的HID碼第18-33位: ID卡的PID號(hào)碼第 34 位: 為輸出第18-33位的奇校驗(yàn)位數(shù)據(jù)輸出順序:     HID碼和PID碼均為高位在前,低位在后例:一張ID卡內(nèi)容為:HID:32769   PID:3

7、4953       ( 卡面?。?147584137   001, 34953 )相應(yīng)的二進(jìn)制為:000110000100001111110010HID:1000 0000 0000 0001PID:1000 1000 1000 1001輸出如下:1 2                     17 18 

8、                    33  340 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1   0|       HID_L        

9、0;   |          PID            |輸出端D0、D1時(shí)序:圖示:(1) D0、D1在沒有數(shù)據(jù)輸出時(shí)均保持高電平;(2) 輸出數(shù)據(jù)位時(shí)間為420uS(TL),如輸出為0,D0拉低420uS(TL)后為高電平,若輸出為1,則D1拉低420uS(TL)后為高電平;(3) 輸出數(shù)據(jù)位之間的間隔時(shí)間為2mS(TL),如輸出00:D

10、0拉低420uS(TL)后為高電2mS(TL),再拉低為低電平420uS(TL),然后釋放為高電平;發(fā)送程序如下:Str中存的是4字節(jié)卡號(hào)。void Send_Weigand34(unsigned char *str)       unsigned char one_num = 0;       unsigned char even = 0;       unsigned char odd = 0; 

11、60;     unsigned char check_temp,i;       check_temp = *str;       for(i = 0;i < 8;i+)                     if(check_temp &

12、amp; 0×01)                     one_num+;              check_temp >>= 1;         

13、0;    check_temp = *(str + 1);       for(i = 0;i < 8;i+)                     if(check_temp & 0×01)        &#

14、160;            one_num+;              check_temp >>= 1;              if(one_num % 2 )    

15、0;         even = 1;       else              even = 0;       one_num = 0;       check_temp = *(str + 2);&

16、#160;      for(i = 0;i < 8;i+)                     if(check_temp & 0×01)                

17、     one_num+;              check_temp >>= 1;              check_temp = *(str + 3);       for(i = 0;i < 8;i+) &

18、#160;                   if(check_temp & 0×01)                     one_num+;     &

19、#160;        check_temp >>= 1;              if(one_num % 2 )              odd = 0;       else  

20、;            odd = 1;       one_num = 0;       WG_DATA0 = 1;       WG_DATA1 = 1;       Delay_1ms(2);    &

21、#160;  if(even)                     WG_DATA1 = 0;                    /*偶校驗(yàn)位為1*/    &#

22、160;         Delay_50us(8);              WG_DATA1 = 1;              else           &#

23、160;                    WG_DATA0 = 0;                   /*偶校驗(yàn)位為0*/        &

24、#160;     Delay_50us(8);              WG_DATA0 = 1;              Delay_1ms(2);             

25、;           /*延時(shí)2ms*/       for(i = 0;i < 32;i+)                     WG_DATA0 = 1;      

26、0;       WG_DATA1 = 1;              if(str0 & 0×80)                         

27、          WG_DATA1 = 0;                     Delay_50us(8);                &

28、#160;    WG_DATA1 = 1;                            else                 

29、0;                 WG_DATA0 = 0;                     Delay_50us(8);         

30、;            WG_DATA0 = 1;                            (*(long*)&str0) <<= 1;     

31、;         Delay_1ms(2);               /*延時(shí)2ms*/              WG_DATA0 = 1;       WG_DATA1 = 1; 

32、      if(odd)                     WG_DATA1 = 0;              Delay_50us(8);      

33、0;       WG_DATA1 = 1;              else                             &

34、#160;  WG_DATA0 = 0;              Delay_50us(8);              WG_DATA0 = 1;              Delay_1ms(2);

35、60; /*韋根26發(fā)送函數(shù)*/void Send_Weigand26(unsigned char *str)       unsigned char one_num = 0;       unsigned char even = 0;       unsigned char odd = 0;       unsigned char check_t

36、emp,i;       check_temp = *str;       for(i = 0;i < 8;i+)                     if(check_temp & 0×01)     

37、0;               one_num+;              check_temp >>= 1;              check_temp = *(str + 1);

38、0;      for(i = 0;i < 4;i+)                     if(check_temp & 0×80)                

39、60;    one_num+;              check_temp <<= 1;              if(one_num % 2 )             

40、; even = 1;       else              even = 0;       one_num = 0;       check_temp = *(str + 1);       for(i = 0;i &

41、lt; 4;i+)                     if(check_temp & 0×01)                     one_num+;  

42、60;           check_temp >>= 1;              check_temp = *(str + 2);       for(i = 0;i < 8;i+)          &

43、#160;          if(check_temp & 0×01)                     one_num+;              c

44、heck_temp >>= 1;              if(one_num % 2 )              odd = 0;       else          

45、    odd = 1;       one_num = 0;       WG_DATA0 = 1;       WG_DATA1 = 1;       Delay_1ms(2);       if(even)     

46、;                WG_DATA1 = 0;                    /*偶校驗(yàn)位為1*/            

47、60; Delay_50us(8);              WG_DATA1 = 1;              else                   

48、60;            WG_DATA0 = 0;                   /*偶校驗(yàn)位為0*/              Delay_50us(8); 

49、;             WG_DATA0 = 1;              Delay_1ms(2);                     

50、   /*延時(shí)2ms*/       for(i = 0;i < 24;i+)                     WG_DATA0 = 1;              WG_DATA1 =

51、 1;              if(str0 & 0×80)                                 &

52、#160; WG_DATA1 = 0;                     Delay_50us(8);                     WG_DATA1 = 1;                            else                         

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論