奇偶校验方法(韦根协议)

本文介绍了维根协议的基本原理,包括26位标准格式,奇偶校验的计算方法,以及在软件编程中如何处理韦根数据,通过中断GPIO读取数据并进行错误检查的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在了解维根协议方面的内容,ID刷卡现在应用已经非常的普遍了。这里稍微总结下维根协议的知识。


韦根协议是国际上同意的标准,由摩托罗拉公司制定的一种通信协议。

标准的26bit应该是最常用的一种格式。还有34bit,37bit等


韦根协议的数据输出,必须接在MCU的两个可中断GPIO上,这样能及时相应DATA0和DATA1的数据流变化。

ID卡模组输出‘0’时,DATA0 线上出现负脉冲。  ID卡模组输出‘1’时,DATA1 线上出现负脉冲。 平时两根线都是出于高电平上拉。

负脉冲宽度 = 100 us, T = 1600 us  。例如,数据0x01000的时序如下图所示,数据从高位开始传输。。

标准维根协议是有26位二进制数组成的,韦根26位输出格式:E XXXX XXXX XXXX XXXX XXXX XXXX O

其中。第1位为2~13位的偶校验位,第26位为14到25位的奇校验位。2到9位对应于电子卡HID码的低8位。10到25位对应于电子卡的PID号码。

以上数据从左至右顺序发送。高位在前。

软件编程方面:

初始化这两个 DATA0 DATA1  GPIO口的int config,int callback func,int enable。

static volatile BYTE rx_bit_cnt;

Gpio_DataGet(WIEGAND_DATA0, &data, 1);
Gpio_DataGet(WIEGAND_DATA1, &data1, 1);

        if (data == 0)           //gpio0 int data0
        {
                wiegand

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值