版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆基胶黏剂在杨木胶合板制备中的耐老化性能探究
- 谢桥煤矿B8煤层水力压裂增透技术:提升瓦斯抽采效率的关键探索
- 调合治疗垂直性食物嵌塞的临床剖析与疗效探究
- 语言经济学视域下中国高校双语教学的多维剖析与发展路径
- 语篇分析视角下《商品房交易合同》汉译英策略与实践探究
- 语感阅读法:开启高中英语课外阅读新征程
- 2026泉州南安市红星职业中专学校编外合同教师招聘考试模拟试题及答案详解
- 语义和交际翻译策略在《高尔夫赛事指南》汉译中的应用与解析
- 2026江西吉安职业技术学院智能建造学院兼职教师招聘考试模拟试题及答案详解
- 2026四川大学法学院实验技术岗招聘1人考试模拟试题及答案详解
- 2025年江西抚州市地理生物会考真题试卷+答案
- 北京大兴经济开发区开发经营有限公司招聘13人笔试参考题库及答案解析
- 2026年全国安全生产月主题宣讲课件
- 2026年辽宁省大连市高新区中考数学适应性试卷(4月份)(含部分答案)
- TCVMA2662025宠物友好场所公共卫生安全管理技术规范
- 2026年CSCO尿路上皮癌诊疗指南
- 2026届河北石家庄高三一模数学试题含答案
- 中考最后阶段:古诗文默写满分必背清单
- DB31∕T 1637-2025 概念验证平台建设与服务指南
- 消瘦诊治与管理专家共识(2025)解读
- 医院净化工程监理实施细则
评论
0/150
提交评论