韦根26协议以及示例程序
基于单片机的标准韦根网络通讯协议的实现
技术应用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”,这样就可以保证传送的数据满足奇校验的要求。
WEIGAND26协议
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?一般我们常常听到韦根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。
无线IC卡(RFID)韦根26协议的资料
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.。
韦根26协议及应用
韦根协议及其应用目录第一章韦根协议简介 (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通讯格式
标准韦根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数据的相互转发。
韦根
韦根通讯协议简介一、前言:Wiegand(韦根)协议是由摩托罗拉公司制定的一种通讯协议,它适用于涉及门禁控制系统的读卡器和卡片的许多特性;其协议并没有定义通讯的波特率、也没有定义数据长度韦根格式主要定义是数据传输方式;Data0 和Data1 两根数据线分别传输0 和1。
现在应用最多的是26bit,34bit,36bit,44bit 等等。
二、韦根数据输出的基本概念:韦根数据输出由二根线组成,分别是DATA0 和DATA1 ;二根线分别将‘0’或‘1’输出。
输出‘0’时:DATA0 线上出现负脉冲;输出‘1’时:DATA1 线上出现负脉冲;负脉冲宽度TP=100 微妙;周期TW=1600 微妙三、韦根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。
四、韦根26 接收:韦根的接收对时间的实时性要求比较高,如果用查询的方法接收会出现丢帧的现象:假设查询到DATA0为0 时主程序正在指向其他任务,等主程序执行完该任务时DATA0已经变为1了,那么这样就导致了一个0bit 丢了,这样读出的卡号肯定奇偶校验通不过,所以表现出CPU 接收不到ID 模块发送的卡号了。
唯一的办法是在外部中断里接收每个bit。
(仅仅在中断里获得开始接收wiegand 数据还不行,因为这是尽管给开始接收wiegand 数据标志位置位了,但是主程序还在执行其他代码而没有到达查询开始接收wiegand 数据标志位这条指令)五.韦根接口定义:Wiegand 接口界面由三条导线组成:DATA0:暂定,兰色,P2.5 (通常为绿色)。
韦根数据格式
韦根数据输出格式一、韦根数据输出的基本概念:韦根数据输出由二根线组成,分别是DATA0和DATA1;二根线分别将‘0’或‘1’输出。
输出‘ 0’时: DATA0 线上出现负脉冲;输出‘ 1’时: DATA1 线上出现负脉冲;具体时序如下:例如:数据‘ 1011’时序如下:DATA0DATA1TPTW负脉冲宽度 TP=100 us;周期 TW=1000 us二、几种韦根输出格式:韦根 26 位输出格式:E CCCC CCCC CCCC CCCC CCCC CCCC O12BIT 偶校验12BIT 奇校验E/O:偶 /奇校验位。
C:卡片ID号。
以上数据从左至右顺序发送。
韦根 34 位输出格式:E CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC O16BIT 偶校验16BIT 奇校验E/O:偶 /奇校验位。
C:卡片ID号。
以上数据从左至右顺序发送。
韦根 36 位输出格式:E CCCC CCCC CCCC CCCC C CCCC CCCC CCCC CCCI I O17BIT 偶校验17BIT 奇校验E/O:偶 /奇校验位。
C:卡片ID号。
I : 2 位卡片发行码。
以上数据从左至右顺序发送。
韦根 44 位输出格式:CCCC CCCC CCCC CCCC CCCC CCCC CCCC CCCC IIII IIII XXXXC:卡片ID号。
I :8 位卡片发行码。
XXXX:LRC 校验。
以上数据从左至右顺序发送。
韦根 26 韦根 34 发送程序WG26协议Wiegand 26格式:各数据位的含义:第 1 位:为输出数据 2 —13 位的偶校验位第 2—9 位: ID 卡的 HID 码的低 8 位第 10-25 位: ID 卡的 PID 号码第 26 位:为输出数据 14-25 位的奇校验位数据输出顺序:HID 码和 PID 码均为高位在前,低位在后例:一张 ID 卡内容为:HID : 32769PID :34953( 卡面印: 2147584137001, 34953 )相应的二进制为:HID : 1000 0000 0000 0001( 只输出低8 位 )PID : 1000 1000 1000 1001输出如下:1 29 102526 00000000110001000100010011 | HID_L|PID|输出端 D0 、 D1 时序:图示:(1)D0 、 D1 在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平420uS(TL),然后释放为高电平;WG34协议Wiegand 34格式:各数据位的含义:第 1 位:为输出第 2— 17 位的偶校验位第 2-17 位: ID 卡的 HID 码第 18-33 位: ID 卡的 PID 号码第 34 位:为输出第 18-33 位的奇校验位数据输出顺序:HID 码和 PID 码均为高位在前,低位在后例:一张 ID 卡内容为:HID : 32769PID :34953( 卡面印: 2147584137001, 34953 )相应的二进制为:000110000100001111110010HID : 1000 0000 0000 0001PID : 1000 1000 1000 1001输出如下:1 217 1833340100000000000000110001000100010010|HID_L|PID|输出端 D0、 D1时序:图示:(1)D0 、 D1 在没有数据输出时均保持高电平;(2) 输出数据位时间为420uS(TL),如输出为0,D0拉低420uS(TL)后为高电平,若输出为1,则D1拉低420uS(TL)后为高电平;(3) 输出数据位之间的间隔时间为2mS(TL),如输出00:D0拉低420uS(TL)后为高电2mS(TL),再拉低为低电平 420uS(TL) ,然后释放为高电平;发送程序如下:Str[]中存的是4字节卡号。
韦根通信接口及协议
韦根通信接⼝及协议
1、前⾔
韦根(Wiegand)协议是国际上统⼀的标准,是由摩托罗拉公司制定的⼀种通讯协议,它适⽤于涉及门禁控制系统的读卡器和卡⽚的许多特性,韦根有许多种类格式,常见有的有26bit、34bit以及37bit格式,其中26bit格式是最常⽤的格式,⽽标准的26bit格式是⼀个开放式的格式,意味着任何⼈都可以购买某⼀特定格式的HID卡,并且这些特定格式的种类是公开可选的,26bit格式就是⼀个⼴泛使⽤的⼯业标准,并且对所有HID的⽤户开放,⼏乎所有的门禁控制系统都接受标准的26bit格式。
2、韦根接⼝
Wiegand接⼝通常由两根线组成,它们分别是数据0(Data 0)和数据1(Data 1),韦根时序图规定,Data 0和Data 1数据线在没有数据传输时均保持+5V的⾼电平,Data 0输出低电平表⽰1位0,Data 1输出低电平表⽰1位1,其中,电压值低于1V表⽰低电平信号,电压值⾼于4V表⽰⾼电平信号,信号表⽰如下所⽰:
3、韦根26输出格式
bit0为bit1~bit12的偶检验;
bit1~bit24为3字节卡号信息;
bit25为bit13~bit24的奇校验。
4、韦根34输出格式
bit0为bit1~bit16的偶检验;
bit1~bit16为ID卡的HID码;
bit17~bit32为ID卡的PID码;
bit33为bit17~bit32的奇检验。
韦根协议交流
韦根协议交流韦根线缆的线色对应含义如下:数据输出的基本概念韦根26一次传输3个字节,韦根34一次传输4个字节.。
韦根码在数据的传输中只需两条数据线,一条为DATA0,另一条为DATA1。
协议规定,两条数据线在无数据时均为+5V 高电平,如果DATA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V ,高电平信号大于4V ),数据信号波形如图1.1所示。
图1.1中脉冲宽度在20μs 到200μs 之间,两个脉冲间的时间间隔在200μs 到20ms 之间。
韦根26输出格式标准韦根输出是由26位二进制数组成,每一位的含义如下:E XXXX XXXX XXXX XXXX XXXX XXXX O 二进制第1位为2-13位的偶校验位第2-9位对应与电子卡HID 码的低8位第10-25位对应电子卡的PID 号码图1.1数据信号波形图DATA0DATA1数据20~200s μ200s ~200msμ110第26位为14-25位的奇校验位以上数据从左至右顺序发送,高位在前。
如果电子卡的地区码位2个字符,即8位则可用那设置255个地区码((15×16)+15=255);电子卡的卡号位4个字符,即16位则可设置65536个卡号((15×16×16×16)+(15×16×16)+(15×16)+15=65,535)。
例如:一个HID:16385,PID:00004的电子卡其26位韦根输出为:10000000100000000000001000偶检验位HID=16385(二进制的低8位)PID=4(二进制)奇检验位这26位数据在读出器的韦根输出线DATA0,DATA1上输出。
DATA0,DATA1在没有数据输出时都保持+5V高电平。
若输出为0,则DATA0拉低一段时间,若输出为1,则DATA1拉低一段时间。
两个电子卡韦根输出之间的最小间隔为0.25秒。
韦根协议简介
Wiegand26以及Wiegand34协议,是由美国工业安全委员会SIA的隶属组织制定的一个关于存取控制的标准协议。
非接触式IC卡读写器接口和输出,也采用了该协议标准。
常用到的场合在ID卡的读取中:1 韦根协议---韦根协议的数据信号韦根协议又称韦根码,韦根码在数据的传输中只需两条数据线,一条为DATA0,另一条为DATA1。
协议规定,两条数据线在无数据时均为高电平,如果DATA0为低电平代表数据0,DATA1为低电平代表数据1(低电平信号低于1V,高电平信号大于4V) ,数据信号波形如图1所示。
图1中脉冲宽度在20μs到200μs之间,两个脉冲间的时间间隔在200μs到20ms之间。
2韦根协议--- 韦根码的数据格式(韦根26)韦根码有多种数据格式,本文将以读卡头中较常用的韦根码(26bit)数据格式进行介绍。
第2到第9位为分组码,分组码共有8个二进制位,有256个状态;(电子卡HID 码的低8位)第10到第25位为标识码,标识码共16个二进制位,有65536个状态;(电子卡的PID号码)第1位是第2到第13位的偶校验位;第26位是第14到第25位的奇校验位,如表1。
编号含义:HID号码即Hidden ID code 隐含码,PID号码即Public ID code 公开码。
PID 很容易在读出器的输出结果中找到,但HID在读出器的输出结果中部分或者全部隐掉。
HID是一个非常重要的号码,它不仅存在于卡中,也存在于读卡器中。
如果卡中的HID与读卡器中的HID不同的话,那么这张卡就无法在这个读卡器上正常工作。
附加:注意数据从高位输出先输出Wiegand 26格式:各数据位的含义:第 1 位:为输出数据2—13位的偶校验位第 2—9 位: ID卡的HID码的低8位第10-25位: ID卡的PID号码第 26 位:为输出数据14-25位的奇校验位Wiegand 34格式:各数据位的含义:第 1 位:为输出第2—17位的偶校验位第 2-17 位: ID卡的HID码第18-33位: ID卡的PID号码第 34 位:为输出第18-33位的奇校验位修改后的韦根协议:脉宽:310us等待时间:1.770ms。
Wiegand26协议
Wiegand26协议Wiegand26是广泛应用于非接触IC卡读写控制的一个协议。
基于Wiegand26协议,将门禁和考勤系统两者结合在一起,开发完成一套非接触式IC卡门禁考勤系统。
该系统利用下位机采集数据,借助通信网络,将数据发送到上位机,完成数据的统计分析及报表的生成。
·Wiegand26协议Wiegand26协议是由美国工业安全委员会SIA (Security Industry Association)的隶属组织访问控制标准子委员会制定的一个关于存取控制的标准协议。
它是一个关于非接触式IC卡读写器接口和输出的协议。
协议中定义了经常应用于控制访问、安全和其他相关工业领域中读卡器和控制器之间的接口。
这个标准的规范使得读卡器的设计者和控制器的生厂商们的工作得以标准化。
Wiegand26是一个单向的协议(从读卡器到控制器),它有两个数据信号:Data0和Data1。
逻辑0表示Data0上的负脉冲,逻辑1表示Data1上的负脉冲。
当兼容Wiegand26协议的读卡器上无数据输出时,Data0和Data1上都维持高电平(+5V表示高电平);有信号脉冲时,在脉冲宽度时间范围内,电平降低为0.7V。
Data0和Data1上的脉冲不会重叠也不会同时产生。
符合Wiegand26协议标准的读卡器读取非接触式IC卡,在Data0 和Data1上一共会产生26个低电平脉冲,脉冲时间间隔为1ms,脉冲宽度为100μs。
Wiegand26协议的时序如图1所示。
Tpi:脉冲间隔(Pulse Interval Time)1msTpw:脉冲宽度(Pulse Width Time)100μs·Wiegand26协议输出数据格式.Wiegand26协议的输出数据格式如下所示:Wiegand26协议的各个数据位说明如下:第1位:偶校验EP位。
它对第2位—第13位进行偶校验,如果2—13位的1的个数为偶数,EP位为0,否则为1。
(合同范本)韦根协议
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载(合同范本)韦根协议甲方:___________________乙方:___________________日期:___________________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和Datal两根数据线分别传输0和1.现在应用最多的是26bit,34bit , 36bit , 44bit 等等。
韦根数据输出的基本概念韦根数据输出由根线组成,分别是DATA0和DATA1 ;二根线分别为'威’输出。
二输出’时:DATA0线上出现负脉冲;输出’时:DATA1线上出现负脉冲;负脉冲宽度TP=100微秒;周期TW=1600微秒;具体时序如下:例如:数据'01000勺时序如下:脉冲周期1.Sms脉冲宽度1 00U£二进制号码韦根26位输出格式这26位数据在读出器的韦根输出线D0 , D1上输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
韦根协议——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++;
}。