电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 数据转换/信号处理 > 详细信息
数据转换/信号处理:一种USB接口的数据数据采集系统设计
来源:   时间: 2007-10-27 7:01:15    

一、引言

工业控制等场合往往需要用PC或工控机对各种数据进行采集,通常数据采集系统是通过串行口、并行口或内部总线等与计算机连接的,但是它们都有一个共同的缺点,即安装不太方便,灵活性受到限制。目前USB接口已经成为计算机的标准设备,它具有通用、高速、支持热插拔等优点,非常适合在数据采集中应用。一般USB开发需要熟悉USB标准,FIRMWARE编程,驱动编程等,这对于没有USB经验的开发者有一走的困难。采用USBI00模块开发USB数据采集系统,开发者无需编写驱动程序,只需具备一定的单片机知识和PC应用程序的知识。就可以很快的开发USB接口的数据采集产品。

二、USB在数据采集中的应用

(一)USB的主要优点

1.速度快 USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps.另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速万式,速率为1.5Mb/s

2.设备安装和配置容易 安装USB设备不必再打开机箱,无需关闭计算机。所有USB设备支持热插拔,系统对其进行自动配置,彻底抛弃了过去的跳线和拔码开关设置。

3.易于扩展 通过使用Hub扩展可连接多达127个外设。

4.能够采用总线供电 USB总线提供最大达5V电压、500mA电流。2.2 USB用于数据采集。

目前常见的采用板卡做数据采集。不仅安装麻烦,易受机箱内环境的干扰,而且由于受计算机插槽数量和地址,中断资源的限制,不可能挂接很多设备USB的出现,很好的解决了这些冲突,是实现数据采集的较好选择。

三、数据采集系统硬件构成

一个实用的数据采集系统一般包括电源模块,信号处理模块,微处理器,USB通讯模块几部分,图I是一个典型的USB数据采集系统组成结构方框图。

在微处理器和USB接口的选择上主要有两种方式,一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel, SGS-Tomson, Cypress, Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,是构成USB数据采集系统较好的方案,但是由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。另一种是采用普通单片机加专用USB通信芯片。从成本上考虑,笔者采用了第二种方案,选用Atmel公司的89C51单片机和讯通公司的USB100芯片构成系统。89c51这种普通单片机价格便宜,而由于USB100模块对通讯协议进行了转换封装,开发时无需自己编写驱动程序,设计和调试起来也并不困难。

(一)电源模块

这一部分提供其它模块所需供电。USB的一大优点是可以提供电源,所以只需考虑电路中其它芯片的供电要求,一般数据采集设备耗电量不大,用低功耗低压差集成线性电源芯片即可。

(二)信号处理模块

这一模块将传感器采集过来的电压信号进行滤波,放大,以及进行A/D转换然后送入单片机,可以沿用传统的设计方法,综合考虑采集的精度、速率、通道数来选择芯片和设计电路。依据传感器发送的信号范围以及A/D转换芯片的接收电压范围来确定放大倍数,决定是采用单级放大还是多级放大,设计相应的放大电路。另外,根据信号的频率要求,设计滤波电路。对于多路采集,还需要加入相应的开关电路,使得微处理器能够分时处理多路信号。

笔者在人体姿态平衡仪器的设计中,前端三个传感器发送的信号在-20mV+20mV,频率要求小于200Hz。由于系统对采集精度和速率较高,因此笔者选用了高精度的ADS774芯片,ADS774812位的A/D转换芯片,双极性输入时转换电压范围-5V+5V,它转换速度快,能够实现高速高精度数据采集的要求。这样,在信号处理部分就采用了两级放大,放大250倍后送入ADS774进行数据转换。另外在放大电路中加上一阶有源低通滤波电路,滤掉高频千扰口。

(三)通讯模块

这一部分主要是USB内部芯片和外围电路,用来实现单片机与计算机的通讯。笔者选用了讯通公司的USB 100芯片USB100芯片是目前开发最为方便的USB接口产品之一。它内部封装了USB11协议以及300字节的内部FIFO,八位并行数据接口,它的最大优点是完成了全部协议的转换和封装,使得开发的过程变得简单,对USB的操作变成了类似于对外部存储器的操作。

    2USBI00芯片与接口插头的连接图。D+和D-用以在插座和芯片间传输数据。DOD7USB1008位双向I/O口,与单片机的8位端口相连,用于传输数据USB100模块的WR, RD, IXE, RXF与单片机的I/O口相连,但因为时序不同,USB100WRRD不能用单片机的WRRD进行控制、应用单片机I/O进行控制。单片机根据FXE,RXF的状态进行数据的收发。

发送数据:当单片机检测到USB100模块IXE为低时,表示内部发送缓冲区允许发送数据到USB端口,可以将数据通过八位数据总线发送给USB100模块,发送数据锁存由WR控制(沿触发);USB100模块TXE为高时,禁止发送数据发送时序如图3所示.

接收数据:当单片机检测到USB100模块RXF为低时,表示内部接收缓冲区有来自USB端口得数据,可以通过八位数据总线将数据读入发给USB100模块,接收数据锁存由RD控制〔沿触发〕,接收时序图如图4所示。

(四)中央处理器模块

中央处理器对A/D转换、通讯、通道选择进行控制。笔者采用了89C51单片机,它体积小,重量轻,价格便宜。51系列单片机的开发应用已经非常成熟,读者可以参考一般的51开发方法,这里不再介绍。

四、数据采集系统编程

系统软件包括89C51单片机软件和计算机界面与数据处理软件两部分。

通讯部分采用单机通讯协议的方式编程,这样能够保证数据传输更加稳定可靠。一种选择是以PC为主机,MCU为从机,另一种是以MCU为主机,PC为从机。笔者采用的是前一种方案,PC作为主机发送请求,MCU给出应答程序主要流程如图5所示。

(一)89C51单片机程序

在初始化了各种参数之后,开始不断的循环,查询USB100端口,当查询到USB100端口有数据收到,并且该数据代表采集指令时,开始执行数据采集,否则继续循环。程序用汇编语言或者C语言都可以,笔者采用的是C语言编程。

(二)PC机程序

PC机程序可分为通讯程序及数据处理两部分,数据处理部分不同应用各不相同,这里只介绍通讯部分。在PC上安装USB100专用驱动后,PC会增加一个虚拟端口(如串口3),此端口对应USB端口,可以完全按照串口的方式操作USB端口发送和接收数据,区别只是设走的通讯速率无效,USB 100按默认最高速率(8Mb/s)工作编写程序时。完全可以按照一般串口编程方法,无需DDK编程笔者采用的是在VC,Mscomm控件编程.使用控件编程的特点是程序比较简单,但是如果需要较高的通讯效率,建议采用VC调用API的方式也可以采用DELPHI, VB等编程语言。

五、结语

笔者在人体姿态平衡仪的开发中,采用普通单片机89C51USB100专用模块组成数据采集系统,在使用中运行可靠,测量准确.用该方法开发USB数据采集系统,在满足性能要求的同时,也使系统的设计更为方便决捷。

接收数据:当单片机检测到USB100模块RXF为低时,表示内部接收缓冲区有来自USB端口得数据,可以通过八位数据总线将数据读入发给USB100模块,接收数据锁存由RD控制〔沿触发〕,接收时序图如图4所示。

      (四)中央处理器模块

      中央处理器对A/D转换、通讯、通道选择进行控制。笔者采用了89C51单片机,它体积小,重量轻,价格便宜。51系列单片机的开发应用已经非常成熟,读者可以参考一般的51开发方法,这里不再介绍。

     四、数据采集系统编程

     系统软件包括89C51单片机软件和计算机界面与数据处理软件两部分。

 通讯部分采用单机通讯协议的方式编程,这样能够保证数据传输更加稳定可靠。一种选择是以PC为主机,MCU为从机,另一种是以MCU为主机,PC为从机。笔者采用的是前一种方案,PC作为主机发送请求,MCU给出应答程序主要流程如图5所示。

      (一)89C51单片机程序

     在初始化了各种参数之后,开始不断的循环,查询USB100端口,当查询到USB100端口有数据收到,并且该数据代表采集指令时,开始执行数据采集,否则继续循环。程序用汇编语言或者C语言都可以,笔者采用的是C语言编程。

     (二)PC机程序

     PC机程序可分为通讯程序及数据处理两部分,数据处理部分不同应用各不相同,这里只介绍通讯部分。在PC上安装USB100专用驱动后,PC会增加一个虚拟端口(如串口3),此端口对应USB端口,可以完全按照串口的方式操作USB端口发送和接收数据,区别只是设走的通讯速率无效,USB 100按默认最高速率(8Mb/s)工作编写程序时。完全可以按照一般串口编程方法,无需DDK编程笔者采用的是在VC,Mscomm控件编程.使用控件编程的特点是程序比较简单,但是如果需要较高的通讯效率,建议采用VC调用API的方式也可以采用DELPHI, VB等编程语言。

     五、结语

     笔者在人体姿态平衡仪的开发中,采用普通单片机89C51USB100专用模块组成数据采集系统,在使用中运行可靠,测量准确.用该方法开发USB数据采集系统,在满足性能要求的同时,也使系统的设计更为方便决捷。

相关信息
发表评论
打印本页 关闭本页
基于AT89C51的数据采集系统设计新方法
  引言   近年来,随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调...
>>详细内容
基于AT89C51单片机设计的简易智能机器人
  引言   随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的...
>>详细内容
基于单片机89C51的异步串行接口键盘设计
    摘 要:介绍了计算机异步串行接口键盘的特殊设计要求和工作原理,结合开发过程,讨论分析了89C51芯片的结构、功能特点以及应用中需要注意的问题,并给出了计算机串行接口键盘的硬件原理图及软件流程图。 关键词:89C51单片机;异步串行接口;键盘设计;E2PROM 在信息处理系统中,显示分系统是整个系统的人机界面。显示器画面呈现出的态势图形和数据,是人们决策的重要依据。人...
>>详细内容
以89C51单片机为控制核心的开关电源优化设计
     摘要:文中在简单介绍高频开关电源的工作原理基础上,以通信用-48V开关电源为功率转换部分,89C51单片机为控制核心,对开关电源的控制部分进行优化设计,详细阐述了其工作原理,并通过软件编程实现了对开关电源的智能控制。    关键词:开关电源;单片机;软件编程引言开关电源是利用现代电力电子技术控制功率开关管(MOSFET,IGBT)开通和关断的时间比率来稳定输出电压的一种新...
>>详细内容
基于AT89C51的密码电源开关设计
    摘要:为了保护用户用电的权益,使非法用户在不知道密码的情况下,无法使用电源并实行相应的操作,特开发出此密码电源开关。文章详细叙述了密码电源开关的硬件结构和软件设计流程,通过论述表明,用单片机控制的密码电源开关具有结构灵活、开发经济、工作稳定等优势。   关键词:密码电源开关;硬件结构;软件设计   随着现代技术的发展,电与我们生活的关系越来越密切,从工业生产到...
>>详细内容
基于89C51单片机的数字视频监控系统键盘及报警控制卡设计
    摘要:分析了PC键盘与主机之间的通信方式,给出了基于89C51单片机的数字视频监控系统键盘及报警控制卡的软硬件设计方法。   关键词:键盘;单片机;串行通信   键盘是数字视频监控录像系统中最重要的输入设备之一,是人机接口的重要组成部分。目前常用的工业控制计算机键盘除配置电子锁开关防止非法键盘输入外,与PC键盘并没有多大区别。这种键盘不仅键数多,操作不灵活,...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
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