基于单片机和USB接口技术的高速数据采集系统的设计Word下载.docx
- 文档编号:6538882
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:42
- 大小:336.76KB
基于单片机和USB接口技术的高速数据采集系统的设计Word下载.docx
《基于单片机和USB接口技术的高速数据采集系统的设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机和USB接口技术的高速数据采集系统的设计Word下载.docx(42页珍藏版)》请在冰点文库上搜索。
随着pc机日益广泛的应用,其外设也逐日增多,但pc机接口的数量是一定的,这就限制了pc机挂接外设的数量。
在很多应用场合,如工业数据采集,常使用采集板卡来完成工作,采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备,而通用串行总线可以很容易的实现高可靠性、多点的数据采集。
1.2国内外研究现状及已有成果
在国际和国内,现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。
现在研究通用的高速数据采集卡一般多是PCI卡,A/D卡及422、485卡或ISA卡,存在以下缺点:
安装麻烦、价格昂贵、受计算机插槽数量、地址、中断资源限制、可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其做电磁屏蔽,从而导致采集的数据失真。
传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。
PCI总线虽然具有较高的传输速度(132Mbps),并支持“即插即用”功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个),ISA总线显然存在同样的问题。
RS-232C串行总线虽然连结简单,但其传输速度慢(56kbps),且主机的串口数目也有限。
随着时代的发展,1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准,就是通用串行总线USB。
该总线接口具有安装方便、高带宽、易于扩展、使用灵活等优点,已逐渐成为现代数据传输研究的发展趋势。
基于单片机和USB的高速数据采集充分利用USB总线的上述优点,有效解决了传统高速数据采集的缺陷。
在国内外研究中,高速数据采集领域在很多方面均有应用,例如采用AVR单片机ATmegal28作为主控制器,通过基于CH375的USB接口实现数据传输。
给出了高速模数转换及USB接口的电路原理,实现USB数据传输的上、下位机的程序设计。
经实验测试,该系统采集速度快,死时间小,计数率高。
该系统采集速率最高可以达到5MS/s,有软件触发、后触发、前触发三种采集模式,已成功应用到高速数据采集领域,它适用于作用大范围场地的辐射监测系统。
1.3课题的研究方法和内容
本次设计主要基于单片机和USB接口的数据采集。
控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。
本数据采集和控制系统是以飞利浦公司的PDIUSBD12作为系统的微控制器,管理和控制整个系统。
该芯片集成度高,与51单片机兼容,有效的解决了传统高速数据采集的缺陷。
本文内容安排如下:
第一章对基于单片机和USB的高速数据采集进行了综合,首先介绍了粒子单片机和USB的高速数据采集研究背景及目的,接着对单片机和USB的高速数据采集的国内外研究现状和相关领域中已有的研究成果进行了说明。
第二章对本次毕业设计的总体方案与选择的论证进行了说明。
首先介绍了单片机芯片和USB接口固件的选择,接着论证了总体设计方案。
第三章对系统的硬件与软件部分进行了设计计算。
包括对PDIUSBD12的多方面介绍、与单片机的连接,系统程序设计等等。
第四章对研究设计进行分析,对内容中的创新,改进及实际意义进行说明。
第2章总体方案设计
2.1芯片比较
本文应用了单片机芯片和USB接口固件,下面对其进行介绍。
2.1.1单片机选型
当今单片机厂商琳琅满目,产品性能各异。
常用的单片机有很多种:
Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。
我们最终选用了ATMEL公司的AT89C52单片机。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。
本次设计选用AT89C52。
2.1.2USB接口芯片的选择
基于USB的外置式硬件电路的设计核心是USB控制器的选择,在进行一个具体的USB设备开发之前,首先要根据具体要求选择合适的USB控制器,整个USB外围设备的设计将围绕该控制器展开。
在选定USB控制器以后,如果是带USB接口的单片机,则是一般单片机应用系统的开发;
若是USB外设接口芯片,就是USB外设接口芯片与单片机应用系统的接口问题。
一般USB接口芯片都支持多种并行总线结构(复用/非复用),可以方便地与多种单片机连接。
目前,市场上可供选择的USB接口芯片很多,按照功能基本上分为两类:
一类是纯粹的USB接口芯片或通用USB外设接口芯片(也称USB设备器件);
另一类是带有USB接口芯片的单片机(也称USB主控制器)。
(1)带USB接口的单片机(USB主控制器)
这类芯片主要有Cypress公司的CY7C63xxx/CY7C64xxx系列和EZ-USB,Intel公司的8X930/8x931,Philips公司的ISP1161(USB1.1)/ISPI561(USB2.0),Scanlogic的SL11R以及Motorola的MC68HC908JB8系列等。
这种方案的最大好处在于开发难度较小,因为大多数这样的单片机芯片都是基于8051结构或者其它常见的结构,有自己的精简指令集,与单片机类似,熟悉单片机开发的开发者对系统结构和指令集非常熟悉,但其开发一般需要专用的仿真器,对于简单或低成本系统,价格高将会是最大的障碍。
(2)纯粹的USB外设接口芯片(USB设备器件)
这类芯片主要有NS公司的USBN9602/9603/9604,Scanlogic的SUIT以及Philips公司的PDIUSBD11/PDIUSBD12(USB1.1)/ISP1581(USB2.0)等。
纯粹的USB外设接口芯片仅处理USB总线相关事务,必须有一个外部微处理器来进行协议处理和数据交换。
这种方案的主要特点是价格便宜、接口形式多样、可靠性高、灵活性大,尤其适合于产品的改型设计,缺点是开发者需要非常熟悉USB协议,还必须用微处理器来控制USB外设接口芯片的工作。
综合比较,PDIUSBD12是一款性价比很高的USB器件,可使设计者选择最合适的微控制器,减少开发时间、风险及费用,是最实用最快捷的方法实现最经济的USB外设的方案。
该芯片支持一个控制端点以及4个额外的端点地址。
一个端点的缓冲区可以储存到128个字节,而双缓冲区可以到256个字节。
PDIUSBD12通常用作微控制器系统中实现与微控制器进行通信的高速通用并千示接口,并支持本地DMA传输。
PDIUSBD12完全符合USB1.1规范,并符合大多数器件的分类规格:
成像类、海量存储器件、通信器件、打印设备以及人机接口设备。
同样地,PDIUSBD12还适用于打印机、扫描仪、外部存储设备和数码相机等等。
另外,该芯片还集成了许多特性,包括SoftConnect,GoodLink、可编程时钟输出、低频晶振和终止寄存器集合,简化USB功能在外设上的应用。
由于51系列的单片机是应用非常广泛的一种微处理器,在其基础上开发了大量的软件包,对其内部结构和工作原理我们都非常了解,故本系统中我们采用8902进行核心程序的设计来实现其所需的功能。
A/D选用我们熟悉而且能满足要求的AD0809。
而PDIUSBDI2能够完成将数据信号到符合USB规范的信号的转换。
为此,我们利用89C52中丰富的软件资源和USB总线技术即插即用、热插拔特性来完成高速数据采集系统。
这样可以降低开发成本,缩短开发周期、降低风险。
2.2系统的原理及其组成
基于USB的数据采集和控制系统的硬件模块主要是由A/D转换器、D/A转换器、微处理器、USB接口控制芯片、串行口控制芯片、放大器等组成。
该芯片集成度高,与51单片机兼容。
整个数据采集和控制系统的总体结构框图如图2.1所示:
图2.1设计数据采集和控制系统原理图
从结构图中可知,模拟输入信号通过信号处理(放大和滤波)后,输出到A/D转换器,微控制器把经过A/D转换器转换后的数字信号通过USB控制芯片输出给计算机,同时可以在计算机上实现数据的显示和键盘控制;
另一方面,经过A/D转换器采集到的数字信号可以通过算法实现控制后,经过D/A转换器输出,进而可以对其它设备进行控制;
同时,该系统还可以作为一种USB和串行口的转接卡,通过串行口与USB接口实现数据之间的交互,充分利用了USB的快速性和RS-232远距离的优势,实现了资源优势互补,可以通过该板卡实现数据的远程控制和数据传输,既提高了传输速率,又增加了传输距离。
而USB主机及显示部分则通过输出接口在PC机上显示,采用软件来模拟显示输入信号的波形。
同时可以控制A/D转换器的启停、数据存取器的存取、USB外设芯片的工作、显示图形的放大和缩小等。
USB数据传输的硬件结构由以下三部分组成:
通用USB控制芯片,微处理器,USB接口。
它们构成了一个USB数据传输的最小系统。
其功能为:
USB收发器负责处理所有与USB总线事务有关的任务,如总线唤醒、数据接受/发送、打包、CRC校验等,但该收发器不负责解释这些数据的意义;
微处理器负责处理数据、响应主机请求、以及控制USB收发器的工作;
内存负责存储和提供数据。
其中,状态监视器是一个高速的单稳态多频振荡器,用来实现掉电和恢复操作的,当系统连续3ms检测不到主机的请求时,系统就会进入挂起状态;
当系统从挂起状态退出以后,状态监控器就产生一个正脉冲以复位/唤醒整个系统。
第3章系统的程序设计
3.1系统的硬件设计
基于USB的数据采集和控制系统主要利用了A/D转换技术、D/A转换技术和USB技术,是伴随着USB技术的迅速发展与新的数据采集技术的发展而发展起来的。
采集到的数据通过主机接口(USB口)发送到上位机并实时显示出来,其波形保真性能与A/D转换器的转换速率、分辨率与精度密切相关。
A/D转换速率越高,复现的波形的分辨率也就越高;
A/D转换器位数越多,精度越高,波形保真性越高。
3.1.1PDIUSBD12的性能特点和内部结构
PDIUSBD12集成了许多新的特性,包括可编程时钟输出、SoftConnet,GoodLink、低频晶振。
(1)可编程时钟输出:
不必考虑电路设计时使用高频晶振产生的EMI问题D12的CLKOUT引脚输出时钟信号,可用作MCU时钟,最低4MHZ,最高达48MHZ.D12内部有倍频电路,外部只需6M晶振即可提供D12自身工作时钟(48MHZ)及输出时钟。
(2)软连接(SoftConnet)技术:
芯片内集成有1.5KΩ的USB上拉电阻,连接此电阻将D+置为高设置为高速USB设备。
连接的建立通过外部MCU发送命令来实现,这就允许设备在决定与USB总线建立连接之前完成初始化时序。
USB总线连接的连接可以重新初始化而不需要拔插USB电缆。
(3)GoodLink技术:
可提供良好的USB连接指示。
在枚举中,LED指示根据通信情况间歇闪烁。
当成功枚举和配置后,LED指示将一直点亮。
USB支持两种信号速率。
USB的最高速率是12Mb/s,但它可以工作在1.5Mb/s的较低速率,同一个USB系统可同时支持这两种模式,但1.15Mb/s低速率方式主要为了降低对速度要求不高的设备的成本,只支持少数像鼠标这样的低带宽要求的设备。
(4)可编程的时钟频率输出:
集成320字节多结构FIFO存储器,具体组成如字节数端点0端点1端点320=16(IN)+16(OUT)+16(IN)+16(OUT)+[64(IN)+64(OUT)]*2(双缓冲)主端点的双缓冲配置增加了数据吞吐量,并轻松实现实时数据传输;
(5)多中断模式实现批量和同步传输。
端点可通过SetMode命令配置为4种不同的模式,分别为:
模式0Non-ISO模式(非同步传输)
模式1ISO-OUT模式(同步输出传输)
模式2ISO-IN模式(同步输入传输)
模式3ISO-IO模式(同步输入输出传输)
USB电缆可以允许使用不同长度的电缆,最长可达几米。
为了提供可靠的输入电压和适当的终端阻抗,在电缆的每一端带偏压的终端。
该终端可以发现任一端口上USB设备的“插入”和“拔除”操作,并能区分全速和低速设备。
图2指示了高速USB设备在集线器的终端位置及其所连的功能设备,从中可以看出在电缆的下行端的电阻Rpu是接在D+线上的,在低速设备中,Rpu电阻是接在D-线上的。
PD工USBD12的软连接(SoftConnet)技术使得在电路设计中可以省去此电阻,并可以通过软件设置。
图3.1PDIUSBD12的原理图
(1)模拟收发器:
集成的收发器接口可通过终端电阻直接与USB电缆相连。
(2)电压调整器:
片内集成了一个3.3V的调整器用于模拟收发器的供电,该电压还作为输出连接到外部上拉电阻。
可选择D12提供的带有上拉电阻的软件连接技术。
(3)倍频电路(PLL)片内集成了6M到48M时钟乘法PLL,就可使用低成本的6M晶振。
(4)位时钟恢复:
位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟。
它能跟踪USB规定范围内的抖动和频漂。
(5)串行接口引擎(SIE):
串行接口引擎实现了全部的USB协议层,完全由硬件实现而不需要固件的参与。
该模块的功能包括同步模式的识别、并行/串行转换、位填充/解除填充、CRC校验/产生、PID校验/产生、地址识别和握手评估等。
(6)存储器管理单元(ME)和集成RAM:
在进行数据传输并与微处理器的并口相连时,MMU和集成RAM作为USB间传输的缓冲区,允许MCU以它自己速率对USB信息包读写。
PDIUSBD12内部结构框图如图3.2所示:
图3.2PDIUSBD12的内部框图
3.1.2PDIUSBD12的端点描述
端点(Endpoint)是一个USB设备唯一可以确认的部分,它是主机与设备之间的通信流终点。
一系列相互独立的端点在一起构成了USB逻辑设备。
(1)端点0要求:
所有USB设备都需要实现一个缺省的控制方法。
这种方法将端
点0作为输入端点,同时也将端点0作为输出端点。
USB系统用这个缺省方法初始化及一般地使用逻辑设备(即设置此设备)。
缺省控制通道支持了对控制的传送,一旦设备接上,并加电,且又收到一个总线复位命令,端点0就是可访问的了。
(2)非0端点要求:
设备可以有除0以外的其它端点,这取决于这些设备的实现。
低速设备在0号输入及输出端点外,只能有2个额外的可选端点。
而高速设备可具有的额外端点数仅受限于协议的定义,协议中规定,最多15个额外的输入端点和最多15个额外的输出端点。
非0端点在被配置前处于未知状态,在设备配置以后才能使用。
D12的端点适用于不同类型的设备,并可通过“SetMode”命令配置为4种不同的模式:
模式0(非同步模式),模式1(同步输出模式),模式2(同步输入模式),模式3(同步输入输出模式)。
本设计中只用到了模式0配置,同步模式配置未使用。
端点可用来存放从主机接受到或者设备发送来的数据,每个端点都有属于自己的缓冲区。
模式0配置下的端点缓冲区如表3.1所示。
端点2(主端点)是进行吞吐大数据量的主要端点,具有64字节双缓冲区结构,可以减轻传输大量数据的任务:
(1)双缓冲。
允许USB与本地CPU之间的并行读写操作这样就增加了数据的吞吐量缓冲区切换是自动处理的这导致了透明的缓冲区操作。
(2)支持DMA直接存储器访问操作。
可以和对其它端点的正常I/0操作交叉进行。
(3)DMA操作中的自动指针处理。
在跨过缓冲区边界时不需要本地CPU的干预。
(4)可配置为同步传输或非同步批量和中断传输。
表3.1端点缓冲区配置(模式0)
端点号端点索引传输类型端点类型方向缓冲区长度(字节)
00控制输出默认输出16
01控制输出默认输入16
12普通输出普通输出16
13普通输出普通输入16
24普通输出普通输出64
25普通输出普通输入64
3.1.3PDIUSBD12的指令集
PDIUSBD12有自己的专用指令集,用于设置USB芯片、读取USB芯片的状态和控制USB总线传输。
D12芯片内有一系列的寄存器对应着这些指令,微处理器把要设置的值按字节写入D12的这些寄存器,或者从D12的这些寄存器中读出USB总线的状态。
D12有三种基本的类型的命令:
初始化、数据流和通用命令。
(1)初始化命令
初始化命令在USB总线进行枚举处理时使用,这些命令用于使能端点的功能,还可用来设置USB分配的地址,包括:
设置地址/使能、设置端点使能、设置模式(设置分频系数、软连接、端点模式以及中断模式等)、DMA设置等命令。
表3.2初始化命令指令集
命令名
接收者
编码
数据
设置地址使能
器件
D0h
写1字节
设置端点使能
器件
D8h
写1字节
设置模式
F3h
写2字节
设置DMA
FBh
写/读1字节
(2)数据流命令
数据流命令用于管理USB端点和外部微控制器之间的数据传输,D12通过微控制器中断初始化大量的数据流。
微控制器利用这些命令访问和决定端点的FIFO是否含有有效的数据。
包括:
读中断寄存器、选择端点、读最后处理状态寄存器、读缓冲区、写缓冲区、使缓冲区有效、清除缓冲区、设置端点状态、应答建立等命令。
如表3.4。
(3)普通命令:
包括发送恢复、读当前帧数目两个命令。
表3.3普通命令指令集
命令指令集
发送恢复
F6h
无
读当前桢数
F5h
读1或2字节
3.1.4PDIUSBD12的管脚配置
PD12共有28个管脚,具有S028和TSSOP28两种封装形式,管脚图如下图3.3所示:
图3.3PBIUSBBI2的管脚配置
表3.4数据流命令指令集
数据流命令
读中断寄存器
F4h
读2字节
选择端点
控制输出
00h
读1字节(可选)
控制输入
01h
端点1输出
02h
端点1输入
03H
端点2输出
04h
端点2输入
05h
读1字节(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 USB 接口 技术 高速 数据 采集 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)