韦根协议简介
韦根门禁通讯协议
一、前言:
Wiegand
(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉
及门禁控制系统的读卡器和卡
片的许多特性;
其协议并没有定义通讯的波特率、
也没有定义数据长度韦根
格式主要定义是数据传输方
式
:Data0
和
Data1
两根数据线分别传输
0
和
1.
现在应用最多的是
26bit,34
bit
,
36bit
,
44bit
等等。
二、韦根数据输出的基本概念:
二、韦根数据输出由二根线组成,分别是
DATA0
和
DATA1
;二根线分别将‘0’
或‘1’输出。
输出‘0’时:
DATA0
线上出现负脉冲;
输出‘1’时:
DATA1
线上出现负脉冲;
负脉冲宽度
TP=100
微妙;周期
TW=1600
微妙
具体时序如下:
例如:数据‘01000’的时序如下:
三、韦根
26
位输出格式:
韦根
26
位输出格式:
E XXXX XXXX XXXX XXXX XXXX XXXX O
前
12BIT
偶校验
前
12
位
后
12
位
后
12BIT
奇校验
以上数据从左至右顺序发送。高位在前。
如果电卡的地区码位
2
个字符,即
8
位则可用那设置
255
个地区码(
(15x1
6)+15=255
);电子卡的卡
号位
4
个字符,即
16
位则可设置
65536
个卡号
(
(15x16x16x16)+(15x16x16)+(15x16)+15= 65,535
)。
以电子卡为标准
26
位韦根格式为例,假设电子卡号码为:
地区码
:
01
卡号:
0001
韦根输出为
:
1 0000 0001 0000 0000 0000 0001 0
前
12BIT
偶校验
前
12
位
后
12
位
后
12BIT
奇校验
地区码
卡号
四、韦根
26
接收:
韦根的接收对时间的实时性要求比较高,
如果用查询的方法接收会出现丢帧
的现象:假设查询到
DATA0
为
0
时主程序正在指向其他任务,
等主程序执行完该任务时
DATA0
已经变为
1
了,那么这样就导致了一
个
0 bit
丢了,
这样读出的卡号肯定奇偶校验通不过,
所以表现出
CPU
接收
不到
ID
模块发送的卡号了。
唯一的办法是在外部中断里接收每个
bit
。
(仅仅在中断里获得开始接收
wiegand
数据还不行,
因为这是尽管给开始接