(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf_第1页
(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf_第2页
(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf_第3页
(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf_第4页
(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(机械电子工程专业论文)基于fpga的usb通信系统的设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着科学技术水平的不断提高,数字集成电路被广泛应用。通用串行总线u s b ( u n i v e r s a ls e r i a lb u s ) 是计算机与外围设备互连的标准接口之一,是一种点对点的通 信接口,可同时支持多个外围设备。u s b 2 0 规范的通信速率非常高,其峰值可达 4 8 0 m b i t s ,使得它已经成为目前最流行的外设接口标准。f p g a 芯片是今后电子产品发 展的趋势,带有u s b 接口的f p g a 系统将有很好的市场需求和发展前景。 论文主要从研究f p g a 的结构、x i l i n x 公司s p a r t a n 3 f 系列中的x c 3 s 4 0 0 的引脚功 能、了解f p g a 开发流程、熟悉u s b 2 0 的通信协议以及驱动的一些基本知识入手,目 的是完成带有u s b 接口的f p g a 的p c b 板的制作和f p g a 内部程序的编写以及u s b 固件的开发。结合了c y p r e s s 公司的上位机,开发了基于u s b 接1 2 1 的f p g a 和p c 机通 信系统,能够进行数据传输。论文研究了x i l i n x 的3 s 4 0 0 芯片的内部结构和各个引脚的 功能,设计了关于x i l i n x 的3 s 4 0 0 最小系统电路图,在x i l i n x 的f p g a 的开发环境,编 写了f p g a 的代码。由于f p g a 内嵌的u s b 2 0 的内核价格昂贵,需要向生产f p g a 的 芯片厂商购买,因此论文选择了外接u s b 芯片,虽然增加了p c b 板的面积,但其开发 成本较低,且技术成熟,大多数u s b 通信研究者进行广泛研究。论文在详细介绍了 u s b 2 0 的通信协议,c y p r e s s 公司生产的c y 7 c 6 8 0 1 3 芯片的结构,以及其固件的开发 基础上,开发了基于f p g a 的u s b 与p c 机的通信系统,该通信系统可以和上位机进行 点对点的数据传输,为大批量的数据通信产品的开发提供了研究和生产的基础。 关键词:f p g a ;u s b ;数据通信 大连交通大学t 学硕十学位论文 a b s t r a c t d u r i n gt h es c i e n c ea n dt e c h n o l o g i e sd e v e l o p m e n ti nt o d a y sw o r l d ,d i g i t a li n t e g r a t e d c i r c u i t sa r ew i d e l yu s e d u n i v e r s a ls e r i a lb u si so n eo ft h es t a n d a r di n t e r f a c ef o r c o m p u t e ra n dp e r i p h e r a lc o m p o n e n t i ti s ak i n do fp o i n tt o p o i n tc o m m u n i c a t i o n i n t e r f a c e ,a n di tc a ns u p p o r tm o r ep e r i p h e r a lc o m p o n e n t s t h et r a n s m i s s i o nr a t eo f u s b 2 0s p e c i f i c a t i o ni sv e r yh i g h ,i t sp e a kv a l u ei s4 8 0 m b i t s ,s ou s b 2 0s p e c i f i c a t i o n h a sb e c o m et h em o s tp o p u l a 耳p e r i p h e r a li n t e r f a c es t a n d a r d f p g ac h i pi st h e d e v e l o p m e n t a lt r e n df o rf u t u r e e l e c t r o n i cp r o d u c t s ,a n df p g as y s t e mw i t hu s b i n t e r f a c ew i l lh a v eag o o dm a r k e td e m a n da n dag o o dp r o s p e c t t h ep a p e rd e s c r i b e sf p g as t r u c t u r e ,x c 3 s 4 0 0p i n sf u n c t i o n s ,f p g ad e v e l o p m e n t p r o c e s s ,a n du s b 2 0c o m m u n i c a t i o np r o t o c o la sw e l la ss o m eb a s i ck n o w l e d g e s ,t h ea i mi s t od e s i g nf p g a sp c bw i t hu s bi n t e r f a c e ,f p g ap r o g r a m m i n ga n du s bf i r m w a r e p a p e r i n t r o d u c e sc o m m u n i c a t i o ns y s t e mb e t w e e nf p g aa n dp c ,c o m b i n i n gc y p r e s sc o m p a n y s h o s tc o m p u t e r ,a n dt h es y s t e mc a nt r a n s f e rd a t a s p a p e rd e s c r i b e s3 s 4 0 0c h i p si n t e r n a l s t r u c t u r ea n df u n c t i o n s ,d e s i g n e sm i n i m u ms y s t e mc i r c u i ta b o u tx i l i n x3 s 4 0 0 ,a n dp r o g r a m s i nt h ex i l i n x sf p g ad e v e l o p m e n t a le n v i r o n m e n t t h ee m b e d d e du s b 2 0i pi nf p g ai s v e r ye x p e n s i v e ,a n dt h ei pi sn e e d e dt ob u yf r o mt h ef p g a sm a k e r s ,s op a p e rc h o o s e sa n e x t e r n a lu s b c h i p a l t h o u g ht h ec h i pi n c r e a s e sp c ba r e a ,i t sd e v e l o p m e n t a lc o s ti sl o w a n d t e c h n o l o g yi sm a t u r e ,s om o s tu s b r e s e a r c h e r su s ei te x t e n s i v e p a p e rd e s c r i b e st h ed e t a i l u s bc o m m u n i c a t i o np r o t o c a l ,t h es t r u c t u r eo ft h ec y 7 c 6 8 0 1 3 ,a n di t sf i r m w a r e ,d e v e l o p s t h ec o m m u n i c a t i o ns y s t e mb a s e do nf p g a t h ec o m m u n i c a t i o ns y s t e mc a nt r a n s f e rd a t a s w i t hp c ,a n dp r o v i d eb a s e m e n tf o rl a r g ed a t a sc o m m u n i c a t i o n k e yw o r d s :f p g a ;u s b ;d a t ac o m m u n i c a t i o n i i 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太董銮通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:爰职莎敬 日期:乃97 年踢月二日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太蓬交通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太整童通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太整塞通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太整交通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 、 又。 ( 保密的学位论文在解密后应遵守此规定) 学位+ 论文作者鲐曼蜗 导师签名:差面也 日期:砌7 年i 月刀日 日期: 加。7 年1 2 , 月砂日 学位论文作者毕业后去向:靠毫业 工作单位:习咖动 蜩南妫谗众习。电话:鸬髟9 口量7 p 7 形 通讯地址:a 嘶谑面三趋超羽鳓舻鼢d 易邮编:肋口口 电子信箱:甄耐酞61 1 d 。d 昭易m 第一章绪论 第一章绪论 可编程逻辑器件起源于2 0 世纪7 0 年代,是在专用集成电路的基础上发展起来的一 种新型逻辑器件,是数字系统的主要应用平台,其主要的特点是完全由用户通过软件设 计进行配置和编程,从而完成一定的功能,并且,具有反复擦写的作用。如今,可编程 器件的经历了4 个发展阶段,在第一阶段中,可编程器件只有简单的可编程只读存储器 p r o m ,紫外线可擦除只读存储器e p r o m 和电可擦除只读存储器e e p r o m 三种,由 于结构的限制,它们只能完成简单的数字逻辑功能。第二阶段出现了结构上稍微复杂的 可编程阵列逻辑p a l 和通用阵列逻辑g a l 器件,正式被称为p l d ,能够完成各种逻辑 运算功能,p l d 能以乘积和形式完成大量的逻辑组合。第三阶段是由x i l i n x 和a l t e r a 分别推出了与标准门类似的f p g a 以及类似于p a l 结构的扩张性c p l d ,提高了逻辑运 算的速度,具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这一阶段, f p g a 和c p l d 器件在制造工艺和产品性能方面都获得了长足的发展。2 0 世纪9 0 年代 末到目前为第4 阶段,出现了可编程的片上系统和片上系统技术,各f p g a 厂商都推出 了相应的s o cf p g a 产品,系统门数超过了百万门,内嵌了硬核高速乘法器、吉比特差 分串行接口、时钟频率高达数百兆的p o w e r p c 微处理器等n 1 。随着可编程逻辑器件的发 展壮大,研究新一代的p l d 成为当前的主要任务,在这里,论文选择了f p g a 作为主 要的研究对象。 表1 1 常用计算机接口的性能对比( 典型值) t a b l e 1 1p e r f o r m a n c ec o n t r a s to fc o m m o n l yu s e dc o m p u t e ri n t e r f a c e ( t y p i c a lv a l u e ) 接口类型数据格式传输速率( b s )最大设备数爪电缆长度是否支持热插拔 u s b 串行 1 2 m 、1 2 m 、4 8 c i m1 2 6 无是 r $ 2 3 2 串行 2 0 k21 5 m 3 0 m否 r s 4 8 5 串行 1 0 m3 21 2 0 0 m否 e e 1 3 9 4串行4 0 0 m ,3 2 g 6 3 1 s i n是 并行端口并行 8 m 2 或8 3 9 m 否 p c i 并行 1 0 5 6 m ,2 1 1 2 m否 u s b 是一种应用在计算机领域的接口技术,和目前流行的其它主流通信设备相比, 不仅速度比较快,而且支持的设备也比其它的接口支持的设备要多的多,表1 1 对比了 常用的计算机接口性能,从中可以看出,和其他接口相比,u s b 接口具备的特点。u s b 接口主要目的是为了取代现有计算机的各种外围接口,具有即插即用、热插拔、低成本、 接口体积小等诸多优点。它的出现大大简化了p c 机和外设的连接过程,可以说,u s b l 大连交通大学t 学硕十学何论文 的出现使计算机外设连接技术发生了重大的变革。随着u s b 2 0 的通信协议取代了1 o 协议之后,u s b 接口技术有了跨越式的发展,u s b 的传输速率有很大幅度的提高,其 峰值能够达到4 8 0 m b s 乜1 ,这使得u s b 接口技术成为数据传输及数据采集的重要接口之 一,于是,研究u s b 的通信成为重点工作。 论文主要包括四方面的内容,在第二章中首先介绍了f p g a 芯片和u s b 接口芯片 的选择及各自的内部结构,关于芯片的选择是该课题中比较重要的一部分,因为u s b 接口芯片的选择决定了u s b 的传输速率,为了得到较高的传输速度,甚至是高速传输, 在这里论文选择了c y p r e s s 公司的e z u s bf x 2 系列中的c y 7 c 6 8 0 1 3 芯片作为接口芯 片,该芯片是世界上第一款带有u s b 2 0 协议的接口芯片,能够以高速4 8 0 m b s 的速度 进行传输,而f p g a 芯片选择的是x i l i n x 公司生产s p a r t a n 3 f 系列中的x c 3 s 4 0 0 ,该芯 片是性价比较高的一款芯片,因为外部引脚高达2 0 8 个,所以在用于u s b 传输的同时, 还可以进行其他功能的开发。而f p g a 的配置芯片则选择了x c 3 s 4 0 0 对应的串行配置 芯片x c f 0 2 s ,该芯片的p r o m 达到2 m ,可以进行大容量的程序存储。在第三章中主 要根据第一章中选择的芯片介绍了一个完整的f p g a 关于u s b 通信系统的设计,整个 设计包括了电源的设计,复位电路的设计,配置芯片的接口设计,u s b 接口芯片的设计 和f p g a 接口的设计,该设计能够通过外接数码管和存储芯片来完成数据的传输,数码 管显示的数据来验证通信数据是否正确。在第四章中,为了能够了解u s b 通信的具体 情况,论文介绍了u s b 通信的一些标准和相关协议,这部分的内容为后面介绍 c y 7 c 6 8 0 1 3 的通信原理及寄存器的设置做了前期说明,为u s b 固件程序的初始化和特 殊功能寄存器的赋值介绍了理论依据。最后一章介绍了关于f p g a 的硬件编程语言,这 里,使用的是v e r i l o gh d l 语言作为编程语言,所以对其进行了简单的介绍,之后说明 了f p g a 的开发流程,接下来在论文中介绍了f p g a 引脚的配置及内部程序的编写,以 及c y 7 c 6 8 0 1 3 中的固件程序的编写,论文中给出了初始化程序。本章中图1 1 介绍了 整个通信过程的结构框图。 岭圈 臼日 图1 1 通信系统的结构图 h g 1 1s t r u c t u r ed i a g r a mo fc o m m u n i c a t i o ns y s t e m 2 第二章芯片的选择及其内部结构 第二章芯片的选择及其内部结构 本章详细介绍了关于f p g a 芯片和u s b 接口芯片的选择以及它们的每部结构和功 能介绍,为设计硬件电路和编写程序提供了依据。 2 1f p g a 芯片的选择及内部结构 f p g a 的英文全称为f i e l d - - p r o g r a m m a b l eg a t ea r r a y ,翻译成中文是现场可编程门 阵列。x i l i n xs p a r t a n 3 系列是f p g a 中成本较低的芯片,可以实现最低的器件成本和最 低的系统总成本。该系列芯片在之前芯片的基础上增加了更多的逻辑门数量,内嵌r a m 的容量得到提升,拥有更多的i o 口数量,并且,通过改善时钟管理功能使能芯片的整 体性能有了进一步的提高。该课题采用s p a r t a n 3 系列中较为基础的x c 3 s 4 0 0 p q 2 0 8 芯片, 系统门数为4 0 0 k ,等效逻辑单元8 0 6 4 ,分布式r a m 容量5 6 k b ,块r a m 容量2 8 8 k b , 专用乘法器5 个,数字时钟管理单元4 个,最大的用户i o 数1 4 1 个。该系列芯片提供 了一个可替代传统定制a s i c ,设计的功能强大、成本经济的灵活的替代解决方案。具 有如下主要特色:首先,具有高密度和高存储量:3 s 4 0 0 的器件密度范围为4 0 0 k ,结合 嵌入式块r a m 和分布式r a m 单元,从而可支持高效率的设计实施并可提供最佳的性 能。其次,可提供多达1 4 1 个i o 的交错排列引脚技术:3 s 4 0 0 器件针对在更小的芯片 基础上提供最多的i o 数量而优化,采用了双环交错排列i o 引脚技术,提供最低的逻辑 门成本和最多的i o 数。 f p g a 的内部结构主要由7 个部分组成,分别是可编程输入输出单元、基本可编程 逻辑单元、完整的时钟管理模块、嵌入式块r a m 、丰富的布线资源、内嵌的底层功能 单元和内嵌专用硬件模块。 ( 1 ) 可编程输入输出单元( i o b ) 可编程输入输出单元简称i o 单元,是芯片与外界电路的接口部分,完成不同电气 特性下对输入输出信号的驱动与匹配要求,提供输入缓冲、输出驱动、接口电平转换、 阻抗匹配以及延迟控制等功能。其一般结构如图2 1 所示。通过软件的灵活配置,可适 配不同的电气标准与i o 物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。 目前,i o 口的频率也越来越高,一些高端的f p g a 通过d d r 寄存器技术可以支持高达 2 g b i t s 的数据传输速率。外部输入信号可以通过l o b 模块的存储单元输入到f p g a 的 内部,也可以直接输入到f p g a 内部。为了便于管理和适应多种电气标准,f p g a 的i o b 被划分为若干个组( b a n k ) ,每组都能够独立的支持不同的i o 标准,每个b a n k 的接口 标准由其接口电压v 啪决定,一个b a n k 只能有一种v i 湖,但不同的b a n k 的v o o o 可以不 同。只有相同电气标准的端口才能连接到一起,v 伽电压相同是接口标准的基本条件。 3 大连交通大学t 学硕+ 学位论文 ( 2 ) 可配置逻辑块( c l b ) 外部、6 日输入 图2 1l o 单元结构 f i g 2 1s t u c t u r eo ff ou n i t 图2 2c l b 结构 f i g 2 2s t r u c t u r eo fc l b c l b 是f p g a 内的基本逻辑单元。c l b 的实际数量和特性会依器件的不同而不同, 但是每个c l b 都包含一个可配置开关矩阵,此矩阵由4 或6 个输入、一些选型电路( 多 路复用器等) 和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合 逻辑、移位寄存器或r a m 。在x i l i n x 公司的f p g a 器件中,c l b 由多个( 一般为4 个 或2 个) 相同的s l i c e 和附加逻辑构成,其结构如图2 2 所示。每个c l b 模块不仅可以 4 第二章芯片的选择及其内部结构 用于实现组合逻辑、时序逻辑,还可以配置为分布式r a m 和分布式r o m 。s l i c e 是x i l i n x 公司定义的逻辑基本单位,它的内部结构如图2 3 所示,一个s l i c e 由两个4 6 输入查找 表、算术逻辑、进位逻辑、存储逻辑和函数发生器组成。算术逻辑包括一个异或门 ( x o r g ) 和一个专用与门( m u i :r a n d ) ,一个异或门可以使一个s l i c e 实现2 位全加 操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器 ( m u x c ) 组成,用于实现快速的算术加减法操作;4 输入函数发生器用于实现4 输入 l u t 、分布式r a m 或1 6 位移位寄存器u 。 图2 3s l i c e 的内部结构 f i g 2 3s t r u c t u r eo fs l i c e ( 3 ) 布线资源连通 f p g a 内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传 输速度。f p g a 芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不 同而划分为4 类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复 位或置位的布线;第二类是长线资源,用以完成芯片b a n k 问的高速信号和第二全局时 钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第 四类是分布式布线资源,用于专有时钟、复位等控制信号线。在设计f p g a 程序的时候, 通常不需要直接选择布局布线资源,实现过程中由布局布线器根据输入的逻辑网表的拓 扑结构和条件选择可用的布线资源连通所用的底层单元模块。 ( 4 ) 数字时钟管理模块( d c m ) x i l i n x 推出最先进的f p g a 提供数字时钟管理和相位环路锁定功能。通过d c m , 5 大连交通大学t 学硕十学位论文 f p g a 芯片可以完成时钟的高精度,相移和占空比的调整,之所以有这些功能,是因为 d c m 使用了d l l ,d l l 是一个完全数字化控制系统,该系统在正常工作温度和电压下, 通过反馈来保证高精度的数字信号特征。相位环路锁定能够提供精确的时钟综合,能够 降低抖动,并实现过滤的功能h ,。 ( 5 ) 嵌入式块r a m ( b r a m ) 大多数f p g a 都具有内嵌的块r a m ,这大大拓展了f p g a 的应用范围和灵活性。 块r a m 可被配置为单端口r a m 、双端口r a m 、内容地址存储器( c a m ) 以及f i f o 等常用存储结构。c a m 存储器在其内部的每个存储单元中都有一个比较逻辑,写入 c a m 中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的 地址,因而在路由的地址交换器中有广泛的应用。f p g a 内部实现r a m 、c a m 和f i f o 等存储结构都可以基于嵌入式块r a m 单元,并根据需求生成相应的粘合逻辑以完成地 址和片选等控制逻辑。在实际应用中,芯片内部块r a m 的数量也是选择芯片的一个重 要因素。 ( 6 ) 底层内嵌功能单元 内嵌功能模块主要指d l l ( d e l a yl o c k e dl o o p ) 、p l l ( p h a s el o c k e dl o o p ) 、d s p 和c p u 等软处理核,即内嵌处理器( e m b e d e dp r o c e s s o r ) 。正是集成了丰富的内嵌功能 单元,才使得f p g a 成了系统级的设计工具,具备了软硬件联合设计的能力,逐步向 s o c 平台过度。d l l 和p l l 具有类似的功能,可以完成时钟高精度、低抖动的倍频和 分频,以及占空比调整和移相等功能。x i l i n x 公司生产的芯片上集成了d l l ,a l t e r a 公 司的芯片集成了p l l ,l a t t i c e 公司的新型芯片上同时集成了p l l 和d l l 。p l l 和d l l 可以通过i p 核生成的工具方便的进行管理和分配。典型的d l l 的结构如图2 4 所示。 图2 4 典型d l l 结构 f i g 2 4d l ls t r u c t u r e ( 7 ) 内嵌专用硬核 内嵌专用硬核是相对底层嵌入的软核而言的,指f p g a 处理能力强大的硬核,等效 6 第二章芯片的选择及其内部结构 于a s i c 电路。为了提高f p g a 性能,芯片生产商在芯片内部集成了一些专用的硬核。 x i l i n x 的主流芯片都集成了硬核的块r a m 、硬核乘加器,在高端产品还集成了p o w e rp c 系列c p u ,还内嵌了吉比特收发器模块。基于丰富的硬核模块,加上x i l i n x 的系统级设 计工具e d k 和p l a t f o r ms t u d i o ,可快速达到片上系统的开发目的啼1 。 2 2u s b 芯片的选择及其结构 u s b 功能设备芯片负责实现功能设备和u s b 主机间的物理数据传输,它是构成 u s b 功能设备的必需部件。主要功能是解释u s b 协议,进行数据传输和编码等,按其 所支持的传输速率,可以分为低速设备芯片、全速设备芯片和高速设备芯片。通常这些 u s b 芯片都含有多个驱动外围电路的i o 口,以实现u s b 设备的特殊功能乜1 。一般来说, u s b 功能设备芯片的组成结构如下: ( 1 ) c p u :负责执行存储在芯片程序存储里的代码,以控制整个u s b 芯片的活动。 c p u 可以是通用的微控制器,如8 0 5 1 单片机;也可以是专用的c p u ,如r i s c 。 ( 2 ) 程序存储器:负责保存c p u 执行的程序代码。类型通常为r o m 、e p r o m 、 e e p r o m 、f l a s he p r o m 、r a m 中的一种,存储容量一般在几千字节左右。 ( 3 ) 数据存储器:负责保存芯片固件执行时产生的临时数据。其类型通常为r a m , 存储容量一般在1 k b 以下。 ( 4 ) 寄存器:用于存储有特殊功能的、临时性的数据。按其功能,可以分为状态 寄存器、数据寄存器和控制寄存器。访问速度通常比数据存储器快,但数量较勿一般 为几十个。 一 ” ( 5 ) u s b 接口:负责发送和接收u s b 总线上的数据,完成位填充、n r z i ( 反向 非归零) 编解码等工作,也可以称为s i e ( 串行接口引擎) 。 ( 6 ) u s b 缓冲器:负责存储在u s b 总线上发送和接收的u s b 数据,可分为发送 缓冲器和接收缓冲器。它们可以是数据存储器的一部分,也可以是单独的一块存储器, 如f i f o 等。 ( 7 ) 外部i o :每种u s b 功能设备芯片都含有驱动其外围电路的i o 口,如数据 总线、地址总线、1 2 c 接口、s p i 接口等。 ( 8 ) 其它部件:有些u s b 功能设备芯片中还有诸如定时器、看门狗、u a r t 等特 殊功能模块。 在一个u s b 设备的设计中,选择u s b 2 0 的设备芯片是非常关键的一步。目前, u s b 2 0 设备芯片中,c y p r e s s 公司生产的e z u s bf x 2 芯片因为具有很高的性价比,是 设备研发中一款通用的u s b 2 0 接口芯片,该芯片也是论文中所选用的芯片。 c y p r e s s 的e z u s bf x 2 t m 是世界上第一款集成了u s b2 0 接口的微控制器。通过 大连交通大学t 学硕十学位论文 集成u s b2 0 收发器、s ( 串行接口引擎,s e r i a li n t e r f a c ee n g i n e ) 、增强的8 0 5 1 微控 制器以及可编程成的外部接口于一个单片中。虽然在小到5 6 脚s s o p 封装内仍然使用 低成本的8 0 5 1 微控制器,但由于f x 2 独特的体系结构,使数据传输速率可以达到u s b 2 0 允许的最大带宽,每秒5 6 m b y t e s 。因为组合了u s b2 0 收发器,f x 2 比u s b2 0s i e 和使用外部收发器实现更经济、提供了更小封装尺寸的解决方案。由于有s i e 可以在硬 件中处理最多的u s b1 1 和2 0 协议,将嵌入式控制器从特殊的应用功能中解脱出来, 并且可以减少为确保u s b 兼容性所花费的开发时间。g p i f ( t h eg e n e r a lp r o g r a m m a b l e i n t e r f a c e ) 、主从端点f i f o ( 8 位或1 6 位数据总线) 提供了一种容易而且是无缝地与流 行的接口进行连接的方法船6 1 。 该论文中选择了c y p r e s s 公司生产的c y 7 c 6 8 0 1 3 中的5 6 引脚的芯片,它是e z u s b f x 2 系列芯片中的一种,采用增强型8 0 5 1 ,比标准8 0 5 1 的速度更快,功能更强,且指 令集和标准8 0 5 1 完全兼容,并可使用c 5 1 编译器。f x 2 内部包含8 5 k b 的r a m ,它 们兼做程序存储器和数据存储器,增强型8 0 5 1 的固件代码就存储在该区域内,该芯片 同时具有1 2 c 总线,以使其能从外部e e p r o m 中下载芯片固件。图2 5 为f x 25 6 引脚 的封装简化框图。 c t lr d y 图2 5f x 25 6 引脚的封装简化框图 f i g 2 5f x 25 6 一p i np a c k a g es i m p l i f yd i a g r a m 2 2 1 增强型8 0 5 1 c p u 该芯片内嵌的增强型8 0 5 1 微处理器带有2 5 6 字节的数据存储器、扩展的中断系统、 3 个定时计数器和2 个串行口u a r t 。f x 2 需外接2 4 m h z 的晶振,并匹配2 0 p f 的电容 接地,经过内部振荡电路和锁相环( p l l ) 倍频电路,产生4 8 m h z 的默认工作频率。 f x 2 自行产生4 8 0 m h z 的时钟脉冲以供u s b 2 0 串行收发使用。 增强型8 0 5 1 的数据存储器可分为三个部分:地址范围为0 0 h 7 f h 的直接寻址区、 地址范围为8 0 h f f h 的特殊功能寄存器区( s f r ) 和地址范围为8 0 h f f h 的直接寻址区。 8 第二章芯片的选择及其内部结构 e z u s bf x 2 增强型8 0 5 1 对标准8 0 5 1 原有中断系统进行了扩展,共有8 个中断: i n t 2 i n t 6 、r e s u m e 、t x l 、r x l 和t i m e r 2 。其中,r e s u m e 中断在f x 2 由挂起状态中 恢复时使用,其中断源为芯片的w 舢姬u p 厂、肌,管脚或u s b 的复位信号。i n t 3 中断负 责处理1 2 c 总线上数据的传输,表示1 字节的数据传输完毕。i n l 2 负责处理3 2 种u s b 中断,它也使用自动向量跳转,程序员需在地址0 x 4 3 处插入一条跳转到相应中断服务 子程序的跳转指令心,。 在接收到u s b 总线发出的挂起信号后,增强型8 0 5 1 通过设置其寄存器p c o n 0 为 1 ,可使e z u s bf x 2 进入省电状态。这时,f x 2 的振荡电路和锁相环电路都将停止工 作。唤醒f x 2 的方法有三种:u s b 总线的恢复信号、外部信号触发w a k e u p 管脚、外 部信号触发w u 2 ( w a k e i y p 2 ) 管脚。唤醒后,f x 2 的振荡电路将开始起振,待锁相环 电路稳定后,增强型8 0 5 1 进入唤醒中断服务子程序。 e z u s bf x 2 增强型8 0 5 1 的复位信号由主机通过一个寄存器位c p u c s 0 控制。在 f x 2 芯片上电时,8 0 5 1 处于复位状态,待固件代码下载至芯片的r a m 中后,主机将清 除c p u c s 0 ,使8 0 5 1 脱离复位状态,并开始运行它的固件程序。 2 2 2 存储空间 e z u s bf x 2 的片内存储器由三部分组成:主r a m ( 0 x 0 0 0 0 0 x 1 f f f ) 、临时r a m ( o x e 0 0 0 一0 ) 【e 1 f f ) 和寄存器缓冲器区( 0 ) ( e 2 0 0 0 ) ( 册) 。其中,8 k b 的主r a m 被 程序存储器和数据存储器所共享;5 1 2 b 的临时r a m 仅能作为数据存储器;7 5 k b 的寄 存器缓冲器区包含f x 2 的控制状态寄存器和各个端点的数据传输缓冲区瞳1 。 ( 1 ) 片内0 x 0 0 0 0 0 x 1 f f f 存储区 地址范围为0 x 0 0 0 0 0 x 1 f f f 的8 k b 用于存储8 0 5 1 的程序代码和数据,通常称之为“主 r a m ”。芯片上的e a 管脚用于控制8 0 5 1 程序是存储在片内还是片外,如果e a = 0 ,程 序存储在内部0 x 0 0 0 0 0 x l f f f 空间中;如果e a = i ,程序则存储在外部存储器中。芯片 上的p s e n 管脚用于读取程序存储器,r d 管脚用于读取数据存储器,w r 管脚用于写 入数据存储器。 ( 2 ) 片内0 x e 0 0 0 0 x f f f f 存储区 e z - u s bf x 2 片内数据存储器0 x e 0 0 0 0 x f f f f 的结构中,5 1 2 b 的临时r a m 仅能作为数 据存储器,8 0 5 1 固件代码不能在该空间内运行;1 2 8 b 的0 x e 4 0 0 0 x e 4 7 f 空间用于存储 g p i f 的4 个波形描述符;0 x e 6 0 0 0 x e 6 f f 空间用于保存f x 2 的控制和状态寄存器; 0 x e 7 4 0 0 x e 7 f f 和0 x f 0 0 0 0 x f f f f 空间作为f x 2 端点的数据缓冲区,可通过寻址r a m 方式或f i f o 方式访问;其余存储空间被保留,不能用于数据存储。 9 大连交通大学t 学硕十学位论文 2 2 3f x 2 端点缓冲区 e z u s bf x 2 芯片内部包含3 个固定的6 4 k b 端点缓冲区和4 k b 的可配置端点缓冲 区空间。其中,3 个6 4 k b 的缓冲区分别用于e p 0 、e p i l n 和e p l o u t ,4 k b 的可配置 缓冲区用于e p 2 、e p 4 、e p 6 和e p 8 。端点0 默认为控制端点,其o u t 和i n 数据共享 一块存储空间;端点1 支持块、中断和同步传输,其o u t 数据占用缓冲区 0 x e 7 8 0 0 x e t f f 。另外,端点o 和端点1 仅能由f x 2 的固件程序访问。 端点2 、端点4 、端点6 和端点8 是大容量高带宽的数据传输端点,其无需8 0 5 1 固 件干涉即可同外围电路完成高速数据传输。这4 个端点具有非常灵活的配置方式,以适 应不同场合下的带宽要求。其中,双重缓冲意味着u s b 读写一个缓冲区的同时,另一 缓冲区可与外围电路进行数据通信;三重缓冲加了第3 个数据缓冲区,可供u s b 端或 外围电路端使用;四重缓冲加了第4 个数据缓冲区。多重缓冲结构可在数据读写双方速 度相似时有效的提高u s b 带宽的性能,平滑带宽抖动,并减少双方的互相等待时间心j 1 。 2 2 4i o 系统 e z u s bf x 2 提供了两种类型的f o 系统:可编程! o 口和1 2 c 控制器。i o 口由p a 、 p b 、p c 、p d 和p e 组成,共4 0 个管脚。其中,5 6 脚封装的f x 2 包含p a 、p b 和p d 。 1 2 c 总线控制器使用s c l 和s d a 两个管脚,6 7 1 。 ( 1 ) i o 口 f x 2 的增强型8 0 5 1 使用特殊功能寄存器o e x ( o e a ,o e b ,o e c ,o e d ,o e e ) 和 i o x ( i o a ,l o b ,i o c ,i o d ,i o e ) 来控制其i o 管脚。其中,o e x 用于控制管脚的输入 输出功能( o 表示输入,1 表示输出) ,i o x 用于读取或写入i o 管脚的数据。f x 2 系列 芯片的i o 口都具有第二功能,即与其它功能复用。增强型8 0 5 1 可通过一系列控制寄 存器来设置i o 口实现其复用功能。这时,寄存器o e x 无效,但i o x 始终映射出管脚的 当前状态。 ( 2 ) 接口模式 为便于端点2 、端点4 、端点6 和端点8 的数据缓冲区能更好的和外围电路进行通 信,f x 2 还提供了两种接口模式:从属f i f o 和g p i f ,其由寄存器i f c f g 控制。 从属f i f o 当e z u s bf x 2 工作于从属f i f o 时,外围电路可像普通f i f o 一样对f x 2 中端点 2 、端点4 、端点6 和端点8 的数据缓冲区进行读写。f x 2 的从属f i f o 体系结构在端点 r a m 中有8 个5 1 2 字节的块,它们直接服务于f i f o 存储器,并且受控于f i f o 控制信 号( 如i f c l k ,s l c s ,s l r d ,s l w r ,s l o e ,p k t e n d 以及标志) 。操作时,8 个r a m 块中的一些从s i e 填充或清空,其他的块被连接到i o 传输逻辑,传输逻辑具有两种形 1 0 第二章芯片的选择及其内部结构 式,供内部通用控制信号的g p i f ,或者供外部传输控制的从f i f o 接口。 f x 2 端点f i f o 被实现成物理上截然不同的8 个2 5 6 1 6r a m 块,8 0 5 1 s i e 可以在 两个域之间任意切换r a m 块,即u s b ( s i e ) 域和8 0 5 1i o 单元域。切换事实上是瞬 间完成的,给与u s bf i f o s 和从f i f o s 之间本质上的0 传输时间,因为它们在物理上 是相同的存储器,缓冲器之间没有真正的字节传输。 在任何给定的时间,一些r a m 块使用在s i e 控制之下的u s b 数据填充清空,而 另外一些块可用于8 0 5 1 和或i o 控制单元。在u s b 域,r a m 块的操作是单口的,而 在8 0 5 1i o 域是双口的。r a m 块可以配置成如前面所示的单倍、双倍、三倍或四倍的 缓冲器。 f o 控制单元既可以实现成内部的主接口,也可以实现成外部的主接口。在主模式, g p i f 内部控制f i f o a d r 1 0 】来选择f i f o 。r d y 引脚如果需要的话可以用来标识来自 外部f i f o 或其他逻辑的输入。g p i f 可以运行在源于内部的或者由外部提供的时钟 ( i f c l k ) ,数据传输的速率高达9 6 兆字节秒。 在从模式,f x 2 接受源自内部的或者由外部提供的时钟( i f c l k ,最大频率4 8m h z ) 以及来自外部逻辑的s l c s ,s l r d ,s l w r ,s l o e ,p k t e n d 信号。每一个端点可以 通过一个内部的配置位独立地选择为字节或字操作,从f i f o 输出使能信号s l o e 使能 所选择宽度的数据。当写数据到从f i f o 时外部逻辑必须确保输出使能信号无效。从口 也可以异步操作,此时s l r d 和s l w r 直接扮演选通信号,相当于异步模式的时钟计 数。信号s l r d ,s l w r ,s l o e 和p k t e n d 由信号s l c s 进行门控。 8 0 5 1 的一个寄存器比特用来选择内部提供的两个接口时钟3 0m h z 和4 8m h z 中的 一个。作为选择,外部提供的送到i f c l k 引脚的5 m h z 一4 8 m h z 的时钟信号也可以用作 接口时钟。当g p i f 和f i f o s 使用内部时钟时引脚i f c l k 可以配置作为输出时钟,如果 需要的话,i f c o n f i g 寄存器中的输出使能比特可以关闭时钟输出,i f c o n f i g 寄存器 中的另一个比特决定i f c l k 信号是由内部还是外部时钟源提供。 g p i f g p i f 是一个由用户可编程的有限状态机驱动的灵活的8 位或1 6 位并行接口,它允 许c y 7 c 6 8 0 1 3 提供局域总线管理,也可以实现宽范围的多样化的协议,如r a 接口, 打印机并行接1 2 1 和u t o p i a 等。g p i f 有6 个可编程的控制输出

温馨提示

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

评论

0/150

提交评论