新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于USB总线通信数据采集器的设计与实现

基于USB总线通信数据采集器的设计与实现

作者:时间:2012-11-29来源:网络收藏
1 引言
在变电站和工业现场的微机监控系统中,要通过通信方式采集许多远程现场数据。目前电力系统的通信、监控和数据采集系统的一体化采用的是一种分布式的通信结构,伴随着新设备、新技术的应用,传统的对终端单元的通信和数据采集方式的缺陷日益突出,如安装麻烦,工作效率较低,适应性和可扩展性较差。电力系统所需要的主站数据采集前端子系统,应该可以智能地、高效可靠地完成与终端单元的数据采集、通信和协议解析任务,并具有良好的经济性。
2 通信的硬件结构
通用串行总线(Universal Serial Bus,简称USB)是1995年康柏、微软、IBM、NEC等公司为了解决传统总线的不足而推广的一种新型串行通信标准。该总线接口具有安装使用方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。本文提出的基于的智能通信就是将RS232、RS485与传输距离短但高速、可靠易扩展的USB有机地结合起来,构成了多点、快速、可靠、低成本的远程数据采集系统,有效地解决了传统数据采集系统的缺陷。
3 通信硬件电路的实现
通信数据采集器的硬件电路如图1所示。图1中微控制器(MCU)采用AT89C52,该控制器具有运算速度快、兼容MCS51指令集的特点,内部集成8K flash,性价比高。为了防止外界干扰的影响,MCU与下位机通讯的接口采用光耦隔离,控制接口的隔离采用TLP521-4,串行输入输出口RXD、TXD采用6N137隔离。


考虑到现在工业领域常用的总线有RS232、RS485等,采用MAXIM公司的接收发送器MAX232、MAX485实现电平转换。与外界的接口采用光电开关,通过上位机初始化设置总线类型来选择与外界设备通信的接口方式,从而有效地避免了设置值与实际操作中接法的不一致。
USB接口采用PHILIPS的USB控制芯片PDIUSBD12,该控制芯片能够实现微控制器的并行总线到的接口功能,而且编程方便,适用于多种微控制器,内部集成实现USB功能的PLL、SIE、FIFO模块,与普通的微控制器配合就可以实现功能完备的USB外设。
与USB的连接是通过1.5kΩ上拉电阻将D+(用于高速USB器件)置为高来实现的。1.5kΩ上拉电阻集成在PDIUSBD12内部,默认状态下不与Vcc相连。连接的建立通过外部/系统微控制器发出命令来实现。这就允许系统微控制器在决定与USB建立连接之前完成初始化时序。连接可以重新初始化而不需要拔出电缆。PDIUSBD12在连接可建立之前会通过EOT-N管脚检测USB VBUS是否可用。
在以12Mb/s的速率传输数据并且与MCU的并口相连接时,存储器管理单元(MMU)和集成RAM作为和USB之间速度差异的缓冲区,这就允许MCU以它自己的速率对USB信息包进行读写。对一个微控制器而言,PDIUSBD12看起来就象一个带8位数据总线和一个地址位(占用两个位置)的存储器件,PDIUSBD12支持多路复用和非复用的地址和数据总线。本设计中采取的是多路复用的地址和数据总线,PDIUSBD12的地址锁存ALE接AT89C52的ALE,在每一下降沿关闭地址信息锁存。
直接存储器寻址(DMA)允许在PDIUSBD12的主端点和本地RAM之间实现数据块的有效自主传输而不需要本地MCU的干预。要处理任何DMA传输,本地MCU从主机接受必要的SET-UP信息并对DMA控制器的传输模式、字节计数寄存器和地址计数器进行相应的编程。在PDIUSBDl2发出请求时开始传输,在字节计数器减少为零时终止。
4 通信数据采集器的软件设计
4.1 MCU的程序设计
通信数据采集器的软件包括微控制器AT89C52的通信采集控制软件和上位机的管理软件。AT89C52主要实现终端协议的识别,对终端设备的数据采集,协议的解析以及数据向上位机的转存。由于数据采集的全过程及协议解析不
占用上位机系统的CPU时间,数据通过USB接口向上位机传输的速度也非常快,这样就把上位机从通信瓶颈中解脱出来,从而可以充分利用其资源来处理其它事务。
光电开关相关文章:光电开关原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭