(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf_第1页
(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf_第2页
(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf_第3页
(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf_第4页
(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(电力系统及其自动化专业论文)基于usb技术的gpib控制器的设计实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t t h eu s bt e c h n o l o g yi sd e v e l o p i n gq u i c k l y , a n dt h em e r i t so fu s bo n d e s i g n ,p r o d u c t i o n ,u s ea n dm a i n t e n a n c ea l ei ne v i d e n c e t h eg p i bs o l v e st h e i n t e r l i n k a g eo ft h ea p p a r a t u si nt h ea u t o - t e s tf i e l d t h eg p i bs y s t e mc a ng e t h i g h e rs p e e d ,a n di ti sm o r ec o n v e n i e n c ea n dc h e a p e rt h a no t h e rs y s t e m c o n s i d e r i n gt h eu s b se x c e l l e n c ya n dg p i b sv i r t u e ,t h ea u t h o rc o m b i n e s u s ba n dg p i b u s b g p i bc o n t r o l l e ri su s e di nt h ef i e l do fs i g n a le x c h a n g e a n dt r a n s f e r , s ot h ee x p l o i t a t i o nc y c l ei sd e e p l yc u t i nt h i sp a p e r , t h eh a r d w a r ea n df i r m w a r eo ft h eu s b g p i bc o n t r o l l e ra r e m a i n l ys t u d i e d f i r s t l yt h ea u t h o ra n a l y s e st h ep r o t o c o lo fu s ba n dg p i b , a n dt h e ns e l e c t st h ec h i p so fu s bi n t e r f a c ea n dg p i bi n t e r f a c e ,c y 7 c 6 8 0 1 3 a n dt m s 9 9 1 4 t h ep a p e rp r e s e n t sad e s i g no ft h eu s b g p i bc o n t r o l l e r t h e p a p e ri sc o n c e n t r a t e d o nd i s c u s s i n gt h e d e s i g nm e t h o do fs o f t w a r ea n d h a r d w a r ea n dt h eh a r d w a r ea r el a i do nt h ef o l l o w i n g :c i r c u i td e s i g no fs y s t e m 、 d e s i g no f 1 2 c b u sa n d d e s i g no ff u n c t i o no fg p i ba n d s oo n t h ec h i p so fu s ba n dg p i ba r ef r a m e do nt h ef i r m w a r e t h i sp a p e r a d o p t s k e i l5 1 ,d e s i g n st h ep r o g r a m m e st o i m p l e m e n t t h eh a r d w a r e f l o w - c h a r ta n ds o m ep r o g r a m m e - e x p l a i n sa r ei n t r o d u c e di nt h i sp a p e r w i n d r i v e ri s a d o p t e dd u r i n g t h ed e s i g no ft h ed r i v e r s w i n d r j v e r p r o v i d e su n i v e r s a ld r i v e r sw h i c hc a nb ec u s t o m i z e db yu s e r s i tt a k e sl i t t l e t i m et od e s i g nt h es y s t e m k e yw o r d s :u n i v e r s a ls e r i a lb u s ;g e n e r a lp u r p o s ei n t e r f a c eb u s ; f i r m w a r e ;w i nd r i v e rm o d e 西南交通大学硕士研究生学位论文第1 页 第一章绪论 1 ,1u s b 技术概述 自从2 0 世纪7 0 年代美国d e c 公司在其小型机p d p i l 2 0 上应用了总线技术 以来,已经出现了多种标准总线。由于总线结构在计算机系统的设计、使用和 维护上有很多优点,因此总线技术得到了飞速发展。u 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 n t e l 、n e c 、 m i c r o s o f t 、i b m 、d i g i t a l 、c o m p a q 、n o r t h e r n t e l e c o m 等七家世界著名的计算 机和通讯公司为了解决传统总线的不足联合制订的,1 9 9 5 由通用串口总线应用 论坛进行了标准化。到现在,u s b 版本已经从u s b i 0 发展到了u s b 2 0 协议。 2 0 0 2 年4 月,u s b 2 0 协议公布,u s b 的使用到达了一个新的时代。u s b 表 现出来的诸多优点使它迅速得到电子设计师们的一致好评。 快速是u s b 的一个特点,u s b 的速度已经从1 5 m b p s 、1 2 m b p s 发展到了 现在的4 8 0 m b p s 且u s b 2 0 向下兼容; u s b 支持四种传输方式,控制传输、同步传输、中断传输和块传输,设 计者可以根据需要选择不同的传输方式; u s b 支持热插拔,插入外设后,计算机能够自动识别这些接口设备并且 配置适当的驱动程序,无需用户再另外重新设置: u s b 以菊花链的形式对端口加以扩展,支持最多5 个h u b 层,可连接1 2 7 个外设,所有外设通过协议共享u s b 的带宽; u s b 接口能为设备提供5 v 电压,电流达到5 0 0 m a : u s b 接口不存在i r q 冲突,它单独使用自己的保留中断,不会与其他插 卡竞争占用有限的p c 资源,适用于所有u s b 接口设备: 提供一种“全球通用”的标准连接器( a 型与b 型) 1 1 。 西南交通大学硕士研究生学位论文第2 页 现在的p c 机几乎都配备了u s b 接口,微软的w i n d o w 9 8 2 k x p ,n t 以及 m a c o s 、l i n u x 、f r e e b s d 等主流操作系统都增加了对u s b 的支持。u s b 的规范能 够针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相 应不同的功能,从而给使用带来极大方便。 1 2 本课题的主要内容 在数据传输部分的设计当中,现在常用p c i 等内置式接口实现p c 机与外围 系统的通信,但是,这些数据采集设备也存在着很多缺点: 价格昂贵; 内置式插卡容易受到机箱内高频信号的干扰影响,从而降低系统的采样 精度和稳定性; 插槽个数是有限的: 仪器电路插卡的安装极其不方便,需要断电,打开机箱。 普通的外置式系统r s 一2 3 2 、4 8 8 串口无论在可靠性还是方便性上,都已经 跟不上系统的要求,而且不便于野外作业,r s 一2 3 2 的速度1 1 5 k b p s 显然成为采 样系统和p c 接口的速度瓶颈。 本设计采用u s b - g p i b 控制器模式。g p i b ( g e n e r a lp u r p o s ei n t e r f a c eb u s ) 通用接口母线,也叫h p i b ,是由惠普公司于6 0 年代末7 0 年代初首先开发出来 的一种实用接口系统。其原始目的是对测试仪器进行控制,由于该系统能够达 到较高的传输速率,组建自动测试系统方便而且费用低廉,所以很快在测量领 域流行起来。虽然近年来也出现了v x i 等更加快速先进的测试总线,但他们大 多价格昂贵,而又麻烦,大多是插卡式的。g p i b 的问世同时也使自动测试中仪 器的互连有了统一的标准。 g p i b 控制器本质上说是一个接口协议转换器。g p i b 是一条数字化的2 4 条 并行总线,由1 6 条信号线和8 条地址线组成,这1 6 条信号线分别为8 条数据 线、5 条控制线和3 条握手线。发送消息方和接收方利用3 条握手线进行三线挂 西南交通大学硕士研究生学位论文第3 页 钩,以保证数据线上的消息( 命令或数据) 准确无误的传送 2 1 。 图l - i 系统外观图 本设计中控制器的外观如图i - i 所示。u s b g p i b 控制器正是在综合了上述 u s b 和g p i b 各自的优点研制开发的。u s b - g p i b 控制器是整个便携式自动测试系 统的核心,对于无外接插槽的计算机和笔记本电脑,以及组建便携式自动测试 系统提供了很好的硬件平台。实现方法是在一台p c 机的u s b 接口上挂接该控制 器,并辅以相应的驱动软件和控制软件即可。 1 3 本论文的章节安排 由以上对设计原理的描述,可以看出本课题的重点主要集中在两个方 面:u s b 接口逻辑的实现和g p i b 接口协议的实现。本人所负责的工作就是设计控 制器的硬件部分和整个固件的开发。 1 u s b 接口逻辑的实现 这部分属于本设计的核心。 u s b 协议部分,笔者选用了c y p r e s s 公司的高集成度的基于2 0 协议的 c y 7 c 6 8 0 1 3 控制芯片。采用单芯片设计方法,用单片e z - u s bf x 2 开发u s b 2 0 外设 具有一定的优势,且它兼容u s b 2 0 和1 1 协议,集成度高,满足数据宽度要求, 外形封装小,对缩短开发周期,加速产品的上市有很大的好处。本文第二章介 西南交通大学硕士研究生学位论文 第4 页 绍了控制器逻辑的硬件电路实现并且详细介绍了所选用芯片的功能结构。 2 g p i b 协议的实现 g p i b 协议的实现采用美国t i 公司生产的一款专用g p i b 接口芯片t m s 9 9 1 4 , 并且辅以相应的外围电路。t m s 9 9 1 4 具有灵活的c p u 接口,可以方便地连接各种 1 6 位或8 位微处理器,并将c p u 发出的消息和信号转化成相应的g p i b 消息和信 号 3 】,以实现g p i b 设备和c p u 及内存之间的通信。 图卜2u s b - g p i b 控制器硬件电路的总体框图 3 固件的开发 由于u s b 和g p i b 接口协议部分都是采用以软件构架实现控制的芯片,所以, 在本设计中还要详细介绍固件程序的开发流程以及程序实现。 开发环境选用k e i l 州i t i o n 2 ,作为目前流行的i d e ( i n t e g r a t e d d e v e l o p m e n te n v i r o n m e n t ,集成开发环境) 是在计算机开发应用软件的过程中, 把编辑、编译、汇编、连接、调试等各阶段都集成在一个程序内,先用编译器 编写程序,接着调用编译器进行编译、连接后直接运行,而不像过去先用编译 器进行编辑后,退出编辑状态再进行编译以及调试后又调用编辑器等不必要的 重复作业因此可以缩短开发周期。 西南交通大学硕士研究生学位论文第5 页 第二章u s b g p i b 控制器的硬件实现 2 1 硬件设计思路 在整个数据传输电路设计中,采用u s b g p i b 控制器的实现方法。u s b g p i b 控制器本质上可以说是一个接口协议转换器。它要实现的功能就是将u s b 通信 协议向g p i b 协议转换,通过p c 机的u s b 接口操作g p i b 仪器。u s b 主芯片实现 与p c 机通信,并且提供t m s 9 9 1 4 的信号线,并且建立两者的通信,最终达到程 控仪器的目的唧。 图2 1控制器设计框图 用户给计算机输入一定的命令,计算机的操作系统会通过驱动程序向u s b 总线上的控制器发起一个相应的数据交换,控制器则把交换中得到的数据转换 成符合g p i b 协议的控制信号和数据信号,这样用户就可以通过对计算机的操作 来控制挂接在g p i b 母线上的各个测量仪器。 西南交通大学硕士研究生学位论文第6 页 2 2 元件的选取 u s b 协议部分采用c y p r e s s 公司基于2 0 协议的c y 6 8 0 1 3 控制芯片,g p i b 协议部分采用t i 公司的t m s 9 9 1 4 控制芯片,这样硬件实现简单且性能稳定。 2 2 1u s b 总线协议简介 一u s b 概述 图2 - 2物理总线拓扑结构 表2 - 1u s b 电缆信号定义 编号信号名称颜色注释 1v b u s红 电源线 2d +自负数据 3d -绿正数据 4g n d黑地线 u s b 能连接5 级h u b ,最多能级连1 2 7 个外设。这1 2 7 个外设在物理连接上 采用的是层叠星型结构如图2 2 所示,但是,物理上的连接并不代表逻辑上的 连接,在u s b 主机与设备之间总是以一一对应的方式进行逻辑连接,以u s b 主 西南交通大学硕士研究生学位论文第7 页 机为中心向外星型辐射扩展结构【6 | 。 u s b 采用四根电缆v 。( u s b 电源) 、d + ( 数据) 、d - ( 数据) 和g n d ( u s b 地) 。其 中两根d + 和d 一是用来传送数据的差动串行通道,v 。和g n d 向设备提供电源。 v m 使用5 v 电源。 二u s 8 总线协议 u s b 接口是以令牌包为主的通讯协议,p c 机掌握总线的主控权。所有的u s b 数据都使用信息包来传送,信息包内含有s y n c 同步字段、p i d 包标志符字段等 特定信息。 u s b 以轮询方式工作,主机控制器端口初始化所有的数据传输。每次传送开 始前,主机控制器发送一个令牌包( t o k e np a c k e t ) ,它指示总线上要执行什么 任务、欲寻址的u s b 设备以及数据传输方向。u s b 设备从解码后的数据包的适当 位置取出属于自己的数据。传输开始时,由标志包来标志数据的传输方向,然 后发送端开始发送含信息的数据包或表明没有数据传输。相应的,接收端也要 发送一个握手的数据包表明是否传送成功。 主机与设备端点之间的u s b 数据传输模型被称为管道,管道有两种类型: 流和消息。流管道中的数据没有确定的u s b 定义的结构,而消息管道却有。管 道还同数据传输带宽、传输服务类型、端点特性有关。多数通道在u s b 设备配 置完成后就存在了。u s b 中有一个特殊的通道缺省控制通道,它属于消息通 道,当设备启动。它就存在,为设备的设置、查询状况和输入控制消息提供一 个入口。 事务预处理允许对一些流管道进行控制,通过发送n a k 握手信号调节数据 传输速率,从而在硬件级上防止了缓冲区的上溢和下溢情况的发生。当否认应 答信号发过后,如果总线还有空闲,就会重试总线传输。这种流控制机制操作 灵活,可以使不同性质的流管道同时正常工作,也可以使多种流在不同时间间 隔进行工作,传送不同大小的数据包。 西南交通大学硕士研究生学位论文第8 页 三u s b 的枚举和重枚举 枚举( n u m e r a t i o n ) 过程是主机与u s b 设备的第一次通信,交换信息来自描 述符表具体内容。目前许多p c 含有的主机控制器,在w i n d o w su s b 类驱动程序 都对这些控制器类型各有一个小类驱动程序,以完成第一次枚举过程f ”。 枚举阶段主要发生在开机初始化和设备突然插拔地过程中。当u s b 设备插 到u s b 总线上,或者从u s b 总线上移除时,总线通过枚举过程确认管理设备的 状态变迁。主机通过集线器查找u s b 总线上的所有设备,使用标准请求设置设 备。它从设备读取各种描述符,并启动该设备,集线器通过它的“状态改变” 端点报告任何新设备的插入或者拔出。在此之后,u s b 系统驱动过程控制对总线 的动作,调动所有的请求来适应可用的带宽。每一个u s b 外设中都有一个描述 符表,描述外设的请求和功能,当把u s b 设备连接到主机上时,要经过几个步 骤进行配置: i 主机向地址0 发送g e t _ d e s c r i p t o r d e v i c e 请求。 i i 外设通过向主机发送i d 数据来告诉主机外设的特征,以响应请求。 i i i 主机向外设发送s e t _ a d r e s s 请求,为外设分配一个唯一的地址,以 区别连在总线上的其他u s b 设备。 i v 主机发送更多的g e t d e s c r i p t o r 请求以获取更多的外设信息。至此, 主机能够获得该设备的所有信息。以上过程称为枚举。 因为u s b 是以固件为框架的“软”结构,所以当外设连接到主机上时,首 先通过u s b 传输线下载u s b 芯片内固件和u s b 描述符,一旦完成下载,该设备 就变为描述符中定义的全新外设,这样就完成了“枚举”。枚举和重枚举 ( r e n u m e r a t i o n ) 都是在外设连接后自动进行的。 c y p r e s s 公司的c y 6 8 0 13 属于c y p r e s s 公司的e z u s bf x 2 系列芯片。f x 2 而言,重枚举的过程有赖于s i e ( 串行接口引擎) 、8 k 的r a m 和1 2 c 总线。在f x 2 高速外设控制器上电以后,无论芯片内部单片机的工作状态如何,s i e 都会通过 端点0 来响应主机的设备配置指令。通过i2 c 总线可将外接e e p r o m 中储存的生 西南交通大学硕士研究生学位论文第9 页 产商标识( v i d ) 、产品类标识( p i d ) 和设备标识( d i d ) 读入到f x 2 内部的8 kr a m 中,再由s i e 把这些描述符提供给主机并接着从主机下载内部8 0 5 1 的监控程序, 以使8 0 5 1 开始工作。外接e e p r o m 也可以用来储存监控程序。在f x 2 上电后, 可以将监控程序直接传输到内部r a m 中供8 0 5 1 运行。反之,8 0 5 1 也可以把程序 通过u s b 上传到主机,或把程序及数据转移到e e p r o m 中。 2 2 2u s b 接口芯片的选择 一控制芯片结构 叶 d - 图2 3c y 7 c 6 8 0 1 3 结构方框图 u s b 主芯片选取了c y p r e s s 公司基于2 o 协议的c y 6 8 0 1 3 控制芯片,如图 2 3 所示该芯片的结构图。 c y 7 c 6 8 0 1 3 集成了以下特性: u s 8 2 0 收发器、s i e ( 串行接口引擎) 和增强型8 0 5 1 微处理器: 8 0 5 1 程序从内部r a m 开始运行: 四个可编程b u l k i n t e r r u p t i s 0 c h r o n o u s 端点; 西南交通大学硕士研究生学位论文第10 页 8 位或1 6 位外部数据接口; 通用可编程接口( g p i f ) ; 3 3 v 电源系统; 矢量u s b 中断; 独立的数据缓冲区供s e t u p 和d a t a 包控制传输; 集成1 2 c 控制器,运行速度可达1 0 0 或4 0 0 k h z ; 四个f i f o ,可与a s i c 和d s p 等无缝连接: 专门的f i f o 和g p i f 自动矢量中断【3 】o 二u s b 工作简介 c y 7 c 6 8 0 1 3u s b 的数据线d + 和d 一通过收发器与芯片内的s i e 直接相连,发 送或者接收外设数据。s i e 集成了可以独立于微控制器而自动处理u s b 总线活动 的硬件,它不需要固件的参与就能响应主机的列举请求,并将设备配置成为缺 省设备。s i e 解码包的p i d ,使用c r c 校验错误,并能够驱动相应的逻辑信号线 对t m s 9 9 1 4 操作,将有效数据传给u s b 设备。c y p r e s su s b 2 。0s i e 能执行u s b 2 0 协议的大部分内容,固件只需要完成余下的传输事务和其他的控制工作,这大 大减轻了用户编写固件的工作量,也使得用户应用时不需调整开发板,直接启 动这部分工作而不必影响其他部分,u s b 就能立即传输数据川。 此外u s b 的f i f o 与经典的f i f o 一样,数据通过s i e 直接传递给f i f o ,然 后,通过8 或1 6 位数据路径,可与外部连接,进行通信。 三f x 2 模式的结构特点 c y 7 c 6 8 0 1 3 芯片属于c y p r e s s 公司推出的e z - u s bf x 2 系列。在e z - u s bf x 2 系列中,提供了独特的“量子( q u a n t u m ) ”f i f o 结构。这种结构使得u s b 接口和 应用环境之间( 外围电路) 直接共享f i f o ,而微控制器可以不参与数据传输,但 是允许以f i f o 或者r a m 的方式访问这些共享f i f o ,u s b 和外围电路直接共享 f i f o 存储器如图2 - 4 所示。这样,就避免了在4 8 0 m b s 的高速模式运行时候, 外部端点成为整个系统的瓶颈。另外,f i f o 与u s b 之间的传输是以数据包的形 西南交通大学硕士研究生学位论文 第1 1 页 式实现,较好的解决了u s b 高速模式下的带宽问题阎。 2 2 3g p i b 芯片的选取 图2 4f x 2 数据传输模式 一g p i b 总线简介 g p i b 接口是目前最常用、最成熟的智能仪器接口,是计算机和仪器之间的 标准通信协议,用于将系统的所有仪器设备连接成一个有机整体。 g p i b 是一个数字化的2 4 脚并行总线,由1 6 条信号线和条地址线组成。 g p i b 使用8 位并行,字节串行,异步通讯方式。也就是所有字节都是通过总线 完成,传送速度由最慢部分决定。g p i b 设备通常采用2 4 芯的两端带插头的屏蔽 电缆连接,其中1 6 条作信号使用,其余作逻辑地或者外屏蔽用。设备以线性方 式或者星型方式来连接,或两者的综合 8 1 。 二o p i b 总线功能 接v i 功能是指系统中各个设备和总线连接时接收、发送和处理消息的能力。 根据g p i b 标准,有十种接口功能: s h ,源方挂钩功能: a h ,受方挂钩功能; t ,讲者功能; l ,听者功能; c ,控者功能: 西南交通大学硕士研究生学位论文第12 页 s r ,服务请求功能; r l ,远地本地功能; p p ,并行查询功能; d t ,仪器触发功能; d c ,仪器清除功能。 每一个接口功能由一组或者多组相互关联又相互排斥的状态来定义。在一 个时刻,组互连又排斥的状态中必须有一个而且也仅有一个状态在起作用。 在i e e e 4 8 8 4 协议中对接口功能的每一个状态还作了两方面的规定: 一 当某个状态在起作用时,在接口上可以或必须发送的信息。 在什么条件下接口功能必须脱离某一状态而进入同一组状态的另一个 状态。 三g p i b 三线连锁挂钩 三线连锁挂钩就是源方通过d a v 、n r f d 、n d a c 三条握手线来控制,实现向 受方传输信息的过程。一般情况下,源方就是“讲者”;受方就是“听者”【s j 。 三线挂钩也可以用流程图来表示。用三线连锁挂钩,使数据传输过程中具 有不同速率的源、受者之间能够实现自动协调,保证数据传输的可靠性i s 。源功 能和受功能只对源、受之间起互相招呼和联系的作用,不能直接去执行发送和 接收数据的任务,这一任务是由讲功能和听功能完成的。所传输的信息要按规 定进行编码才能为内部接口电路所吸收。 西南交通大学硕士研究生学位论文第1 3 页 d 1 0 1 - 8 d a y 高 腿f d 低 第一个数据字节 图2 - 5挂钩过程中信号的时间关系 d 1 0 1 8 )d 1 0 1 8 源受 d vd a 力方 n i t f dn r f d n d a cn d a c 图2 - 6三线挂钩流程图 西南交通大学硕士研究生学位论文第14 页 2 3 硬件电路的实现 2 3 1g p i b 部分的硬件实现 如图2 - 7 所示g p i b 协议部分实现的原理图。 图2 7g p i b 协议部分的原理图 整个接口的实现需要配套的总线收发器7 5 l s l 6 0 和7 5 l s l 6 2 来配合。 7 5 l s l 6 0 和7 5 l s l 6 2 是符合g p i b 协议的8 通道双向收发器,具有低功耗、高输 入阻抗。这两个收发器将输入的信号驱动到g p i b 母线所需要的驱动电流,并且 控制信号传送的方向,它们的输出直接接到g p i b 母线上。其中7 5 l s l 6 0 驱动g p i b 数据线,7 5 l s l 6 2 驱动g p i b 管理线和挂钩线。7 5 l s l 6 0 是非转换型的收发器, 只控制方向,对输入输出的数据不进行变换,即输入输出的数据是一样的。 西南交通大学硕士研究生学位论文第15 页 7 5 l s l 6 2 的s c 信号接高电平时,表示可实现系统控者,否则不行,设计中这个 引脚通过个缓冲电阻接高电平 3 】。 2 3 2u s b 接口的电源供电 设计种采用了u s b 总线供电方式 9 1 。 如图2 - 8 所示。u s b 接口从p c 机能获取的电压为5 v ,而u s b 控制芯片c y 6 8 0 1 3 的工作电压为3 3 v ,g p i b 控制芯片t 溺9 9 1 4 的工作电压为5 v ,所以本设计中选 用了m a x i m 公司的m a x 8 8 2 进行电压变换。从p c 经u s b 电缆到b 端口来的5 v 电 源,经去耦合和滤波电路后直接提供给系统中要求在5 v 正常工作的芯片,如 t m s 9 9 1 4 ,7 5 l s l 6 0 ,7 5 l s l 6 2 等,而经m a x 8 8 2 分压后得到3 3 v 则提供给u s b 控制芯片c y 7 c 6 8 0 1 3 以及l v c 2 4 5 。这样就可保证整个控制器正常工作。电路中 应用了s n 7 5 2 4 ,是专门为u s b 接口电路设计,抑制u s b 数据线的瞬时电气噪声。 c l 】j u f u s s 图2 - 8u s b 接口的电源供电 2 3 3 串行1 2 0 总线的设计 一1 2 c 总线简介 1 2 c 是双线串行总线【”,由两根线组成:s c l 和s d a 。其中s c l 是作为数据传 输的时钟线,s d a 是作为数据传输的串行线。总线上的每一次数据传送,都是由 西南交通大学硕士研究生学位论文 第16 页 黜_ 1 叶厂、中 吼际八* 图2 - 9开始和停止对序 表2 - 2 2 4 l c 6 4 的地址位表 s c l f r o m m a s t e r d 凸r 6 。l n 小厂、厂一、几| 门 - t , - - - x 2 _ _ := = ) 二二冉 图2 一1 0 应答信号时序 当主器件发送完起始控制命令之后,地址与自己相符的从器件会产生个 应答位,进行读还是写操作,由r w 决定。 二l2 c 电路工作原理 系统上电后,u s b 内核首先检查1 2 c 总线上是否有e 2 p r o m 。如果有,并且 其第一位数据是o x c 2 ,则e z u s bf x 2 将酽p r o m 中的内容全部拷贝到内部r a m 西南交通大学硕士研究生学位论文第17 页 中,然后重列举,并开始执行r a m 中的f i r m w a r e ;若第一位数据是o x c o ,则 e z - u s b 从e z p r o m 中读取p i d 产品标识号v i d 生产商标识号d i d 设备标识号 来代替内部存储值并送给主机,主机根据这些信息加载相应的驱动程序,下载 相应的f i r m w a r e ,然后e z u s bf x 2 重新连接,完成重列举,并开始执行r a m 中 的f i r m w a r e ;如果第一个字节既不是o x c 2 ,又不是o x c o ,或者没有发现e 2 p r o m , 则主机只能从e z u s b 内部存储的描述符中读取p i d v i d d i d ,完成设备的 重列举。f x 2 缺省的p i d v i d d i d 是o x 0 4 8 4 0 x 8 6 1 3 o x x x y y 。 v c c 1 2 i 3 ij j 一 r 82 2 k 、, v 一 r 92 2 k s c l s d l 刘 体乞 l 峭 图2 一l l 串行i c 总线的设计 在写1 2 c 总线过程序中,不一定非要检测i z c 总线的应答位,可以直接延时 过去就行,但是在读过程中必须给应答信号,读完发停止位,以便确认所发的 信号都发上了。否则,在连续地址读的过程中可能不会出错,但是在随机读过 程中就会出错,如果在程序在给停止信号时没有给上,2 4 l c x x 一直在输出数据, 结果读数据会出错。调试2 4 l c x x 时最好不要读写连续地址,这样容易造成巧合 因素导致疏忽。 所选的串行e 2 p r o m 芯片2 4 l c 6 4 ,它的控制字节是第一个跟主设备进行通信 的字节。它包括4 个控制代码位和三个片选位,在2 4 x x 6 4 系列中控制位被设置 焉虮竺 匠一 西南交通大学硕士研究生学位论文第18 页 为二进制代码0 1 0 1 以控制读和写,而片选位a 2 ,a 1 ,a 0 允许在同一总线上存 在8 个2 4 x x 6 4 系列,a 2 ,a 1 ,a 0 选择由哪个设备参与工作。 2 3 4 核心电路的实现 一电平转换实现 由前边的硬件框架可以看到,电路中的c y 7 c 6 8 0 1 3 芯片和t m s 9 9 1 4 芯片进 行信号传递与交换,但是c y 7 c 6 8 0 1 3 芯片的工作电压是3 3 v ,而t m s 9 9 1 4 工作 电压为5 v ,为了防止电流过激或者是驱动能力不够,设计中采用了三态缓冲 7 4 l v c 2 4 5 作为3 3 v 和5 v 电压之间的驱动转换。两个芯片之间必须连接个 7 4 l v c z 4 5 才能正常工作。 二核心电路的硬件框图 c y铲 t s 9 9 1 4 6 5 0 1 3 础 面日卜n 删:i2 4 5一l ,7 c 剧 二| 图2 1 2 硬件核心电路图 三控制器通信实现 本设计中复用8 0 5 1 的地址线和数据线,再利用c y 7 c 6 8 0 1 3 中的读写信号进 行逻辑通信。 t m s 9 9 1 4 内部有7 个写寄存器和6 个读寄存器,通过读写控制信号和三根 地址线实现对寄存器的寻址。用户对g p i b 母线上状态的控制和数据的收发都是 通过对内部寄存器进行相应的读写来完成,因此实现整个控制逻辑的关键就是 提供t m s 9 9 1 4 的控制信号且满足时序要求。t m s 9 9 1 4 芯片中,d o d 7 是双向数据 西南交通大学硕士研究生学位论文第19 页 总线,控制u s b 本地数据总线的低8 位和g p i b 母线的数据总线的通信,r s o r s i 是本地地址,实现对t “s 9 9 1 4 内部1 3 个寄存器的寻址,c s 是t m s 9 9 1 4 的片选信 号,低电平有效,d b i n 是芯片的读控制信号,高电平有效。 c y 7 c 6 8 0 1 3 的读时序写时序如图2 - 1 3 和2 1 4 弼;t m s 9 9 1 4 的读写时序如图 2 1 5 和2 - 1 6p l 。 r z 厂乙- 1 ) 叽 士 k 一i 胃 h t l r - 叫 v 一 n| 、|l :l 4 鼍1 - h 1 月 图2 1 3c y 6 8 0 1 3 的数据读时序 h 广 厂 厂 厂 -dhh t r a m 卜j h 一为 l i 、, m卜 、i, 呵 o a 血- 州 图2 1 4c y 6 8 0 1 3 芯片的数据写时序 洲 咻 槲 咐 哪 kc 一 一 瑚 籼 西南交通大学硕士研究生学位论文第2 0 页 艇 图2 1 5t m s 9 9 1 4 读时序 卜q i c 目叫 i ; 图2 1 6t m s 9 9 1 4 写时序 当c y i c 6 8 0 1 3 芯片的积管脚为高,表示对外部寄存器进行读操作;t i s 9 9 1 4 的d b i n 为高,可以对某个寄存器进行读操作。c y 7 c 6 8 0 1 3 芯片的w r 管脚为低有 效,表示可以对外部寄存器进行写操作:t m s 9 9 1 4 的d b i n 为低,9 9 1 4 中某寄存 器执行写操作。w e 和d b i n 同时为低时,表示向t m s 9 9 1 4 写入信号,w e 和d b i n 同时为高时,表示从t m s 9 9 1 4 读取数据。如果一高一低则表示无效,这种方法 提高传输的抗干扰性。 帆 孺 删 嗷 埘 帆 孺 嗍 一 一 r 西南交通大学硕士研究生学位论文第2 1 页 所以,c y 7 c 6 8 0 1 3 芯片的管脚w r 可以直接与t m s 9 9 1 4 中的w e ( 写信号线) 相 连,而r d 须经过方向才能与d b i n 相连接。 f x 2 有8 k 片上r a m ,位于o x o o o o o x l f f f ;5 1 2 字节s c r a t c hr a m ,位于 o x e o o o o x e i f f 。尽管s c r a t c hr a m 从物理上来说位于片内,但是通过固件可 以把它作为外部r 删一样来寻址。软件编写设计设置a 1 5 ,a 1 4 ,a 1 2 为高电平, a 1 3 为低电平,这样地址以“o x e o * * ”开头可满足要求。 2 4 印刷电路板的制作 电路板尺寸和布线层数需要在设计初期确定。板的大小有助于确定层叠方 式和印制线宽度,实现期望的设计效果。近几年来,多层板之间的成本差别已 经大大减小。在开始设计时最好采用较多的电路层并使敷铜均匀分布,以避免 在设计临近结束时才发现有少量信号不符合已定义的规则以及空间要求,从而 被迫添加新层。在设计之前认真的规划将减少布线中很多的麻烦。 西南交通大学硕士研究生学位论文第2 2 页 第三章u s b 数据传输系统的固件设计 在u s b 设备与主机正常通信之前,主机必须检测并配置设备,所以用户必 须编写固件程序代码,响应主机的控制请求命令,并能够提供描述符,使主机 了解设备的功能,开始与设备的正常通信。另外,固件还要完成正常的数据传 输功能。 3 1 固件准备工作 3 。1 。1 固件的工作 所有基于微控制器及其外围电路的功能设备的正常工作都离不开固件的参 与,固件的作用就是控制硬件来完成预期的设备功能。没有固件的参与和控制, 硬件设备只能是芯片的简单的堆砌,正如同没有安装操作系统的计算机一样, 没有任何意义。固件的工作主要分为以下几个步骤: 初始化工作:包括设置一些特殊功能寄存器的初值以实现设备属性或者功 能,例如开中断,使能端点,配置端口。 重新列举;辅助硬件完成设备的重列举过程,包括模拟设备的断开与重新 连接,对接收到的设置包进行分析判断,从而对主机的设备请求作出适当的响 应,完成主机对设备的配置任务。 中断处理; 数据的接收和发送; 外围电路的控制。 西南交通大学硕士研究生学位论文第2 3 页 3 1 2 固件程序规划 电源打开后重置 上 】始设置状态变量 图3 - i固件架构流程图【4 西南交通大学硕士研究生学位论文第2 4 页 使用e z u s bf x 2 芯片进行u s b 的开发过程,可利用芯片提供的固件架构 ( f r a m e w o r k ) 来简化固件的开发。这个框架可以执行e z u s bf x 2 芯片的初始化、 u s b 标准设备请求的处理和发送数据的通信代码,以及控制外围电路的程序代 码。图3 一l 所示固件架构流程图。 这个框架实现了简单的互操作的任务执行器,程序开始执行,固件架构 就会执行以下的步骤: 1 初始化所有的内部变量。 2 调用用户的初始化程序函数t di n i t 0 ,进行用户自定义变量的初始化 工作。 3 在完成全局变量的初始化工作之后,程序框架就会将u s b 接口初始化 为未配置状态,并且使能中断。 4 程序以一秒钟为间隔开始重新列举( r e n u m e r a t i o n ) 设备( 也就是软件 模拟设备断开和重新连接) ,直到端点0 收到设置包为止。 i 调用函数t d _ p o l l 0 函数。 t dp o l l0 函数应当包括一个执行用户外围功能的状态机,在从这 个函数返回主函数之前,高优先级的任务应该首先被执行。然而如果 没有成功的从这个函数返回的话,固件程序对设备请求和u s b 挂起事 件的响应将会被阻止。如果该函数内的任务需要大量的处理时间,那 么这些任务必须被分割到多个t d _ p o ll ( ) 函数的调用中执行。 i i 判断是否有标准设备请求等待处理。 如果有,任务处理器就分析收到的命令请求,并且作出适当的响 应。 i i i确定u s b 内核是否报告了u s b 挂起事件。 如果有,则调用用户函数t d _ s u s p e n d 0 ;如果能够成功返回,任 务处理器就测试一个恢复( r e s u m e ) 事件:如果没有检测到恢复事件, 西南交通大学硕士研究生学位论文 第2 5 页 处理器就被设置到挂起模式;如果检测到一个恢复事件,便会调用用 户函数t d 。标准和供应商特定的设备请求也是由程序框架分_rsume0 析和执行的。在缺省情况下,任务处理器将会按照u s b 规范的定义来 响应给定的标准请求。此外,固件架构提供了许多钩子( h o o k ) 程序, 并且使其成为一个完整的分析器m j 。 这样就可以允许用户的代码处理或者覆盖掉特定的设备请求,从而为用户 提供很大的灵活性,并减轻了用户设计固件程序代码的负担。 3 2 主程序 3 2 1 程序初始化 主程序所要做的工作其实就是上面提到的初始化、重列举和设备响应请求。 主程序中首先进行的是一些全局变量的初始化工作,这些全局变量是被作为状 态标志位使用,固件程序可以利用这些状态变量了解u s b 设备所处的状态与属 性,并控制固件程序的运行。 s l e e p :表示u s b 芯片是否进入挂起状态的标志。当u s b 总线上3 m s 没有 检测到传输事务,芯片就进入挂起状态,并产生挂起中断。在中断服务程序中, 该标志位被设置为真,主程序检测到该标志位后,就会将处理器置为空闲模式 ( 8 0 5 1 的特殊功能寄存器p c o n 的第0 位置为高) 。 r w u e n :表示设备是否使能远程唤醒功能的标志。这个变量可以经过主机 发送s e r f e a t u r e0 和c l e a r f e a t u r e0 请求,进行设置和清除。 s e l f p w r :表示设备是否为自供电模式。此设置可以在设备操作过程中动 态地改变。 g o t s u d :标志端点0 是否接到了设置数据。当端点0 收到设置数据后就 会产生中断,在中断服务程序中,该标志位被设置为真表示收到了设置数据。 西南交通大学硕士研究生学位论文第2 6 页 当主机检测到该标志位为真时,就会调用专门的设置命令处理函数进行分析和 处理。 c o n f i g u r a t i o n :表示当前所选择的配置和标号。主机可以发送 s e t s o n f i g u r a t i o n 0 标志请求进行设置,如果该变量变为零,则说明设备未配 置。 初始化全局变量后,程序调用t d _ i n i t0 函数,代码如下: v o i dt d _ i n i t ( v o i d ) c a l l e do n c ea ts t a r t u p fc p u c s = ( ( c p u c s b m c l k s p d ) ib m c l k s p d i ) ;设置c p u 时钟为 4

温馨提示

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

评论

0/150

提交评论