(生物医学工程专业论文)基于usb20的数据采集系统的研制.pdf_第1页
(生物医学工程专业论文)基于usb20的数据采集系统的研制.pdf_第2页
(生物医学工程专业论文)基于usb20的数据采集系统的研制.pdf_第3页
(生物医学工程专业论文)基于usb20的数据采集系统的研制.pdf_第4页
(生物医学工程专业论文)基于usb20的数据采集系统的研制.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

a b s t r a c t s o m ed e v i c e sa r ed e v e l o p e db a s e do np c ,t h e s ed e v i c e su s u a l l ye x c h a n g ed a t a w i t hp cb yi s ao rp c ii n t e r f a c es l o t s ( i n t e r n a lc a r d s ) h o w e v e ri n t e r n a lc a r d sc a nb e e a s i l yi n f l u e n c e db yh i g hf r e q u e n c yi n t e r f e r e n c ew i t h i np cm a i n f r a m e ,r e s u l t i n gi n r e d u c t i o no fc o l l e c t i o np r e c i s i o na n ds y s t e mu n r e l i a b i l i t y f u r t h e r m o r e ,t h en e m b e ro f s l o t si nt h em a i n f r a m ei sl i m i t e d a n dt h er e q u i r e m e n t so fs i m p l ed e v i c e sa r c i n c r e a s i n g s ot h en a i s s a n c eo fu s b d e a l sw i t hm a n yp r o b l e m so ft h eo l dd e v i c e sa n d h a sb e c o m eah i g h l i g h t e dp o i n ta m o n gb u ss t a n d a r d s , 1 1 1 et h e s i sp r o v i d e sag o o ds o l u t i o nt od e v e l o pt h ed a t aa c q u i s i t i o nb a s e do nt h e t e c h n o l o g i e so fu s b a n dc p l d i nt h ed e v i c e ,c p l di si nc h a r g eo fl o g i cc o n t r o la n d u s bd e a l sw i t ht h ec o m m u n i c a t i o nb e t w e e nt h ed e v i c ea n d p c t h et h e s i sj n t r o d u c e sa n e wd a t aa c q u i s i t i o ns y s t e mb a s e do nu s bi n t e r f a c ei nh a r d w a r ea n ds o f t w a r ea s p e c t s i n c l u d i n gt h ed e s i g n a t i o n s o ft h eh a r d w a r e ,f i r m w a r e ,c p l da n d a p p l i c a t i o n p r o g r a m s k e yw o r d s :u s b c p l d a c q u i s i t i o ns y s t e m a dd af i r m w a r e 声明 y10 0 6 0 s s 独创性( 或创新性) 声明 本人声明所呈交的论文是我个入在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中罗列的内容以外,论文中不包 含其他人已经发表和撰写过的研究成果;也不包含为获得西安电子科技大学或其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:蛊3 壁垫日期壹! ! ! :! :! 关于论文使用受权的说明 本人完全r 解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生存校攻读学位期间论文工作的知识产权单位属于西安电子科技大学。本人保证 毕q k 离校后,发表论文和使用论文工作成果时的署名单位仍然为西安电子科技大 学。学校有权保留送交论文的复印件。允许查阅和借阅论文;学校司以公布论文 的全部或部分内容,可以允许采用影印、缩印或其他复制手段保存论文。( 保密的 论文在解南后遵守此规定) 本学位论文属于保密在上年解密后适用本授权书。 本人签名:驾墨叁 导师签字:邈醢j 垒 日期o 以 o 曰期如c ,o , 第一章绪论 第一章绪论 1 1u s b 发展情况 随着计算机技术、计算处理速度的飞速发展,计算机在越来越多的领域得到 了广泛的应用。在对各种复杂检测数据的分析、处理过程种,计算机更是越来越 具有必不可少的作用和地位。当这些设备和计算机结合时,关键问题之一就是仪 器设备与计算机连接接口的设计问题。解决好这个问题就可以充分利用计算机来 方便试验过程,快速、准确、有效地进行分析和处理。 u s b 是一种通用总线标准。全称为u n i v e r s a ls e r i a lb u s ( 通用串行总线) ,是1 9 9 4 年底由i b m 、i n t e l 、c o m p a q 等几家公司共同开发的p c p b 设接口标准,由于其具宵 使用方便及成本低廉等优点,迅速得到业界的强力支持。u s b 接口是一种通用型 的标准接口,便于插接,使设备更加具有通用性和灵活性。u s b 已经广泛应用于 传统p c 外设,如鼠标、键盘、显示器等,移动存储设备如一定硬盘、u 盘等,以 及数码相机、移动电话等。同时其应用范围也在不断扩大,工、i k 自动化仪器正在 成为u s b 应用的热门之- - 1 1 。u s b 最初推出的是1 o 版本的,其总线传输速率较低, 为1 2 m b p s ,1 9 9 8 年推出 u s b 2 0 ,将数据传输速度提高至i j 4 8 0 m b p s ,在保持u s b l 1 的优点的前提下保证了向f 兼容性。 1 2u s b 的性能特点 u s b 的特性主要包括【2 1 : 1 低成本:u s b 接口电路简单,宜t 二灾现提供了一套低成本的解决方案。 2 热插拔:在不关闭计算机电源的情况f ,可以直接通过u s b 电缆同p c 的 u s be l 相连接,设备连接后由u s b 自动榆测,并由软件自动配置,完成 后即可使蹦,无需用户+ r 涉。呵以带电插拔又支持& 口插即用,使得设备安 装,连接简单快捷。 3 单一的连接器类型:便于多个设备扩展连接。 4 可以连接多个设备:采用菊花链的形式对端口j 以扩展。可以使一个u s b 系统实现多达7 层的拓扑连接,最多可以连接1 2 7 个不同速度的设备。 5 较强的纠错能力:u s b 协议支持主机系统和u s b 设备之间的数据无损传 输,通过p i d 检查、循环冗余效验( c r c ) 、位填充来保证数据发送的正确 性。 6 速度快:这是u s b 的的突出特定之一,u s b 2 0 的传输速度可达4 8 0 m b p s , 特别适合于需要大量数据交换的外设。 2 基于u s b 2 0 的数据采集系统的研究 7 支持低、中、高速设备:可以满足不同传输速度的应用。 8 不占用p c 机系统资源:可以解决总线的资源冲突闯题。 9 无需外接电源:所有的u s b 端口都可以为连接其上的设备提供5 v 电压, 1 0 0 m a 电流,最大可提供5 0 0 m a 电流。因此如果如果设备的功率较低, 就不需要专门的电源,降低了这些设备的成本,当然u s b 设备也可以采用 自供电方式。 1 0 支持四种传输类型:能满足不同传输要求的设备。 l1 良好的兼容性:u s b 规范的不同版本问有良好的向下兼容性。 总而言之,u s b 的出现不仅解决了的插口不够的问题,而且建立了一条连 接和访问外设的更有效的方法。这些方法可以有效地减少总体成本,增加可连接 的外设数目,简化设备的连接和配置。 1 3 本文研究的主要内容 正如前而所说,巾行l _ 】( u s b ) 作为一种新兴的计算机外设总线标准,具有 热插拔、速度快( 包括低、中、高速) 年h 外设容量大的特性,使其成为p c 机的外 削设备扩展中应川h 盗j “泛的接l _ j 标准。u s b 总线迅速得到应用,以取代老式的 r s 2 3 2 以及e p p 并u 等总线,我们的目标足设汁个采样u s b 总线实现的数据采集 卜,采样e p m 7 1 2 8 ( c p l d ) 芯片做为核心处理器,完成数据的高速采集、缓冲和 传出控制,使数据采集系统具仃良好的灵活性和板馒的实时性。为了使数据采集 系统快述地向p c 机传送大暴的数据,我们在设计数据采集系统与p c 机的接口时 采用,。u s b 2 0 技术,取得r 良好的效果。本文设计并实现r 苍于c p l d ;芷= , 片和u s b 2 0 协议的u s b 芯片的套高速、高精度数据采集分析系统,该系统的c p l d 芯片负 责系统的控制,采样结裂通过u s b 送到计算机显示分析。整个采集系统的设计涉 及到硬件、f i r m w a r e 、驱动程序和主机应用程序等几个方而,存下面乙章分别加以 谎明。 沦文其分五个部分。 第一部分:绪论。 第二部分:介绍u s b 规范及u s b 技术的实现。 第三部分:硬件系统,洋细叙述厂硬件电路的设计过程和各模块电路的功能, 包括模拟信号输入、d a 转换,a d 转换等。 第四部分:软件系统,介绍了系统软件的设计,包括c p l d 的程序、u s b 的 固什程序、应用程序的开发。 第五部分:总结。 第二章u s b 协议 第二章u s b 协议 了解u s b 协议对于开发u s b 设备是必须的,u s b 协议介绍了u s b 的总 线特点,协议内容、事务种类、总线管理、接口程序设计,以及建立系统、制 造外围设备所需的标准。下面对u s b 协议作一些简单介绍。 2 1u s b 使用分类 在俦输速度方面,u s b 支持三种信道速度:低速( 1 0 ws p e e d ) 的1 5 m b s , 全速( f u l ls p e e d ) 1 2m b s ,以及高速( h i g hs p e e d ) 的4 8 0m b s 。具有u s b 功 能的p c 都支持低速和全速,高速则需要支持u s b 2 0 的主机板或扩充卡。表 2 1 是u s b 的3 种速度及其应用领域的比较。 表2 1u s b 的3 种速度及其应用领域 性能应用属性 低速:键盘、鼠标、游低价格、易使用、热插拔、 交互设备戏杆可接多个外闭设备 1 0 k b s - 1 0 0 k b s 全速:p o t s 、广播、音低价格、易使用、动态插拔、 电话、音频、影像压缩频、麦克风可按多个外嗣设备、限定带 5 0 0 0 k b s 1 0 m b s宽和延迟 高速: 影像、存储低价格、易使用、动态插拔、 影像、储存设备可接多个外围哎备、限定延 2 5 m b s 4 0 0 f b s迟、高带宽 2 2u s b 的体系结构 2 2 1u s b 的层次结构 u s b 通讯模块分为3 层:u s b 总线接口层,u s b 设备层和功能层。模块 的基本数据流和相互之间的关系如图2 1 所示。总线接口层为主机和设备提供 物理、信令和分组的连接;设备层是u s b 系统软件中用于对一个u s b 设备执 行通常操作的部分;功能层则通过客户软件层向主机提供附加服务 3 1 。黑箭头 表示实际的数据流,h o s t 和设备之间的通讯最终通过u s b 总线接口层。在 每一个平行层之间有一个h o s t 和设备之间的逻辑通讯接e l ,图3 中用虚线箭 头表示。通常,在同一层的对等实体之间有一个虚连接,它们之间进行“点到 4 基于u s b 2 0 的数据采集系统的研究 点”的通讯 4 】。 功能层 u s b 设备层 u s b 总线接口层 _ 设备 实际数粥流逻辑数据流 阁2 1u s b 的分层通讯模型 2 2 2u s b 系统组成 一个u s b 系统被定义为二三个部分:u s b 的瓦连、u s b 设备利u s b 主机。 ( 1 ) u s b 的互连 u s b 的互连是指u s b 设备与 机之问进行连接和通信的操作,主要包括以f 几个方面: 总线的拓扑结构:指明了u s b 设备与主机之间的连接方式: 数据流模式:描述了数据在系统中通过u s b 从产生方到使用方的流动方式: u s b 的调度:u s b 提供多个设备共享的连接,对u s b 设备必颁进行调度以分 配带宽。 u s b 物理互连方式如图2 2 所示,是采用阶梯式星形( t i e r e ds t a r ) 的拓扑 ( t o p o l o g y ) 结构。从图巾口j 以看到u s b 设备包含了两种的类型:u s b 集线器与 u s b 设备。位于最顶端的就是h o s t ( 主机端) 。从h o s t 的联机往下连接奄h u b ( 集 线器) 。再南集线器按阶梯式以一层或一阶的方式往卜扩展出去,连接在卜,一层的 设备或,5 一个集线器上l5 1 。 阁2 , 2u s b 的物理连接 第二蕈u s b 协议 虽然u s b 系统的总线是呈阶梯式星形的结构,但实际u s b 主机与设备的连 接方式确实如图2 3 所示,各个设备好像是和主机直接相连,称之为u s b 设备的 逻辑连接。数据流的模式则是以这些逻辑连接为基本的构架,它们之间的通信不 用关心物理连接方式。【6 】 圈2 3u s b 的逻辑连接 ( 2 ) u s b 设备 u s b 设备包括u s b 集线器和功能设备( f u n c t i o n ) 两大类。它们都必须有标 准的u s b 接口,理解u s b 协议,支持标准的u s b 操作。它们的描述符信息也必 须具有u s b 定义的标准格式i ”。集线器为u s b 总线提供扩展和连接;功能设备是 具有一定特殊应用功能的设备,它能发送数据到主机,也可以接收来自主机的数 据和控制信息。u s b 设备接收u s b 总线上的所有数据包,通过数据包的地址域来 判断是不足发给自己的数据包;若地址不符,则丢弃该数据包,若地址辩 符,则 通过相应u s b 主机的数据包与主机进行数据传输。 ( 3 ) u s b 主机 u s b 宅机是u s b 控制系统的核心。在一个u s b 系统中只有一台主机。主机 的u s b 接口称为u s b 控制器,通过它主机和外围u s b 设备进行通信。在主机中 还集成了一个根集线器( r o o th u b ) 用于直接与外没相连或与一般u s bh u b 级连 峭j 。 机所具有的功能包括:检测u s b 设备的插入羊拔出:管理主机与设备之问 的数据流,对设备进行必要的控制;每1 2 5 u s 发送一帧数据:发送配置请求对u s b 设备进行配置操作:对总线上的错误进行管理和恢复;对插入的设备供电( 9 1 。 2 3 u s b 总线枚举 当u s b 设备接上或从u s b 设备移开的时候,主机启动一个被称作总线枚举( b u s e n u m e r a t i o n ) 的进程,是指对u s b 总线上接入的设备进行识别和分配地址操作,来 标识并管理设备状态的改变。u s b 总线枚举对许多总线而言,这一工作是在启动 时完成的,而u s b 技术允许在任何时间从u s b 总线上插入和拔除u s b 设备,因 此u s b 设备识别是动态的,而且u s b 总线枚举还可以发现和处理设备的移出。这 6 基于u s b 2 0 的数据采集系统的研究 是u s b 与传统系统技术的一个重要区别【l o 】。 当一个u s b 设备被挂接到总线上时,u s b 通过枚举过程识别和管理新加入的 设备。这个过程使得u s b 设备是“即插印用”。设备枚举将经过以下阶段,如图 2 4 所示: 图2 4u s b 总线的枚举过程 当一个u s b 设备被接入时,枚举将经过以下步骤l i ”。 1 u s b 设备接入计算机,u s b 设备可以使用u s b 总线供电也可以使用外部电源 供电。此时,u s b 设备处于加电状态,它所连接的端口是无效的。 2 设备所接入的h u b ( 或r o o th u b ) 通知h o s t 有事件发送。主机通过检测设备 在u s b 的d + 和d 一数据线检测到有新的设备连接,然后主机向该端口发送 一个复位信号。 3 h u b 向这个端点发送u s b 复位命令荠持续1 0 m s ,当复位信号撤消后,端口已 经有效了。这时u s b 设备处于缺省状态,并且可从v b u s 汲取1 0 0 m a 的电能, 所有设备寄存器及状态已经被复位,设备可对缺省地址产生响应。 4 当主机接收到有设备对缺省地址的响应的时候,用s e ta d d r e s s 命令,h o s t 给设备赋一个系统唯一的地址。就对设备分配一个空闲的地址,该设备以后就 对该地址进行响应。这使设备进入可寻址阶段。 5 主机读取u s b 设备描述符,确认u s b 设备属性。 6 主机依照读取的u s b 设备的描述符来进行配置。如果u s b 设备所需的资源得 以满足,就发送命令给u s b 设备,表示配置完毕。 7 为了节省电源,当总线保持空闲状态3 m s 以后,设备就会迸入挂起状态。当被 挂起时,u s b 设备保持了包括其地址和配置信息在内的所有内部状态。 完成以上几步工作以后,u s b 设备就可以使用了。在枚举过程中,设备不一 定要求进入挂起状态。当u s b 设备被取走时,集线器同样会通知主机,断开一个 设备连接会使得设备所连接的端口无效,一旦收到断开通知后,主机就会更新的 拓扑信息。 2 4 u s b 传输要件 每个传输是由事务( t r a n s a c t i o n ) 所组成,每一笔事务是由信息包( p a c k e t ) 所组成,每一个信息则是包含传输的信息。要了解信息包及其内容,必须先了解 端点( e n d p o i n t ) 与管道( p i p e ) 。 2 4 1 设备端点 第二章u s b 协议 在u s b 的规范中,定义设备端点是“一个u s b 设备中的唯一可寻址部分, 是主机与设备之间通讯的来源和目的” 1 z lo 端点在硬件上就是一个有一定深度的 先入先出堆栈( f i f o ) 。主机和设备的通信最终作用于设备上的各个端点。每一 个u s b 设备都有一个相互独立的端点( e n d p o i n t ) 。一个端点有以下属性:端点 的端口号;端点与主机的数据传送方向;端点能接收或发送的包的最大长度;端 点的传送类型;端点的带宽要求;端点的总线访问频率要求;端点的总线延迟要 求:对错误处理的要求。 每一个设备都有一个唯一的地址,这个地址是在设备连上主机时,由主机分 配的。而各个设备上的端点都有由设备确定的端点号( e n d p o i n tn u m b e r ) 和通信 方向。每个端点只支持单向通信:它要么是输入( i n p u t ) 端点,数据流方向从设 备到主机,要么是输出( o u t p u t ) 端点,数据流方向从主机到设备。 在设备配置时,它必须报告主机它的各个端点的特性,包括端点号,通信方 向,端点支持的最大包大小,带宽要求以及支持的通信方式等。每个设备都有端 点0 ,它是由输入和输出两个端点组成。主机和它建立缺省控制管道,用于设备枚 举和实现对设备的一些基本的控制功能。除了端点0 ,其余的端点在设备配置之前 是不能和主机通信的。只有设备在它的配置描述符中向圭机报告了这些端点及其 特性,并由主机确认后,这些端点才被激活。方向如果是输入( i n ) ,表示流向 主机。方向如果是输出( o u t ) ,表示流出主机。如果是作为控制传输的端点, 必须设置成双向传输。所以一个控制端点会有一对输入与输出端点,来分享同一 个端点号码。每一个设备都必须将端点0 ( e n d p o i n t0 ) 设置成一个控制端点。处 理控制传输外,其他传输都是单向传送数据。 母一笔在总线上的事务包含一个端点号码,用一个码来指示数据流动的方向 以及此事务是否是用来初始一个控制传输。此码可以是输入,输出或是设置 ( s e t u p ) 。如表2 2 所示。输入与输出的方向,是以主机的观点来看。在输入的 事务中,数据由设备传送到主机。在输出的事务中,数据由主机传送到设备。 表2 2 事务的类型 事务类型数据来源使用此事务类型的传输类型内容 输入设备所有传输类型一般数据 输出主机所以传输类型一般数据 设置( s e t u p ) 主机控制传输 要求 在设置的事务中,数据也是由主机传送到设备。不过设置事务是用来初始一 个控制传输,设备需要识别设置事务来弄清楚其内的数据一样。设置事务也是设 备唯一需要永远接受的事务类型。 当设备收到包含地址的输出或是设置事务时,它将接收到的数据储存在适当 8 基于u s b 2 0 的数据采集系统的研究 的端点位置,然后触发一个中断。设备的中断服务例程会处理接收到的数据,然 后做适当的处理。 当设备收到包含设备地址的输入事务时,如果设备由准备传送给主机的数据, 它会从指定的端点送出数据,然后触发一个中断。设备的中断复位例程会做适当 的处理,然后准备下个输入事务。 2 4 2 管道 在一个传输发出之前,主机与设备之间必须先建立一个管道( p i p e ) 。它是设 备上端点和主机上客户软件的连接。u s b 的管道并不是一个实际的对象,它只是 设备的端点与主机控制器的软件之间的连接【l ”。 主机建立管道的时候,是在系统启动之后或是设备连接的时候。客户软件通 常通过向主机的操作系统发f o 请求包( i r p ) 来要求和某一条管道进行数据传输, 而后它进行等待,直到系统通知它传输成功或失败。如果移除设备,此管道也会 跟着被移除。在要求另一个设备的设置和接口时,主机也可能会要求新的供电或 是移除该管道。每一个设备都会有一个默认控制通道( d e f a u l tc o n t r o lp i p e ) 此 默认管道使用端点0 。u s b 协议规定了流管道( s t r e a mp i p e 和消息管道( m e s s a g e p i p e ) ,其中消息管道有定义的结构。 ( 1 ) 流管道 流管道中的数据是流的形式,也就是该数据的内容小具有u s b 要求的结 构1 1 4 。数据从流管道一端流进的顺序与它们从流管道另一端流出时的顺序是 一样的,流管道中的信息流总是单方向的,或者流进,或者流出。流管道支持 同步传输,中断传输和批量传输。 ( 2 ) 消息管道 消息管道与端点的关系同流管道不同,它的数据格式由u s b 协议规定。 首先,主机向u s b 设备发送一个请求;接着就是数据的传输:最后是一个状 态阶段。为了能够容纳清求数据状态的变换,消息管道要求数据有一个格式, 此格式保证了命令能够被可靠地传输和确认。消息管道需要双方i 甸的信息 流,所以有两个相同号码的端点,个用于输入,一个用于输出。两个号码必 须相同。缺省控制管道就是一个消息管道。消息管道仅支持控制传输。 2 5 封包格式 u s b 传输的数据包的类型用称之为p a c k e ti d s ( p i d s ) 的特定代码来定义。u s b 包中共有4 种p 1 d 类型,如表3 t 3 所列。 第二章u s b 协议 表2 3u s b 2 0 的数据包类型 p d 类型p d 名称 令牌i n ,0 u t ,s o f ,s e t u p 数据d a i :a o ,d 觚a l ,d a i a 2 ,m d a t a 握手a c k ,n a k ,s t a l l ,n y e t 特殊类型p r e ,e r r ,s p l r f ,p i n 9 ( 1 ) 起始封包( s o f ) 设备都是利用s o f 封包来辨识帧的起点。s o f 包格式如图2 5 所示: 臣亟 二亘二 面五五二叵 图2 5 帧开始包 p i d 用来表示它是一个s o f 包,在指示包类型的p i d 后面用一个li b i t s 的数 表示这个帧的序列号。u s b 主机每毫秒向所有的u s b 设备发送1 个s o f 包( s t a r t o f f r a m e ) ,以此来提供时间基准。s o f 包括1 个自增的1 l 位帧序号。f x 2 随时可 以从寄存器中读出这个范嗣在 0 2 0 4 7 1 的帧序号。 在高速模式卜( 4 8 0 m b s ) ,每个l m s 长的帧被分成了8 个1 2 5 a s 长的微帧。 每个微帧也鄙由一个s o f 包开始。帧序号还是每个毫秒自增1 次,所以这8 个微 帧都含有相同的帧序号。为了区别每个微帧f x 2 提供1 个只读的微帧计数器,并 日f x 2 能在收到s o f 包时产生1 个中断请求,即在全速模式fl m s ! 次,高速模式 卜1 2 5 i t s 次。 ( 2 ) 令牌( t o k e n ) 封包 由f - u s b 数据交换足由p c 主机端所激活的,所以在每一个数据交换中,必 须以s y n c 、p i d ,a d d r 和e n d p 和c r c 5 这5 个数据域所组合而成的令牌封包 作为起始。图2 6 为令牌封包的字段格式。 fs y n cf p i da d d re n d p c r c 5 图2 6 标记包格式 其中p i d 指定了包是输入,输出还足建立类型,输入p i d 定义了从设备到主 机的数据事务,输出和建立p i d 定义了从主机到设备的数据事务:对于输出和建 立事务,地址和端口字段唯一地确定了哪个端口应该传输数据包。只有主机能发 出标记包。 ( 3 ) 数据封包 数据封包南s y n c 、p i d 、包括至少0 个字节数据的数据区和c r c 构成。在 u s b 中h o s t 负责管理总线,设备响应来自h o s t 的请求。如果h o s t 想从设备 取得信息,它会向设备的端点发送一个i n 信令,设备收到后返回一个u s b 数据 包。数据包的格式如图2 7 所示,其中p 1 d 用来区分d a t a 0 还是d a t a l 数据包。 竺基于u s b 2 0 的数据采集系统的研究 臣亟j j 互工亟 盈 图2 7 数据包格式 如果一个端点的产生类型是块、控制、或是中断传输,并且h o s t 正确的收 到数据,那么它会给设各一个响应信息。如果传输类型是同步方式,没有任何握 手信号会返回。h o s t 如果想传输数据到设备,它会在发送一个o u t 信令之后发 送数据包。 在全速模式时,每个o u t 传输发送o u t 数据包,不考虑外设是否处于m h = _ := ” 状态而不能接收数据。针对这种浪费带宽的情况,在高速模式时推荐使用新的p i d 类型“p i n g ”。主机先对o u t 端点发出个较短的“p i n g 令牌,访问当前外设是否 有数据文凭间来存放o u t 的数据包。仅仅当外部设备回答“a ck ,时,主机才发送 较长o u t 数据包。 ( 4 ) 握手包 如图2 8 所示。握手包只包括一个p i d ,用来报告数据事务的状态,以及在数 据事务中表示数据成功接收、命令的接收和拒绝、流控制和停止条件。握手总是 在事务的握手阶段中被返叫,也町在数据阶段代替数据被返回。它用在需要握手 的传输中,通过p i d 的标识,分别用来报a c k 、n a k 、s t a l l 、n y e t 握手信号。 厂t s y n cp i d 俐2 8u s 8 的撂手包格式 a c k ( a c k n o w l e g d e ) 表示成功,数据接收无埃。 n a k ( n e g a v i t e a c k n o w l e g d e ) 表示忙,得发。这并刁i 是出错,u s b 外设没自 应答表示i 出错。 s t a l l 表示未知错误,外设未能理解主机发出的设备请求,可能是外设端出 错,或是主崩【访问并存在的资源。u s b 协议提供r 从s t a l l 状态恢复的方法 n y e t ( n o ty e t ) 类似fa c k ,表示数据接收无误,并h 指出外设还没准备 好接收f 一个o u t 数据包。n y e tp i d 只用f 在高速模式。 ( 5 ) 特殊( s p e c i a l ) 封包 这个特殊先导( s p e c i a lp r e a m b l e ) 封包由于独自的p i d 类型名称p r e ,它 仅适用于主机想要从高速传输变成低速传输时所送出来的封包,即主机对卜游端 口送出低速封包与低速设备通信之前,所必须先送出的p r e 封包。这种格式如图 2 9 所示: 五叵二 正 图2 9u s b 特殊包格式 第二章u s b 协泌 2 6u s b 的传输模式 这一节将详细的描述不同传输模式的u s b 协议实现。u s b 定义了4 种传送类 型:控制传输、等时传输、批量传输和中断传输。在低速和全速总线上,主控制 器将总线时间划分为帧( f r a m e ) ,每帧l m s ,在一帧内可传输多个事务处理到多 个目的地。而在高速总线上,主机将每帧划分为8 个微帧( f r a m e ) ,每微帧时间 为1 2 5 u s ! 】。每微帧还包含多项事务处理,而单个事务处理能传输更多的数据,这 就是u s b 2 0 能达到4 8 0 m b p s 的根本原因。 ( 1 ) 控制传输( c o n t r o lt r a n s f e r ) 用于支持客户软件和它的应用之间传输设置信息、命令信息、状态信息。它由 一下三个事务组成: 建立事务:建立联系,把清求信息从主杉l 传到它的应心设备; 零个或多个数据传输事务:按照上一事务中指明的方向传输数据; 状态事务:将传输状态信息从应刚设备回传到主机。 雠一个设备必须在端点0 ( e n d p o i n t0 ) 的默认管道,支持控制传输。每当设 备第一次连接到主机时,控制传输就可用来交换信息,设置设备的地址或读取设 备的描述符与请求。u s b 设备在第一次执行控制传输时,j i 用了端点0 _ 手l l 地址0 。 其中,端量0 足作为控制传输的特定端j 7 i 。地址0 足外蚓设备一开始所占用的预 留地址。 控制传输可以使丰机和设备交换设备配置的信息,也提供了一种任何设备都 r j j i 的信息交换方式。控制传输按时问顺序包括设置阶段、数据阶段和状态阶段。 控制传输由主机发起。在设置阶段中主机发送一个s e t u p 标志包,接着发送 一个8 b y t e s 的数据包,设备收到数据效验无误后返吲一个确认( a c k ) 交换包。 8 b y t e s 的数据包指明了主机对设备请求的卡f j 关信息。在数据阶段中,设备或主机 把【j _ 1w l e n g t h 指定欧度的数据传输完,如有必要数据可被分成若t - 个数据包传递。 在状态阶段中,设备报告传输成功或失败。 ( 2 ) 等时传输( i s o c h r o n o u st r a n s f e r ) 等时传输有两个阶段:信令、数据,它在一个u s b 微帧内完成。如果h o s t 发送一个i n 信令,设备将向h o s t 发送数据,如果设备从h o s t 接受了一个o u t 信令,它将马上接收来自h o s t 的数据。为了减少内部事务的操作没有握手信 号。被用于时间严格并有较强容错性的数据传输,或用于要求恒定的数据传输率 的应用中。 ( 3 ) 批量传输( b u l k t r a n s f e r ) 批最传输同等时传输一样也有信令和数据阶段,但它在数据阶段后增加了一 个握手阶段。这将保证数据准确的发送和接收,如果一次数据被正确接收,一个 基于u s b 2 0 的数据采集系统的研究 a c k 命令将由h o s t 或设备发出。设备也可能发出n a k 或s t a l l 命令,n a k 握手信号表明设备暂时不能处理h o s t 发来的请求,s t a l l 握手信号表明设备出 错,它要求主机软件进行唤醒。需要注意的是,n a k 和s t a l l 信号只能由设备 发出。主要用于对带宽和时间间隔没有要求的大批量的数据传输。 ( 4 ) 中断传输( i n t e r r u p t w a n s f e r ) 中断传输同批量传输很像是相似,除了它在信令阶段只有i n 信令。一旦接收 到一个i n 信令,设备可能会返回数据,n a k 或s t a l l 握手信号。如果一个设备 没有新的中断数据返回,它将在数据阶段返回一个n a k 握手,如果设备正在被 挂起并且要求主机唤醒,它将返回一个s t a l l 握手信号。如果一个中断正处在未 决状态,则在数据阶段中,中断的信息被返回。如果h o s t 正确的收到数据,它 发送给设备一个a c k 握手信号,如果接收数据不完整,则不返回任何信号。如上 面所提到的,只有设备才可以返回n a k ,要么什么也不返回。中断传输主要用来支 持那些偶尔需要对少量数据进行通讯,但服务时间相对较短的设备,它仪支持设 备到 机方向的单向数据传输。 为j 适用4 8 0m b s 的高速数据传输,u s b 2 。0 协议扩大了各种传输类型数据包 长度,与u s b l 1 的对照如表2 4 所列。 表2 4 u s b 2 0 与u s b i 1 数据包长度的对照 传输类型数据包度甩 u s b l 1u s b 2 0 控制传输 8 ,1 6 ,3 2 ,6 46 4 批量传输 8 ,1 6 ,3 2 ,6 45 1 2 l中断传输 1 6 41 0 2 4 同步传输 1 0 2 31 0 2 4 第三章芯片介绍及系统硬件设计 第三章芯片介绍及系统硬件设计 本章将以设计一种u s b 接口的数据采集系统为例,结合具体芯片介绍u s b 设 备的硬件开发。本数据采集系统的设计目标如下:用户通过主机端的应用软件向 采集系统发送a d 读写命令;采集系统收到命令后,开始对输入的模拟信号进行 a d 变换,转换后的数据由u s b 传送至计算机,计算机收到数据后可对数据进行 存储;也可向d a 发送读写命令,系统收到命令后,将输出波形所需要的数据通 过u s b 总线送出,并由d a 转换为模拟信号输出。在本设计中选用e z - u s b f x 2 芯片c y 7 c 6 8 0 1 3 作为u s b 接口芯片,采用e p m 7 1 2 8 的复杂可编程逻辑芯片作为 系统的微处理器。数据存储在6 2 2 5 6 芯片中。本系统的硬件组成主要包括以下几 个部分:( 1 ) u s b 芯片所实现的最小系统;( 2 ) u s b 芯片与c p l d 之间的硬件连 接电路;( 3 ) c p l d 控制f 的a d 、d a 系统。下面将对这几部分的主要芯片椰核 心电路进行介绍。 3 1u s b 接口芯片 3 1 1e z u s bf x 2 的结构 f x 2 是第一个支持u s b 2 0 同时向卜兼容u s b l 1 规范的单片机。它既负责u s b 事务处理也兼具微处理器的控制功能,町用作u s b 外部设备的主控芯片。该芯片 把u s b 2 0 收发器、串行接口引擎s i e ( s e r i a li n t e r f a c ee n g i n e ) 、增强的8 0 5 l 内 核、1 2 c 总线接口、片上r a m 、f i f o 存储器以及通用可编程接口g p i f ( g e n e r a l p r o g r a m m a b l ei n t e r f a c e ) 集成于一体【1 8 】。f x 2 的内部功能框图如图3 ,1 所示。 e z u s bf x 2 拥有一个独特的构架,其智能串行接口引擎( s i e ) 在硬件层上 处理u s b l 1 和u s b 2 0 协议的大部分内容,因此外设产品设计开发变得更容易, 同时减轻了c p u 的负担,而让智能串行接口引擎从硬件上保证更高的传输率。 e z u s bf x 2 通用可编程接口( g p i f ) ,可使它与任何a s i c 或d s p 直接结合,并 h 它还支持所有通用总线标准。 通用串行总线u s b ( u n i v e r s a ls e r i a l b u s ) 应用由三部分组成:具有u s b 接口的 p c 系统、能够支持u s b 的系统软件和使用u s b 接口的设备。u s b 应用采用通用 连接技术,实现外设的简单快速连接,借以达到方便用户、降低成本、扩展p c 机 连接外设范围的目的。 1 4 基于i j s b 2 0 的数据采集系统的研究 ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) ( 8 ) ( 9 ) 图3 1f x 2 的内部功能榧罔 f x 2 的主要特点包括咿1 : 改进的8 0 5 l 内核与标准8 0 5 l 棉比,有如下改进:运行速度更快,运行的速 度为2 4 m h z ,性能n j _ 达到标准8 0 5 1 的5 1 0 倍;增加了1 个数据指针,可用 于存储器块之间的传输:增加了一个u a r t ;增加了一个1 6 位的地址总线的 高速存储器直接接口:增加了8 个中断源:可变的m o v x 执行时间可适应高 低速的r a m 外设:2 5 6 字节的内部寄存器r a m ,8 k b 的程序数据复合 s r a m ;3 3 v 工作电压。 高度集成传统u s b 外设的硬件设计通常包括非易失性存储器、微处理器、 r a m 、s i e 、d m a ,e z u s bf x 2 将上述多个模块集成在一个芯片上,从 而减少了各芯片接口部分时序配合的麻烦。 u s b 内核e z u s bf x 2 可以代替u s b b 设开发者完成u s b 协议中规定的8 0 - 9 0 的通信工作,这使得开发者不需要深入了解u s b 的底层协议即可顺 利地开发所需要的u s b ,b 没。 易用的软件开发工具固件可独立于驱动程序被测试,驱动程序和固什开发 和调试相互独立,这样可以更加容易地发现错误,加快开发的速度。 在外设要求电压为5 v 且所需电流小于5 0 0 m v 时,可由u s b 总线直接供电。 系统中的外设接口之间采用菊花链形式连接最多可连1 2 7 个外设。 即插即用,几乎无需用户的干预。 能提供三种速率低速1 5 m b i t s ,中速1 2 m b i t s 和高速4 8 0 1 v l b i t s 。 提供了四种数据传输形式控制、等时、中断和块传输。 f x 2 的内嵌增强型8 0 5 1 微处理器带有2 5 6 k 字节的r a m ,扩展的中断系统及 第三嚣占片介绍及系统硬件设计 3 个定时计数器和2 个u a r t 。f x 2 外接2 4 m h z 晶振,经过内部倍频电路可产生 8 0 5 l 的默认工作频率( 4 8 m h z ) ,另外它还需要产生4 8 0 m h z 的时钟脉冲以供收 发器使用。 f x 2 有2 种接口方式:s l a v ef i f o s 和町编程接i - 1g p i f 。 s l a v ef i f o s 方式是从机方式,外部控制器可像普通f i f o 一样对f x 2 的多层缓 冲f i f 0 进行读。;。f x 2 的s l a v ef i f o s 工作方式可设为同步或异步,工作时钟刚 选为内部产生或外部输入;其它控制信号也可灵活地设置为高柏效或低有效。该 系统采用s l a v ef i f o s 方式。 可编程接口g p i f 是主机方式,可以软件编程读写控制波形,几乎可以对任何 8 1 6b i t 接口的控制器、存储器和总线进行数据的事动读写,非常灵活。 在接收过程,信号线上的数据流均以包的形式进行传输( 如令牌包、数据包、 握于包等) ,利用s i e 可对这些包的p i d 进行解码,并可对接收的数据进行c r c 检禽,然后把数据送到处理器中,最后返回一个握手包。如果发现数据订错,它 会自动停止响应而不发出握手包,同时“告诉”丰机梢后再敢新发送该数据。_ i 年! 发送过程,当向主机发送数据蹦,s i er 叮接收来自内部r a m 的数据和其他信号, 然后将它按照u s b 要求的格式重新包装后送到d + 、d - 线上。 f x 2 宵3 种封装形式:5 6 脚s o p p 、1 0 0 脚的t o f f 、1 2 8 脚的t q f p 。引脚 数的区别在于输入、输出引脚数的不同,以针对不同的应用要求。 3 ,1 2 结构特点 当大部分u s b l 1 器件部需要微控制器参与数据从端点f i f o s 到应用环境转移, 因此,微控制器本身的工作频率在相当程度上限制了带宽的进一步提高。虽然在 1 2 9 b s 的全速模式下,这种限制并不明显,但当速度提升至4 8 0l d b s 时,微控制 器就必然成为整个系统的带宽敞颈。e z u s bf x 2 提供了一种独播架构,使u s b 接口和应用环境直接共享f i f o ,而微控制器刊不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论