版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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北京市延庆区招聘社区工作者46人备考题库及答案详解(考点梳理)
- 面试的心理测试题及答案
- 2025年杭州市拱墅区和睦街道公开招聘编外工作人员1人备考题库附答案详解(满分必刷)
- 佛山教师招聘试题及答案
- 2025重庆永川区来苏镇关于村社区专职干部招录8人备考题库及答案详解一套
- 2025安徽芜湖镜湖区社区工作者招聘34人备考题库及答案详解(易错题)
- 2025广东广州市黄埔区萝岗街道综合发展中心招聘环卫工人备考题库含答案详解(精练)
- 自考会计学位题库及答案
- 专升本时事政治题库及答案
- 2025年秋统编版(2024)小学道德与法治一年级上册期中检测试卷及答案
- 2025广东佛山市南海区救助站招聘合同制人员3人考试笔试备考题库及答案解析
- 2025危大钢结构全流程施工危险源辨识、施工技术及监管要点指南(符合31号文)
- 酒店软装设计方案
- 代建单位安全管理制度
- 抖音团购合作方案
- JJF 2298-2025负压隔离舱生物安全参数校准规范
- 2024中国中信金融资产管理股份有限公司北京市分公司招聘笔试参考题库含答案详解(巩固)
- 柴油车保养知识培训总结课件
- 2025年简单个人房屋装修合同5篇
- 人教版(2024)三年级全一册信息科技全册教案
评论
0/150
提交评论