韦根数据格式_第1页
韦根数据格式_第2页
韦根数据格式_第3页
韦根数据格式_第4页
韦根数据格式_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、韦根数据输出格式一、 韦根数据输出的基本概念:韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别将0或1输出。输出0时:DATA0线上出现负脉冲;输出1时:DATA1线上出现负脉冲;具体时序如下:例如:数据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号。以上数据从左至右顺序发送。韦根34位输出格式:E CCCC CCCC CCCC

2、CCCC CCCC CCCC CCCC CCCC O16BIT偶校验 16BIT奇校验E/O:偶/奇校验位。C: 卡片ID号。以上数据从左至右顺序发送。韦根36位输出格式:E CCCC CCCC CCCC CCCC C CCCC CCCC CCCC CCCI I O17BIT偶校验 17BIT奇校验E/O:偶/奇校验位。C: 卡片ID号。I:2位卡片发行码。以上数据从左至右顺序发送。韦根44位输出格式:CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC IIII IIII XXXXC: 卡片ID号。I:8位卡片发行码。XXXX:LRC校验。以上数据从左至右顺序发送。

3、韦根26韦根34发送程序WG26协议Wiegand 26格式:各数据位的含义:第 1 位: 为输出数据213位的偶校验位第 29 位: ID卡的HID码的低8位第10-25位: ID卡的PID号码第 26 位: 为输出数据14-25位的奇校验位数据输出顺序:     HID码和PID码均为高位在前,低位在后例:一张ID卡内容为:HID:32769   PID:34953      ( 卡面印:2147584137   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在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,

6、若输出为1,则D1拉低420uS(TL)后为高电平;输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;WG34协议Wiegand 34格式:各数据位的含义:第 1 位: 为输出第217位的偶校验位第 2-17 位: ID卡的HID码第18-33位: ID卡的PID号码第 34 位: 为输出第18-33位的奇校验位数据输出顺序:     HID码和PID码均为高位在前,低位在后例:一张ID卡内容为: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在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;(3) 输出数据位之间的间隔时间为2mS(TL),如输出00:D

10、0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;发送程序如下:Str中存的是4字节卡号。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发送函数*/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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论