(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于usb接口的dsp仿真器驱动程序的设计与实现.pdf.pdf 免费下载

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

文档简介

ab s t r a c t ab s t r a c t t h i s t h e s i s m a i n l y i n t r o d u c e s t h e r e s e a r c h a n d d e v e l o p m e n t o f d s p s i m u l a t o r b a s e d o n u s b s y s t e m , i n c l u d i n g b o t h h a r d w a r e a n d s o ft w a r e . f i r s t , t h e th e s i s d e s c r i b e s t h e a r c h i t e c t u r e a n d f e a t u r e s o f u s b , i n c l u d i n g t h e b u s a t t r i b u t e s , t h e p r o t o c o l d e f i n i t i o n , t y p e s o f t r a n s a c t i o n s , p o w e r m a n a g e m e n t , a n d s o o n . i t t r i e s t o g iv e d e v e l o p e r s a n d u s e r s a s n 即s h o t o f u s b . a ft e r t h a t , t h e t h e s i s t a l k s a b o u t t h e j t a g t e c h n o l o g y , a n d d e s c r i b e s b s c , s c h e d u l i n g a n d s p e e d c o n t r o l l i n g . s o , w e c a n m a s t e r t h e w h o l e a r c h i t e c t u r e a n d d a t a t r a n s f e r a b o u t t h e ds p . f i n a l l y , a i m i n g a t t h e s p e c i a l d s p s im u l a t o r , t h e t h e s i s p r o d u c e s a d s p s i m u l a t o r t o a p p l y d s p t r a n s f e r w i t h c y p r e s s p r o d u c t c y 7 c 6 8 1 0 3 a a n d t i p r o d u c t a c t 8 9 9 0 a n d t h e n , t h e t h e s i s m a i n l y d e s i g n s a n d d e v e l o p s t h e j t a g t e c h n o l o g y , a n d a d d s i t t o t h e u s b d r i v e r , u s e s t h i s d r i v e r i n o u r d s p s i m u l a t o r . t h e t h e s i s i s v e ry u s e f u l t o u s b d e v i c e a n d d s p i m p l e m e n t e r s a n d d e v e l o p e r s . t h e s e c a n h e l p t h e m r a p i d l y g r a s p t h e m a in d e s i g n , p ro g r a m m i n g o f t h e u s b d e v i c e . a n d im p o r t a n t p l a c e i n h a r d w a r e k e y wo r d s : u s b j t a g d r i v e r d s p 南开大学学位论文版权使用授权书 本人完全了 解南开大学关于收集、保存、使用学位论文的规定, 同 意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印 刷本和电子版,并采用影印、缩印、 扫描、 数字化或其它手段保存论文; 学校有权提供目 录检索以及提供 本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有 关部门或者机构送交论文的复印 件和电子版; 在不以 赢利为目 的的 前 提下,学校可以 适当复制论文的 部分或全部内 容用于学术活动。 学 位 论 文 作 者 签 名 : 衰法 i-,刁年 石月 日 经指导教师同意, 本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间: 年月日 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明: 所呈交的学位论文, 是本人在导师指导下, 进行 研究工作所取得的成果。 除文中己 经注明引用的内容外, 本学位论文 的研究成果不包含任何他人创作的、 己 公开发表或者没有公开发表的 作品的内 容。对本论文所涉及的研究工作做出贡献的其他个人和集 体, 均己 在文中以明确方式标明。 本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: - - 7年扩月 扩日 第一章导论 第一章导论 第一节课题研究的背景 数字 信号处 理( d i g i t a l s i g n a l p r o c e s s i n g , 简 称d s p ) 是 一门 涉及许多 学科而 广 泛应用于许多领域的新兴学科。 2 0 世纪6 0 年代以来, 随着信息技术的快速发展, 数字信号处理技术应运而生并得到迅速的发展。在过去的几十年时间里,数字 信号处理技术已经在通信等领域里得到极为广泛的应用。 数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、 变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形 式。 数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展 起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过 来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理 的实现则是理论和应用之间的桥梁。 数字信号处理是以众多的学科为理论基础的,它所涉及的范围极其广泛。 例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号 处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等 也密切相关。一些新兴的学科,如人工智能、模式识别、神经网络等,都与数 字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自 己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 d s p为高速、实时数字信号处理提供了很好的解决方案。高速d s p芯片已 广泛应用于各种领域。但是,当d s p芯片和主机通信时,传统的通信方式已很 难满足高速、方便等要求。外设和主机通信需要一种理想的总线,它应该具有 易于使用、 传输速度快、 传输可靠、 通用等特点。 通用串 行总线( u s b ) 就是这样 一种理想的计算机总线。 第 t页 第一章导论 第二节 d s p 与主机通信及研究重点 1 .2 . 1 d s p与主机通信问题 当d s p芯片要与主机进行通信时, 必须用到d s p开发板和仿真器, 可能还 需要一些其它的外围配件。 d s p仿真器主要负责开发板与主机之间的连接和数 据传输,这样编写的 程序才能写入d s p芯片,以 及通过计算机软件( 如c c s 软 件) 访问d s p 芯片。 传统的d s p 仿真器一般都是使用并口 ( p a r a l l e l p o rt ) 和串口 ( s e r i a l p o rt ) 与计 算机相连。这两种端口 在计算机上使用了 很多年, 物理层的协议己 经相当成熟, 但却已经无法满足目 前d s p 设备不断提高的速度和使用要求。 u s b 具 有速度高, 成本 低, 功 耗低, 支 持即 插即 用( p l u g 但如果某台计算机的主板和电源不能支持, 那么有可能不光是这个串口 设备不能使用,连主板和电源也无法正常工作. 以上所提到的种种原因, 促使硬件开发商不得不推出一些新型的总线协议, 以适应当前计算机和设备的需要。从 2 0世纪 9 0年代以来,有很多串行总线问 世, 其中 最成功的 便是以i n t e l 为首的 七家公司 于1 9 9 4 年推出 的u s b ( u n i v e r s a l s e r i a l b u s ) 通用串 行总线协议,以及美国电 气和电子工程师协会 i e e e推出的 i e e e 1 3 9 4 总线协议。 i e e e 1 3 9 4主要的特点是高速,但它的成本很高,所以目 前 i e e e 1 3 9 4只用 于一些专用系统和打印机、扫描仪等数据传输速度要求较高的设备,而不能普 第 5页 第三章 u s b协议与j t a g协议概述 遍用于诸如鼠标、键盘等价格较低,速度要求也不高的设备,所以确切地说, i e e e 1 3 9 4 只 适于高速的计算机外部设备。 u s b具有速度高, 成本低, 功耗低, 支持即插即 用( p l u g 对标 准u s b操作的响应,如挂起和设置等;提供设备的一些描述信息。在实际的设 第 s页 第二章u s b协议与 t a g协议概述 计应用中,u s b设备的接口有自己的特点。 u s b接口的正确设计与设备的性能 紧密相关, 在u s b接口设计之前必须要对设备的功能、 指标进行详细的分析。 连 接在u s b 接口上的设备通过基于令牌和主机控制的协议来共同享用整个u s b 带 宽。在其它设备正常工作的前 提下, u s b允许设备连接、设置、运行和断开连 接 3 1 2 . 1 .2 .4 u s b的电源管理 u s b设备的供电方式有两种:自供电( s e l f - p o w e r e d ) 和总线供电 ( b u s - p o w e r e d ) . 所谓自 供电,就是由设备自己提供电源设备,不需要从v b u s 上取得电流, 这类设备的功率不受 u s b协议的限制, 设计时只需要将 v b u s用电容连接到 g n d就可以了。 总线供电设备完全从v b u s 上取得电流,它们的功率受u s b协议的限制, 一般不能超过 5 0 0 m a 。 总线供电 设备有两种工作状态:一是正常工作( n o r m a l ) 状态,一是挂起( s u s p e n d ) 状态。 u s b协议规定: 如果总线供电设备在3 m s 内 没 有进行总线操作( 即总线处于空闲态) , 设备需要自 动进入挂起状态, 而挂起的设 备从总线上 吸收的电 流必 须小 于5 0 0 ,u a 。 而实际 上 协 议规定的5 0 0 ,u a包括了 主机端 1 5 k 。的电 缆终 端匹 配电 阻的电 流 ( 通常为2 2 0 ,u a ) , 所以 对于 使 用总 线 电源的设备而言,进入挂起状态通常便意味着设备的总电流功耗不能超过 2 8 0 ,u a , 这 个功耗值是非 常低的。 总线供电 设备在进入挂起状态以 后, 可以 通过唤醒 ( r e s u m e ) 操作恢复到正常 工作状态。唤醒操作既可以由主机发送唤醒或复位信号来触发,也可以由 设备 自 行通过远程唤醒操作来完成。所谓远程唤醒是指一个被挂起的u s b设备发送 信号给处于挂起状态的主机,使得主机醒来,处理设备端的突发事件 2 . 1 .2 . 5 u s b标准接口和外设 u s b协议体系中的外设都是非常标准的,从底层的物理和电 气特性,到上 层的软件协议、数据通讯,都有明确的定义。 u s b将设备和主机都看作不同的 对象,而这些对象又是由不同的模块和子模块组成的。就这样。 u s b根据设备 和主机各部分的功能和实现的不同, 将整个u s b系统划分成了很多的层次和模 块4 1 。 图2 .3 表示u s b系统的不同 层次和模块。 图中的黑箭头表示实际的 数据流, 第 ,页 第二章 u s b协议与t f a g协议概述 灰箭头表示逻辑上的数据流。 什日 目翻 自 甘口 臼 ,. 川p 价 梦 叫口 目且 妇 川 加 匆 图2 . 3 u s b模型层次关系图 设备端虽然分成了总线接口 层、设备层和功能层,但在一般的u s b设备实 现中,这3 层仍然是一个整体,它们之间并没有很明确标准的接口定义。 u s b首先根据设备功能的不同,将设备划分为不同的子类,例如,人机接 口 设 备 ( h i d ) 类, 包括鼠 标、 键盘 等与人的 交互 较多的 设备; 音频设 备 ( a u d i o ) 类, 包括音箱、 话筒等; 还有通讯设备( c o m m u n i c a t i o n d e v i c e ) 类, 大容量存储器( m a s s s t o r a g e ) 类, 打印机( p r i n t e r ) 类和图 像设备( i m a g in g ) 类等等。 在不同的 子类中, 设 备使用不同的通讯协议( 包括数 据包的格式等等) , 使用不同的主机端驱动程序。 而同一类的设备往往可以共享部分通讯协议和主机端的驱动程序,它们的对象 模型和具体的功能模块是相似的。 主机端由 于使用了 大型的 操作系统( 如w i n d o w s . l i n u x 等等) , 又需要同时 处理多个u s b设备的接入,所以 不论是在定义上, 还是在具体的实现上,都分 成了如图所示的主机控制器层, 系统软件层, 用户软件层。 3 层之间的接口是非 常标准的,不能由开发者任意更改。 这些复杂的层次和模块划分生要有两个好处:一是可以规范设备和主机的 行为,消除不同 硬件厂商的区别,减少兼容性的问题。二是可以 将u s b设备开 发的工作量细化硬件工程师可以集中精力设计设备的总线接口层而软件工程师 第 1 0页 第二章 u s b协议与j t a g协议概述 可以只需要考虑优化用户界面。 2 . 1 .2 .6 结论 u s b的技术优势主要集中在以上五个方面。通过本节我们主要了 解了u s b 系统的主要优势和特点,并且,u s b正在不断地占领 p c外设的市场,成为了 p c外设的主流接口, 在自己的产品中使用u s b ,已经成为了一种潮流。 但是任 何技术也不是十全十美的, u s b仍存在很多不足之处,所以在应用中应进行更 近一步的规范。 2 . 1 .3 u s b总线的传输协议与通道 2 . 1 .3 . 1 u s b总线传输协议 u s b总线属于轮询方式的总线,主机控制端口 初始化所有的数据作输。 所有总线操作都可以归结为三种包的传输:令牌包、数据包和应答包。任 何操作都是从主机开始的,主机以预先排好的时序,发出一个描述操作类型、 方向、外设地址以 及端点号的 包, 我们称之为令牌包( t o k e n p a c k e t ) 。 然后,由 在令牌中 指定的数据发送者发出 一个数据包 ( d a t a p a c k e t ) 或者报告它没有数据可 以 传输。 而数 据的目 的 地一般 要以 一 个应答 包 ( h a n d s h a k e p a c k e t ) 做出 响 应以 表 明传输是否成功15 。 2 . 1 . 3 .2 u s b总线通道 数据和控制信号在主机和 u s b 总线设备间的交换存在单向和双向两种通 道。 u s b总线的数据传输是在主机软件和一个u s b总线上指定设备的指定端点 之间进行的。这种主机软件和u s b总线设备的联系称作设备通道。 在设备 通道中, 需要 提一 下 端点 ( e n d p o i n t ) 和管 道( p i p e ) 的 概念。 . 端点( e n d p o i n t ) : 每一个u s b设备在主机看来就是一个端点的集合, 主 机只能通过端点与设备进行通讯, 以 使用设备的功能。 每个端点实际上 就是一个一定大小的数据缓冲区,这些端点在设备出厂时就己定义好。 在 u s b系统中,每一个端点都有唯一的地址,这是由设备地址和端点 号给出的。 每个端点都有一定的特性, 其中包括传输方式、 总线访问频 率、带宽、 端点号、数据包的最大容量等等,端点必须在设备配置后才 能生效( 端点。 除外) 。 端点0 通常为控制端点, 用于设备初始化参数等, 第 1 1页 第二章 u s b协议与j t a g协议概述 端点1 . 2 等一般用作数据端点,存放主机与设备间往来的数据。 . 管 道 ( p i p e ) : 一 个u s b 管 道是主机 端驱 动程 序的 一 个数 据缓 冲区 与一个 外设端点的连接, 它代表了一种在两者之间移动数据的能力。 一旦设备 被配置,管道就存在了。 管道有两种类型:数据流管道( 其中的数据没 有u s b 定 义的 结 构 ) 与消 息管道( 其中 的 数 据必须 有u s b 定 义的 结构 ) 。 管道只是一个逻辑上的概念。 所有的设备必须支持端点 0以构筑设备的控制管道。通过控制管道可以获 取完全描述u s b设备的信息, 包括设备类型、电源管理、 配置、 端点描述等等。 只要设备连接到u s b上并且上电,端点0 就可以被访问,与之对应的控制管道 就存在了。在上文提到的总线枚举过程中,设备就是通过端点 0与主机完成各 种数据交互的。 从逻辑上讲, u s b数据的传输是通过管道进行的。 u s b系统软件通过缺省 管道( 与端点。 相对应) 管理设备, 设备驱动程序通过其它的管道来管理设备的功 能接口, 实现普通数据的交互。实际的数据传输过程如图2 .4 所示。 设备驱动程 序 通过对u s b 驱动接口 ( u s b d ri v e r i n t e r f a c e ) 的 调 用, 发出 输入 输出 请求 ( i r p , i / o r e q u e s t p a c k e t ) ; u s b 驱动程序接到请求后, 调用h c d接口 ( h o s t c o n t r o l l e r d ri v e r i n t e r f a c e ) , 将i r p 转化为u s b的 传输 ( t r a n s f e r ) , 一 个i r p 可以 包含 一个 或多个u s b传输; 然后h c d将u s b传输分解为总线操作( t r a n s a c ti o n ) , 由 主控 制器以 包( p a c k e t ) 的形式发出。需要注意的是: 所有的数据传输都是由 主机开始 的,任何外设都无权开始一个传输。 第 1 2页 第二章 u s b协议与 t a g协议概述 只均 月 吮 目舀.祝. 、1.1.|1万|jha 导 t 巴 n80 曰 幸 t 晰户 . 耳 旧 . . . . . 目脚 . . . 目 加 . . 曰 . . . 口. 口. .台. . 目 . 口 曰 臼 . 目 . . . 国 尸目. . 自.白叫 甘 叫 a . 自 .曰 目脚 . . 目衬. .口网n曰 . 目. 、 、一一 尸 尹 侧匕出.四吐 e如山公喊 a-月 图2 .4 u s b数据传输 i r p是由操作系统定义的, 而u s b传输与总线操作是u s b规范定义的。 为 了 进一步说明u s b 传输, 我们引出 帧( f r a m e ) 的概念。 u s b总线将l m s 定义为一帧, 在这l m s 里u s b进行一系列的总线操作, 但 没有任何一次总线操作是跨帧进行的。引入帧的概念主要是为了支持与时间有 关的总线操作。 2 . 1 .4 u s b总线传输方式 为了满足不同外设和用户的要求,u s b提供了四种传输方式:控制传输、 同步传输、中断传输、批传输。它们在数据格式、传输方向、数据包容量限制、 总线访问限制等方面有着各自 不同的 特征6 1 第 1 3页 第二章 u s b协议与j t a g协议概述 2 . 1 . 5 u s b协议总结 以 上我们介绍了u s b的 基本结构和原理,只涉及了u s b规范1 . 1 版和2 .0 版的一些章节,如果想深入了解u s b ,必须仔细阅读u s b规范。 这一规范从总 体上描述了u s b的结构和原 理, 而对于每一类u s b设备( 包括h i d设备、 音频 设备等等) , 还相应制定了 描述这类设备的u s b规范。 如果想开发u s b设备, 还必须对这种描述设备的规范有所了解。 第二节 j t a g协议及分析 2 .2 . 1 j t a g概述 在现代电子应用系统中,印刷电路板越来越复杂,多层板的设计越来越普 遍, 大量使用 各 种表贴 元 件和b g a ( b a l l g r i d a r r a y ) 封装元 件, 元器 件的 管 脚数和 管脚密度不断提高,使用万用表、示波器测试芯片的传统 “ 探针”方法已不能 满足要 求。 在 这种背景 下, 早 在2 0 世纪8 0 年代, 联合测试行动 组 ( j o i n t t e s t a c t i o n g r o u p , 简称j t a g ) 起草了 边界 扫 描测试 ( b o u n d a ry s c a n t e s t i n g , 简写b s t ) 规范, 后来在1 9 9 0 年被批准为i e e e 标准1 1 4 9 . 1 2 1 9 9 0 规定,简称j t a g标准。 边界扫描测试有两大优点:一个是方便芯片的故障定位,迅速准确地测试 两个芯片管脚的连接是否可靠, 提高测试检验效率; 另一个是, 具有j t a g接口 的芯片,内置一些预先定义好的功能模式,通过边界扫描通道来使芯片处于某 个特定的功能模式,以 提高系统控制的灵活性和方便系统设计。 标准的j t a g接口是4 线: t ms , t c k , t d i , t d o ,分别为模式选择、时 钟、数据输入和数据输出线。 j t a g最初是用来对芯片进行测试的,基本原理是在器件内部定义一个 t a p ( t e s t a c c e s s p o r t , 测试访问口 ) , 通过专用的j t a g测试工具对进行内 部节点 进行测试。 j t a g测试允许多个器件通过j t a g接口串联在一起, 形成一个j t a g 链, 能 实 现对 各 个 器 件分 别 测 试。 现在, j t a g 接口 还常 用 于 实 现i s p ( i n - s y s t e m p r o gr a m m a b l e , 在线 编程) , 对f l a s h等器件进行编程。 j t a g编程方式是在线编程, 使传统生产流程中先对芯片进行预编程,再安 装到板上因此而改变,简化的流程为先固定器件到电路板上,再用j t a g编程, 第 1 8页 第二章 u s b协议与j t a g协议概述 从而大大加快工程进度。 现在, 所有复杂的i c芯片几乎都具有j t a g控制接口, j t a g控制逻辑简单方便,易于实现。 2 . 2 .2边界扫描和j t a g结构特征 2 .2 .2 . 1 边界扫描基本原理 边界 扫描( b o u n d a ry s c a n ) 技术的基本原理是 在核心逻辑电路的 输入输出 端都 增加一个寄存器,每个寄存器既可以输入数据也可以输出数据,这些寄存器可 以 连成移位寄存器。 控制输入管脚的 状态( 高 或低) , 并读出输出 管脚的 状态, 从 而测试器件的好坏及互连的正确性。它克服了传统探针接触测试带来的困难, 提高了器件的可控性和可观察性。通过这些寄存器可以测试核心逻辑和 i c或 p c b之间的连线。 边界扫描测试是通过在芯片的每个 f o脚附加一个边界扫描单元( b s c , b o u n d a ry s c a n c e l l ) 以 及一些附加的测试控制逻辑实现的, b s c 主要是由 寄存器组 成的。每个1 / o管脚都有一个 b s c ,每个 b s c有两个数据通道:一个是测试数 据通道: 测试数据输入,i ( t e s t d a t a i n p u t ) . 测试数据输出t d o ( t e s t d a t a o u t p u t ) ; 另一 个是正 常 数 据通道, 正常数 据输入n d i ( n o r m a l d a t a i n p u t ) 、 正常数 据输出 n d o ( n o r m a l d a t a o u t p u t ) 。如图2 . 9 所示。 dooo nt ndi仑s c 应用 逻辑 e s c tdi 图2 . 9 边界扫描单元b s c的连接 在正常工作状态,输入和输出数据可以自由通过每个 b s c ,正常工作数据 从n d i 进,从n d o出。在测试状态,可以 选择数据流动的通道:对于输入的 i c ( 集成电 路, i n t e gr a t e d c i r c u i t ) 管脚, 可以 选择从n d i 或从t d i 输入数据: 对于 第 1 9页 第二章 u s b协议与j t a g协议概述 输出的i c管脚, 可以选择从b s c输出数据至n d o , 也可以 选择从b s c输出数 据至t d o . 图2 . 1 0所示是边界扫描测试应用的示意图。为了测试两个j t a g设备的连 接, 首先将j t a g设备1 某个输出测试脚的b s c置为高或低电平, 输出至n d o, 然后,让j t a g设备2的输入测试脚来捕获从管脚输入的n d i 值,再通过测试 数据通道将捕获到的数据输出至 t d o ,对比测试结果,即可快速准确的判断这 两脚是否连接可靠。 串行数 据输入 边界扫描 串行数 据输出 管脚 j t a g 设 备i测 试 连 接 线j t a g设 备2 图2 . 1 0 边界扫描测试应用示意图 2 .2 .2 .2, j t a g边界扫描测试结构 j t a g控制器主要由 三个部分组成: 测试端口 ( t a p , t e s t a c c e s s p o rt ) 控制器、 指令寄存器( i r , 包括指令译码器) 、 数据寄存器( d r ) . ( 1 ) t a p 控制器: 这是边界扫描测试核心控制器。 t a p 有以 下5 个控制信号: t c k :边界扫描时钟; t m s : j t a g测试模式选择; t d i :串行边界扫描输入数据; t d o :串行边界扫描输出数据; t r s t : j t a g测试逻辑复位,低电平有效, 当t r s t输入为低电平时,芯片 进入正常工作状态, j t a g测试逻辑无效。 ( 2 ) 指令寄 存器: 若执行数 据寄存器边界扫描测试, 则指令寄存器负责提供 地址和控制信号去选择某个特定的数据寄存器;也可以通过指令寄存器执行边 第 2 0页 第二章 u s b协议与j t a g协议概述 界扫描测试,这时,t a p输出的 s e l e c t信号选择指令寄存器的输出去驱动 tdo. ( 3 ) 数据寄存器: i e e e 标准1 1 4 9 . 1 规定,必须具有的两个数据寄存器是边 界 扫描寄 存器 ( b o u n d a ry s c a n r e g i s t e r ) 、 旁 通( b y p a s s ) 寄 存器。 其它的寄 存器 是 任 选的。由指令寄存器选择某个特定的数据寄存器作为边界扫描测试寄存器,当 一个扫描路径选定后, 其它的路径处于高阻态。 边界扫描寄存器是由围绕i c管 脚的一系列的边界扫描单元b s c组成的, 正是由 它来实现测试管脚信号的输入、 输出;旁通寄存器只由一个扫描寄存器位组成,当选择了旁通寄存器, t d i 和 t d o之间只有一位寄存器,实际上没有执行边界扫描测试,旁通寄存器的作用 是为了缩短扫描路径而对不需要进行测试的i c进行旁通。 2 .2 .3 t a p 控制器状态图及控制时序 2 .2 .3 . 1 t a p 控制器状态图 元器件与外部通信的信号必须通过t a p 。边界扫描设计t a p 有4 个基本端 子:测试时钟t c k ,测试方式选择t ms ,串行测试数据输入t d i ,串行测试输 出t d o 。另外标准还设计了复位端t r s t . t a p 控制器是将t ms , t c k信号译 码。使测试系统进入相应的测试模式并产生相应的控制信号。图2 . 1 1 是标准定 义的t a p 控制状态图, t a p 控制器所有的 状态转换必须根据t ms 在t c k的上 升 沿 出 现 的 值 7 1 第 2 1页 第二章u s b协议与j t a g协议概述 t e s t - l o g i o - r e s 曰 i 石 e x i u一 or 一 一 t o 00 图2 . 1 1 t a p 控制器状态机 为了执行不同的测试和选择实际的数据寄存器。还需要有指令寄存器 i r , 它向各数据寄存器发出操作码, 并确定边界扫描的工作方式j t a g标准中定义了 大量指令,可以定义更多特定设计的指令来扩展测试逻辑的功能。测试数据寄 存器组中包括旁路寄存器,边界扫描寄存器和器件识别寄存器,用户可以根据 需要设计专用测试数据寄存器,每个寄存器的长度是固定的,可以由一个或多 个指令访问。这些寄存器中最重要最复杂就是边界扫描寄存器。边界扫描寄存 器构成边界扫描路径,每一个单元都由 存储器发送,接收器和缓冲器组成,它 放在被测逻辑的输入输出端,并首尾相连构成一个移位寄存器, 在t c k的作用 下,从t d i 加数据可以 在移位寄存器链中移动并进行扫描。它主要是实现的功 能:器件的外电路测试,器件内嵌的内建自 测试和输入输出信号的采样和移位 检查。 第 2 2页 第乙章 u s b协议与j t a g协议概述 2 .2 .3 .2 j t a g控制时序 j t a g中 所有扫描链的 控制时序都是t a p 控制器规定好的, t a p 控制器是 边 界扫描测试的核心控制器。在t c k和t ms的控制下,可以选择使用指令或数 据寄存器扫描,其中,t a p控制器的状态机只有 6个稳定状态:测试逻辑复位 ( t e s t - l o g i c a l - r e s e t ) , 测试运行/ 等待( r u n - t e s t / i d l e ) 、 数据寄存器移位( s h i ft - d r ) , 数据寄存器移位暂停( p a u s e - d r ) 、指令寄存器移位( s h i ft - i r ) 、指令寄存器暂停 ( p a u s e - i r ) , 其他状态都不是稳态, 而只是暂态。 在上电 或i c正常运行时, 必须 使t m s 最少持续5 个t c k保持为高电 平, 则t a p 进入 测试逻辑复位态, 这时, t a p发出复位信号使所有的测试逻辑不影响元件的正常运行。若需妥进行边界 扫描测试,可以在 t ms与t c k的配合控制下,退出复位,进入边界扫描测试 需要的各个状态。 需要测试时, 在t ms 和t c k的控制下, t a p 控制器跳出t l r 状态。从选择数据寄存器扫描( s h i ft - d r - s c a n ) 或选择指令寄存器扫描 ( s h i ft - i r - s c a n ) 进入图所示的各个状态。 s h i ft - d r - s c a n 和s h i ft - i r - s c a n 两个模块 的 功能 类 似。 进入 每个模 块的 第 一步是捕 捉数 据( c a p t u r e ) , 对于 数据寄 存器, 在 c a p t u r e - d r状态把数据并行加载到相应的串 行数据通道中, 对于指令寄 存器, 则是在c a p t u r e - i r状态把指令信息捕捉到指令寄 存器中。 t a p控制器从捕捉状 态 进入移 位 ( s h i ft ) 或跳出1 ( e x i t l ) 状态。 通常, s h i ft 状态紧 跟c a p t u r e 状态。 数 据 在寄存器中 移位。 在s h i ft 状态之后, t a p 控制器通过( e x i t l ) 状态进入更新u p d a t e l 状态或者暂停( p a u s e ) 状态。 在p a u s e 状态, 数据移位暂时终止, 可以 对数据寄 存 器或指令寄 存器重新加载测试向 量。 从p a u s e 状态出 来通过跳出2 ( e x i t 2 ) 状态可 以 再次进人s h i ft状态或者经过u p d a t e 状态回到r u n - t e s t / i d l e 状态。 在u p d a t e 状态,移入扫描通道的数据被输出。 2 .2 .4 j t a g中数据传输速度分析 2 .2 .4 . 1 j t a g数据传输路径 通过t d i 接口,在t ms 和t c k控制下,数据的传输主要的路径,首先测 试向量可以加入到设计中,并将设计的响应并行移入到边界扫描单元中,最后 响应可以通过边界扫描单元经t d o端口 移出。 另外一条路径是数据从t d i 串行 载入指令寄存器,在指令寄存器里译码。获得需要的指令,在指令控制下才能 完成测试的功能。 t ms 既是测试模式选择, 用于控制测试模式, 具体说, 由t ms 第 2 3页 第二章 u s b协议与 t a g协议概述 端口输入的控制信号影响控制状态机,从而影响边界扫描链的功能。 2 .2 .4 .2 电路对速度的影响分析 j t a g时钟是指 j t a g仿真器与被连设备的 j t a g接口的数据传输速度 ( t c k ) , 显然用户关心的 是 调试 速度和代码下载速 度, 而对实际的j t a g 接口 的 数据传输速度并不关心。实际上,在满足调试速度和代码下载速度的前提下。 t c k当 然是越低越好, 因为这个速度越低, j t a g电路对目 标板上的影响就越小, 对j t a g电路布线的要求就越低。 而在设计j t a g时考虑到本身数据传输速度和 器件之间的延时,时钟不能太低。仅仅考虑电路处在稳态条件下的工作情况, 没有考虑信号在转换瞬间电路传输信号的速度对电 路工作状态的影响。实际上 这种影响是存在的,有时还比 较严重,甚至会发生逻辑错误, 产生错误的动作。 在数字电路中,这种影响称为竞争一 冒险。 第 2 4页 第三章d s p仿真器驱动程序的总体设计 第三章d s p 仿真器驱动程序的总体设计 第一节概述 目 前,t i 公司d s p芯片的应用越来越广泛,d s p的仿真器是每一个 d s p 开发者必备的工具之一。早期的d s p并口仿真器由于传输速度慢,很难适应开 发者的需求, 而最近t i 公司推出的p c 1 5 6 0 仿真器,由于价格高, 而且使用p c i 接口 , 使得连接十分不方便。为此,本文介绍一种基于u s b 2 .0 接口的d s p仿 真器, 其理论上数据传输速度可以 达到4 4 8 m b / s , 而且u s b接口 可以带电插拨, 使用方便。 本 文 研制的d s p 仿真器以 美国c y p r e s s 公司的u s b 2 . 0 控 制器c y 7 c 6 8 0 1 3 a 为核心, 配置实现i e e e 1 1 4 9 . 1 的j t a g片内扫描协议芯片,实现对d s p片内数 据的读写和传输等功能。整个系统具有小型化、价格低以及制造简单的特点, 该系统可以实现对t i 公司所有系列d s p的仿真, 包括c 5 4 x , c 5 5 x , c 6 x , c 2 4 x , c 2 8 x , o m a p 等。 d s p 开 发 者 可以自 行 按照本 文的 方法研 制仿真 器, 或者将系统 集成到用户的d s p开发板上,从而避免购买高价的d s p仿真器。 第二节 系统硬件结构设计 整个系统以u s b 2 .0 控制器c y 7 c 6 8 0 1 3 a和j t a g扫描芯片a c t 8 9 9 0 为核 心,还包括 e e p r o m、电压转换芯片、总线驱动以及电压比较器。 3 .2 . 1 u s 13 2 .0 控制器c y 7 c 6 8 0 1 3 a c y 7 c 6 8 0 1 3 a是美国c y p r e s s 公司 推出 的u s b 2 . 0 芯片, 是一个全面集成的 解决方案。 c y 7 c 6 8 0 1 3 a主要结构如下:1 个增强的 8 0 5 1 微处理器、1 个智能 串 行接口 引擎( s i e ) , 1 个u s b收发器、1 6 k b片 上r a m ( 其中包括4 k b f i f o ) 存储器和1 个通用可编程 接口g p i f ( g e n e r a l p r o gr a m m a b l e i n t e r f a c e ) 。 这种独 创 性结构可使数据传输率达到4 4 8 m b / s ,即u s b 2 .0 允许的最大带宽。智能s i e可 第 2 5页 第三章 d s p 仿真器驱动程序的总体设计 以硬件处理u s b 1 . 1 和u s 13 2 .0 协议, 从而减少了开发时间, 并确保了u s b的兼 容 性。 g p i f 和主 / 从端点f i f o ( 8 位或1 6 位数 据总 线) 为a t a , u t o p i a , e p p , p c mc i a和d s p 等提供了 简单甚至无缝连接接口,使得和外设的连接十分方便 可 靠 18 1 c y 7 c 6 8 0 1 3 a独特的架构具有如下特点: 今 包括1 个智能串行接口 引擎( s i e ) 。 它执行所有基本的u s b功能, 将嵌 入的m c u解放出来以 用于实现其他功能, 保证持续高速有效的数据传 输。 令 具有 4 k b的大容量 f i f o用于数据缓冲,当作为从设备时, 可采用 s y n c h r o n o u s / a s y n c h r o n o u s f i f o接口 与 主设备( 如 s i c , d s p 等 ) 连接; 当作为主设备时, 可通过通用可编程接口 ( g p i f ) 形成任意的 控制波形来 实现与其他从设备连接,能够轻易地兼容绝大多数总线标准。 . 固件软配置,可将需要在 c y 7 c 6 8 0 1 3 a上运行的固件存放在主机上, 当u s b设备连上主机后,下载到设备上。 这样就实现了 在不改动硬件 的情况下,很方便地修改固件。 . 能够充分实现u s b 2 .0 协议,并向下兼容u s b 1 . 1 协议。 c y 7 c 6 8 0 1 3 a内 部结构如图5 . 1 所示, 其和外部设备的 接口 包括i 1 c总线、 g p i f接口 和 f i f o接口 三种方式。数据通过这些接口 传输到内部的数据和地址 总线,由8 0 5 1 微控制器处理或者直接送到u s b的s i e单元,然后传输到u s b 收发器。此外,图3 . 1中还包括片内的p l l时钟电路,将外部时钟信号连接到 u s b 收 发 器 和8 0 5 1 处 理 器 19 1110 1 图3 . 1 c y 7 c 6 8 0 1 3 a的内 部结构 第 2 6页 第三章 d s p 仿真器驱动程序的总体设计 3 . 2 .2 j t a g扫描芯片a c t 8 9 9 0 a c t 8 9 9 0 是美国t i 公司推出的测试d s p 芯片, 它通过j t a g接口扫描d s p 片内的数据区和程序区,扫描结果通过其内 部的主机模块传输到其他设备上。 a c t 8 9 9 0 实际上是实 现i e e e 1 1 4 9 . 1 的t b c ( t e s t b u s c o n t r o l l e r ) 协议, 从而实现 对d s p 片内空间的访问。 a c t 8 9 9 0 的内部结构如图3 .2 所示。 a c t 8 9 9 0 主要由 队列管理模块、主机模块、串行模块、事件管理器、计数器、命令管理以及读 写 总 线 组 成 ; 1 图3 . 2 a c t 8 9 9 0 的内部结构 队列管理模块和串行模块实现 i e e e l 1 4 9 . 1的扫描协议。队列管理模块通过 s d o从串行模块读取i e e e 1 1 4 9 . 1 的扫描命令, 并通过t ms 5 - 0 引脚通知所访问 的多片d s p , 每个t m s 对应一个d s p 。 队列管理模块将串 行模块中的多 个任务 分配到 e v e n t 3 - 0 引脚,这样可以流水完成任务,从而加快访问速度。 d s p上 的数据通过t d i o - -1 引脚传输到队列管理模块, 队列管理模块首先确定该任务的 状态, 然后根据任务状态确定数据属于哪个任务,最后通过 s d i 将数据传送到 串行模块。 事件管理器实现外部事件的 管理, d s p 可以 通过外部事件来中断i e e e l 1 4 9 . 1 的协议。 事件管理器一般用于d s p 控制协议的过程。在d s p仿真过程中,一般 不使用事件管理器。计数器用于计算各个任务所访问的数据地址,如果d s p通 第 2

温馨提示

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

评论

0/150

提交评论