韦根26协议以及示例程序
- 格式:doc
- 大小:91.00 KB
- 文档页数:5
技术应用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”,这样就可以保证传送的数据满足奇校验的要求。
RFMODA1-SFZ-26射频卡读写模块使用说明一.概述该模块用于读取二代身份证和M1卡的ID号。
模块与上位机之间WEIGAND26/34接口连接,方便用户使用。
二.特点●读取二代身份证ID。
●提供标准的WEIGAND26、34数据输出。
●I/O 管脚采用OC门输出●内置上电复位电路。
●自带看门狗电路。
●尺寸:40.7mm*20.4mm*7.15mm。
●工作频率:13.56MHz。
●读写距离:读写距离和搭配天线尺寸有关。
请参考天线设计的相关文档。
●工作电压:DC5V。
、●直接驱动50 Ohm 天线。
三.外观与管脚定义四.Weigand通讯协议时序图GREENDATA0DATA1BEEPWEIGAND通讯协议是专用于门禁、考勤等系统中的一个单向通讯协议。
待机状态管脚均为高,当模块检测到合法的卡片并获得卡片的ID号时,将BEEP和GREEN拉低。
拉低GREEN后,按照高位在前,低位在后的方式通过DATA0/DATA1管脚发送卡片ID号。
数据位为“0”时在DATA0管脚上输出一个(400微秒)低脉冲,数据位为“1”时在DATA1管脚上输出一个(400微秒)低脉冲。
两个数据位之间固定有(2毫秒)延时。
在数据的开始和结束分别添加一个校验位。
数据起始位置的校验位是有效数据前半部分按位计算的奇校验和,数据结束位置的校验位是有效数据后半部分按位计算的偶校验和。
WEIGAND协议可以根据实际有效数据位的多少分为WEIGAND26、WEIGAND34、WEIGAND42多种协议。
WEIGAND26协议是指数据帧中包含3个字节(24位有效数据位)的卡号和两个校验数据位。
WEIGAND34协议就是指数据帧中包含4个字节(32位有效数据位)的卡号和两个校验数据位。
WEIGAND协议的时序图如下:0 0 1 1 0BEEP/GREENDA TA0DA TA1WEIGAND26数据结构WEIGAND24数据结构如下:E = D1 ^ D2 ^ …… ^ D12O = 1 ^ ( D13 ^ D14 ^ ….. ^ D24)Weigand34和weigand24类似只是中间的数据为4个字节。
什么韦根26?一般我们常常听到韦根26、韦根34,那么什么是韦根26?韦根26是一种通讯协议,象485.232.tcp/ip等通讯协议一样。
Wiegand (韦根)协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式,此外,还有34-bit 、37-bit 等格式。
Wiegand这一名词适用于涉及门禁控制系统的读卡器和卡片的许多特性。
不幸的是,这个词已被滥用,并且可能引起不必要的困扰。
1. 特定的读卡器-卡接口;2.特定的二进制读卡器-控制器接口;3.电子信号载波数据;4.标准的26-Bit二进制卡片数据格式;5.电磁效应;6.卡片技术。
在本文中,我们将主要探讨第2项和第4项。
当消费者们说起“Wiegand格式”时,通常他们指的是一般概念上的安全卡片数据编码。
不过,请记住“Wiegand格式”也常常被理解为标准的26-Bit格式,这是一种非常特殊的二进制卡片数据排列。
下面列举了一些基本事实:·格式描述的是一个数字所代表的意思,或一个数字是如何被使用的。
格式并不仅仅是数字本身;·除了标准的26-Bit之外,比特的数目并不能显示出格式的类型。
例如,34-Bit就一共有100多种不同的格式存在;·在一个给定的比特长度内(34-Bit、37-Bit),每个数据元素的大小和位置都可以变化。
例如,一个34-Bit格式可能有一个8-Bit的设备代码(facility code),从Bit#2开始;而另一个34-Bit的设备代码则可能是12-Bit,从Bit#21开始;·门禁控制面板的性能决定了哪种格式是否可以工作。
当使用户看到一串数字“19495981699”时,它可能并不代表任何意思。
如果某人将其描述为一个美国的电话号码时,那么,它将马上被理解为:949是区号,后面的则是电话号码。
对格式的理解,让用户可以对数据进行解码。
由于电话公司的交换设备规定了这种格式,因此它总是以(xxx) yyy-zzzz的格式出现。
韦根协议Wiegand协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。
它适用于涉及门禁控制系统的读卡器和卡片的许多特性。
它有很多格式,标准的26-bit 应该是最常用的格式。
此外,还有34-bit 、37-bit 等格式。
而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。
26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
几乎所有的门禁控制系统都接受标准的26-Bit格式。
简介Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式。
此外,还有34-bit 、37-bit 等格式。
但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。
而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。
26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
几乎所有的门禁控制系统都接受标准的26-Bit格式。
Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit等等。
韦根数据输出的基本概念韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别为‘0’或‘1’输出。
输出‘0’时:DATA0线上出现负脉冲;输出‘1’时:DATA1线上出现负脉冲;负脉冲宽度TP=100微秒;周期TW=1600微秒;具体时序如下:例如:数据‘01000’的时序如下:韦根26位输出格式标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2—13位的偶校验位第2—9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位这26位数据在读出器的韦根输出线D0,D1上输出。
韦根协议简介韦根门禁通讯协议一、前言: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个地区码((15x16)+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。
1530 Old Oakland Road, Suite 10001846-002 Rev. E Pyramid SeriesPyramid Series Proximity readers can communicate via Wiegand 1 or Magnetic Stripe data formats. Wiegand is a commonly used interface between readers and control panels used in access control, security, time and attendance, and other related industries. Pyramid Series readers follow the Wiegand standard specified by the Security Industry Association's (SIA) Access Control Standard Protocol for the 26-Bit Wiegand Reader Interface document. Manufacturers have adopted the Wiegand standard to establish a common Wiegand interface. This provides a level of compatibility and interoperability for readers and control panels that can be used by consultants, specifiers, and end users when setting product design or system installation criteria. To this end the Pyramid Series offers several approaches for implementing the Wiegand format.NOTE: If you are enrolling cards for a “hybrid” site (one using both Pyramid series and HID credentials), it is possible to have duplicate card coding (i.e. identical format, facility code, and ID number).1.0Wiegand ConnectionsPyramid Series readers can be connected to virtually any control panel that conforms to Wiegand format standards. All connections between the reader and control panel are made through the reader's cable. Consult Table 1 and Figure 1 for wiring instructions.1.The term “Wiegand™” is used throughout this document to indicate a standard data output format for the Pyramid Series Proximity Readers. This is not to be confused with Wiegand swipe readers and cards.Table 1: Wiring ConnectionsWire ColorFunction SilverShield GreenData 0BlueBeeper RedReader Power BlackReader Ground BrownSingle LED Control Line (Red LED)OrangeSecond LED Control Line (Green LED)White Data 11530 Old Oakland Road, Suite 10001846-002 Rev. EP y r a m i d S e r i e s Figure 1: Wiring Connections 2.0Data Signals Figure 2 displays the timing pattern for data bits sent by the reader to the access control panel. This timing pattern falls within the Wiegand guidelines as proscribed by the SIA's Access Control Standard Protocol for the 26-Bit Wiegand Reader Interface (a Pulse Width time between 20 uS and 100 uS, and a Pulse Interval time between 200 uS and 20 mS).The Data 1 and Data 0 signals are held at a logic high level (above the V oh level) until the reader is ready to send a data stream. The reader places data as asynchronous low-going pulses (below the V ol level) on the Data 1 or Data 0 lines to transmit the data stream to the access control panel (the "saw-teeth" in Figure 2). The Data 1 and Data 0 pulses will not overlap or occur simultaneously. Table 2 provides the minimum and maximum allowable pulse width times (the duration of a pulse) and pulse interval times (the time between pulses) for Pyramid Series Readers.Figure 2: Data Bit Timing Pattern1530 Old Oakland Road, Suite 10001846-002 Rev. E Pyramid Series3.0Wiegand FormatsPyramid Series readers feature pass-through technology. This means that any reader will read any and all formatting data programmed to any of the Pyramid Series credentials. Pyramid Series readers can be shipped from stock because unlike other proximity manufacturers, there is no format matching between readers and credentials.3.126-Bit Wiegand FormatThe composition of the open de facto industry standard 26 Bit Wiegand format contains 8 bits for the facility code field and 16 bits for the ID number field. Mathematically these 8 facility code bits allow for a total of just 256 (0 to 255) facility codes, while the 16 ID number bits allow for a total of only 65,536 (0 to 65,535) individual ID's within each facility code. Due to the mathematical limitations of the 26-bit Wiegand format, code duplication might occur. Table 3 provides a summary the 26-bit Wiegand format.Table 2: Pulse TimesSymbolDescription Pyramid Series Reader Typical Time TpwPulse Width Time 100 µs Tpi Pulse Interval Time 1 msTable 3: 26-bit Wiegand FormatBit NumberPurpose Bit 1Even parity over bits 2 to 13Bits 2 to 9Facility code (0 to 255); Bit 2 is MSB Bits 10 to 25ID Number (0 to 65,535); Bit 10 is MSB Bit 26Odd parity over bits 14 to 251530 Old Oakland Road, Suite 10001846-002 Rev. E P y r a m i d S e r i e s 3.2Pyramid Wiegand Format Several alternatives exist for customers who require more codes. The first is to switch to Keri's standard 39 bit Pyramid format. This 39 bit Wiegand format contains 17 bits for the facility code field and 20 bits for the ID number field. Mathematically these 17 facility code bits allow for a total of 131,072 (0 to 131,071) facility codes, while the 20 ID number bits allow for a total of 1,048,576 (0 to 1,048,575) individual ID's within each facility code. Since there are so many facility codes in the Pyramid format, a new facility code may be selected for each project. Additionally the large number of ID's per facility code makes the Pyramid format ideal for very large projects. For added security, Keri Systems tracks credential coding to ensure that no duplication occurs. Table 4 provides a summary of the Pyramid Wiegand format.3.3Custom Wiegand FormatsThe second alternative is to create a custom Wiegand format. Typically, up to 64 bits are available for creating a custom Wiegand format. With certain limitations, formats with greater than 64 bits may be created. If a customer currently has a custom Wiegand format from Wiegand or from other proximity manufacturers, Keri can normally match that format. Although the customer is primarily responsible for custom format card coding, as an added benefit Keri Systems tracks card coding for additional security. Table 5 provides an example of one possible custom Wiegand format.Table 4: Pyramid Wiegand FormatBit NumberPurpose Bit 1Even parity over bits 2 to 19Bits 2 to 18Facility code (0 to 131,071); Bit 2 is MSB Bits 19 to 38ID Number (0 to 1,048,575); Bit 19 is MSB Bit 39Odd parity over bits 20 to 38Table 5: Example of a Custom Wiegand Format Bit Number Purpose Bit 1Even parity over bits 2 to 22Bits 2 to 9OEM code (0 to 255); Bit 2 is MSB Bits 10 to 21Facility code (0 to 4,096); Bit 10 is MSB Bits 22 to 43ID Number (0 to 524,287); Bit 22 is MSB Bit 44Odd parity over bits 23 to 431530 Old Oakland Road, Suite 10001846-002 Rev. E Pyramid Series3.4The 8-bit Burst Format of the P-600 Rocky Proximity Reader and Key-pad The P-600 reader is capable of transmitting data in the 26-bit Wiegand format described above, but its default data transmission configuration is Wiegand 8-bit burst. The timing pattern for data bits generated in the 8-bit burst format follows the pattern described in the Data Signals section beginning on page 2. In 8-bit burst mode, each keystroke prompts the reader to transmit 8 bits of data according to Table 6.For further details on the Pyramid Series product line or on creating custom Wiegand formats, please contact Keri Systems.Table 6: Wiegand 8-bit Burst DataFormatKeypadEntryBinary Data Decimal Equivalent 011110000240111100001225211010010210311000011195410110100180510100101165610010110150710000111135801111000120901101001105*010*******#010*******1530 Old Oakland Road, Suite 10001846-002 Rev. EPy r a m i d S e r i e s This page is intentionally left blank.。
韦根协议及其应用目录第一章韦根协议简介 (3)1.传感器原理介绍 (3)2.数据输出的基本概念 (3)3.韦根6 位输出格式 (4)4.韦根26 接收 (4)5.韦根接口定义 (4)6.特殊说明: (5)第二章韦根协议的应用 (6)1 .Wiegand 接口硬件设计 (6)2.流程图 (6)3.发送源程序 (7)第一章 韦根协议简介Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它合用于涉及门禁控 制系统的读卡器和卡片的许多特性,其协议并没有定义通讯的波特率、也没有定义数据长 度韦根格式主要定义是数据传输方式: Data0 和 Data1 两根数据线分别传输 0 和 1,现在应 用最多的是 26bit ,34bit ,36bit ,44bit 等等,其中标准 26-bit 格式是一个开放式的格式, 任何人都可以购买某一特定格式的 HID 卡,并且这些特定格式的种类是公开可选的, 26-Bit 格式就是一个广泛使用的工业标准, 并且对所有 HID 的用户开放, 现在几乎所有的门禁控 制系统都接受 26-Bit 格式的标准。
1.传感器原理介绍韦根传感器是由一根双稳态磁敏感功能合金丝和缠绕其外的感应线圈组成的。
其工 作原理是:在交变磁场中,当平行于敏感丝的某极性(例如 n 极)磁场达到触发磁感应强 度时,敏感丝中的磁畴受到激励会发生运动,磁化方向瞬间转向同一方向,同时在敏感丝 周围空间磁场也发生瞬间变化, 由此在感应线圈中感生出一个电脉冲。
此后若该磁场减弱, 敏感丝磁化方向将保持稳定不变,感应线圈也无电脉冲输出,但当相反极性( s 极)磁场 增强触发磁感应强度时,敏感丝磁化方向又瞬间发生翻转,并在感应线圈中感生出一个方 向相反的电脉冲。
如此反复,韦根传感器便将交变磁场的磁信号转换成交变电信号。
2.数据输出的基本概念韦根协议又称韦根码,韦根码在数据的传输中只需两条数据线,一条为 DATA0,另一 条为 DATA1。
标准韦根26通讯格式1、前言:Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:Data0和Data1两根数据线分别传输0和1。
现在应用最多的是26bit,34bit,36bit,44bit等等。
2、维根数据输出的基本概念:维根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别将0或1输出。
输出0时:DATA0线上出现负脉冲;输出1时:DATA1线上出现负脉冲;负脉冲宽度TP=100微妙;周期TW=1600微妙3、维根26位输出格式:标准韦根输出是由26位二进制数组成,每一位的含义如下:1 2 9 10 13 25 26E X X X X X X X X X X X X X X X X X X X X X X X X O 二进制第1位为2-13位的偶校验位第2-9位对应与电子卡HID码的低8位第10-25位对应电子卡的PID号码第26位为14-25位的奇校验位以上数据从左至右顺序发送。
高位在前。
例如:一只HID:16385,PID:00004的电子卡其26位韦根输出为:1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0检验位HID =16385(二进制的低8位)PID = 4(二进制)检验位这26位数据在读出器的韦根输出线DATA0,DATA1上输出。
DATA0,DATA1在没有数据输出时都保持+5V高电平。
若输出为0,则DATA0拉低一段时间,若输出为1,则DATA1拉低一段时间。
两个电子卡韦根输出之间的最小间隔为0.25秒。
4、维根26接收:韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0?bit丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU接收不到ID模块发送的卡号了。
韦根协议Wiega nd协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。
它适用于涉及门禁控制系统的读卡器和卡片的许多特性。
它有很多格式,标准的26-bit应该是最常用的格式。
此外,还有34-bit、37-bit等格式。
而标准26-bit格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。
26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
几乎所有的门禁控制系统都接受标准的26-Bit格式。
简介Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit应该是最常用的格式。
此外,还有34-bit、37-bit等格式。
但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。
而标准26-bit格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。
26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
几乎所有的门禁控制系统都接受标准的26-Bit格式。
Wiegand (韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式:DataO和Datal两根数据线分别传输0和1.现在应用最多的是26bit,34bit,36bit,44bit 等等。
韦根数据输出的基本概念ov■45Vov二进制号码o1韦根26位输出格式标准韦根输出是由 26位二进制数 组成,每一位的含义如下:1 2 9 10 25 26X X X X X X X X X X X X X X X X X X X X X X X X X X 二进制第1位为2 —13位的偶校验位 第29位对应与电子卡HID 码的低8位第10-25位对应电子卡的 PID 号码这26位数据在读出器的韦根输出线 DO , D1上输出。
韦根26-RS485转换器模块使用说明书一、产品介绍:功能简介本模块主要实现Wiegand26位卡数据或4位按键数据与RS485串口数据之间的相互转换。
1、 输入Wiegand26位卡数据或4位按键数据输出RS232/RS485/RS422数据; 2、 输入RS232/RS485/RS422数据输出Wiegand26位卡数据或4位按键数据。
数据格式1、 26位卡数据数据形式为FF/00 XX XX XX 00/FF ,其中FF/00为韦根26奇偶校验码,FF 表示校验码为'1’,00表示校验码为'0’,中间的XX XX XX 为韦根26的3个16进制数据。
例如:转发器通过串口收到数据“00 52 23 B8 FF ”后,转换成韦根数据“0 01010010 00100011 10111000 1”输出,反之亦然。
注:52 23 B8 转得的10进制数据为08209144,分组码52→082,标识号23B8→09144。
2、 4位按键数据数据形式为AA XX XX BB ,其中AA 为开始标志,BB 为结束标志,XX XX 为16进制数据。
按键 串口数据格式 韦根数据格式按键 串口数据格式 韦根数据格式0 AA 00 00 BB 0 0 0 0 6 AA 00 06 BB 0 1 1 0 1 AA 00 01 BB 0 0 0 17 AA 00 07 BB0 1 1 1 2 AA 00 02 BB 0 0 1 0 8 AA 00 08 BB 1 0 0 0 3 AA 00 03 BB 0 0 1 1 9 AA FF 01 BB 1 0 0 1 4 AA 00 04 BB 0 1 0 0 ESC AA FF 02 BB 1 0 1 0 5AA 00 05 BB0 1 0 1ENTAA FF 03 BB1 0 1 1注:4位按键数据的转换主要用于门禁控制器的胁迫密码开门。
二、产品图片:D1: 韦根数据线(数据1) D0: 韦根数据线(数据0)T+/A : 485接收器同相输入端和驱动器同相输出端 T-/B : 485接收器反相输入端和驱动器反相输出端 12V-: 电源供电负极12V+: 电源供电正极(建议电源电压在9~12V 之间)三、拨位开关设置:当两位拨位开关选择“on ”时,可实现韦根数据与RS485数据的相互转发。
韦根协议——ID卡号读取
2010-03-31 20:52
最近在做门禁系统,第一次听说韦根协议。
我第一阶段要做的事情就是用韦根读卡器将ID卡的卡号读出来,当我拿到读卡器和ID卡的时候感觉无从下手。
可当我把韦根协议都研究透之后想想也不过如此而已,下面简单的介绍一下韦根协议。
韦根协议是国际上统一的标准,它也是一种数据传输协议。
标准的26-bit 应该是最常用的格式。
此外,还有34-bit 、37-bit 等格式。
格式的含义如下:当给出这一串数字***********,用户并不知道这串数字的含义,但如果说这是一个电话号码的时候,那么你可能就会说:哦,028是成都的区号,而88888888是电话号码。
呵呵,不错,这正是四川航空的服务热线。
但是安防行业并不愿意把这些格式公开,而安防公司也常常变化这些格式来保证产品的保密性。
而标准26-bit 格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。
26-Bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
几乎所有的门禁控制系统都接受标准的26-Bit格式。
一、Wiegand(韦根)接口
Wiegand接口通常由3根线组成,它们是:数据0(Data0),数据1(Data1)和 Data return。
这3条线负责传输Wiegand信号。
D0,D1在没有数据输出时都保持+5V高电平。
若输出为0,则D0拉低一段时间,若输出为1,则D1拉低
一段时间。
如图:
二、标准26位Wiegand通讯协议
标准韦根输出是由26位二进制数组成,每一位的含义如下:
1 2 9
10
25 26
X X X X X X X X X X X X X X X
X X X X X X X X X X
X 二进
制
第1位为2—13位的偶校验位
第2—9位对应与电子卡HID码的低8位
第10-25位对应电子卡的PID号码
第26位为14-25位的奇校验位
这26位数据在读出器的韦根输出线D0,D1上输出。
三、HID和PID
HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。
PID 很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。
HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。
如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。
四、Wiegand接口硬件设计
可以将Wiegand接口的Data0和Data1两个输出接到MCU的两个IO脚上,采用查询的方式接收数据,但这样接收并不可靠。
比较好的方法是将Data0和Data1接到MCU的两个中断引脚上,采用中断的方式接收数据。
如图:
示例程序:
#include<string.h>
#include<reg52.h>
#include<intrins.h>
#define DELAY_TIME 60 /*经实验,不要小于50!否则可能造成时序混乱*/
#define TRUE 1
#define FALSE 0
#define uchar unsigned char
#define uint unsigned int
sbit DATA1=P3^2; //韦根读卡器的DATA1接单片机的P3^2
sbit DATA0=P3^3; //韦根读卡器的DATA0接单片机的P3^3
bit Even; // 偶检验位
bit Odd; // 奇检验位
bit CheakEven=0;//偶检验
bit CheakOdd=1;//奇检验
uchar Cnt=0;//
uchar WG[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//接收韦根数据26位
uchar WGstr[3]={0,0,0};//存韦根ID卡卡号的HID和PID码,其中HID码为8位即一字节,PID码16位两字节
uchar i;
uchar j=0;
void Init()
{
EA=0;
TMOD=0x20;
TL1=0xfd;
TH1=0xfd;//设置波特率为9600的定时器1为方式2以及初始值
PCON=0x00;
SCON=0xd8; //设置串口方式
IT0=1; //设置外部中断0为下降沿触发方式
IT1=1; //设置外部中断1为下降沿触发方式
EX0=1; //开外部中断0
EX1=1; //开外部中断1
TR1=1; //开定时器1
EA=1; //开所有中断
}
void Weigand(uchar *str) //把26位韦根数据转换为3字节数据存储
{
uchar k;
for(k=0;k<26;k++)
{
if(k<=0) //读偶检验位
{
if(str[k]==0)
Even=0;
else
Even=1;
}
if(k>=25) //读奇检验位
{
if(str[k]==0)
Odd=0;
else
Odd=1;
}
if(k<=8) //读HID码低8位
{
if(str[k]==0x00)
WGstr[0]|=0x00;
else
{
WGstr[0]|=0x01;
CheakEven=~ CheakEven; // 根据HID码低8位1的个数来确定偶检验位是1还是0
}
if(k<8)
WGstr[0]=WGstr[0]<<1;
}
if(k<=16) //读PID码高8位
{
if(str[k]==0x00)
WGstr[1]|=0x00;
else
{
WGstr[1]|=0x01;
CheakOdd=~CheakOdd; //// 根据PID码高8位1的个数来确定奇检验位是1还是0
}
if(k<16)
WGstr[1]=WGstr[1]<<1;
}
else //读PID码的低8位
{
if(str[k]==0x00)
WGstr[2]|=0x00;
else
{
WGstr[2]|=0x01;
CheakOdd=~CheakOdd; // 根据PID码低8位1的个数来确定奇检验位是1还是0
}
if(k<24)
WGstr[2]=WGstr[2]<<1;
}
}
}
void main()
{
//P1=0x55;
Init();//调用初始化函数
Cnt=0;
while(1)
{
if(Cnt>=26)
{
EA=0; //关中断以免外部中断的干扰
Weigand(WG);//将读到的26位韦根数据转换位3字节格式
EA=1;
for(j=0;j<3;j++) //用串口调试工具显示读到的卡号
{
SBUF=WGstr[j];
while(TI==0);
TI=0;
WGstr[j]=0;
}
Cnt=0;
}
}
}
void DATA0_Interrupt(void) interrupt 2 using 1 //外部中断1读DA TA0数据即0 {
WG[Cnt]=0x00;
Cnt++;
}
void DATA1_Interrupt(void) interrupt 0 using 2 //外部中断0读DATA1数据即1 {
WG[Cnt]=0x01;
Cnt++;
}。