带USB接口的电子巡更系统的设计
发布时间:2008/6/3 0:00:00 访问次数:433
摘要:介绍一种具有数据传输速度快、支持热插拔和充电方便等特点的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各端点配置