当前位置:首页 > 单片机 > 单片机
[导读]摘要:介绍了韦根的概念和标准韦根26-bit信号的定义格式,依据其特点设计了一个韦根接收读卡器电路,并提供了程序实现的部分代码。该设计的电路和程序均已通过调试并在实际项目中得到应用。 关键词:读卡器;读卡控

摘要:介绍了韦根的概念和标准韦根26-bit信号的定义格式,依据其特点设计了一个韦根接收读卡器电路,并提供了程序实现的部分代码。该设计的电路和程序均已通过调试并在实际项目中得到应用。
关键词:读卡器;读卡控制器;韦根信号;单片机

    Wiegand,即韦根传感器是一种当交变磁场经过时产生输出电压脉冲的传感器。脉冲的幅度是由激励磁场的场强决定的。因此,韦根传感器不需要外界电源供电。由于韦根传感器非常容易和数字系统相匹配,并且系统没有可动的部件或半导体器件,这使得它们能适用于恶劣的环境和长期无人监控的场所。
    在设计读卡器时,读卡控制器既需要与上位机串行通信,又需要与读卡器串行通信。大多数单片机只有一个串行通信口,而设计者希望控制器与读卡器的通信不占用串行接口,因此,应用韦根信号是一个不错的选择。文章介绍了一种基于单片机的韦根信号接收的实现方法。

1 韦根信号的格式说明
    韦根信号在数据的传输中只需要两条数据线,分别是DATA0和DATA1。当空闲时,两线相对于0 V的电源都是TTL电平的水平,即5 V;当有数据传输时,两线交替发送400μs的低脉冲。当DATA0线发送脉冲时,数据输出是‘0’;当DATA1线发送脉冲时,数据输出是‘1’。两根线不可同时发送脉冲。脉冲的间隔是1ms,宽度是100μs,周期是600μs。图1中脉冲宽度在20μs~200μs之间,两个脉冲间的时间间隔在200μs~200ms之间。


    由于标准韦根26-bit格式是一个开放式的格式,这就意味着任何人都可以购买某一特定格式的HID卡,并且这些特定格式的种类是公开可选的。26-bit格式就是一个广泛使用的工业标准,并且对所有HID的用户开放。
    韦根的数据一般由三部分组成:校验位、出厂码和数据位。不同的韦根格式有不同的组成。Weigand协议是国际上统一的标准,格式有很多种,标准的weigand26,即26-bit是最常用的格式。标准的26位韦根输出是由26位二进制数组成,其中第1位和第26位是校验位,2-9位是厂家码,10-25位是卡号位,其输出格式如下:
    12      9 10      25 26
    E XXXX XXXX XXXX…XXXX 0
    第1位是前12bit的偶校验位;前12位(第2-9位)对应电子卡HID码的低8位,后12位(第10-25位)对应电子卡的PID码,第26位是后12bit的奇校验位。数据从左至右顺序发送,高位在前。
    如果电卡的地区码位2个字符,即8位则可用那设置255个地区码((15×16)+15=255);电子卡的卡号位4个字符,即16位则可设置65 536个卡号((15×16×16×16)+(15×16×16)+(15×16)+15=65 535)。
    例如:一个HID:16 385,PID:00004的电子卡其26位韦根输出为:
    10000000100000000000001000
    检验位HID=16 385(二进制的低8位)PID=4(二进制)检验位。
    这26位数据在读出器的韦根输出线DATA0,DATA1上输出。

2 接收电路的设计
    韦根信号的接受有两种方法,分别是查询法和中断法,如果用查询的方法接收会出现丢帧的现象;所以作者选择外部中断的方法来实现韦根信号的接受,接收电路如图2所示。接收电路选用了美国Atmel公司的89S51作为主控芯片。读卡器使用了远距离125 kHz射频读卡器,读卡控制器为自行设计。读卡控制器与上位机通信选用RS485总线;单片机为含WDT的89S51;存储器为128 k字节的非易失存储芯片HK1245-7,读卡控制器还配置实时时钟电路、门禁控制电路、数码管显示驱动电路等等。



3 程序代码的实现
    中断接收韦根码程序如下:
    ;外中断0服务程序,接收DATA0
    DTO: PUSH PSW
          USH ACC
          SETB RS1
          CLR RS0         ;第二组寄存器
          CLR C           ;DATA0
          MOV R7,#4      ;26位码用4字节
          MOV R0,#WGBUF  ;缓冲器首地址
    DTO1:MOV A,@R0
          RLC A
          MOV@R0,A
          INC R0
          DJNZ R7,DTO1
          DJNZ WXH0,DTOE
          MOV WXH0,#26   ;韦根数据位数
          ACALL WG26      ;26位接收完毕?
    DTOE:POP ACC
          POP PSW
          RETI
    ;外中断1服务程序,接收DATA1
    DT1: PUSH PSW        ;
          PUSH ACC
          SETB RS1
          CLR RS0         ;第二组寄存器
          SETB C          ;DATA1
          MOV R7,#4      ;26位用4字节
          MOV R0,#WGBUF  ;缓冲器首地址
    DT11:MOV A,@R0
          RLC A
          MOV@R0,A
          INC R0
          DJNZ R7,DT11
          DJNZ WXH0,DTlE  ;26位接收完毕?
          MOV WXH0,#26    ;韦根数据位数
          ACALL WG26       ;韦根处理
    DT1E:POP ACC
          POP PSW
          RETI             ;中断返回
    提供的两个中断服务程序可共同完成26位韦根码的接收。其中,外中断0负责DATA0的接收;外中断1负责DATA1的接收。
    当26位的韦根码接收完整后调用子程序WG26,在子程序中进行韦根码的奇偶校验、存储、发送等处理。程序使用4个字节作为韦根码存储单元,即前三个字节的全部和第四字节的最低2位。

4 结束语
    应用单片机的中断技术实现了韦根信号的接受,设计的电路和程序均已通过调试,并设计调试方案如图3所示。


    经测试,读卡成功率100%,未发现差错,通信正确率100%。设计完全达到预期效果,并在实际项目实施过程中运行正常。文章中给出了完整的接收程序。由于篇幅所限,初始化程序、信号处理程序未与列出,需要者可与作者联系,愿予提供、交流。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭