USB总线在远程抄表系统中的应用

最新更新时间:2013-11-25来源: 互联网关键字:USB总线  远程抄表 手机看文章 扫描二维码
随时随地手机看文章

USB总线在远程抄表系统中的应用

 1 前  言

  随着供水部门、供电部门、供气部门对“一户一表”工程改造的推进,以及对自动化的要求,远程自动抄表系统已成为水、电、气自动化管理和智能化控制不可缺少的组成部分。

  采用集中抄表系统能够杜绝人工抄表产生的误抄、漏抄、估抄等人为错误,提高工作效率,减轻劳动强度,减员增效。一般抄表系统采用RS485总线,然后通过485/232模块与监控计算机连接,计算机通过串口轮巡采集电表数据。由于串口速度慢,这成为抄表系统传输速率提高的瓶颈,而使用485/usb模块,能很好的解决这个问题,USB 1.1规范的最高传输速率为12 Mb/s。USB总线除了用于外围设备和PC机之间的连接之外,在其它领域也有广泛应用,包括测量和自动化应用。

  2 硬件设计:

  模块的硬件包括: 微控制器、RS485 总线通信接口和USB 通信接口,如图1:

  RS485定义了一个基于单对平衡线的多点、双向(半双工)通信链路,采用平衡式发送,差分式接收的数据收发器来驱动总线,每次通信只能有一个主站,适合轮巡方式通信。RS485收发器采用TI公司的75LBC184,它使用单电源供电,电压在+3-+5.5V范围都能正常工作,能完成TTL与RS485之间的转换。在电路中,使用了TLP521进行隔离,提高了系统的可靠性。

  USB 通信接口采用PDIUSBD12,负责与上位机和微处理器进行信息交换。PDIUSBD12是PHILIPS公司推出的一种价格便宜、功能完善的USB并行接口芯片,支持多路复用、非多路复用和DMA并行传输,它遵从USB1.1协议,适合于不同用途的传输类型。PDIUSBD12需要外接微控制器来进行协议处理和数据交换,对MCU没有特殊要求,接口方便灵活。微处理器采用P89C51RD 单片机。

  3 系统软件设计:

  3.1 RS485软件子程序设计:

  RS485软件编程非常简单,它使用处理器的串口。数据到来时存放到串口缓冲区中,并产生串口中断。

  RS485协议只是物理层,上层协议需要用户自己定义。 由于介绍RS485总线的文章很多,其他程序略。

  3.2 USB软件设计:

  USB设备与主机通过四根线连接,电源、地,以及两根数据线,该模块使用计算机提供的5v电源。连接速度由D+ , D-连线上的电阻位置决定的, 如果D+ 线上有上拉电阻, USB 设备为全速设备,如果D-连线上有上拉电阻, 则USB 设备为低速设备。PDIUSBD12 的softconnect 技术在片内集成了1.5k的上拉电阻, 可以通过微处理器发送命令来控制D+上的上拉电阻是否与电源连接。

  在usb设备中,我们使用描述符区别不同的设备、端口等。描述符主要包括设备描述符、配置描述符、接口描述符,在设备中预先设置这些参数,主机通过对这些描述符的读取,获得该设备的信息。

  当一个设备刚插入计算机时,主机需要对该设备枚举,读取该设备的相关参数,首先使用默认的设备地址0进行通信。主机端先向设备地址0,端点0发送Get_Descriptor(获取描述符)请求来查询接入什么样的设备,设备使用设备描述符回答,然后通过发送Set_Address(设定地址)请求来分配一个单独的地址给设备。设备读取这个请求,返回一个确认且保存新的地址。主机给新地址发送一个Get_Descriptor请求来读取这个设备完整的描述符,包括端点最大包的大小,设备支持的配置号,以及该设备的其它信息,主机将这些信息用于往后的通信中。而后发出Get_configuration_Descriptor(获取配置描述符)命令,用来获取设备的节点和端点的配置信息。而后发出(Set_configuration)设定配置请求,以该配置号配置设备。设备就完全正确处于可操作状态,完成了枚举过程,便可以通过端点进行数据传输了。

  以下是主设备读取从设备描述符的过程

  主机发起的setup包,使用默认的地址0,端点0。其中SYNC字段为同步序列数据域,固定为01H,紧接着为标识符数据域PID字段,用来表示数据封装包的类型,可分为令牌、数据、握手或特殊四种封装包类型。其中令牌封装包细分为OUT,IN,SETUP,SOF四种封装格式。随后为地址数据域ADDR字段,用来寻址高达127个外围设备,每个设备只有对应唯一的地址,ENDP字段为端点数据域,最多可寻址32个端点,它仅在IN,OUT,SETUP令牌封装包中,最后为CRC校验和。

  主机发送数据,其中数据域中的数据80表示设备标准请求,06描述符命令(get_descriptor)00 01 代表请求设备的描述符,00 00为语言类型,40 00,指出期望从设备返回的数据个数,如果描述符的个数大于指定的字节个数,则按照指定个数返回,如果描述符小于指定的字节数,返回实际的字节个数。

  该帧为设备收到数据后的确认帧

  该帧为向设备发送数据请求。


  12为描述符长度,01为设备类型,10 01 为usb版本号,bcd码,这里是usb1.1,00 为设备类型码,00为子类设备代码,00为USB分配的设备协议代码,10为端点0最大包的大小,d8,0d为厂商编号,01 c0为产品编号,04 01为设备出厂编号,01为厂商字符串索引,02 为产品字符串索引,00为序列号,01为设置编号。


  在主程序中完成对系统、PDIUSBD12的初始化,以及完成对d12的枚举,将数据的发送接收都放在中断程序中。PDIUSBD12有3组端点,使用默认端点0和端点2。将端点2作为数据传输的通道,当PDIUSBD12从USB收到一个数据包时,就对CPU产生一个外部中断请求,CPU立即相应中断,在中断服务子程序中,将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区中,随后清零PDIUSBD12的内部缓冲区,对数据校验,如果接收得数据正确,直接调用RS485数据发送子程序,将数据发送到RS485网络。

  3.3 计算机软件设计:

  计算机软件主要包括,驱动的设计,动态连接库的设计。驱动程序采用飞利浦提供的驱动,上位机程序使用api函数并封装RS485总线的上层协议,提供给用户使用的接口。本例采用VC编写用户程序和动态连接库。从驱动中读数据的程序如下,

  void   readdata(unsigned char *rec)

  {   unsigned char outbuf[105];

  HANDLE hFile, hDevice=0;

  BOOL bResult;

  ULONG nBytes = 25;

  hFile = open_file("PIPE02");

  if(hFile == INVALID_HANDLE_VALUE)

  {return;}

  hDevice = open_dev();

  bResult = ReadFile(hFile,outbuf,10,&nBytes,NULL);

  if(bResult==FALSE)

  { DeviceIoControl(hFile,IOCTL_D12_RESET_PIPE,0,0,0,0,&nBytes,NULL); }

  CloseHandle(hFile);

  CloseHandle(hDevice);

  }

  在使用这个函数的时候,只需要添加如下说明。

  extern "C" DllImport void readdata ( unsigned char * );

  4 结  论

  由于采用了USB总线,克服了原来使用RS232接口速度慢的瓶颈,提高了远程抄表系统的数据传输速率,该方案已经成功的得到应用,稳定可靠,有广阔的应用前景。

关键字:USB总线  远程抄表 编辑:神话 引用地址:USB总线在远程抄表系统中的应用

上一篇:基于DM642的FLASH分页二级引导程序设计
下一篇:基于SMA7029M多芯片模块的步进电机驱动设计

推荐阅读最新更新时间:2023-10-12 20:53

现场总线CC-Link在智能小区远程抄表和管理系统中的应用
一,概述     21世纪的到来,特别是近年来自动控制技术和计算机技术的迅速发展,使得高科技正在由智能大厦走向智能住宅小区,目前“智能化”已经成为发展商开发建设住宅小区不可或缺的重要内容和卖点。建设部住宅产业化和设计司制定了《全国住宅小区智能化系统示范工程建设要点与技术导则》。导则对智能化系统的功能做了明确的规定,对智能化住宅的总体要求是:高度的安全性;舒适的生活环境;便利的通讯方式;综合的信息服务;家庭智能化系统。对于住宅小区的类型、居住对象、建设标准的不同,根据功能要求、技术含量、经济合理等综合因素,可分为一星级(普及型)、二星级(提高型)、三星级(超前型)三种类型。普及型智能化小区定义为应用现代信息技术,达到以下功能
[嵌入式]
一种能跨变压器台区的电力远程抄表系统
摘要:采用过零调制技术,利用数字差分、匹配滤波、纠错编码方法处理接收数据。系统具有较强的抗干扰能力,可实现跨配电变压器台区的远距离抄表,适合中国电网特点。 关键词:自动抄表 跨台区 过零调制 电力系统自动抄表是电能营运部门用电管理自动化的重要手段。电力线网络是一个广泛存在的网络,利用它作为质传输配用电数据是非常方便的。跨变压器台区电力远程抄表系统采用工频过零调制、匹配滤波、纠错编码技术,利用现有10kV/220V配电网实现无中继、无桥接设备、跨变压器台区、在不同电压等级之间的远程自动抄表。这种抄表系统是一种不同于传统电力线载波抄表的新型技术,它不存在配电网载波抄表中的多径干扰与通信盲点问题,调制信号的频率仅为几百赫兹,可以随电
[应用]
海量脉冲电表远程抄表现地采集模块研究
   1、引言   脉冲电表是目前电力系统用户侧较为常见的一种电子电量表计。对于远程电子抄表系统,要实现对脉冲表输出脉冲的可靠、精确计量。本文研究探讨了对于脉冲表可靠脉冲捕捉、脉冲计量,特别研究了脉冲电表信号输出线路的断线报警、掉电数据存储等关键问题,并对区域脉冲表群抄表需要的现场总线进行了研究,提出用CAN 总线为数据通信的脉冲电表群的模块化解决方案。    2、脉冲采集模块设计   CH1 脉冲采集的主要任务是对CH2 CH3 脉冲电表输出脉冲的实时、准确计数,CH4 是所有电量统计的基础。脉冲采集模块CH5 的好坏直接影响整个系统的可靠性和CH6 准确性,因此在整个抄表系统中占据着CH7重要的地位。
[测试测量]
海量脉冲电表<font color='red'>远程抄表</font>现地采集模块研究
基于USB总线的嵌入式CCD图像数据采集系统的设计
CCD图像数据的采集与普通视频信号的采集相比,其最大的特点是数据传输速率高,传输通道多。目前,通用的CCD图像数据采集方法是在计算机中插入高速数据采集卡,采集卡与CCD相机间通过点对点物理层接口(如RS-422、RS-485)进行数据传输,高速数据采集卡接收到数据并通过PCI总线将数据写入计算机内存,然后利用采集卡的存储功能将数据通过IDE接口写入计算机硬盘。这种方法虽然简单可靠,但对多通道、高速图像数据的采集在数据传输和存储方面有一定的局限,容易引起数据帧的丢失,并且随着传输通道的增多,引起传输导线数量增加,系统功耗及噪声也随之增大。通用串行总线USB能很好地解决这些问题,具有连接方便、无需外接电源、即插即用、支持热插拔、高带宽
[单片机]
基于<font color='red'>USB总线</font>的嵌入式CCD图像数据采集系统的设计
基于CP2102的RS232转USB接口的应用设计
     1 引言   目前仪器设备大都采用RS232接口与计算机通信,但随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。RS232接口与USB接口虽然都属于串行接几,但它们的数据格式、通信协议、信号电平以及机械连接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换有两种方案,一种方案是从硬件底层固件开始全面开发系统,该方案由于开发成本高、难度大,加之单片机的限制,因而很少采用;另一种方案是采用USB/RS232桥接器件如CP2102,CP2103进行设计,计算机通过USB接口虚拟
[模拟电子]
基于CP2102的RS232转USB接口的应用设计
USB总线在便携式数控测井系统中的应用
1 引言     随着测井技术的飞速发展,各种测井数据的实时采集和处理在现代测井系统中已必不可少。传统的地面数据采集系统与主机之间的通信模式是采用PCI总线或RS-232串行总线。PCI总线虽然有很高的传输率,且支持“即插即用”,但是它的扩展槽相当有限,且插拔不方便,不适合便携式系统的要求;RS-232串行总线虽然连接方便,但是带宽非常有限,传输速率较低。为了克服以上通信方式的缺点,要求寻找一种新的通信方式进行数据传输,而通用串行总线USB的出现很好地解决了这些问题,很容易就能实现低成本、高可靠性、高速率的数据通信。 2 USB总线简介     USB的优点:     ①速度快。USB接口的最高传输率可达12 Mb
[嵌入式]
具有远程抄表功能的单相电子式电能表设计
1 引言   电能表作为体现电力部门经济效益的唯一计量器具,需要其能正确反映供电与用电的情况。目前,一般的家用全电子式的电能表 ,大多数采用专用计量芯片设计电量计量采集电路,只具有电能计量功能,难于实现分时计量、预付费、定时供电控制 等功能。在一些用电集中的场所,给施工、抄表、控制等带来困难。该文设计一种单相远程多用户多功能智能化电能表,采用一块微处理器、RS485总线,不仅能实现对多个用户的电能计量,而且还具有分时计量、远程集中抄表、预付费、定时供电控制等功能。 2 带有RS-485 总线接口的单相电能表设计   电能表主要由电能计量单元、单片机系统和输出部分组成。电能计量单元主要由电流、电压采样和专用电能表芯
[测试测量]
具有<font color='red'>远程抄表</font>功能的单相电子式电能表设计
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved