基于USB总线和Aduc831单片机的数据采集系统的设计

发布者:快乐球球最新更新时间:2012-09-04 来源: autooo关键字:USB总线  Aduc831  数据采集系统 手机看文章 扫描二维码
随时随地手机看文章

由于信息网络化的发展,经常需要将各种设备与主机相连,传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。 PCI总线虽具有高的传输速度(132Mbps),支持"即插即用"功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个)。ISA总线显然存在着同样的问题。RS-232C串行总线虽然连接简单,但其缺点是传输速度慢(56kbps). 而通用串行总线(Universal Serial Bus,简称USB)的出现能很好地解决以上这些冲突。我们利用新型高性能单片机Aduc831设计了基于USB总线的数据采集系统。

1. USB简介

1.1 USB特点

USB的英文全称为Universal Serial Bus,它是一种快速、双向、同步传输的廉价的并可以进行热拔插的串行接口。它的特点主要有:

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

2) 设备安装和配置容易。安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备均支持热插拔,且易于扩展。

3) 使用灵活。USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。

1.2 USB总线协议

USB总线属一种轮讯方式的总线,主机控制端口初始化所有的数据传输。

每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输运作的种类、方向,USB设备地址和终端号的USB数据包,这个数据包通常称为标志包(token packet)。USB设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的 USB数据传输,在主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。流的数据不像消息的数据,它没有USB所定义的结构,而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在USB设备设置完成后即存在。USB中有一个特殊的通道——缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。

2. 硬件设计

2.1  Aduc831简介

ADuC831 是一个完全综合的247 k采样保持数据采集系统,在同一片中 结合了高性能的自校准12位 ADC 多路通道,双12位 DAC通道和可编程8位 MCU。微处理器核心是 8052,提供片内 62 kB 非易失性闪速/电擦除程序存储器。还提供片内 4 kB 非易失性闪速/电擦除数据存储器、256 b RAM 和2 kB 扩展 RAM。

ADuC831 还提供额外的电源监视器, 和一个高精度参考源。片内数字外围设备包括2个16位Σ-Δ DAC, 双输出16位 PWM,看门狗定时器, 定时间隔计数器,3个定时器/计数器, 定时器 3用于波特率产生核 串行接口 I/O (I2C, SPI 和UART) 。

并且片内提供串行下载和调试模式 (通过 UART), 并且通过EA引脚提供单引脚竞争模式。ADuC831 支持 QuickStart™ 和 QuickStart Plus 升级系统和低成本的软件和硬件工具。

2.2  USBN9603简介

USBN9603是一个集成的USB端点控制器,具有增强的DMA功能。USBN9603集成了一个带有3.3V的调节器的收发器,1个SIE(串行接口引擎),1个8 b并行接口,1个时钟发生器和1个MICROWIRE/PLUS接口。USBN9603可以进行7个端点的数据传输,除了1个端点必须为控制传输端点以外,其他的6个端点可以被配置成中断传输端点、批量传输端点或者等时传输端点;每一个端点都有一个专门的FIFO,控制端点的FIFO长度为8B,其他的为64B。8 b并行接口可以支持多路复用或者非多路复用2种与CPU的接口方式。USBN9603的突出特点为:低EMI(电磁干扰),低等待电流,24M晶振,增强的DMA功能;可使用5V或3.3V电源;总线操作具有异步唤醒的全速静态HALT模式;改进的3.3V电压输入的电压调节器,所有非双向端点都有64B 的FIFO;外部控制器接口简单,编程方便。

2.3 原理图设计

USB数据采集系统硬件模块主要由Aduc831芯片、USB接口芯片USBN9603组成。硬件结构简单,硬件总体结构框图如图1所示.

模拟输入信号A/D转换器,转换结果存储在FIFO存储器中;一旦FIFO存满,SIE立刻对数据进行处理,然后Aduc831系统将数据从FIFO存储器中读出,由收发器通过数据线(D+、D-)送至主机。

当USB控制器从USB总线检测到主机启动的某一传输请求后,通过中断方式将此请求通知Aduc831系统,Aduc831系统通过访问USB控制器的状态寄存器和数据寄存器获得与此次传输有关的各种参数,并根据具体的传输参数,对USB控制器的控制寄存器和数据寄存器进行相应的操作,以完成主机的传输请求。Aduc831与USBN9603接口电路如图2所示。

3. 系统软件设计                      [page]

由于信息网络化的发展,经常需要将各种设备与主机相连,传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。 PCI总线虽具有高的传输速度(132Mbps),支持"即插即用"功能,但其缺点是插拔麻烦,且扩展

系统软件主要包括:控制程序和USB设备驱动程序。

3.1 控制程序

控制程序就是指在Aduc831中运行的程序,对USB控制器的操作是严格按照USB协议1.1进行的。在实际开发中使用了控制传输和块传输两种传输方式。控制传输主要用来完成主机 对设备的各种控制操作,也就是用来实现位于主机上的USB总线驱动程序  (USBD.SYS)以及编写的功能驱动程序对设备的各种控制操作。块传输主要用来完成主机和设备间的大批量数据传输以及对传输数据进行错误检测(若发生错误,它支持“重传”功能)。

控制程序主要功能有控制A/D采样, 控制USBN9603接受并处理USB驱动程序的请求及应用程序的控制指令。因为Aduc831带有串口下载功能,所以可以很方便的通过串口将程序下载到Aduc831中,不用仿真机,不用传统的方法向EEPROM中烧制程序,所以调试起来非常方便。控制程序流程、中断处理程序如图3、4所示。

3.2  USB设备驱动程序设计

USB设备驱动程序基于WDM。WDM型驱动程序是内核程序,与标准的Win32用户态程序不同。采用了分层处理的方法, 较高级的USB设备驱动程序和较低级的USB函数层。其中USB函数层由两部分组成:较高级的通用串行总线模块(USBD)和较低级的主控制器驱动程序模块(HCD)。USB设备驱动程序不必具体对硬件编程,所有的USB命令、读写操作通过总线驱动程序转给USB设备。但是,USB设备驱动程序必须定义与外部设备的通讯接口和通讯的数据格式,也必须定义与应用程序的接口。Windows 98/2000提供了一系列的系统驱动程序,他们具有为许多标准类型设备服务所需的所有基本功能,用户按照提示可以定义设备的配置和功能,然后做功能的修改即可。可以把USB设备驱动程序的功能划分成4个不同的模块来实现:初始化模块、即插即用管理模块、电源管理模块以及I/O功能实现模块。初始化模块提供1个入口函数DriverEntry(),在DriverEntry中,需要提供一个AddDevice例程,把驱动程序添加到驱动程序堆栈中去。另外,所有对各种IRP(I/O请求包)的处理例程都在此入口函数中作为定义。
DriverEntry(IN PDRIVER_OBJECT DriverObject,…) //驱动程序入口
{
DriverObject->DriverExtension->AddDevice=USBAddDevice;
DriverObject->DriverUnload=USBUnload;
DriverObject->MajorFunction[IRP_MJ_READ]=USBRead;
DriverObject->MajorFunction[IRP_MJ_WRITE]=USBWrite;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = USBDeviceControl;
RegisterForPnpNotification(DriverObject);
return status;
}

即插即用管理模块用来实现USB设备的热插拔及动态配置。当硬件检测到有USB设备接入时,Windows98查找响应的驱动程序,并调用它的 DriverEntry例程。PnP(即插即用)管理器调用驱动程序的AddDevice例程,告诉它添加了一个设备。在此处理过程中,驱动程序收到一个设备启动请求(IRP_MN_START_DEVICE)的IRP。同理,当要拔除时,PnP管理器会发出一个设备删除请求(IRP_MN_REMOVE_DEVICE)的IRP,由驱动程序进行处理。通过对这些PnP请求的处理,可支持设备的热插拔和即插即用功能。

电源管理模块负责设备的挂起与唤醒。

I/O功能实现模块完成I/O请求的大部分工作。若应用程序想对设备进行I/O操作,它便使用Windows API函数,对WIN32子系统进行WIN32调用。此调用由I/O系统服务接收并通知I/O管理器,I/O管理将此请求构造成一个合适的I/O请求包(IRP)并把它传递给USB设备驱动程序。USB设备驱动程序接收到这个IRP以后,根据IRP中包含的具体操作代码,构造相应的USB请求块并把此 URB(USB请求块)放到一个新的IRP中。然后,把此IRP传递到USB总线驱动程序,USB总线驱动程序根据IRP中所含的URB执行相应的操作(如从USB设备读取数据等),并把操作结构通过IRP返还给USB设备驱动程序。USB设备驱动程序接收到此IRP后,将操作结果通过IRP返还给 I/O管理器。最后,I/O管理器将此IRP中操作结果返还给应用程序,至此应用程序对USB设备的一次I/O操作完成。

结束语:

USB为计算机外设输入输出提供了新的接口标准。它使设备具有热插拔,即插即用,自动配置的能力,并标准化设备连接, 还可与MAX485结合起来实现数据的远程采集。该系统具有可靠性高、性价比高和多点采集等优点。而USB2.0标准具有更高的传输速率,更具有美好的应用前景。

参考文献:
1. Aduc831 datasheet.             Analog device.
2. USB1.1.     Universal serial bus specification S.
3. 张念淮、江浩.《USB总线接口开发指南》 国防工业出版社.
 

关键字:USB总线  Aduc831  数据采集系统 引用地址:基于USB总线和Aduc831单片机的数据采集系统的设计

上一篇:基于PCI Express总线的R-D算法实时成像系统设计
下一篇:基于GAL的I2C总线时序模拟

推荐阅读最新更新时间:2024-05-02 22:18

用于偶极子声波测井仪的高精度数据采集系统的设计
摘要:一种用于偶极子声波测井仪的四通道高精度数据采集系统,该系统具有16位分辨率、100ksps的最高转换速度。复杂可编程逻辑器件CPLD实现数据采集速率和采集数据量的程控选择功能,并控制FIFO的波形数据缓存。在单片机的控制下进行采集速率和采集数据量设置及四个通道波形采集和数据处理的并行执行。整个电路控制灵活、结构紧凑、体积小,适合井下使用。 关键词:数据采集 模/数转换器 复杂可编程逻辑器件 FIFO存储器 声波测井仪 20世纪90年代以来,国外测井公司陆续开发研制了以DSI(Schlumberger,1990)、MAC(Western Atlas,1992)和LED(Halliburton,1994)为代表的新一代多极阵
[应用]
基于AVR的大容量数据采集系统的设计
  0 引言   AVR系列单片机一直以功能强、高可靠性、高速度、低功耗等特点而受到广泛的应用。但是AVR单片机自身的存储空间不大,例如在长时间或者高速数据采集系统中,对数据存储空间需求很大,单片机自身的空间难以满足存储要求,所以在大容量数据采集的场合下其作用受到了限制。因此,在AVR单片机的基础上外扩一个存储芯片可以解决其存储容量小的问题。   Flash存储器体积小、容量大、并可随机访问,是作为扩展存储芯片的最佳选择。设计中采用了sumsung公司生产的NAND型的K9F5608UOM芯片作为扩展存储。   1 硬件设计   论文设计了5路A/D采集电路,介绍了如何在实际的电路中实现大容量数据采集。设计要求:5路并行采
[单片机]
基于AVR的大容量<font color='red'>数据采集系统</font>的设计
Web网络传感器的远程数据采集系统设计
  引言   随着网络技术和嵌入式技术的发展,将嵌入式系统与Internet相结合对系统进行数据、图像监控和管理,成为重要研究方向之一。嵌入式Web网络传感器技术是传感器、嵌入式、分布式信息处理和Internet等相关技术交叉结合的技术,它是在智能传感器的基础上把TCP/IP协议作为一种嵌入式应用,嵌入现成智能服务器的ROM中,利用传感器内建的Web服务器,用户可以通过浏览器采集远程监控对象的信息。   1 Web网络传感器数据采集系统工作原理   用户通过浏览器访问Web服务器上的数据,将远程采集到的数据实时显示到Internet网页上。用户需要实时看到数据的变化,而HTML网页通常只能是静态的数据,为此在Web服务
[电源管理]
Web网络传感器的远程<font color='red'>数据采集系统</font>设计
SimpliciTI网络协议的无线数据采集系统设计
引言     随着生产技术的现代化进程,各种生产环境条件下的监控系统也在不断发展,传统的监控系统多采用有线的方式。无线传感器网络的出现提供了另外更好的选择。对比于传统的有线网络,无线局域网的应用价值体现在:     可移动性。由于没有线缆的限制,用户可以在不同的地方移动工作,网络用户不管在任何地方都可以实时地访问信息。     布线容易。由于不需要布线,消除了野外布线的繁琐工作,因此安装容易,建网时间可大大缩短。     组网灵活。无线局域网可以组成多种拓扑结构,可以十分容易地从少数用户的点对点模式扩展到上百个用户的基础架构网络。     另外,无线网络通信范围不受环境条件的限制,室外可以传输几公里、室内可以传输数十、几百米。在网
[测试测量]
基于DSP的X射线能谱数据采集系统的设计方案
X 射线是由高能电子在物质中作减速运动或由原子内层轨道电子的跃迁产生的,所以穿透性很强,广泛应用于射线检测、介质识别等多个方面。在射线能量一定时,X射线辐射强度的衰减程度只与所穿过的介质有关,即X射线穿透不同介质时,透射的强度不同。所以,可以通过对探测到的X 射线强度分析从而进行介质设别的相关研究。 X 射线的探测是通过探测器接收到射线穿透物质后射线的强度来实现的,本文采用NaI(Tl)晶体与光电倍增管组成的闪烁探测器以用于X射线的探测,探测器输出的脉冲信号幅度与透射的射线强度成正比,所以对脉冲信号幅度的分析也就为介质识别提供了重要的信息,本文选用高速DSP 芯片TMS320F2812 作为主控制器来完成脉冲信号幅度的分析与处理。
[电源管理]
基于DSP的X射线能谱<font color='red'>数据采集系统</font>的设计方案
基于USB和DSP的数据采集系统的设计
摘 要: 介绍了一种利用USB2.0的高速传输特性,基于USB和DSP的数据采集系统。详细论述了系统的总体结构、部分硬件设计,并简要叙述了相应固件程序的实现。 关键词: USB DSP FPGA 高速传输 测量仪器一般由数据采集、数据分析和显示三部分组成,而数据分析和显示可以由PC机的软件来完成,因此只要额外提供一定的数据采集硬件就可以和PC机组成测量仪器。这种基于PC机的测量仪器被称为虚拟仪器 。而在一些数据量比较大、采集时间比较长的场合,就需要采用高速的数据传输通道。基于虚拟仪器的思想和高速传输通道的要求,设计了一种基于DSP和USB2.0的高速数据传输接口。 1 数据采集系统硬件 数据采集系统由A/D数据采集单元、US
[嵌入式]
基于USB和DSP的<font color='red'>数据采集系统</font>的设计
基于MAX7000系列CPLD的数据采集系统
  CPLD是复杂的PLD,专指那些集成规模大于1000门以上的可编程逻辑器件。它由与阵列、或阵列、输入缓冲电路、输出宏单元组成,具有门电路集成度高、可配置为多种输入输出形式、多时钟驱动、内含ROM或FLASH(部分支持在系统编程)、可加密、低电压、低功耗以及支持混合编程技术等突出特点。而且CPLD的逻辑单元功能强大,一般的逻辑在单元内均可实现,因而其互连关系简单,电路的延时就是单元本身和集总总线的延时(通常在数纳秒至十数纳秒),并且可以预测。所以CPLD比较适合于逻辑复杂、输入变量多但对触发器的需求量相对较少的逻辑型系统。    MAX7000系列CPLD及其开发平台介绍   由于高速数据采集系统的特殊要求,在众多的CP
[嵌入式]
基于MAX7000系列CPLD的<font color='red'>数据采集系统</font>
用于±10 V输入的单电源、完全隔离式数据采集系统 (二)
 有源元件温度系数对总误差的影响   AD8606运算放大器和AD7091R ADC的直流失调由校准程序消除。   ADC AD7091R内置基准电压源的失调漂移典型值为4.5 ppm/°C,最大值为25 ppm/°C.   AD8606运算放大器的失调漂移典型值为1μV/°C,最大值为4.5μV/°C.   U1A AD8606输入导致的误差以2.3 V输出范围为基准,因而为2 ppm/°C.U1B基准电压缓冲器导致的误差以2.5 V为基准,同样约为2 ppm/°C.   总漂移误差结如表1所概括。这些误差不包括AD7091R的±1 LSB积分非线性误差。   请注意,如果采用50 ppm/°C或100
[电源管理]
用于±10 V输入的单电源、完全隔离式<font color='red'>数据采集系统</font> (二)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved