当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:采用USB控制芯片PDIUSBD12和微控制器AT89S52构成的硬件平台,简化了RFID阅读器与PC之间的数据传输。基于HID1.1协议的程序设计将RFID阅读器枚举为PC的一个外接HID键盘,省去驱动程序的安装。只要打开记事本就能

摘要:采用USB控制芯片PDIUSBD12和微控制器AT89S52构成的硬件平台,简化了RFID阅读器与PC之间的数据传输。基于HID1.1协议的程序设计将RFID阅读器枚举为PC的一个外接HID键盘,省去驱动程序的安装。只要打开记事本就能记录电子标签的EPC、TID等特征信息,可满足快速发展的RFID产业对RFID阅读器多样性的需求。
关键词:HID键盘;AT89S52;PDIUSBD12

引言
    市面上大多数RFID阅渎器采用串口或PS2接口与PC通信,串口方式需要安装USB转串口驱动,PS2接口不支持热插拔。为了弥补以上两者的缺陷,本文提出了采用USB接口与PC通信的方式。HID类设备是应用最广泛的一类USB设备,Windows等操作系统内嵌的HID类驱动程序、键盘、鼠标等通用HID设备得到了广泛的应用。从Windows98操作系统开始,为HID类设备提供了通用的驱动程序,所以只要按照HID设备类的规范编写设备的固件程序,就能够让Windows系统自动识别设备,省去了复杂的驱动程序编写过程。

1 HID设备描述符
    在USB中,USB HOST通过各种描述符来识别设备。HID设备描述符包含5个USB基本描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)和3个HID设备类特定描述符(HID描述符、报告描述符、实体描述符),它们之间的关系如图1所示。



2 HID设备枚举
    USB主机识别一个USB设备必须经过枚举过程,主机使用总线枚举来识别和管理设备状态的变化。总线枚举过程如下:
    ①连接设备。USB设备接入USB总线。
    ②设备上电。USB设备可使用USB总线供电,也可使用外部电源供电。
    ③主机检测到设备,发出复位。设备连接到总线后,主机通过检测设备在总线的上拉电阻,检测新的设备连接,并判断该设备是全速设备还是低速设备,然后向该端口发送一个复位信号。
    ④设备默认状态。设备要从总线上接收到一个复位信号后,才可以对总线的处理操作作出响应。设备接收到复位信号后,就使用默认地址(00H)来对其进行寻址。
    ⑤地址分配。当主机接收到有设备对默认地址(00H)响应的时候,就对设备分配一个空间地址,以后设备就只对该地址进行响应。
    ⑥依次读取HID设备的设备描述符、配置描述符、接口描述符、HID描述符、端点描述符、字符串描述符。

3 HID接口固件设计与实现
3.1 硬件连接
    PDIUSBD12是一个纯粹的USB接口芯片,仅处理USB通信,自身不带微控制器,需要有一个微控制器对它进行控制。微控制器AT89S52与PDIUSBD12的连接如图2所示。ALE接低电平表示一个独立的地址和数据总线配置。PDIUSBD12的A0引脚控制PDIUSBD12的命令和数据状态。AT89 S52的地址和数据总线可直接与PDIUSBD12的数据总线相连。


3.2 程序设计
    PDIUSBD12接收主机的建立包时产生一个中断,微控制器响应中断,然后通过读PDIUSBD12的中断寄存器决定数据包是发送到控制端点还是普通端点。如果数据包是送往控制端点,微控制器通过读PDIUSBD12最后处理状态寄存器。进一步确定数据包是否是一个建立包。然后进入到控制端点输入或输出服务子程序。具体程序流程如图3所示。其中,USB没备的枚举过程由控制端点来完成,传入主机显示的数据由普通端点完成。


    由于程序中将设备枚举为HID键盘,所以传输时应满足HID键盘的要求,例如在HID键盘的端点描述符中卢明,主机每10 ms之内响应一次设备,所以每传输一个数据必须等待10 ms才能传下一个,如果两次传输相同的数据,必须在其中插入一个空包(00,00,00,00,00,00,00,00),否则主机会认为只传输一个数据。键盘码详见HIDUsage Tables,数据包由8个字节构成,前两个字节为0,后面为键值,每一个字节表示一个按键。理论上一次可以传输6个按键,但是实验过程中丢失键值经常发生,所以只采用第3个字节传输,其余字节为0。
   
 
3.3 程序运行结果
    设备枚举为HID键盘如图4所示,成功将设备枚举成HID键盘。


    首先利用RFID阅读器的桌面DEMO程序给标签的USER区写入验证的数据,然后利用阅读器将写入的数据读取,经过HID方式传送到记事本上,数据传输如图5所示。



结语
    本设计满足了RFID阅读器传输数据量不大,速度要求不高,但必须在短时间内作出响应的要求。设备无须编写驱动程序,连接PC后就能工作,缩短了开发的时间。

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

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 隧道灯 驱动电源
关闭