




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要:f p g a 是英文f i e l dp r o g r 町u n a b l eg a t ea 盯a y 的缩写,由于它很好的解决了 定制电路的不足,又克服了早期的可编程逻辑器件门电路数有限的缺点,使得它 已经成为数字系统和逻辑开发的主要硬件。通用串行总线u s b 作为一种计算机和 外围设备连接的总线接口,由于它支持热插拔、通信速率高等特点,使得它已经 成为应用最为广泛的外设接口。基于f p g a 和u s b 架构的硬件开发系统具有良好 的应用前景。 本文所研究的软硬件协同设计,指的是在p c 和硬件平台上建立起一套有效地 软硬件协同工作机制,系统可以通过p c 机软件的简单操作对硬件f p g a 进行控制, 在硬件操作过程中可以将逻辑开发的一些中间结果通过u s b 传至p c 用于验证, 操作结束后通知p c 以便执行下一个操作。p c 机软件采用v b 语言进行设计,简 化了设计难度,硬件开发人员可以在本文所提供的软硬件程序架构上做些相应改 动和丰富,就可以设计出满足特点和设计要求的复杂软硬件协同操作系统。 论文首先对f p g a 、u s b 相关理论进行研究,随后深入阐述整个软硬件协同 工作机制的详细设计方案,设计重点在于:第一,软硬件协同机制的建立,利用 u s b 端点2 和端点1 完成指令和数据传输,形成握手机制;第二,硬件f p g a 设 计,主模块状态机的整体结构设计,完成硬件仿真和验证;第三,p c 机v b 程序 的设计,完成界面设计,端点l 中断函数的处理,软件机制设计以完成数据的批 量传输。 整个软硬件协同设计不仅在一个简单的软硬件系统中得到了验证,还应用于 一个复杂的数字信号采集回放系统,对整个软硬件协同设计方案的可行性、有效 性进行了进一步的验证,最后通过测试,该系统实际工作稳定正确。 关键词:f p g a ;u s b ;v b ;软硬件协同设计;v e r i l o gh d l 分类号:t n 4 3 1 2 a b s t r a c t a b s t r a c t :f p g ai sm ea b b r e v l a t i o no ff l e l dp r o g r 锄m a b l eg a t ea r r a y ,w h l c h s o l v e st h ep r o b l e mo fc u s t o mc i r c u i ta 芏l do v e r c o m e sm ed i s a d v a n t a g eo fm e1 h n i t e d g a t e so fm ee a r l yp r o 铲a m m a b l el o g i cd e v i c e ,h a u sb e c o m et 1 1 em 勾o rh 2 u r d w a r ef o r d i g i t a ls y s t e ma n d1 0 9 i cd e v e l o p m e n t u n i v e r s a ls e r j a lb u s ( u s b ) i so n eo fb u s i n t e r f - a c e sf o rc o m p l l t e ra n dt h ep 嘶p h e r a ld e v i c e s a n di th a sb e c o m e l em o s tw i d e l y u s e di n t e r f a c ed l l et oi t sh o ts w a pa n dh i g h 仃觚s f e rr a t e t h eh a r d w a r ed e v e l o p m e n t s y s t e mb a s e d - o nf p g aa n du s bh a sg o o da p p l i c a t i o np r o s p e c t s t h eh a r d w a r ea n ds o 胁a r e ( h w s w ) c o - d e s i g nr e s e a r c h e di nm i sm e s i sr e f e r st o e s t a b l i s h i n ga i le 位c t i v ew o r km e c h a n i s mb e 铆e e np ca n df p g ah 锄d w a r ep l a t f 0 册 t h es y s t e mc a nn o to n l yc o n 仃0 1t h eh a r d w a r eb yas i m p l ep c s o 胁a r eo p e r a t i n g ,b u t a l s o 缸a n s f e rm ei n t e r m e d i a t er e s u l t su s e df o rv e r i f i c a t i o nt op c 缸o u g hu s bc h 猢e 1 d u r i n gh a r d w a r eo p e r a t i o n w h e no n eo p e r a t i o nc o m p l e t e s ,h a r d w a r ec a nn o t i 矽p ct 0 也en e x t0 p e r a t i o n i no r d e rt ot h es 0 r w a r ed e s i g n ,p c s o 鲰:l ,a r ep r o g r 刎n gd e v e l o p s w i t h l a n g u a g e h a r d w a r e d e v e l o p e r s c a i l i m p l e m e n tc o m p l e xc o o p e r a t i v e 0 p e r a t i o n sb ym 描n gs o m ec o r r e s p o n d i n gc h a n g e si nt h eh w s ws t m c t u r eo 疏r e di n 也i s 也e s i s t h et h e s i ss t u d i e sf p g aa n du s bf i r s t ,a 1 1 dt l l e ne l a b o r a t e st l l es c h e m eo fm e h w s wc o d e s i 弘s y s t e m t h e1 1 1 a i ni s s u e si nm i sd e s i 盟c o n t a i n s :e s 切【b l i s l l i i l e n to f m e c h a n i s mo fw o 憾n gt o g e m e rb e 觚e e n s wu s i l l gah a j l d s h a k em e c h a i l i s m f o m e db yi n s 仃u c t i o n sa n dd a t a 昀n s 皿s s i o n 衄o u 曲u s be n d p o i n t1e n d p o i n t2 ;t h e f p g ah a r d w a r ed e s i g nc h i e n yr e f e r st od e s i g nt l l eo v e r a l ls 仃u c t u r eo fm a i nm o d u l ea 1 1 d c o m p l e t es i i i m l a t i o n a n dh a r d w a r e v e r i f i c a t i o n ; m ev bp r o g r 锄d e s i g n ,w b i c h c o m p l e t e sm ei n t e r f a c eo fs o r w a r e ,t h ep r o c e s s i n go fe n d p o i n tli n t e l t u p t 矗m c t i o na n d t h es o 胁a r em e c h a n i s mf o rm eb u 墩仃a i l s f e ro fd a t a ,i sw o r k e do u tf o r 如r t h e re x p e n d s t h es c h e m eo fh w s wc o d e s i g nh a sn o to n l yb e e nv e r i f i e di i las i i n p l eh 、驯s w s y s t e m ,b u ta l s ob e e na p p l i e dt 0ac o m p l e xd i g i t a ls i g i l a la c q u i s i t i o na i l dp l a y b a c k s y s t e m ,p r 0 v i d i n gt h ev 耐f i c a t i o no ft h ef e a s i b i l i 够a n de 虢c t i v e n e s so ft l l i sd e s i g l l f i n a l l y t l l et e s tr e s u l t ss h o wt l l a tt h ec o m p l e xs y s t e mw o r k ss 诎i l i 够a n dc o r r e c t l y k e y w o i m s :f p g a :u s b ;h w s wc o d e s i g n ;v e r i l o g ) l c l a s s n o :t n 4 31 2 致谢 本论文的工作是在我的导师李金城副教授的悉心指导下完成的,导师的治学 态度和科学的工作方法给了我极大的帮助,正因如此也让我在设计中无论遇到任 何困难都不会轻易放弃,用正面的态度去应对,用严谨的方案去排除和验证,找 出问题所在,最后用最佳的方法去解决问题。在此我衷心感谢导师对我的关心和 指导。 在论文的完成过程中,我的师兄和师姐,以及项目小组成员唐磊,吴瑶同学 对于我的科研工作和论文都提出了许多的宝贵意见,在此向他们表示衷心的感谢。 同时,我还要感谢评审小组的每一位老师,感谢他们在百忙之中抽出时间审阅我 的论文。 最后,我还要感谢我的家人和朋友,是他们给予我理解和支持使我能够在学 校专心完成我的学业。 1 引言 1 1 研究背景 可编程逻辑器件( p r o g r a m m a b l el o g i cd e v i c e ,p l d ) 是一种发展于2 0 世纪 7 0 年代的新型逻辑器件,是目前数字系统设计的主要硬件基础,它的逻辑功能可 以按照用户的编程和配置,而且可以反复擦写,这样就可以由设计人员自行编程 而把一个数字系统集成在一片p l d 上,而不用制作专用的集成电路芯片,对于应 用和研究领域有着很高的价值。 现场可编程门阵列( f i e l dp r o g r a m m a b l eg a t ea 盯a y ,f p g a ) 是在p l a 、g a l 、 p l d 等可编程逻辑器件的基础上进一步发展的产物,是专用集成电路( a s i c ) 中 集成度最高的一种。它采用了逻辑单元阵列l c a ( l o g i cc e l la r r a - y ) 这样一个新 概念,内部包括可配置逻辑模块c l b ( c o n f i g u r a b l el o g i cb l o c k ) 、输出输入模块 i o b ( i n p u t0 u t p u tb 1 0 c k ) 和内部连线( i n t e r c o i l i l e c t ) 三个部分。可以说f p g a 能 完成任何数字器件的功能,复杂的高性能c p u ,或者简单的组合逻辑电路,都可 以用f p g a 来实现。使用f p g a 来开发数字电路,可以大大缩短设计时间,减少 p c b 面积,提高系统的可靠性【卜2 1 。 论文选择了a l t e r a 公司的低成本f p g ac y c l o n e 系列,属于中等规模f p g a , 2 0 0 3 年推出,0 1 3 u m 工艺,1 5 v 内核供电,与s t r a t i ) 【结构类似,内部有锁相环, r a m 块,逻辑容量为2 9 1 0 2 0 0 6 0 个l e ( l o g i ce l e m e n t ,逻辑单元) 。设计最后 选定的e p l c l 2 q 2 4 0 c 6 n 芯片,有1 2 0 6 0 个l e ,2 4 0 根管脚,内部洲块的类 型是m 4 k ,可以实现真正双端口、简单双端口和单端口删,可以支持移位寄存 器和r o m 方式,内部有2 个p l l 网络,p l l 只能由全局时钟管脚来驱动,支持 正常反馈、o 延时驱动器反馈以及无补偿反馈模式【3 】。 p c 机的接口可以有许多选择,表1 1 对几种常用接口的主要性能进行了比较。 表1 1p c 常用接口性能比较 t a b l e 1 1c o r r l p a r i s o no fp ci n t e 血c e s 接口类型数据类型传输速率( b i t s )是否支持热插拔 r s 2 3 2 串行4 8 0 0 1 1 5 2 0 0 ( 常用值)否 p c i并行1 0 6 4 m ,2 1 2 8 m 否 u s b 串行1 2 m ,1 2 m ,4 8 0 m 是 其中串口通信比较成熟,硬件结构简单,p c 机有现成的串口调试软件,开发 比较简单,但是传输速度较慢;p c i 总线最大的优势在于它的传输速度,最大可达 到5 2 8 m b 州s ,然而插拔比较麻烦,无法支持移动设备,而且容易p c 内部的高频 干扰,不利于开发。 而u s b ( u n i v e r s a ls 嘶a 1b u s ,通用串行总线) 接口具有以下几个特剧“7 1 。 l 、使用方便,当用户将u s b 设备连接到计算机上时,操作系统会自动检测 该设备,并且加载合适的驱动程序,u s b 设备容易连接,用户不必打开机箱来介 入设备,而只需插入u s b 接口即可,而且支持热插拔; 2 、节省系统资源,p c 系统为u s b 主控制器分配一根i r q ( i n t e r m p tr e q u e s t , 中断请求) 线和一些i o 地址,u s b 再为外部设备分配唯一的地址; 3 、有相对较高的速度,u s b 支持3 种信道速度:低速( 1 0 ws p e e d ) 1 5 m b s , 全速( 削ls p e e d ) 1 2 m b s ,以及高速( h i 曲s p e e d ) 4 8 0 m b s ,相比于串口速度有了 质的提高; 4 、独立供电等特点,普通的使用串口、并口的设备都需要单独的供电系统, 而u s b 设备则不需要,因为u s b 接口提供了内置电源。u s b 电源能向低压设备 提供5 v 电源,降低了这些设备的成本并提高了性价比; 5 、较低的成本。如今市面上的u s b 的控制芯片的价格都己比较便宜,其他 如u s b 电缆等组件也很便宜,加上u s b 高性能,使其成为性价比很高的计算机接 口: 6 、良好的兼容性。u s b 规范发展至今已有u s b l 0 、u s b l 1 、u s b 2 o 、无线 u s b 和u s bo t g d 等多个版本的协议,这些协议都具有很好的向下兼容性。 基于以上考虑,设计采用u s b 接口作为p c 与f p g a 的传输通道。 p c 机应用软件的编写采用v b ( s u a lb a s i c ) 语言,是可视化、面向对象、 由事件驱动的高级程序设计语言,v b 的设计思想就是要便于程序员使用,无论是 新手还是编程专家。采用了可以简单建立应用程序的g l 系统,也可以开发相 当复杂的程序,v b 的程序是一种基于窗体可视化组件安排的联合,并且增加代码 指定组件的属性和方法,由于默认的属性和方法已经有一部分定义在了组件内, 所以程序员不用写多少代码就可以完成一个简单的程序。 本文所论述的软硬件协同设计是指建立一套完备的、有效的、可靠的软硬件 协同工作机制【9 。13 1 ,所搭建的整个系统不仅可以通过p c 机的应用程序的简单 操作完成对硬件f p g a 平台的控制,硬件操作执行成功可以以特定方式通知p c 机 软件,以便执行下一个操作,另外还能够将逻辑开发中一些中间结果传至p c ,以 确认逻辑的正确性,或者将批量的数据结果传回p c 用于验证与相应处理。 2 1 2 内容和结构安排 本文通过对软硬件协同工作机制的阐述,提出了一种可行的实现方案,并在 实际的采集回放平台中成功应用,验证了设计方法的正确性。 论文共分五章,结构安排如下: 第一章、绪论。主要介绍了本课题的研究背景,概括了本文主要论述的重点 在于协同工作机制的设计,最后简要介绍了本文的结构安排; 第二章、软硬件系统概述。主要介绍了u s b 和f p g a 相应的基础理论以及软 硬件系统的各个主要组成部分。最后对工作机制做了一个简要的概述: 第三章、软硬件协同工作机制。本章是设计的关键和论文阐述的重点内容, 分为三大部分:首先介绍了整个工作机制的系统结构,强调了握手机制的建立; 接着详细阐述整个系统的硬件状态机的设计,关键在于中断的相应和处理:最后 详细介绍了p c 机v b 程序的设计,关键在于e p l 中断函数的编写; 第四章、协同设计的具体应用。主要介绍了软硬件协同工作机制在采集回放 平台上的应用,通过具体实验和结果论证了设计的正确性; 第五章、总结和展望。 2 软硬件系统概述 2 1传输与控制通道u s b u s b 已经成为最常用的连接外围设备与计算机的接口之一,u s b 建立了一套 连接和访问外围设备的方法,这些方法可以有效地减少总体成本。如今,u s b 不 仅成为众多设备,如鼠标、键盘、打印机等与p c 机互连的接口,而且在实际工作、 硬件开发等领域也得到了广泛的应用,以下将简要介绍与本设计相关的几个u s b 基础要点【年5 1 。 2 1 1 设备的端点 u s b 所有的传输都是传送到一个设备端点( d e v i c ee n d p o i n t ) 或者是从一个 设备端点发出。通常设备端点是一个区块的内存或是控制器芯片内的一个缓存器, 用来作为数据的缓冲区使用。存储在设备端点的可能是已经接收到的数据,或者 是等待需要送出的数据。主机也具有接受和传送数据的缓冲区,但是主机却并没 有端点,而是作为与设备端点通信的出发点( s t a i t i n gp o 血) 。 在u s b 的规范中,设备端点的定义是:一个u s b 设备中,唯一可寻址部分, 数主机与设备之间通信的来源或目的。一个设备端点只能往单方向传输数据,但 是控制端点( c o n 仃o le n d p o i n t ) 除外,它可双向传输数据。 每一个设备端点的唯一地址,都需要有一个端点号以及传输方向。端点号码 可以是o 1 5 ,方向如果是输入( i n ) ,则表示流向主机;方向如果是输出( o u t ) , 则表示流出主机,若是作为控制传输的端点,则必须设置成双向。所以一个控制 端点会具有一对输入和输出端点,来共享同一个端点号。每一个设备都必须将端 点o ( e p 0 ) 设置成一个控制端点。 除了e p 0 之外,一个全速设备可以有3 0 个额外的端点,端点号码为1 1 5 , 每一个号码同时支持输入与输出。例如可将端点l ( e p l ) 设置成可以支持输入端 点地址来传送数据到主机,同时支持输出端点地址从输出端点地址从主机读取数 据。 每一次在总线上的事务都包含一个端点号,以一个码来指示数据流向以及该 事务是否是用来初始一个控制传输。此码可以是输入,输出,设置( s e t u p ) ,软 与输出的方向是依照主机的观点来看的,在输入事务中,数据有设备传输到主机, 在输出事务中,数据有主机传输到设备。 4 2 1 2 管道 一个传输发生前,主机与设备间需要建立一个管道( p i p e ) 。u s b 的管道其实 不是一个实际上的对象,它只是设备的端点与主机控制器软件之间的连接。 主机建立连接管道的时机,是在系统启动之后或是设备连接上的时候。如果 移除设备,此管道也会同时被移除。在请求另一设备的设置或者接口时,主机可 能也会要求新的管道或者是移除该管道。每一个设备都会有一个默认的控制管道 ( d e f a u l tc o n 仃0 lp i p e ) ,此默认的控制管道使用的是端点0 。 主机收到的设置信息,包括了设备使用的每一个端点的描述符( d e s c r i p t o r ) 。 端点描述符用来告知主机如何与该端点进行通信。描述符包括了端点的地址,使 用的传输类型,数据包的最大大小和传输的时距( i n t e a 1 ) 等。 当设置需要实时传输或者中断传输的管道时,主机只有在总线有足够的带宽 来进行要求速率的传输的时候,才会接受该要求的设置。实时传输必须要有一个 保证速率( g u a r a i l t e e dr a t e ,每秒的事务量) ,然而中断传输则需要一个保证最大 延迟( g u 黜l t e e d m a ) 【i n m m l a t e n c v ,事务之间的时间) 。 在实时传输与中断传输时,在建立管道之前,主机会检验有无足够的带宽。 如果有足够的带宽,主机就会接受设置的要求,并且保证有足够的时间进行传输。 如果没有足够的带宽的话,主机会拒绝设置的要求,并且要求的软件需要重新尝 试一次,等待有足够的带宽,或者选择较小带宽的设置。如果是没有保证时间的 要求,主机则不会去检查是否有足够的带宽,它只是尽量在有效地时间内来做传 输。 2 1 3 传输类型 u s b 定义了四种传输类型,每一种传输类型用于处理不同的需求。 控制传输( c o n t r o it r a n s f e r ) :u s b 规范中唯一有定义函数的传输类型。通过 控制传输让主机读取设备的信息、设置设备的地址以及选择设置的配置。所有的 u s b 设备,都必须要支持控制传输。 中断传输( i n t e r r u p tt r a i l s f e r ) :使用在设备必须定时接受主机或设备注意的场 合。除了控制传输之外,中断传输是低速设备唯一的传输数据方式。例如鼠标与 键盘利用的是中断传输,来传送鼠标移动和按键的数据。 批量传输( b u l kt r a n s f e r ) :使用在传输速率要求不是很高的场合,例如传送 文件到打印机或是从扫描仪中接收数据。如果总线被其他必须保证速率的传输所 占据时,批量传输就需要等待。不过如果总线闲置,批量传输的速率也是可以很 快的。只有全速和高速设备才支持批量传输。 实时传输( i s o c h r o n e rt r a l l s f e r ) :有保证的传输速率,但是没有错误的校验机 制。使用实时传输的设备包括音频设备,来实时播放音频。当收到错误的数据时, 实时传输是唯一一种不会自动重新传输的类型,所以使用必须能够容忍偶尔发生 的错误。只有全速和高速设备才支持实时传输。 2 2u s b 接口芯片c h 3 7 2 本设计的核心u s b 控制芯片,采用南京沁恒公司生产的c h 3 7 2 。c h 3 7 2 是 一个u s b 总线的通用设备接口芯片,它内置了u s b 通讯中的底层协议,具有省 事的内置固件模式和灵活的外置固件模式。在内置固件模式下,c h 3 7 2 自动处理 默认端点o 的所有事务,屏蔽了相关的u s b 协议,自动完成标准的u s b 枚举配 置过程,设计无需考虑u s b 底层传输协议,也无需编写复杂的固件。 c h 3 7 2 芯片的接口包括:8 根双向数据总线d 7 d o 、读选通输入引脚r d 撑、 写选通输入引脚w r 挣、片选信号输入引脚c s 群、中断输出引脚i n t j | j 以及地址输入 引脚a 0 。通过被动并行接口,c h 3 7 2 芯片可以很方便地挂接到各种8 位单片机、 d s p 、m c u 或者f p g a 系统上,并且可以与多个外围器件共存。c h 3 7 2 芯片的 i j f j 和w r 群可以分别连接到f p g a 的可控i o 引脚上。c s 撑用于当具有多个外围器 件时进行设备选择。i n t 撑输出的中断请求是低电平有效,硬件f p g a 可以通过i n w 获知中断请求。 , 当w r 岸为高电平并且c s 拌和i m 及a 0 都为低电平时,c h 3 7 2 中的数据通过 d 7 d 0 输出;当i 国;f 为高电平并且c s 拌和w 酣及a 0 都为低电平时,d 7 d o 上 的数据被写入c h 3 7 2 芯片中;当r d 群为高电平并且c s 荐和w 础都为低电平而a 1 为高电平时,d 7 d o 上的数据被作为命令码写入c h 3 7 2 芯片中。 c h 3 7 2 芯片占用两个地址位,当a 0 引脚为高电平时选择命令端口,可以写入 新的命令,或者读出中断标志;当a o 引脚为低电平时选择数据端口,可以读写数 据。 c h 3 7 2 芯片的u d + 和u d 引脚应该直接连接到u s b 总线上。如果为了芯片 安全起见串接保险电阻或者电感或者e s d 保护器件,那么交直流等效串联电阻应 该在5 欧之内。c h 3 7 2 芯片内置了电源上电复位电路,一般情况下,不需要外部 提供复位。 c h 3 7 2 芯片正常工作时需要外部为其提供1 2 m h z 的时钟信号。一般情况下, 时钟信号由c h 3 7 2 内置的反相器通过晶体稳频振荡产生。外围电路需要在和 x o 引脚之间连接一个标称频率为1 2 m h z 的晶体,并且分别为x i 和x o 引脚对 6 地连接一个高频振荡电容。如果是直接输入1 2 m h z 时钟信号,那么应该从引 脚输入,而x 0 引脚悬空【悼1 5 】。 对照本设计的需要,硬件方面,c h 3 7 2 相应管脚与f p g a 做好相应连接后, f p g a 硬件只需对照手册提供的时序,处理中断输出、读写选通以及数据信号,通 过判断中断类型,发送接收相应的指令与数据,就能完成f p g a 与c h 3 7 2 的数据 交换。 而在软件方面,c h 3 7 2 在p c 机端提供了应用层接口,是由c h 3 7 2 动态链接 库d l l 提供的面向功能应用的a p i ,在设计中,编写软件通过调用相应的函数可 以完成p c 机与c h 3 7 2 的数据交换。 2 3 硬件平台与软件开发平台 2 3 1f p g a 结构与器件选型 f p g a 是在p a l 、g a l 、c p l d 等可编程逻辑器件的基础上进一步发展的产物, 是作为a s i c 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又 克服了原有可编程器件门电路数有限的缺点,其主要特点就是完全由用户通过软 件进行配置和编程,从而完成某种特定的功能,且可以反复擦写;另外f p g a 同 时拥有强大的处理功能和完全的设计自由度,a s i c 的设计者在流片之前,也大量 使用f p g a 来做整个系统的板级仿真。正因如此,f p g a 已成为当今数字系统设 计的主要硬件平台以及芯片逻辑开发的主流器件。 目前主流f p g a 都采用了基于s ra m 工艺的查找表结构,也有一些军品和宇 航级f p g a 采用f 1 a s h 或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查 找表内容的方法来实现对f p g a 的重复配置。 查找表( l o o k u p t a b l e ,l u t ) ,l u t 本质上就是一个r a m 。当用户通过原 理图或h d l 语言描述了一个逻辑电路以后,p l d f p g a 开发软件会自动计算逻辑 电路的所有可能结果,并把真值表( 即结果) 事先写入r a m ,这样,每输入一个 信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输 出即可,表2 1 显示了简单的一个4 输入与门的l u t 实现。 从表中可以看到,l i j t 具有和逻辑电路相同的功能。实际上,l u t 具有更快 的执行速度和更大的规模。基于l u t 的f p g a 具有很高的集成度,其器件密度从 数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所 以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程 输入输出单元、基本可编程逻辑单元、内嵌s 删、丰富的布线资源、底层嵌入 功能单元、内嵌专用单元等。 表2 1 四输入与门l u t t a b l e 2 1l i j t0 ff 0 u 卜i n p u ta n d g a t c a ,b ,c ,d 输入l u t 实现方式 a ,b ,c ,d 输入逻辑输出r a m 地址r a m 中存储的内容 0 0 0 0o0 0 0 00 0 0 0 l0o 0 0 1 o 1 11 111 11 1l 目前f p g a 领域主要的供应商是x i l i n x 、a l t e r a 、a c t e l 和l a t t i c e 。其中x i l i n x 和a l t e r a 主要生产一般用途f p g a ,其主要产品采用r a m 工艺,a c t e l 主要提供 非易失性f p g a ,产品主要基于反熔丝工艺和f l a s h 工艺。本设计采用a l t e m 公 司的c y c l o n e 系列芯片,c y c l o n ef p ( 认是基于s t i a t i x 的工艺构架,其设计定位为 一款低成本的f p g a ,c v c l o n e 器件采用0 1 3 啪工艺,其内部有锁相环、r a m 块, 逻辑容量从2 9 1 0 2 0 0 6 0 个l e 。本设计所采用的芯片型号为e p l c l 2 q 2 4 0 c 6 n ,该 芯片的容量和资源满足本设计的使用要求【1 们。 2 3 2 主要软件平台 廿 设计中的仿真步骤,采用m o d e l 公司开发的仿真工具m o d e l s i ms e ,m o d e l s i m 是业界最优秀的h d l 语言仿真软件,它提供了友好的仿真环境,是唯一的单内核 支持d l 和v e r i l o g 混合仿真的仿真器,采用直接优化的编译技术、t c 们k 技术、 和单一内核仿真技术,编译仿真速度快,编译平台无关,便于保护i p 核,为用户 纠错提供强有力的手段,是f p g a 设计的首选仿真软件。 f p g a 的综合、编译、配置、在线编程等步骤使用的是a l t e r a 综合开发平台 0 u a n i l si i ,该软件是a l t e r a 的综合开发工具,它集成了f p g c p l d 开发流程中 所涉及的所有工具和第三方软件接口,通过使用此综合开发工具,可以创建、组 织和管理设计。 本设计的p c 机应用软件的编写采用v i s u a lb a s i c6 0 ,m i c r o s o r s u a lb a s i c 是可视化的、面向对象的、由事件驱动的高级程序设计语言,它提供了最迅速、 最简捷的开发应用程序的方法【1 7 】。另一方面,c h 3 7 2 提供了应用程序需要的 d l l 文件,程序通过调用其中的函数可以完成与p c 机与c h 3 7 2 的数据传输。 2 4软硬件协同工作机制概述 软硬件协同工作机制的整体设计思路如下,c h 3 7 2 在内部固件模式下,端点2 的上传端点( e p 2i n ) 作为批量数据发送端点,端点2 的上传端点( e p 2o u t ) 作为批量数据接收端点,端点1 的上传端点( e p li n ) 端点作为中断端点。p c 机 软件作为整个体系的发起端,软件通过e p 2o u t 端点下传固定字节的数据作 为指令,硬件f p g a 的状态机通过对c h 3 7 2 的操作获得数据,分析指令,执行相 应的操作,操作过程中有数据可通过e p 2i n 端点上传数据( 需要e p l 配合,第三 章将详细阐述) ,操作结束后通过e p l 跗端点中断上传固定字节数据,激活p c 机 软件的中断服务程序,提示用户操作完成,以便进行下一个操作。 9 3 软硬件详细设计方案 3 1硬件平台f p g a 开发板设计 3 1 1 硬件系统结构 设计自行研发了软硬件协同工作机制开发平台,f p g a 开发板的硬件系统结构 如图3 1 所示,整个硬件系统工作由p c 机通过u s b 供电,由于u s b 提供是5 v 直流电源,所以需要通过电源转换芯片将其转为3 3 v 和1 5 v 以供其他芯片使用。 f p g a 工作需要的时钟通过有源晶振产生,由于本设计采用的f p g a 芯片 e p l c l 2 q 2 4 0 c 6 n 断电后将丢失内部逻辑配置,为了能够保存程序需要配备了一个 外置芯片e p c s l 6 n 。按键与指示灯等资源与f p g a 可配置的管脚连接,用于硬件 设计与验证。图中虚线框以外部分电路并非协同工作机制主体设计部分,此章将 不做详细介绍。 + 5 v p c 机 a m s l l17 3 3 v 卜+ 3 3 v a m s l1 1 7 1 5 vb + 1 5 v i l ,_ j i l 一一一一一一一一一j 配置芯片 e p c s l 6 n f p g a 芯片 e p l c l 2 q 2 4 0 c 6 n 图3 1 系统硬件框图 f i g 3 1d i a g r 锄o f 廿1 eh a r d w a r ea r c h i t e c t i l r e 3 1 2 电源电路设计 指示灯,插针 等资源 r - 一1 电源电路需要为f p g a 及其配置芯片,u s b 接口芯片,f l a s h 存储芯片提供 电源,这些芯片用到的电源共有两种,3 3 v 和1 5 v 。开发板设计采用u s b 接口供 电,u s b 提供的是标准的5 v 直流电压,需要电压转换电路将5 v 转为所需电压, 1 0 鼎弱一 鞫照 芯2 三奋 口三毵让啵兰高艘裂 设计采用了电源转换芯片a m s l1 1 7 ,表3 1 列出了两种型号器件的参数【1 8 】,符合 设计要求,电源电路的原理图【1 9 如图3 2 所示。 表3 1j 蝴s 1 1 7 参数 t a b l e 3 1a m s1 l7p a r a m e t e r s 器件条件 m i nm a x a m s l ll7 3 3 v0 i o u t 8 0 0 m a ,4 7 5 v v i n l2 v3 2 3 5 v3 3 6 5 v a m s l l l 7 1 5 v 0 i o l r r 8 0 0 m a ,3 o o v v i n 1 2 v 1 4 7 6 v 1 5 2 4 v v 5 v 5 v 3 3v 5v 3 3 图3 2 电源电路原理图 f i g 3 2s c h 锄a t i co f p o w e rs u p p l y 3 1 3c h 3 7 2 电路设计 通用设备接口芯片c h 3 7 2 作为传输通道,是本设计的关键芯片,设计中v 3 接入3 3 v 电源,时钟输入管脚与f p g a 相连,由f p g a 提供1 2 m h z 时钟,d 7 d o 、 r d j f i 、w r j f i 、c s 群、i n t 群、a o 均与f p g a 相连,以便f p g a 编程对其相应操作。 d + 与d 管脚与u s b 插座相连。图3 3 为c h 3 7 2 电路原理副1 4 1 。 图3 3c h 3 7 2 电路原理图 f 培3 3s c h e m a t i co fc h 3 7 2 3 1 4f p g a 配置电路设计 a l t e r a 公司为各个系列器件提供了专用的配置芯片,本设计c y c l o n e 系列芯片 采用e p c s l 6 n 【2 0 】,该芯片采用串行配置,芯片容量为2 m b ,配置芯片电路原理图 如图3 4 所示。p 1 和p 2 分别是a c t i v es e r i a l 和j a t g 下装接口。 e p c s l 6 n v c c d a t a v c c d c l k v c c n c s a s d i n c n c n c n c n c n c n c n c g n d p 1 y r 可 34 卜 5 6 卜 78 卜 9l o l e p l c l 2 0 2 4 0 c 6 n c o n fd o n e n c o n f i g n s t a t u s d a t a o d c l k 1 0 ( n c s o )t d i i o ( a s d o )t d 0 n c e t c k n c e o t m s m s e l 0 m s e l l r 4 l o k 图3 4 配置芯片电路原理图 f i g 3 4s c h e m a t i co fc o n f i g 叫r ec h i pc i r c u i t 3 2软硬件协同机制 3 2 1c h 3 7 2 端点传输通道 c h 3 7 2 芯片内部具有5 个物理端点:端点o ( e p 0 ) 是默认端点,支持上传和 下传,上传和下传缓冲区各是8 个字节;端点1 ( e p l ) 包括上传端点和下传端点, 上传和下传缓冲区各是8 个字节,e p li n 端点号是8 1 h ,e p lo u t 的端点号是0 1 h ; 端点2 ( e p 2 ) 包括上传端点和下传端点,上传和下传缓冲区各是6 4 个字节,e p 2 i n 的端点号是8 2 h ,e p 2o u t 的端点号是0 2 h 。 在内置固件模式下,e p 2i n 作为批量数据发送端点,e p 2o u t 端点作为批量 数据接收端点,e p li n 作为中断端点,e p lo u t 作为辅助端点。在外部固件模式 下,e p 0 作为默认端点,e p l 和e p 2 可以根据u s b 产品的需要选择使用,并且可 以由外部固件提供的描述符分别定义其用途。通常情况下,e p 2 作为数据传输的主 端点,如果u s b 产品需要,可以将e p l 作为辅助端点。 1 2 6 唾贴:腻 k y am o 咚一黼 设计采用内置固件模式,c h 3 7 2 自动处理e p 0 的事务,完成u s b 设备的配置 和枚举过程,设计通过e p 2 批量上下传以及e p l 中断上传来作为软硬件协同工作 的传输与握手通道【1 4 】。 3 2 2 协同机制与工作过程 本设计的握手机制,p c 机通过e p 2 批量下传固定格式的数据对硬件状态机进 行指令控制和参数传输,用e p l 中断上传实现硬件状态机对p c 机指令的回应,即 指令执行结束后硬件状态机用e p l 的中断上传模式向p c 机发送指令执行的情况以 及必要的参数,若需要传送批量数据,则通过e p 2 批量上传,整个工作机制的硬 件结构如图3 5 所示。 e p 2 p c 机 f p g a u s b 硬件开发板 e p l 图3 5 协同机制结构图 f i g 3 5s 仇l 咖r eo ft l l ec o o r d i n a t i o nm e c h a l l i 锄 为完成软硬件的协同工作,设计建立了f p g a 硬件状态机、p c 机软件系统与 中断数据响应机制。整套工作机制是以p c 机作为节奏控制方,任何操作都是p c 机发起。p c 机软件调用c h 3 7 2 提供的数据下传函数,通过e p 2 下传特殊字节长 度( 本设计规定字节长度为1 1 ) 的指令数据包后,c h 3 7 2 将自动接收存储该数据 包,然后产生中断通知f p g a 的主状态机,f p g a 的主状态机向c h 3 7 2 发出解除 中断指令并读取该数据包,得到数据包的字节长度和数据。f p g a 的主状态机每次 得到数据后都首先判断数据包的字节长度,若为1 1 才是系统规定的指令。若为指 令则从数据包中解析出指令和必要的参数,然后执行相应的硬件操作。硬件操作 完毕后,向c h 3 7 2 发送相应指令和数据,通过e p l 往p c 机发送8 字节长度以内 的数据包,通知p c 机操作完毕,可以进行下一个操作。 c h 3 7 2 为用户提供了p c 机e p l 的设定中断服务程序函数,每个e p l 的上传 都会被这个函数自动接收并激活这个函数所指定的中断程序。因此可以在中断程 序中分析并处理这个上传的数据包,并根据数据包的字节长度和内容进行状态跳 转,设计方案将在软件v b 程序设计小节里详细阐述。 另外由于e p l 中断上传的字节的限制( 最多8 字节) ,当硬件有大量数据需要 上传至p c 时,需要用到e p 2i n 端点批量上传,但由于批量上传的特点与中断上 传不同,p c 机无法自动响应,所以需要采取p c 机反复查询以及超时机制方式, 或者采取e p l 中断上传与e p 2 批量上传相结合的方式,为了保证整个机制的稳定 性和设计的简易性,设计采用后者,具体设计方案,将在软件v b 程序设计章节里 结合软件设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考点解析-人教版九年级物理《电压电阻》重点解析练习题(含答案详解)
- 2025教师资格国考试题及答案
- 2025江西财经考试真题及答案
- 难点详解人教版八年级上册物理物态变化《升华和凝华》专题训练练习题(含答案详解)
- 3dmax期中考试习题及答案
- 东康一中考试题目及答案
- 森林消防员招考试题库及答案
- 计算机二级ps考试真题及答案
- 数据库系统原理自考试题及答案
- 汽车配件销售员基础知识自考试题及答案
- 安全管理意识三阶段
- 博鳌BNCT硼中子治疗中心 环评报告
- 带状疱疹的健康宣教课件
- TIMAAMM 003-2023 蒙医病证诊断疗效标准
- PEP人教版六年级英语上册《阅读理解与写作真题专项归类卷》(附答案)
- 幼儿园男教师体育集体教学活动师幼互动研究基于CLASS评估系统的观察分析
- 医疗器械经营风险管理讲解培训
- 光缆施工安全培训课件
- 学前比较教育第二版全套教学课件
- HJ 168-2020环境监测分析方法标准制订技术导则培训考试题答案
- 工贸企业重大事故隐患判定标准培训PPT
评论
0/150
提交评论