| 在插座领域中多功能智能插座是一种家庭信息采集设备,该设备监测家用电器工作状态的同时兼插座使用,并具有网络监测能力。本文着重介绍了该插座与上位机通信的USB实现。 关键词:USB;RS-485;设备驱动程序;转换卡 1. 概述 现有的插座在其使用方式、功能以及外形特征等诸方面都表现出多样化的趋势。有的增加了保险功能、电源指示功能、开关功能,有的增加了调压功能。这些插座的功能无论怎样,只能是单一的目的:为用电设备提供电源接口。它们的共同缺陷就是不具有信息化和智能化功能。为了实现插座的信息化和智能化,我们将研究设计的智能信息系统与插座结合,将该智能设备与电源插座合为一体,设计成多功能智能监测插座。该插座由于在建筑电气安装时一次性固定完成,采用照明电源供电,人们使用时就好象使用普通电源插座一样,免除了过多的连接线。 2.系统功能与组成 2.1功能 该多功能智能监测插座是在普通插座的基础上,结合信息的需要,增加了如下功能: 1)对接入插座的电器的电压、电流、频率进行监测。 2)对插座工作环境温度进行监测。 3)将监测到的电器的工作电压或电流与其额定值进行比较,如果超过额定值,主机就发送命令给执行单元,自动切断该电器的电源,实现了保护功能。 4)通信功能:将监测到的信息经过通信接口传给上位机,在家庭内部或工业现场可以连成一个局域网。在主机端人们可以通过一个人机界面定期或不定期查询接入插座的诸电器的工作状况。如果想实现进一步的方便,可以将该局域网通过公用电话网连到Internet 上,这样就可以在家庭以外的地方用手机或PC机随时方便地查询家用电器的工作情况了。 2.2组成 该智能监测插座由电源系统、监测系统、控制系统、通信系统四部分组成。(1)电源系统:完成照明电源到直流稳压电源的变换,提供给该智能系统工作电源。由隔离降压、整流、滤波、稳压等电路组成。 (2)监测系统:由电压传感器、电流传感器和温度传感器以及模/数变换电路组成,负责信息的采集处理。 (3)控制系统:由微处理机(单片机)和执行器件组成。微控制器一方面控制采集部分的模拟量到数字量的转换;另一方面接受上位机的命令,然后将这个命令交给执行单元去完成,比如切断用电器的电源。 (4)通信系统:该插座的通信系统主要是在其内部增加一个通信接口,以便联网和服务器进行通信。由于该设备构成局域网,在设计要采用分层次的设计思想,在这篇文章里,只考虑设计最低的一层:物理层的通信实现。 3.物理层通信的设计 在串行通信口的缺点中有三项最为突出:低速、复杂的电缆和端口数的限制。通用串行总线(USB)不仅克服了所有这三项缺点,而且具有支持热插拔、容易扩展、低成本、低干扰等优点。USB标准已经成为业界普遍认同的一种事实上的接口标准,支持这一标准各种新产品正在大量涌现,而且现在的微型计算机上都有USB接口,所以我们就选择USB作为该多功能插座和主机串行通信的接口。 3.1 USB接口芯片及其工作原理 在这篇文章中我们采用Philips公司推出的PDIUSBD12芯片,这是一种价格便宜、功能完善的并行接口芯片,它支持多路复用、非多路复用和DMA并行传输。PDIUSBD12接口芯片遵从协议USB1.1,适合于不同用途的传输类型。 性能特点:PDIUSBD12除了具有USB设备的一般特性外,还具有如下特点:(1)是一种高性能的USB接口芯片,其内部集成有SIE(Serial Interface Engine)、320字节的FIFO、收发器和电压调节器。(2)适用于大部分设备类规范。可与任何外部微控制器/微处理器实现高速并行接口,其速度可高达2Mbit/s。 (3)可进行完全独立的DMA操作。 (4)主端点配置有双缓冲,因而可提高数据的吞吐量、减小数据传输时间,轻松实现数据的实时传输。 (5)当采用同步传输方式时,数据的传输速度为1Mbit/s;而采用批量传输方式的速度为1Mbyte/s。在使用上述方式进行数据传输时,可方便地使用多种中断方式。 (6)带有可编程的时钟输出,与USB总线的连接可通过软件来控制(Soft Connect TM)。 (7)有两种工作电压可供选择:分别为3.3±0.3V和3.6~5.5V。 (8)输出和数据传输状态可通过USB连接指示灯来监控。 3.2 通信硬件电路设计 本文我们选用89C52单片机作为该系统的微控制器。 3.3 通信系统软件设计 3.3.1 USB设备驱动程序开发 Windows2000提供了一些常见USB设备的驱动程序,但是要使D12构成的USB设备正常工作仍需要自己编写驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的,通常采用Windows DDK来实现。 3.3.2 USB设备固件(firmware)设计 设备固件是设备运行的核心,采用汇编语言设计。其主要功能是控制芯片PDIUSBD12接受并处理USB驱动程序的请求(如请求设备描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等共10种USB1.1标准请求);控制芯片PDIUSBD12接受应用程序的控制指令;控制A/D模块的数据采集;通过PDIUSBD12存储数据并实时上传PC。 下位机程序主要的工作是初始化D12,通过D12进行数据传输以及按协议对数据进行格式转换。USB单片机控制程序通常由三部分组成:第一,初始化部分,完成单片机和所有的外围电路(包括D12)的初始化;第二,主循环部分,等待来自数据采集设备或上位机的数据,并启动数据格式转换程序,进行数据通信,是固件的主体部分;第三,中断服务程序,由上位机和数据采集设备触发,进行一些低工作量的实时处理(如置相应标志位),然后在主循环部分对数据作进一步的处理。 PDIUSBD12的初始化过程如下: (1) 设置地址使能; (2) 设置端点(EndPoint)使能(这时候LED亮); (3) 软断开(Disconnect); (4) 延时(1~2s); (5) 软连接(Soft Connect ,用Set Mode命令,此时LED灭); (6) 中断使能,等待中断。 (7)响应来自主机的Setup包,完成枚举。步骤3~5就是利用Soft Connect TM技术,不必进行物理插拔而使主机初始化USB总线。虽然USB协议对枚举过程作了统一的规定,但是不同公司的芯片实现起来可能有所不同。USB枚举的过程实际上就是主机和USB设备的一个握手过程:主机发送出包含某个枚举请求的Setup包,USB设备响应该请求并返回必要的信息。在主机得到USB通信所需要的所有USB设备的信息之后,枚举即告结束。 3.3.3系统应用程序设计 PC机应用程序是该插座数据采集系统的中心,采用VC++6.0编程。其功能主要有:开启或关闭USB设备、检测USB设备、设置USB数据传输管道(pipe)、设置A/D状态和数据采集端口、实时从USB接口采集数据、存储显示并分析数据。程序主框图如图2所示: 4.工业用的智能监测插座 4.1 USB通信在工业现场的局限 USB电缆的最大传输距离是5米,因此上述的USB通信方案仅适用于家庭用的监测插座。即使增加了中继或HUB,USB传输距离通常也不超过几十米,这对工业现场而言显然是太小了。目前,工业现场有大量采用RS-485传输数据的采集设备。RS-485总线传输距离可以达到1200m以上,并且可以挂接多个设备。不足之处是传输速度慢、可靠性差、需要板卡的支持、成本高、安装麻烦等。RS-485的这些缺点恰好能被USB所弥补,而USB传输距离的限制又是RS-485的优势所在。为此,我们采用一种RS-485和USB的接口转换卡来解决上述问题。 4.2 RS-485和USB转换卡的原理与硬件电路图 4.2.1 转换卡的工作原理 在采集现场,数据采集设备将采集的数据利用485总线进行传输。在主机端,利用转换卡接收来自485总线的数据并通过USB接口传送至PC进行分析处理。而主机向设备发送数据的过程正好相反,主机向USB口发送数据,通过485~USB转换卡转换为485协议向远端输送。转换卡的主要功能是完成信号电平转换和数据格式转换。RS-485和USB电平的转换主要依靠硬件,通过各自的接口芯片将信号转换为TTL电平。数据格式的转换则主要是软件方面的工作, MCU读到某一个接口的数据,然后按照另一个接口协议中对数据帧的要求进行打包。设计的核心是通过MCU协调两个接口的数据收发,由于相当部分的工作已经由各个接口电路完成,所以设计工作量大为减少。 4.2.2 转换卡硬件电路 硬件部分主要是MCU与485和USB的接口电路设计,如图3所示。MCU采用普通8051,USB接口芯片为PDIUSBD12,485接口芯片为MAX485。 4.3 转换卡软件设计 软件设计包括单片机软件(固件)设计和主机部分软件设计。单片机软件使用伟福公司提供的WAVE仿真软件开发,并通过其仿真器进行在线调试。主机部分软件又包括驱动程序和应用程序两部分,分别使用DDK和VC6.0生成。 5.结束语 对于该智能监测插座的研究目前仍然处于理论的设想与设计过程中,要做出产品来,仍然有很长的路要走,需要更多的人投入更多的精力。尤其是利用USB通信这一块,USB驱动程序的编写是个难点。随着技术的不断更新、完善和发展,相信该多功能插座的实现会越来越容易。并且也会拓展多功能智能插座的市场。.站内文章改编权归振华电子(www.zhenhuachina.com)所有。 | |