当前位置:文档之家› 基于单片机的标准韦根网络通讯协议的实现

基于单片机的标准韦根网络通讯协议的实现

技术应用

64

摘 要 :

介绍射频卡中标准的韦根( Wiegand )26接口协议,重点介绍在单片机中对这种通讯协议的实现的软硬件设计方法。

关键词:单片机 Wiegand HID PID 射频卡Wiegand传输协议,是国际标准的射频卡数据传输协议,

Motorola,HID,EM等国际知名电子厂商都遵从该协议,在国内又称”韦根” “维庚” “维根” 协议。W i e g a n d 协议有很多格式,在常见的射频卡中,标准的26-bit 是被广泛采用的一个工业标准,门禁控制系统中基本上都采用这种格式。

Wiegand 基本格式

标准韦根输出是由26位二进制数组成,每一位的含义如图

1所示:

其中:

BIT1: 第2—13位的偶校验位BIT2-9: 对应与电子卡HID码的低8位BIT10-25: 应电子卡的PID号码BIT26: 第14-25位的奇校验位以图1为例,H I D 的16进制数为0x 1A ,对应于十进制数为26。HID的16进制数为0x8484,对应于十进制数为33924。即这个卡的编码通常写为:26.33924。

传输协议中提到的HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。 PID很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。

因此,在上述标准26位韦根格式中,只包含了电子卡HID 码的低8位,即对应于韦根输出的第1位到第8位,实际上电子卡的HID码为16位。

在上述标准26位韦根格式中,最高位和最低位为奇/偶校验。奇/偶校验(E C C )是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种,其原理如下:如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则,这个校验位就是“0”,这样就可以保证传

送的数据满足奇校验的要求。在接收方收到数据时,将按照奇

校验的要求检测数据中“1”的个数,如果为奇数,表示传送正确,反之,表示传送错误。

偶校验的过程和奇校验一样,只不过是检测数据中的“1”的个数为偶数。 

在本例中,BIT1为第2—13位的偶校验位,而2-13位共有4个“1”,因此校验位为“0”。B I T 26为第14—25位的奇校验位,而14-25位共有3个“1”,因此校验位为“0”。

Wiegand 硬件接口

Wiegand接口通常由2根线组成,它们是:数据0(Data0),数据1(D a t a 1)。这2条线负责传输W i e g a n d 信号。D 0,D 1在没有数据输出时都保持+5V 高电平。若输出为0,则D 0拉低一段时间,若输出为1,则D1拉低一段时间。如图2:

一个电子卡的Wiegand输出为26位,输出之间的最小间

隔为0.25秒。

单片机与Wiegand接口硬件设计

单片机与W i e g a n d 接口的连接比较简单,将D a t a 0和Data1两个输出接到单片机的两个IO脚上,

便可采用查询的方式接收数据。

如图3所示:

基于单片机的

标准韦根网络通讯协议的实现

文/朱力宏 颜丽莎

65

需要注意的是,如果采用中断的方式接收数据,可将单片机的I/O换成外部中断输入端口即可。同时,与不同的单片机通信注意电平的匹配。

软件程序设计:

软件设计时,可采用查询和中断两种方式。不同的单片机中断的设置也不相同,在本次IC门禁系统的设计过程中,采用了89E58单片机的查询工作方式,源程序采用C语言,单片机的晶振采用11.0592M。程序在89E58单片机中测试通过,具体如下:

//读取射频卡函数,返回值32位的无符号数ID号(只用到后26位)

unsigned long getid(){ unsigned long id=0; //定义了长型,32位的无符号数id

unsigned char i; unsigned int y;

if((IC0==0)|(IC1==0)) //如果数据线有数则执行{ for(i=0,y=800;i<26;i++)

{ while(((IC0==1)&(IC1==1))&(y!=0)) y--;//数据线均为1与y不为0时,等待

if(IC0==0) //如果Data0为“0” { id=id<<1; while(IC0==0); //等待Data0为“1” }

This part is used within the frap assembly

0.1010

从以上返回的数据看,这个数据又链接到更多的数据。客户可继续选择这些链接以获得更详细的数据,这正是REST的关键所在。

提交一个采购清单(OP),这个服务利用一个指向PO提交的U R L 。客户依照零件仓库预先定义的P O 格式创建一个P O 实例文档。客户将PO.xml作为HTTP POST承载的内容提交上来。P O 服务响应此P O 提交请求,从而客户可以随时检索、更新、编辑这个PO。PO 于是成为客户端与服务器端共享的一段信息。共享信息(PO)由服务器端指定的URL访问,并暴露为一个Web服务。

4.REST Web服务设计原则

(1) 以REST构建Web服务的关键是要正确识别作为服务

的资源。

(2) 为每个资源提供URL,资源应该是名词,不是动词。(3) 根据客户处理资源的方式分类,可以分为客户仅接收资源的表现性和客户能够修改(增加)资源。对于前者,提供HTTP GET 方法访问,对于后者,提供HTTP POST,PUT和DELETE。

(4) 所有通过HTTP CET访问的资源应该是不可更改的。即

else if(IC1==0) //如果Data1为“0”

{ id=id<<1; id++; while(IC1==0); //等待Data1为“1” } }

i=i++; msec(10); }

return id;}

在本程序中,I C 0和I C 1分别对应于D a t a 0和D a t a 1的两个I/O口。msec()为延时函数。

结束语

W i e g a n d 通讯协议,连线较少,使用方便编程简单,也很容易与不同的单片机之间的通信。在实际应用中,工作稳定,效果很好。 参考文献:

[1] 王幸之,等.AT89系列单片机原理与接口技术[M].北京:北京 航空航天大学出版社,2003

[2] 马忠梅,等.单片机的C 语言应用程序设计[M].北京:北京航 空航天大学出版社,2003.4.

作者简介:

朱力宏 郑州铁路职业技术学院实验师。从事电子实验教学。颜丽莎 郑州铁路职业技术学院实验师。从事多媒体实验教学。

是说,这些资源仅仅向客户返回一个资源的表现性,客户调用他们不能更改它们。

(5) 没有孤立的表现性。换言之,在资源的表现性中提供链接,让客户能更深人的获取更多的信息,或者相关信息。

(6) 逐步的提供数据,不应该在一个文档里提供所有的内容,可以为更详细的信息提供链接。

因为REST是对当今Web体系结构设计原则的一种描述,所以REST的目标和原则是对当今Web中已经成功应用的要素的总结。

5.总结

本文描述了基于R E S T 的W e b 服务设计原则和特点,以及构建基于R E S T 的W e b 服务的思想。通过对R E S T 的理解,REST必然会对Web服务的体系结构产生重要的影响基于REST 的Web服务必将推进当前Web服务技术的大规模应用和进一步发展。

参考文献:

[1] Fielding R T.架构风格与基于网络的软件架构设计.李锟, 廖志刚,刘丹,杨光,译.2007

[2] John Cowan.RESTful Web Services.2005. /~cowan/restws.pdf

[3] 蔡月茹,柳西玲.Web Service 基础教程.北京:清华大学出版社, 2005.6,6-7

[4] Ray Lai.J2EE 平台Web Service.周斌,刘亚萍,冯艳玲,译. 北京:电子工业出版社,2005.6作者单位:唐山学院

(上接63页)

相关主题