电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 通信与网络 > 详细信息
通信与网络:一种智能多协议通信适配器的设计
来源:   时间: 2007-11-16 2:24:27    

  摘 要:文章提出了一个基于USB接口芯片PDIUSBD12的智能多协议通信适配器的设计与实现方法。该方法充分利用了RS232、RS485、USB总线的优点,它能够完全承担计算机与终端单元通信、数据采集的任务,将计算机解放出来,进而大大地提高了计算机采集与监控系统的效率。该方法还采用了智能的多终端与多协议的识别技术,使得适配器的兼容性大大提高。

  关键词: PDIUSBD12;通用串行总线(USB);RS232;RS485;多协议;智能识别

 

0    引言

  目前电力系统的通信、监控和数据采集系统采用的是一种分布式的通信结构。伴随着新设备、新技术的应用,在当前我国的电力系统内,对终端单元的通信、监控和数据采集存在着三大问题:一是分布式系统的工作效率较低;二是终端种类繁多,并且通信协议互不兼容;三是主站的数据采集前端子系统(工控采集板、协议转换板等)适应性较差,实际使用效果难以令人满意。

  电力系统所需要的,应该是这样一种主站数据采集前端子系统:首先它应该可以实现与多种类型的终端单元进行通信与数据采集;其次,它应该可以兼容多种通信协议;然后,最为重要的是它可以智能地、自动地完成对终端单元的数据采集和协议转换任务;最后,这个子系统还应该价廉物美,具有良好的经济性。

1   采集与监控系统结构

  在变电站和工业现场的微机监控应用系统中,要采集许多远程现场数据点,这时主站PC机与下位机通过串行通讯来完成命令与现场采集数据的传输。目前比较通用的是在PC机或工控机内安装数据采集板卡,如A/D卡及422、485卡。这些数据采集设备存在以下缺陷:安装麻烦、价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。通用串行总线(Universal Serial Bus,简称USB)是1995年康柏、微软、IBM、NEC等公司为了解决传统总线的不足推广的一种新型串行通信标准。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。基于USB的数据采集系统充分利用USB总线的上述优点,有效解决了传统数据采集系统的缺陷。本设计就是将RS-232、RS-485与传输距离短但高速、可靠易扩展的USB相结合,形成了能够多点、快速、可靠、低成本的远距离数据采集系统。

 

                                        

2   适配器的硬件电路实现

  通信适配器硬件结构如上图1所示。微控制器采用AT89C52,该控制器具有运算速度快、兼容MCS51指令集的特点,内部集成8Kflash,性价比高。外接看门狗电路MAX706,可为微控制器提供可靠的保护。为了防止外界干扰对MCU的影响,单片机与下位机通讯的接口采用光耦隔离,控制接口的隔离采用TLP521-2,收发的RXD、TXD采用6N137隔离。

  USB接口采用PHILIPS的USB控制芯片PDIUSBD12,该控制芯片能够实现微控制器的并行总线到USB口的总线接口功能,而且编程方便,适用于多种微控制器,内部集成实现USB功能的PLL、SIE、FIFO模块,与普通的微控制器配合就可以实现功能完备的USB外设。对于一个微控制器而言,PDIUSBD12就象一个带8位数据总线和一个地址位(占两个位置)的存贮器件。与USB的连接是通过1.5kΩ上拉电阻将D+(用于高速USB器件)置为高来实现的。1.5kΩ上拉电阻集成在PDIUSBD12内部,默认状态下不与VCC相连。连接的建立通过外部/系统微控制器发出命令来实现。这就允许系统微控制器在决定与USB建立连接之前完成初始化时序。USB总线连接可以重新初始化而不需要拔出电缆。

  考虑到现在工业领域常用的总线有RS232、RS485等,采用MAXIM公司的MAX232、MAX485接收发送器实现电平转换。与外界的接口采用光电开关,通过上位机初始化设置总线类型选择与外界的接口方式,从而有效的避免了设置值与实际操作中接法的不一致。又因为RS-485总线为并接式二线制接口,一旦有一只芯片故障就可能将总线“拉死”,因此对其二线口VA、VB与总线之间应加以隔离。通常在VA、VB与总线之间各串接一只4~10Ω的PTC电阻,同时与地之间各跨接5V的TVS二极管,以消除线路浪涌干扰。如没有PTC电阻和TVS二极管,可用普通电阻和稳压管代替,同时在该芯片外接0.1uf的电容,也可以有效的防止外界的干扰。

3    适配器的软件设计

  适配器的软件主要包括AT89C52微控制器的软件以及上位机的管理软件。考虑到上位机的处理速度优势,将协议转换的工作交由上位机的客户服务程序来完成。单片机AT89C52主要实现智能的终端与协议识别以及与下位机的通信和数据转存。由于采用USB接口与上位机通信不占用上位机系统的CPU时间,这样即把上位机从通信瓶颈中解脱出来,又充分利用了上位机的速度优势。

3.1 单片机控制程序设计

  单片机的控制程序由三部分组成:首先是初始化部分,完成单片机和所有外围电路(包括PDIUSBD12)的初始化以及终端和协议的识别;其次是主循环部分,等待来自数据采集或上位机的数据并实现数据的转存;最后是中断服务程序,完成相应的中断处理功能。

  设备安装完后准备运行前,操作人员可利用上位机管理软件提供的用户界面初始化一些系统参数,如总线类型、终端类型等等。当选择智能搜索终端时,单片机按次序调用储存在其内部闪存中的各种相关协议,并通过通讯接口向外发出握手指令等待终端响应。如果终端返回信号并且信号格式与单片机发出的相同(即二者的协议相同),则认为该终端有效;如果终端返回信号与单片机发出的不同,或者连接超时,则认为该终端无效或不存在。单片机将最终搜索结果即终端信息表写入存储器指定单元,并通知微机读取,以备随后的通信使用。

  当选择从智能终端采集数据时,单片机通过顺序查询上述储存的搜索结果,得到终端的类型。然后,根据不同的终端调用相应的协议,发出采集数据的指令。适配器上的CPU与下位机之间是一对多的通信模式,默认状态下,采用循环采集,各终端有一预先指定的固定的通信地址。对一个固定的终端而言,CPU发出握手信号,远方终端响应,则相应的信息经RS232/RS485接收,由CPU存入RAM62256的指定地址;接收完成后,CPU将接收到的数据经D12传给上位机;上位机的客户服务程序对上传上来的数据进行解码、校验,如有误,通知终端重传;如无误,则将解码后的信息转存入计算机指定的内存,并备份到相应的文档,供其他的客户服务程序使用。根据系统的特点,还可以采用定点采集方式对指定终端进行数据采集与监控。以下给出单片机主程序流程图(图2)。

 

                              图2:微控制器主程序流程图

                         

3.2 上位机的程序设计

  从上位机来看,适配器为它的一个USB外设。因此上位机必须提供USB外设的驱动程序。上位机的管理软件包括客户服务程序以及USB驱动程序。

  客户服务程序(Client software)是驻留在上位机的与USB系统软件交互作用的软件。它确定需要与功能(即USB外设)进行什么样的传输,当它需要与功能进行传输时,提出一个请求,并生成一个IRP(I/O中断请求包),然后进行USBD(USB Driver)调用,把IRP通过USBD接口传送给USBD。当该传输请求被服务后,客户服务软件接收IRP完成状态的通知。如果该传输涉及功能到主机的数据传输,则客户服务软件可以访问与该IRP有关的数据缓冲区中的数据。

  USB驱动程序(USBD)是驻留在上位机的为客户提供通用服务的软件实体,它管理主控制器上的一个或多个功能。它通过调用适当的主控制器驱动程序(HCD)将用户IRP中的数据转化为设备端点的数据,或通过回调适当的HCD将设备端点的数据转化为客户IRP中的数据。USBD接收来自配置软件的配置请求,该配置软件是驻留在上位机上的负责配置USB设备的软件,它描述所希望的设备配置:端点、传输类型、传输周期、数据规模等。USBD基于带宽有效性以及总线容纳该请求类型的能力,接受或拒绝配置请求。如果它接受了一个请求,则USBD为所希望类型的请求者创建一个管道。一旦设备被配置,软件客户可以请求IRP在它与其功能端点之间进行数据传送。

  主控制器驱动程序(HCD)是从主控制器中抽象出来的USB软件层,它提供了一个SPI(系统编程接口)与主控制器交互作用,并隐藏了主控制器的硬件实现细节。当用管道传送IRP时,HCD把它们添加到事务表中。当一个IRP完成时,HCD会通知发出该请求的软件客户IRP已经完成。如果IRP包括从功能到软件客户的数据传送时,则把数据放在客户指定的数据缓冲区。

  USB驱动程序的编写往往是USB设备开发过程中最困难的,通常采用Windows DDK来实现。目前有许多软件厂商提供各种各样的驱动程序生成工具,如Computerware的DriverStudio,BlueWaters的DriverWizard等。本设计中笔者就是采用DriverStudio软件生成的程序框架,添加了适当的用户代码,完成了适合与本设计的驱动程序的编写。

  上位机的客户服务程序是用VC++6.0编写的,协议转换是根据智能终端与协议识别所形成的终端信息表调用相应的协议转换程序来实现的。用户可以很方便的扩展用户所需的协议。

4   结语

  USB由于其连接的方便性、通信速度的快速性、接口的简单性,必将在计算机技术应用领域得到广泛的应用。本文提出的智能多协议通信适配器可以广泛地应用于实时监控、实时数据采集等场合,也可以增强协议辨识和增加协议转换功能,使它能自适应地应用于与具有标准通信协议和规范化的数据格式而又缺少详细技术资料的智能终端通信中。

相关信息
发表评论
打印本页 关闭本页
基于PDIUSBD12的USB控制器的设计
    USB是一种新型的通用串行总线,它具有即插即用、可热插拔和传输速率高的特点,在工业界已经获得了广泛的支持和应用。迄今为止,各种USB的外设已有上千种,除了象显卡这种需要极高数据量和实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来。   一般的USB设备都使用一片微控制器作为其核心部件,通过微控制器强火的控制和运算功能,开发者可以很容易地实现USB设备...
>>详细内容
基于RS232及红外接口的多功能通讯实验板的设计
  1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS48...
>>详细内容
RS-232、RS-422与RS-485协议标准及应用概述
  一、RS-232、RS-422与RS-485的由来     RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传...
>>详细内容
基于RS-485总线的小型集散系统设计
  1.前言  集散控制系统是一种价格昂贵的自动化控制装置,国内外集散系统制造公司,在生产大型集散系统的同时,都推出了同系列的小型集散系统,即使这样,其价格对国内小企业而言仍然偏高。我们从我国中小企业的实际情况出发,以个人计算机做操作站,通过RS-485总线与多台DCS基本控制器组成了一种简易集散系统,经济实用。    2.系统的组成及其框图  整个系统包括一台PC或者IPC作为...
>>详细内容
基于单片机AT89C52的CAN总线分布式测控系统的研制
  1CAN总线网络的技术特点    用通讯数据块编码,可实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点及全局广播等多种传输方式;可将DCS结构中主机的常规测试与控制功能分散到各个智能节点,节点控制器把采集到的数据通过CAN适配器发送到总线,或者向总线申请数据,主机便从原来繁重的底层设备监控任务中解放出来,进行更高层次的控制和管理功能,比如故障诊断、优化协调等...
>>详细内容
AT89C52单片机在捻度测量中的应用
    纱线捻度测量是纺织生产中重要的环节。目前纱线捻度普遍采用机械式和半电子化测量。该测量方法精度低、操作人员劳动强度大、易出现错误操作。为适应市场需求和社会发展,开发了以单片机为核心捻度测量装置,实现捻度测量的自动化、微型化、数字化,从而大大提高了测试精度。    1 系统原理  本装置如图所1示。单片机将测量的电机转速与键盘设置的工作方式和初始值进行比较判断...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com