当前位置:首页 > 智能硬件 > 智能硬件
[导读]介绍一种具有数据传输速度快、支持热插拔和充电方便等特点的USB接口电子巡更系统。

 摘要:介绍一种具有数据传输速度快、支持热插拔和充电方便等特点的USB接口电子巡更系统;阐述电子巡更系统硬件电路及工作原野,并介绍该系统的软件组成及流程图。

    关键词:电子巡更系统 信息钮扣 USB接口 设备驱动程序

电子巡更系统是智能楼宇中保安系统的一个子系统。保安巡更时,需按指定的路线和时间,依次以达各个巡更点进行巡更。在此系统中,各巡更点设有信息钮扣,保安用巡更机读取信息钮及当前时间。巡更完毕后,将巡更机交至安保中心,使之与计算机的USB接口相连,将存储在巡更机中的巡更数据输入计算机。所以,通过它可以了解保安的巡更情况,有效地管理和督促保安的工作。

1996年,Intel、Microsoft、IBM等七家公司共同推出USB1.0通用串行接口标准,随后带USB接口的产品陆续出现。USB接口具有速度快、支持热插拔和即插即用、易扩展、可提供总线供电等优点。

基于USB接口的诸多优点和本设计中巡更机的特点,我们在设计巡更系统时,采用了USB接口。该电子巡更系统具有使用方便、数据传输速度快、易扩展、充电方便、功耗低、性价比高等优点,有效地解决了传统巡更机的不足。

图1 巡更机硬件原理框图

1 电子巡更系统硬件设计

针对电子巡更系统的特点,为了降低开发成本,提高系统的性价比,本设计采用MCU+USB接口芯片的方案。MCU采用Atmel公司的AT89C52单片机,可以设置成低功耗方式。USB接口芯片采用Philips公司的PDIUSBD12。带USB接口的电子巡更系统硬件原理框图如图1所示。其中DS1302为高性能、低功耗、宽电压、带有RAM实时时钟芯片,它适合于工作电池供电设备的系统时钟。这里MCU通过它读了当前时间;24LC64为低功耗、宽电压、64Kb、支持I2C协议的串行CMOS电可擦除程序存储器EEPROM,这里用于存储巡更点信息钮扣的ID值和读取信息钮扣时间数据。DS1990A外形上是一种圆形不锈钢器件,内部存有64b的二进制代码,以此代码作为巡更点的ID值。DS1302和24LC64电压工作范围为2.5~5.5V,以I2C总线和MCU通信。DS1990A以单总线(1-Wire总线)和MCU通信。

本系统中巡更机采用3.6V可充电电池供电,充电电源由USB接口的5V电源线提供,电源电压监测电路如图2所示。其吕AMS1117是一个DC-DC电压变换器,其输入端为USB接口的5个电源线,输出端为3.3V电压,以此电压为3.6V电源充电。MAX9117是一个带有1.245V基准电压(Vref)的比较器。当电池电压下降到3V以下时,LED点亮,指示电量不足。

    PDIUSBD12是一种性能优化的USB器件。它是一种与微控制器进行通信的高速爱用并行接口,它同时也支持本地DMA传输。设计人员可以在各种不同类型的微控制器中选择出最合适的微控制器,而且不需要专用的开发设备。这种组件方式增强了系统开发的灵活性,减少了开发时间、风险和费用,是开发USB外设的一种快捷和经济的途径。PDIUSBD12符合USB1.1规范,也符合大多数在规范,如成像类、大容量存储类、通信类、打印类和人工输入设备等。因此,PDIUSBD12非常适合数外围设备,如打印机、扫描仪、外部大容易存储器(Zip驱动器)和数码相机等的接口芯片。它使得当前使用SCSI的系统可以立即降低成本。

2 电子巡更系统软件设计

2.1 巡更机固件程序

巡更机固件程序从功能上主要分为两部分。

①信息钮扣的读取操作程序。这一部分实现MCU主外围器件的初始化、读取信息钮以及对DS1302和24LC64的读写操作。调试时要注意I2C总线的时序问题。巡更机固件程序采用C语言编程。信息钮读取操作程序流程如图3所示。

②MCU和USB接口的通信程序。这一部分程序要实现将24LC64中的数据经USB接口读入到上位计算机中。USB接口芯片PDIUSBD12的端点适用于不同类型的设备,可通过命令配置为4种不同的模式:模式0(非同步传输)、模式1(同步输出传输)、模式2(同步输入传输)和模式3(同步输入输出传输)。PDIUSBD12带有三个端点,即端点0、端点1和端点2。这里仅列出模式0(非同步传输)时各端点的配置表格,如表1所列。

表1 模式0各端点配置

端点号 端点索引 传输类型 端点类型 方向

最大数据包容量/B

0 0
1
控制输出
控制输入
缺少值 输出
输入
16
16
1 2
3
普通输出
普通输入
普通
普通
输出
输入
16
16
2 4
5
普通输出
普通输入
普通
普通
输出
输入
64×2(双缓冲区)
64×2(双缓冲区)

本程序设计时,使用PDIUSBD12的端点1和端点2进行上位计算机与巡更机MCU之间的命令和数据的传输。端点1和端点2设置成模式0,其中端点1进行命令的传输和应答,端点2用于数据的传输。端点1接收上位计算机发送过来的8字节的读指令,指令正确回应后,使用端点2返回读成功数据。通信中所使用的端点情况如图4所示(括号内为使用的端点号)。

PDIUSBD12收到上位计算机的数据包时,就以中断的方式通知巡更机的MCU。固件程序工作过程如下:当PDIUSBD12从USB收到一个数据包时,PDIUSBD12就会对MCU产生中断请求,MCU立即响应中断。巡更机固件程序将数据包从PDIUSBD12内部缓冲区移到数据缓冲区,并清零PDIUSBD12的内部缓冲区,以使之能接收新的数据包。在断处理程序中,MCU判断产生的中断类型,并进行相应的处理。其中断程序流程如图5所示。

2.2 巡更机驱动程序

Windows98和Windows2000已经为一些USB标准设备提供了驱动程序,巡更机目前还不是标准的计算机外设,所以必须针对巡更机的特点来编写驱动程序。本设计中巡更机驱动程序是通过Windows DDK来开发的,它是Microsoft公司提供的一个开发Windows驱动程序的工具,DDK提供了编译驱动程序的环境。该巡更机的驱动程序是WDM类型的,采用VC++编程。

驱动程序中对USB进行操作的请求都应调用系统例程,将其转化为一个URB结构,即USB请求块(USB Request Block),然后使用系统级的IRP将其提交。该驱动程序由四个模块组成:初始化模块、即插即用管理模块、电源管理模块和I/O控制模块。

①初始化模块。DriverEntry为驱动程序的入口处,通过它来执行大量的初始化函数。

②即插即用管理模块实现设备的热插拔和动态配置。驱动程序初始化完成后,接着对设备进行初始化,这主要是通过即插即用(PnP)管理器调用驱动程序中的AddDevice和IRP_MJ_PNP两个例程来完成的。当驱动程序从PnP管理器中收到IRP_MN_START_DEVICE请求时,驱动程序启动设备,并且准备好处理I/O操作。

③电源管理模块负责设备的唤醒和挂起。电源管理器(powermanager)从整个系统的角度来管理电源,所有与电源相关的IRP都是由它发出的,它发出的请求包可以指定一种新的电源状态以及查询或更改一种状态。支持电源管理的驱动程序,在最大程序地帮助Windows合理地利用资源方面起着重要作用。值得注意的是,与电源相关的IRP必须在同步操作上有非常严格的要求。例如,任何时候在一个PDO(物理设备对象)中。只能有一个IRP_MN_QUERY_POWER或者IRP_MN_SET_POWER;电源IRP的处理要尽可能地快等。

④I/O控制模块完成输入输出请求的大部分功能。设备的控制由设备控制例程(IRP_MJ_DEVICE_CONTROL)负责,主要是对设备进行一些操作命令的发送或者标志的读取。数据读写主要由IRP_MJ_READ和IRP_MJ_WRITE两个例程完成,只需在AddDevice中申请一个符号链接,并且在StartDevice中将此符号链接激活即可。

    2.3 应用程序设计

在Win32系统中,每一个设备对象都抽象为文件,此时的应用程序只需通过几条简单的文件操作API函数,就可以实现与驱动程序中某个设备的通信。在本设计中,应用程序是该电子巡更系统的中心,采用Visual C++编程。其主要功能有:启动或关闭USB设备、检查USB设备、设置巡更参数、从巡更机中读取数据以及显示、比较、存储数据等。

结语

USB接口因其具有诸多优点,近年来为计算机外设的开发热点,尤其是USB2.0标准的推出,其传输速率可达480Mb/s,使其真正意义上成为了一种通用串行总线。而根据笔者的实际开发经验,Philips公司的PDIUSBD12是一种性能优良、经济、实用、高效的USB接口器件,很适合投资少、周期短的开发项目,而且可以根据自己的实际情况灵活地选择组件,相信其在各领域必有广阔的应用前景。

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

在当今科技日新月异的数字时代,USB接口技术不断进化以满足日益增长的数据传输速度、充电效率和设备兼容性需求。其中,Type-C数据线作为一种创新的接口标准,自2014年正式推出以来,迅速席卷了消费电子市场,并成为各类智能...

关键字: type-c USB接口

USB摄像头是一种采用USB接口的视频采集设备,其优点在于即插即用、操作简便,无需额外驱动程序,支持笔记本电脑,并且成本较低,可以支持远程网络观看。

关键字: usb摄像头 驱动程序

机器人是一种集成了机械、电子、控制、传感、人工智能等多学科先进技术的自动化装备,能够模仿或替代人类进行各种任务的设备。

关键字: 人工智能 电子 控制

Type-C接口是一种新型的USB接口标准,其设计简约且功能强大,支持正反插拔,传输速度快,且具有视频传输能力。自问世以来,Type-C接口已经逐渐成为智能手机和平板电脑等移动设备的主流接口。本文将详细介绍Type-C接...

关键字: Type-C接口 USB接口 视频传输

在下述的内容中,小编将会对USB接口的相关消息予以报道,如果USB接口是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: USB USB接口

与两相双极步进电机的驱动电路相比,两相单极步进电机的驱动电路在输入段配置、内部逻辑及控制电路和驱动电路使用双通道方面基本相同,但是输出段的配置不同。

关键字: 四相步进电机 驱动程序 程序电路

本文介绍了如何实现嵌入式MICREL网卡的驱动程序开发和设计。首先,我们介绍了MICREL网卡的概述和工作原理。然后,详细探讨了驱动程序的开发流程,包括硬件和软件的配置以及驱动程序的编写和测试。最后,总结了几点注意事项和...

关键字: 嵌入式 MICREL网卡 驱动程序

北京2023年9月21日 /美通社/ -- 近日,国际公认的测试、检验和认证机构SGS通标标准技术服务有限公司(以下简称"SGS")为北京中电华大电子设计有限责任公司(下简称"华大...

关键字: ISO 信息安全 安全管理 电子

广州2023年9月18日 /美通社/ -- 近日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称"TÜV莱茵")为...

关键字: 电子 汽车产业 高精度 质量管理体系

深圳2023年9月14日 /美通社/ -- 今日,亚太地区领先的邮政和电子商务物流供应商新加坡邮政亮相中国(深圳)跨境电商展览会(CCBEC 2023),并在现场与一站式跨境物流智能服务平台百运网正式签署战略合作协议。双...

关键字: 新加坡 电子 网络 可持续发展
关闭
关闭