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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、韋根26韋根34發(fā)送程序WG26協(xié)議Wiegand 26格式:各數(shù)據(jù)位的含義:第 1 位: 為輸出數(shù)據(jù)213位的偶校驗位第 29 位: ID卡的HID碼的低8位第10-25位: ID卡的PID號碼第 26 位: 為輸出數(shù)據(jù)14-25位的奇校驗位數(shù)據(jù)輸出順序:     HID碼和PID碼均為高位在前,低位在后例:一張ID卡內(nèi)容為:HID:32769   PID:34953      ( 卡面?。?147584137   001, 34953 )相應的二進制為: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時序:圖示:(1) D0、D1在沒有數(shù)據(jù)輸出時均保持高電平;(2) 輸出數(shù)據(jù)位時間為420uS(TL),如輸出為0,D0拉低420uS(TL)后為高電平,

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

7、4953       ( 卡面印:2147584137   001, 34953 )相應的二進制為: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時序:圖示:(1) D0、D1在沒有數(shù)據(jù)輸出時均保持高電平;(2) 輸出數(shù)據(jù)位時間為420uS(TL),如輸出為0,D0拉低420uS(TL)后為高電平,若輸出為1,則D1拉低420uS(TL)后為高電平;(3) 輸出數(shù)據(jù)位之間的間隔時間為2mS(TL),如輸出00:D

10、0拉低420uS(TL)后為高電2mS(TL),再拉低為低電平420uS(TL),然后釋放為高電平;發(fā)送程序如下:Str中存的是4字節(jié)卡號。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;                    /*偶校驗位為1*/    &#

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

23、160;                    WG_DATA0 = 0;                   /*偶校驗位為0*/        &

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

25、;           /*延時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);               /*延時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;                    /*偶校驗位為1*/            

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

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

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

50、   /*延時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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論