




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物仪器操作试题及答案
- 2025年中考正弦函数题目及答案
- 2025年农村社会治理创新实践案例与解读题集
- 2025年农村环境保护与可持续发展模拟考试题库
- 2025年中华传统武术招式入门考核模拟题集及解答
- 2025年传统皮影戏制作技艺认证考试模拟题
- 2025年国际烹饪大师认证考试模拟题集及备考指南
- 2025年供销社电商运营中心招聘笔试模拟题及解析
- 2025年人工智能编程师考试模拟题集及答案
- 2025年公证法律基础模拟题集及深度解析
- 《金融行业客户服务礼仪培训》课件
- 测绘地理信息从业人员保密知识培训
- 智慧水利方案介绍课件(共31张课件)
- 2024-2030年中国眼镜盒市场发展趋势及前景规划调研报告
- 国庆节详细活动方案
- 第八章新时代坚持和发展中国特色社会主义的重要保障-2024版研究生新中特教材课件
- 糖尿病课件教学课件
- 风力发电场突发环境污染事故应急预案
- 三年级地方课程教案上册贵州省
- 唐山市2024-2025学年度高三年级摸底演练 生物试卷
- 医疗美容诊所、门诊部规章制度及岗位职责
评论
0/150
提交评论