位置:51电子网 » 技术资料 » 接口电路

基于USB总线的实时数据采集系统设计

发布时间:2008/5/27 0:00:00 访问次数:534

        作者:上海交通大学电气工程系(200030)周振宇

     谷海颖 来源:《电子技术应用》

     摘要:基于通用串行总线(usb)的实时数据采集系统的设计严格遵循usb1.1协议,充分体现usb便捷、易扩展、低成本、低干扰的特点。详细介绍系统的usb设备驱动程序、设备固体、应用程序的具体设计。

    

    

     关键词:通用串行总线

     实时数据采集 设备驱动程序

     现代工业生产和科学研究对数据采集的要求日益提高。目前比较通用的是在pc或工控机内安装数据采集板卡,如a/d卡及422、485卡。这些数据采集设备存在以下缺陷:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

     通用串行总线(universal serial bus,简称usb)是1995年康柏、微软、ibm、dec等公司为了解决传统总线的不足推广的一种新型串行通信标准。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。基于usb的数据采集系统充分利用usb总线的上述优点,有效解决了传统数据采集系统的缺陷。

     1 系统硬件设计

     1.1 硬件总体结构

     usb实时数据采集系统硬件模块包括a/d转换器、微控制器、usb通信接口和多路模拟开关。硬件总体结构如图1所示。

     1.2 usbn9602芯片

     usb接口芯片采用national semiconductor公司的一种专用芯片usbn9602。该芯片内部集成微处理器接口、fifo存储器、时钟发生器、串行接口引擎(sie)、收发器、3.3v电压转换器,支持dma、微波接口,内部结构如图2所示。

     微控制器通过8位的并行接口传送a/d采集的数据,存储在fifo存储器中;一旦fifo存满,sie立刻对数据进行处理,其中包括:同步模式识别、并/串转换、位填充/解填充、crc产生与校验、地址识别、握手响应与产生、usb特殊事件(reset、suspend、resume)检测;最后由收发器通过数据线(d+、d-)传送数据至pc。上述过程严格遵守usb1.1协议。usbn9602与89c52的具体实现电路如图3所示。

    

     2 系统软件设计

     系统软件包括usb设备驱动程序、设备固件、应用程序。

     2.1 usb设备驱动程序开发

    

    

    

     usb系统驱动程序采用分层结构模型:较高级的usb设备驱动程序和较低级的usb函数层。其中usb函数层由两部分组成:较高级的通用串行总线驱动程序模块(usbd)和较低级的主控制器驱动程序模块(hcd)。它们的层次关系如图4所示。

     在上述usb分层模块中,usb函数层(usbd及hcd)由windows98提供,负责管理usb设备驱动程序和usb控制器之间的通信;加载及卸载usb驱动程序;与usb设备通用端点(endpoint)建议通信来执行设备配置、数据与usb协议框架和打包格式的双向转换任务。目前windows98提供了多种usb设备驱动程序,但并不针对实时数据采集设备,因此需采用ddk开发工具设计专用的usb设备驱动程序。可以由四个模块实现:初始化模块、即插即用管理模块、电源管理模块以及i/o功能实现模块。

     初始化模块提供一个driverentry入口点来执行大量的初始化函数。

     即插即用管理模块实现usb设备的热插拔及动态配置。当硬件检测到usb设备接入时,winodws98查找响应的驱动程序,并调用它的driverentry例程,pnp管理器调用驱动程序的adddevice例程,告诉它添加了一个设备;然后,驱动程序为usb设备建立一个fdo(功能设备对象),在此处理过程中,驱动程序收到一个irp_mn_start_device的irp,包括设备分配的资源信息。至此,设备被正确配置,驱动程序开始

        作者:上海交通大学电气工程系(200030)周振宇

     谷海颖 来源:《电子技术应用》

     摘要:基于通用串行总线(usb)的实时数据采集系统的设计严格遵循usb1.1协议,充分体现usb便捷、易扩展、低成本、低干扰的特点。详细介绍系统的usb设备驱动程序、设备固体、应用程序的具体设计。

    

    

     关键词:通用串行总线

     实时数据采集 设备驱动程序

     现代工业生产和科学研究对数据采集的要求日益提高。目前比较通用的是在pc或工控机内安装数据采集板卡,如a/d卡及422、485卡。这些数据采集设备存在以下缺陷:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

     通用串行总线(universal serial bus,简称usb)是1995年康柏、微软、ibm、dec等公司为了解决传统总线的不足推广的一种新型串行通信标准。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。基于usb的数据采集系统充分利用usb总线的上述优点,有效解决了传统数据采集系统的缺陷。

     1 系统硬件设计

     1.1 硬件总体结构

     usb实时数据采集系统硬件模块包括a/d转换器、微控制器、usb通信接口和多路模拟开关。硬件总体结构如图1所示。

     1.2 usbn9602芯片

     usb接口芯片采用national semiconductor公司的一种专用芯片usbn9602。该芯片内部集成微处理器接口、fifo存储器、时钟发生器、串行接口引擎(sie)、收发器、3.3v电压转换器,支持dma、微波接口,内部结构如图2所示。

     微控制器通过8位的并行接口传送a/d采集的数据,存储在fifo存储器中;一旦fifo存满,sie立刻对数据进行处理,其中包括:同步模式识别、并/串转换、位填充/解填充、crc产生与校验、地址识别、握手响应与产生、usb特殊事件(reset、suspend、resume)检测;最后由收发器通过数据线(d+、d-)传送数据至pc。上述过程严格遵守usb1.1协议。usbn9602与89c52的具体实现电路如图3所示。

    

     2 系统软件设计

     系统软件包括usb设备驱动程序、设备固件、应用程序。

     2.1 usb设备驱动程序开发

    

    

    

     usb系统驱动程序采用分层结构模型:较高级的usb设备驱动程序和较低级的usb函数层。其中usb函数层由两部分组成:较高级的通用串行总线驱动程序模块(usbd)和较低级的主控制器驱动程序模块(hcd)。它们的层次关系如图4所示。

     在上述usb分层模块中,usb函数层(usbd及hcd)由windows98提供,负责管理usb设备驱动程序和usb控制器之间的通信;加载及卸载usb驱动程序;与usb设备通用端点(endpoint)建议通信来执行设备配置、数据与usb协议框架和打包格式的双向转换任务。目前windows98提供了多种usb设备驱动程序,但并不针对实时数据采集设备,因此需采用ddk开发工具设计专用的usb设备驱动程序。可以由四个模块实现:初始化模块、即插即用管理模块、电源管理模块以及i/o功能实现模块。

     初始化模块提供一个driverentry入口点来执行大量的初始化函数。

     即插即用管理模块实现usb设备的热插拔及动态配置。当硬件检测到usb设备接入时,winodws98查找响应的驱动程序,并调用它的driverentry例程,pnp管理器调用驱动程序的adddevice例程,告诉它添加了一个设备;然后,驱动程序为usb设备建立一个fdo(功能设备对象),在此处理过程中,驱动程序收到一个irp_mn_start_device的irp,包括设备分配的资源信息。至此,设备被正确配置,驱动程序开始

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!