访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
采用PIC16X711实现基于维根码的信息钮序列号
内容导读:

采用PIC16X711实现基于维根码的信息钮序列号
Using PIC16X711 to realize information button serial number based on Wiegand code


吉林铁路经济学校 邵玉华
北京华数科技有限公司 黄建华
摘 要:介绍了维根码的(组成)、数据传输协议以及时序。并针对Dallas信息钮序列号的特点,提出了一种以50位的扩展型维根码格式输出Dallas信息钮序列号的方法,给出了相应的硬件电路以及软件程序。
关键词:维根码;Dallas信息钮;PIC16X711
维根码概述
---维根码(Wiegand)是一种数据传输协议,它是由美国安全工业协会SIA(Security Industry Association)规定的读写接口控制协议。在门禁、安防、考勤以及与之相关的其他行业中,维根码作为一种读卡设备与上位机之间的通信介质,其应用领域非常广泛。根据美国安全工业协会颁布的《以26位维根码读卡器为界面的门禁控制标准草案》,26位维根码长度为26位,数据结构见表1。
---如表1所示,26位维根码由8位设备的家族码以及16位的设备ID号组成。从数学意义上说,8位家族码只能容纳256个设备种类编号(0~255)。而16位的设备ID码在同一个设备种类之下只能容纳65536个不同的设备号(0~65535)。由于26位维根码本身的这种容量限制,在数据处理过程中可能会出现编码的重复。
---正是基于以上这种原因,在26位维根码的基础上,又建立了锥形维根码格式(Pyramid Wiegand Format)以及自定义的维根码格式(Custom Wiegand Format)等扩展的维根码格式。这些维根码格式的具体定义如表2和表3所示。
---维根码数据输出由两条数据线构成,分别是Data 0和Data 1线。图1给出了《以26位维根码读取设备为界面的门禁控制标准草案》所规定的传输数据0和1的时序。如图1所示,Data 0和Data 1线在发送数据之前都被置为逻辑高电平(高于Voh)。在这两条数据线出现不同步的低电平的时候,读取设备(通常为单片机)会分别向上位机传送数据0和1。
---数据线Data 0和Data 1上的脉冲不能重叠或是同步。图中Tpw是脉冲宽度时间(≤100μs),Tpi是脉冲间隔时间(≥1ms)。
---作为一种数据传输格式,维根码具有广阔的应用前景。依据维根码格式输出的信息可以应用于身份识别、设备管理等多种领域。

以维根码格式输出信息钮序列号
---维根码格式在射频卡领域有广泛的应用。将对射频卡或和TM卡序列号的读取制成特定的模块,既能简化系统设计,又能保证读取序列号的正确性,提高了身份识别系统的通用性和可移植性。
---目前在采用射频卡方式工作的门禁控制中,卡号多以维根码数据形式输出到控制器部分。为了不改变原有门禁控制系统的基本结构,设计了一种采用维根码格式输出TM卡序列号的方法。
---Dallas公司生产的信息钮(I-Button)是一种单总线器件,包括ID码信息钮DS1990、密码信息钮DS1991、温度信息钮DS1920、时钟信息钮DS1994等器件。这些器件都采用Φ16mm的不锈钢封装,无暴露的易损部件或易腐部件。数据传输时采用单总线协议,即和外部连接时只需要一根数据线和一根地线。每一个信息钮都有一个64位长的注册码,包括8位家族码、48位序列号和8位CRC校验码。其中48位序列号是每个信息钮所独有的,通过读取8位家族码可以对不同的信息钮加以区分。其独特的机械外形设计和设计理念,使其抗撞击、防水渍、耐腐蚀、抗磁扰、防折叠,存储于其中的数据信息具有相当高的安全可靠性,而且便于随身携带。
---如前所述,Dallas信息钮的序列号有48位,根据这一特点,采用扩展的50位维根码输出序列号,具体定义表4所示。

硬件设计
---采用PIC系列的16X711单片机实现维根码的输出,工作电压为2.5~5.5V,一般情况下的工作电流小于1μA,只在读信息钮瞬间电流增大,非常适合在要求低功率的系统中使用。具体工作过程如下。
---(1)当信息钮与信息钮读卡头相接触时,单片机的INT0端有电平变化,产生中断,把单片机从睡眠状态中唤醒过来。
---(2)单片机执行读序列号程序,读卡过程操作时序通过PORTA端口的RA1端控制。若读卡中序列号正确,蜂鸣器发出提示,同时信息钮序列号以50位维根码数据格式由DATA0和DATA1数据线输出。
---(3)输出信息钮序列号结束后,整个电路重新进入睡眠状态。
---硬件电路如图2所示。图中1_WIRE表示连接信息钮读卡头的地方,即信息钮的1_wire数据端同时连接到PIC单片机INT0中断端和PORTA端口的RA1端;DATA0是维根码的“0”数据线,DATA1是维根码的“1”数据线;B1是蜂鸣器。

软件实现
---以维根码格式输出Dallas信息钮的序列号的软件流程图见图3。
计算校验码程序如下。
EVEN EQU 30H
ODD EQU 31H
ZH1 EQU 2BH
NUMB EQU 2CH

WIEGAND:
CLRF EVEN
CLRF ODD
MOVLW 3
MOVWF NUMB
MOVLW 46H
MOVWF FSR
;计算bit2-25的偶校验,并储存在EVEN中
EVEN7:
MOVF 0,W
MOVWF 39H
BTFSS 39H, 7
GOTO EVEN6
INCF EVEN
EVEN6: BTFSS 39H, 6
GOTO EVEN5
INCF EVEN
EVEN5: BTFSS 39H, 5
GOTO EVEN4
INCF EVEN
EVEN4: BTFSS 39H,4
GOTO EVEN3
INCF EVEN
EVEN3: BTFSS 39H, 3
GOTO EVEN2
INCF EVEN
EVEN2: BTFSS 39H, 2
GOTO EVEN1
INCF EVEN
EVEN1: BTFSS 39H,1
GOTO EVEN0
INCF EVEN
EVEN0: BTFSS 39H,0
GOTO EVEN8
INCF EVEN
EVEN8: DECF FSR
DECFSZ NUMB
GOTO EVEN7
;计算26~49位的奇校验与前面程序类似
...
RETURN
 
结束语
---本文具体讲述了维根码的数据传输过程以及时序。在此基础上,针对Dallas信息钮序列号的特点,提出了一种50位的扩展型维根码格式,并给出了相应的硬件电路以及软件程序。以维根码格式输出Dallas信息钮的序列号保证了序列号传输的准确性,为进一步处理序列号提供了基础。

参考文献
1 Dallas Semiconductor Corporation. http://www.dalsemi.com
2 Microchip pic16c7xx data sheet. http://www.microchip.com
3 Halevi, S. Krawczyk, H., Public key cryptography and password protocols[J].Proceedings of 5th ACM Conference on Computer and Communications Security, 1998
4 2 Botting, J.Security on the Internet: Authenticating the User[J]. Telecommunications, 1997

 
标签:
来源:今日电子 作者: 时间:2002/1/1 0:00:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐