(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf_第1页
(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf_第2页
(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf_第3页
(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf_第4页
(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(信号与信息处理专业论文)ctp中基于usb20和sopc的图像传输.pdf.pdf 免费下载

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

文档简介

摘要 通用串行总线( u s a ) 技术已经是一种成熟的计算机与各种外设进行数据交换的技 术,它具有快速、双向、支持实对传输、支持即插即用、协议简单且易于开发等技术 优点,在计算机外设接口领域得到了广泛的应用。 s o p c ( s y s t e mo np r o g r a m m a b l ec h i p ,可编程的片上系统) 是a l t e r a 公司提出来 的一种灵活、高效的s o c ( s y s t e mo nc h i p ) 解决方案,它将处理器、存储器、i o 口 等系统设计需要的功能模块集成到一个可编程器件上,构成了一个可编程的片上系统。 s o p c 是p l d 和a s i c 技术融合的结果,可认为s o p c 代表了半导体产业未来的发展 方向。 本课题讨论了在c t p ( 计算机直接制版机) 系统中,基于u s b 2 0 和s o p c 技术的 t i f f b ( - - 值标签图像文件) 格式的图像传输。文中先对u s b 2 0 协议和s o p c 的开发 的基础知识进行了扼要的介绍,而后介绍了系统的硬件设计过程和固件编程方法,固 件编程部分包含片上系统的搭建,最后讲述了u s b 2 0 驱动程序和应用程序的开发流 程。 关键词:片上系统,协议,嵌入式软核处理器,固件,驱动,标签图像文件 a b s t r a c t u n i v e r s a ls e r i a lb u st e c h n o l o g yh a sb e e nav e r ym a t u r et e c h n o l o g yw h i c hi su s e dt o e x c h a n g ed a t ab e t w e e nc o m p u t e ra n dp e r i p h e r a l s ,i to w n sm a n ya d v a n t a g e ss u c ha sf a s t , t w o - w a y , r e a l - t i m et r a n s m i s s i o ns u p p o r t e d ,p l u g a n d p l a ys u p p o r t e d ,s i m p l ep r o t o c o la n d e a s yd e v e l o p m e n t i th a sb e e nw i d e l yu s e di nt h ef i e l do f c o m p u t e r sp e r i p h e r a li n t e r f a c e s o p ci sp u tf o r w a r db ya l t e r aa saf l e x i b l ea n de f f i c i e n ts o l u t i o nf o rs o c ,i ti n t e g r a t e s p r o c e s s o r , m e m o r y , i op o n sa n do t h e r m o d u l e sn e e d e df o rs y s t e md e s i g ni n t oa p r o g r a m m a b l ed e v i c et oc o n s t i t u t e ap r o g r a m m a b l e s y s t e m o n c h i p s o p c i st h e c o m b i n a t i o no fp l da n da s i ct e c h n o l o g ya n dc a nb ec o n s i d e r e dt h a ti tr e p r e s e n t st h e s e m i c o n d u c t o ri n d u s t r y sd e v e l o p m e n td i r e c t i o ni nt h ef u t u r e t h et f b ( t a gi m a g ef i l c b i l e v e li m a g e s ) f o r m a ti m a g et r a n s m i s s i o nw h i c hb a s e do n u s b2 0a n ds o p ct e c h n o l o g yi nt h ec t p ( c o m p u t e r - t o - p l a t em a c h i n e ) s y s t e mw i l lb e d i s c u s s e di nt h ep a p e r f i r s t l y , t h eb a s i ck n o w l e d g eo f u s b 2 0p r o t o c o la n dt h ed e v e l o p m e n t o fs o p ca l ei n t r o d u c e d t h e n ,t h eh a l d w a l ed e s i g np r o c e s sa n df i r m w a r ep r o g r a m m i n g m e t h o da l ep r e s e n t e d ,t h ee s t a b l i s h m e n to ft h eo n c h i ps y s t e mi sd i s c r i b e di nf i r m w a r e s e c t i o n , a tl a s t ,t h ed e v e l o p m e n tp r o c e s so f t h eu s b2 0d r i v e r sa n da p p l i c a t i o na l es t a t e d k e y w o r d :s y s t e m - o n c h i p ,p r o t o c o l , e m b e d d e ds o rc o r ep r o c e s s o r ,f i r m w a r e ,d r i v e r , t a g i m a g ef i l e 长春理工大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,c t p 中基于u s b 2 0 和s o p c 的 图像传输是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文 中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过 的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 作者签名:左瑟垄筮笙塑年_ l f j ;_ l t t q 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“长春理工大学硕士、博士学位论文版 权使用规定”,同意长春理工大学保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本人授权长春理工大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等 复制手段保存和汇编学位论文。 作者签名:趑红碰年互月丑同 指导导师签名:3 堑佥盥迎年土月丑日 第一章绪论 1 1 课题的提出 c t p 技术是指计算机直接制版( c o m p u t e rt op l a t e ) 技术,即将计算机系统中的数字 页面通过独立于印刷机的成像设备( 即直接制版机) 直接成像到印版。它标志着印前工作 流程的完全数字化,极大提高了制版效率和质量,具有很高的经济效益。在美国印刷 技术基金会( o 盯f ) 国际重大印刷出版技术的排位统计上,计算机直接制版技术连续3 年雄居榜位。迄今为止,全世界已安装了一万多套计算机直接制版系统,今年来,随 着c t p 技术的不断成熟,c t p 市场发展更加迅猛,传统制版已不能适应现代印刷工艺 的需要,c t p 技术的重要性已无以复加。目前,在很多发达国家,c t p 技术已经进入 生产应用的成熟阶段。但在我国,虽然发展势头很好、好快,但由于资金、观念、生 产环境等一系列因素的限制,由于c t p 厂商、版材类型、c t p 成像系统众多、成像关 系复杂等影响生产工艺和质量的问题的存在,国内印刷业对c t p 技术还处在一个试验 摸索的阶段,还没有形成一套完整的控制体系,更没有建立相关标准,实际应用水平 和问题较多。2 0 0 6 年,国内c t p 市场保有量才达到6 0 0 多台,基本上为进口设备。 目前,国外c t p 设备在与计算机进行数据通信时使用的都是公司自行研制的专用 接口,包括应用软件,接口驱动器等都是与设备邦定在一起进行出售的,每个c t p 公 司都有自己的标准,这主要出于对优化设备的性能,提高速度和知识产权保护方面的 考虑,这也就是说,在使用某公司的设备之前得先给计算机配置相应的接口,以及安 装相应的驱动软件等。 目前,国内公司生产的c t p 设备与计算机的接口大多采用的是s c s i ( s m a l lc o m p u t e r s y s t e mi n t e r f a c e - d 、型计算机接口1 接口,而该接口主要面向服务器和工作站市场,是一 种工业接口,一般的个人计算机上很少有这种接口,虽然其速度、性能、稳定性都非 常好,但其接口协议复杂,不容易进行s c s i 接口设备的开发,且由于s c s i 接口目前 并非基本接口,因此必须以扩充接口卡的方式存在,因此,还必须进行扩充接口卡开 发。相对而言,作为一种新型的通用串行接口,u s b 接口协议要较s c s i 接口简单,接 口设备容易开发,易于使用,且u s b 接口支持即插即用,所有的配置过程由系统自动 完成,无需用户的干预。u s b 2 0 的传输速率可高达4 8 0 m b p s ,基本上能满足所有外围 设备的传输速度要求,且在一台计算上最多可支持1 2 7 个设备,应用非常普及,已经 被普遍应用到p c 机上,成为种主流的接口。基于u s b 的上述优点,为了使国产c t p 设备快速普及,降低价格,提高国产c t p 设备与进口c t p 设备的竞争力,公司开始转 向u s b 接口的c t p 设备的开发。 该系统将采用a l t e r a 公司生产的c y c l o n e t m 系列f p g a 进行系统硬件的开发,系 统采引入了s o p c 的概念,在f p g a 中嵌入了a l t e r a 公司提供的n i o s i i 软核,采用s o p c 设计系统有利于系统的扩展,对于处理器及一些接1 2 1 模块等的配置都是通过软件来进 行的,避免了使用大量的集成芯片进行硬件电路的设计,直接在一块f p g a 上通过相 应的软件利用已有的或自己设计的口模块来搭建系统,使得系统可以在不改变硬件电 路的情况下可通过软件重新设计系统的p 模块从而重新搭建系统,这也使得系统的升 级变得非常容易,公司甚至直接通过网络就可以给客户的c t p 设备进行在线升级,也 便于设备的维护。 1 2 课题的主要内容和主要工作 c t p 该设备工作过程大体可以分为三个部分:首先,由上位机软件对需要制版的 图片进行分色与光栅化处理;其次,把处理后的图像数据传输到下位机;最后,用图 像数据控制激光器对版材进行曝光制版。一幅图片进行分色和光栅化处理后可以输出 为c n k y ( 红、青、黑、黄) 四幅二值图片( 二值图片:一个像素对应一个数据位, 也就是说一个像素点的值只能为0 或1 ) ,且每幅图片中的一个像素对应一个设备像素 即一路激光器,这样,就可以通过图像数据控制激光器对版材是否曝光来实现制版。 通过对上位机软件的设置,可以将分色和光栅化处理后的图片输出为t i f f - b 格式的图 片。 本课题总体任务是通过u s b 2 0 和f p g a 中搭建的片上系统实现在c t p 与计算机 之间的t i f f b 格式的图像传输。课题研究了u s b 2 0 总线技术、基于n i o sh 软核的 s o p c 技术,并在此基础上制作了基于f p g a 与u s b 2 0 的硬件电路,在f p g a 上搭建 了一个片上系统,编写了u s b 2 0 接口芯片c y 7 c 6 8 0 1 3 的固件程序和n i o si i 软核的固 件程序,最后,为实现计算机与硬件电路之间的图像传输,编写了u s b 设备的驱动程 序和系统的应用程序。 2 1s o p c 技术 第二章s o p c 技术及开发工具介绍 2 1 1s o c 简介“1 s o c ( s y s t e r n0 nc h i p ) 是一种系统芯片,称为片上系统,是将一个系统集成到一 个芯片上面。s o c 也可译为“系统芯片集成”,意指是一种技术,用以实现从确定系统 功能开始,到软、硬件划分,主要采用第三方的婵完成设计的整个过程。一个集成电 路芯片如果具有了以下的特性,就可以称为s o c 。 1 、实现复杂功能的v l s i 。 从狭义的角度讲,s o c 是信息系统的集成,是将系统集成在一块芯片上;从广义 角度讲,s o c 就是一个微小型系统。 2 、采用超深亚微米工艺技术。 到了超深亚微米阶段,器件的特征尺寸达到了o 1 8 0 0 5 微米。特征尺寸指的是工 艺线中器件能加工的最小尺寸,它常常作为技术水平的标志。采用超深亚微米工艺技 术可以在几平方厘米的芯片上集成数千万个晶体管。 3 、用一个或数个嵌入式c p u 或数字信号c p u 。 单个芯片要处理的信息量和信息复杂度要求芯片必须具备强大的数据处理能力,嵌 式c p u 或数字信号c p u 的使用将是s o c 的一个重要标志。 4 、具备外部对芯片进行编程的功能。 对于s o c 设计,应用时由于各种原因使原来的设计与实际应用有些差异,需要作 必要的修改或变动以适应应用环境,所以采取外部对其编程的方式。 5 、主要采用第三方的核进行设计。 高度复杂的系统功能和越来越高新的产品打入市场的时间要求不允许芯片设计者一切 从零开始,必须借鉴和使用己经成熟的设计为自己的产品开发服务,所以采用第三方 的口核是s o c 设计的必然。 由于s o c 可以利用已有的设计,显著地提高设计效率,故发展非常迅速,近l o 年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、网络设备,这些 产品的核心部分都开始采用s o c 技术进行开发。 2 1 1 1s o c 中的l p 复用技术 s o c 的设计基础是口复用技术。p 模块是一种预先设计好,己通过验证,具有 某种确定功能的集成电路、器件或部件。 1 、软口核( s o f t 口c o r e ) 本质上是一段可综合的高级语言程序,用h d l 语言建立的数学模型。它在抽象的 较高层次上对p 功能进行描述,并且己经过行为级设计优化和功能验证。它通常以 h d l 文档的形式实现,文档中一般包括逻辑描述、网表,以及一些可以用于测试,但 不能物理实现的文件。使用软p ,可以综合出正确的门电路级网表,进行后续结构设 计。软m 的灵活性大,可移植性好。 2 、硬碑核( h a r d i p c o f c 经过某一工艺实现后并仿真通过和投片验证的版图设计,主要是基于口模块物理 结构的描述。它是电路物理结构掩模版图和全套的工艺文件,拿来就可以使用的全套 技术。其优点是完成了全部的前端和后端设计,已有固定的电路布局和具体工艺,可 以确保性能,并缩短s o c 的设计时间。 3 固p 核( f i r mi pc o r e ) 仿真后得到的完整电路网表,主要是基于m 模块结构的描述,用h d l 建模和综合 后生成的电路结构编码文件。是介于硬m 和软p 之间的口核。固m 一般以门电路级 网表和对应具体工艺网表的混合形式使用的。 疋重用技术使芯片设计从以硬件为中心,逐渐转向以软件为中心,从门级的设计, 转向p 模块和p 接口级的设计。这缩短了s o c 设计的时间,还降低设计和制造成本, 提高可靠性。在s o p c 的开发中也是以口重用为基础的。 2 1 1 2s o c 技术的优缺点 1 、s o c 的优势 ( 1 ) 功耗低、:由于s o c 产品多采用内部信号的传输,可以大幅降低功耗。 ( 2 ) 体积小:数颗i c 整合为一颗s o c 后,重量、体积大大减小。 ( 3 ) 系统功能丰富:s o c 可整合更多的功能元件和组件。 ( 4 ) 速度快:随着芯片内部信号传递距离的缩短,信号的传输效率更高。 ( 5 ) 成本低:球模块使得研发成本低,研发时间短,可适度节省成本。 2 、s o c 的不足 ( 1 ) 要将i p 模块集成到s o c 中,要求设计者完全理解复杂m 模块的功能、接口电 气特性,如微处理器、存储器控制器、总线仲裁器等。 ( 2 ) 随着系统的复杂性的提高,要得到完全吻合的时序也越来越困难。 口模块的标准化可以在一定程度上解决上述问题。 2 1 2s o p c 概述 以往的s o c 设计依赖于固定的a s i c 。其设计方法通常采用全定制和半定制电路 设计方法,设计完成后如果不能满足要求,经常需要重新设计再进行验证,这将导致 开发周期变长,开发成本增加。另外,如果要对固定a s i c 的设计进行修改、升级,也 将花费昂贵的代价而进行重复设计。与a s i c 比较,可编程逻辑器件( p r o g r a m m b l el o g i c d e v i c e ,p l d ) 的设计要灵活得多,它不仅开发周期较短,而且规模效应具有成本优势。 因此,著名的可编程逻辑器件生产厂家美国a l t c r a 公司提出了基于p l d 的s o c 设计 方案一s o p c 。 s o p c 是s o c 技术和可编程逻辑技术结合的产物,是一种特殊的嵌入式系统。首 先它是s o c ,即可以由单个芯片完成整个系统的主要逻辑功能;其次,它还是可编程 系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备一定的系统可编程功 能。可编程器件内还具有小容量的r a m 资源,丰富的口核可以被选择来构成不同的 系统,如单处理器、多处理器系统。有些可编程器件内还可以包含部分可编程模拟电 路。除了系统资源,器件内还有足够的可编程逻辑资源,用于实现附加逻辑。 s o p c 出现也是市场和技术共同推动的结果,它具有s o c 所有的优点,又克服了 s o c 的缺点,故市场对s o p c 的需求越来越大。从技术发展分析,表现为:百万门以 上密度的f p g a 和c p l d 芯片已经面市并发展前景非常好;功能强大的系统级芯片开 发工具已经推出,可对百万门电路进行快速的分析和编译。 2 1 2 1s o p c 的特点 s o p c 结合了s o c 、p l d 和f p g a 各自的优点,一般具备以下特点:至少包含一 个嵌入式处理器内核;具有小容量片内高速r a m 资源:丰富的口c o r e 资源可供选择; 足够的片上可编程逻辑资源:处理器调试接口和f p g a 编程接口;可能包含部分可编 程模拟电路;单芯片、低功耗、微封装。 s o p c 是p l d 和a s i c 技术融合的结果,目前,o 1 3 微米的a s i c 产品制造价格仍 然相当昂贵,而集成了硬核或软核c p u 、d s p 、存储器、外围i ,o 及可编程逻辑的s o p c 芯片在应用的灵活性和价格上有极大的优势,它代表了半导体产业的一种发展方向。 s o p c 的基本持征是采用自顶向下的设计方法,对整个系统进行方案设计和功能划 分,系统的核心电路用一片高端系统级f p g a 或c p l d ( 复杂可编程逻辑器件) 实现,用 硬件描述语言完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。 s o p c 的巨大吸引力来自于能够提供更好的性能以及更低的功耗,有效节省电路板 面积并降低产品的总成本,因此电子工业正在向s o p c 设计转移。 p 的本质持征是可重用性,它通常满足良好的通用性、可移植性及绝对正确三个 基本持征,口是未来s o p c 设计的核心。 要使s o p c 设计成功,就要更多地采用口复用,以快速完成设计,得到价格低廉 的硅器件。 2 1 2 2s o p c 解决方案 近年来p l d 器件密度的提高,芯片规模的扩大和性能的提升为s o p c 提供了物质 基础。这里主要讲述以a l t e r a 公司的s o p c 为基础的技术应用。a l t e r a 公司起初是生产 可编程逻辑器件及其开发工具,并拥有一些p 核的公司。随着技术的发展,尤其是通 信技术的发展,对带宽和速度的要求越来越高,a l t e r a 率先推出一种高效、灵活的s o c 解决方案,即s o p c ,它将处理器、存储器、i o 口、l v d s ( l o wv o l t a g ed i f f e r e n t i a l s i g n a l i n g ) 等系统设计需要的东西集成到一个p l d 器件上,构建成一个可编程的片上 系统。 1 、n i o s 和n i o s i i 软核 在2 0 0 0 年,a l t e r a 发布了n i o s 处理器,推出了一系列基于f p g a 的嵌入式处理器 解决方案,它将可编程逻辑器件和处理器的有力结合到了一起。2 0 0 4 年又推出了n i o s 的升级版本n i o si i ,性能有了很大的提高。 n i o s 处理器是一种参数化的软核,通过编写一些新的h d l 模块或改写己有h d l 模块中的参数来对软核进行优化,及增加外围电路的功能。使用n i o s 软核的s o p c 解 决方案具有如下特点: ( 1 ) 可配置为3 2 位或1 6 位的c p u ,使设计人员能够在速度与占用资源上做出最 优选择。 ( 2 ) 带有大量的外设和接口库,如u a r t 、时钟、d m a 、s d r a m 、并行i o 等。 这使得s o p c 的设计变得简单化,可靠性提高,成本降低。 n i o s 软核只占用芯片内部很少的一部分逻辑单元,所以成本较低。由于n i o s 是可 配置的,所以还可以应用于a l t e r a 公司其他的f p g a 芯片上。在一些高端应用中,可 以把d s p 功能块和n i o s 核嵌入其中,加上本身具有的可编程功能,它将提供更高性能 的d s p 应用。 2 、a r m 9 2 2 t 硬核 在速度要求较高的高端应用,如通信领域,软核的处理速度不够,a l t e r a 就推出了 基于j 慷m 硬核的s o p c 解决方案,把a r m 硬核放到了f p g a 中。 3 、a l t e r a 的f p g a 开发工具 为了支持s o p c 的开发,a r c r a 公司还推出了一系列e d a 设计工具,如硬件逻辑 方面的q u a r t u si i ,以及s o p cb u i l d e r 和软件n i o si ii d e ,还包括一些第三方软件等。 4 、a v a l o n 总线 为了使m 核集成更快速、更方便,缩短上市时间,产生了片上总线o c b ( o n c h i p b u s ) 技术。a l t e r a 公司使用a v a l o n 总线作为片间的信号互联。 2 1 2 3s o p c 关键技术 s o p c 与普通集成电路的设计原理不同,它是微电子设计领域的一场革命,s o p c 从整个系统出发,从系统行为级开始自项向下描述系统功能,把处理机制、模型算法、 嵌入式操作系统、芯片结构、各层次电路直至器件的设计实现紧密结合,在单个芯片 上完成整个系统的功能。由于综合并全面考虑整个系统的情况,因而可在同样的工艺 技术条件下实现更高性能的系统指标。s o p c 设计主要有三大关键技术: l 、基于单片集成系统的软、硬件并行开发与协同设计及验证技术 硬件和软件更加紧密结合不仅是s o p c 的重要持点,也是2 l 世纪信息产业发展的 必然趋势。 2 、p 核生成及复用技术 与传统i c 设计方法不同,s o p c 设计中集成了复杂的m 模块。如:微处理器、 d s p 、存储器、p c i 总线等:同时嵌入式软件的设计也被集成到s o p c 设计中。 3 、模块界面间的综合分析技术。 主要包括口模块间的“f l u el o 垂c ”技术和p 模块综合分析及实现技术。 2 2a i t e r a 的f p g a 开发工具 任何一种技术的流行,都会有很好的开发工具在后面做支持,a l t e r a 公司开发的软、 硬件开发工具( q u a a u s ,s o p cb u i l d e r ,n i o si ii d e ) ,和其他公司提供的一些第三 方仿真软件( 如m o d e l s i m ) ,为其芯片的推广提供了有力的支持。 2 2 1o u a r t u si i ”1 q u a a u si i 是一个集成开发环境,设计人员可在里面完成s o p c 的全部设计,包括 系统的生成、编译、仿真、并可以下载到开发器件中,进行实时评估和验证。该软件 还集成了s o p cb u i l d e r 开发工具,令s o p c 的开发更为便捷。 2 2 2 $ 0 p cb u i d e r 2 2 2 1s o p cb u i i d e r 简介 s o p cb u i l d e r 是一个自动化的系统开发工具,可以简化s o p c 的设计工作。它为生 成一个存储器映射系统提供了有力的平台,这种系统是基于处理器、外设和f p g a 内 部或者外部存储器的。使用s o p cb u i l d e r 在很短的时间内就可以定义和实现一个完整 的系统,时间比使用传统的、人工的s o c 方法大大缩短。 s o p cb u i l d e r 自动集成基于地址读写的硬件设计接口模块。通过自动集成这些模 块,s o p cb u i l d e r 大大简化了生成一个高性能s o p c 设计的任务。在传统的s o c 设计 中,必须人工连接所有系统组件。使用s o p cb u i l d e r 自动生成互连逻辑,包括地址解 码、中断控制器和数据宽度匹配等,所需要的只是指定外设就可以了。 s o p cb u i l d e r 的输出是h d l 文件,这个文件定义了系统所有的组件和一个被称为 系统模块的顶层设计文件,顶层文件中同时绑定了所有元件。s o p cb u i l d e r 生成a v m o n 转换结构包含了管理所有系统模块互连的逻辑。 2 2 2 2s o p cb u i l d e r 的外设 s o p cb u i l d e r 提供了一个强大的设计平台以搭建基于总线的系统,范围从简单的固 定逻辑时钟到复杂永久和动态生成的子系统,如处理器、存储器、总线、d s p 等口核。 2 2 2 3 用户自定义外设 s o p cb m l d c r 为用户提供一种简单的开发并连接自己模块的方法。 1 、在v e f i l o g h d l 或v h d l 中创造一个带有a v a l o n 接口的逻辑。 利用a v a l o n 接口,用户定义的外设需要依附于一个基于地址、数据、读使能和写 使能信号的简单接口。 2 、使用用户逻辑向导接口导入用户设计的h d l 文件到s o p cb u i l d e f s 。 用户使用向导映射输入、输出信号名字到a v a l o n 信号类型,指定时序要求和仿真 文件。 3 、以同样的方式初始化用户模块,像s o p c b m l d e r 中的待选组件。 用户定义外设能在单一的设计中被初始化为多个时钟,并能被用于其它系统设计。 2 3 本章小结 本章首先对f p a g 作了简单的介绍,而后从s o c 技术入手介绍了s o p c 技术,包 括s o p c 技术的特点、解决方案以及s o p c 技术的关键技术,最后介绍了f p g a 和s o p c 的开发工具q u a r t u s 和s o p cb m l d e r 。 第三章n i o si i 软核处理器 3 1n i o si l0 p u 概述“8 1 n i o s c p u 是一种5 级流水线、单指令的r i s c 处理器,其大部分指令可以在一 个周期内完成。n i o s 处理器又是一种软核c p u ,专门针对a f t r a 的可编程逻辑器件 及片上可编程的设计思想,做了相应的优化。作为一种可配置的r i s c 处理器,它可以 与用户自定义逻辑结合构成s o p c 系统,并下载到a 1 t e r a 的可编程器件中。3 2 位的n i o s i i 软核,结合外部闪存以及大容量存储器,可构成一个功能强大的3 2 位嵌入式处理器 系统。 在a l t e 豫的n i o s 嵌入式处理器中,用户可以在n i o s i i 指令系统中增加用户自定 义指令,以增强其对强实时软件算法的处理能力。用户自定义指令可以通过单周期或 多周期操作来完成复杂的处理任务。另外,增加的用户自定义指令同样可以访问存储 器或n i o s 系统外的逻辑。采用用户自定义指令,用户可以把一个复杂的标准指令序 列,简化为一条用硬件实现的单个指令。 3 1 1n i o sii 软核的基本要素 r m e m o r y f 1 a s h 噩e m o r y s r a m j t a gc o n n e c t io n t os o f t g ”ed e b u g g e r b e b u g m o d u l e n o i si i f 口c e s s c r c o r e 萋| 耄 i i 运迅! ! i + 匝强一 鼯磊磊瓦鬲丽 【t oo f f c h i pi 譬 h 喘 k 专 曩 赛 矗 三 皇 黼 t 嬲r l t i e r 2 z l c dd i s p l 甜 d i v e r g e n i a l - p u r p o s ei 0 e t h e r n e t i n to r f a c e c o a c tf 1a s h i n t e r f a c e t ) r x d l c ds :r e e n b u t t o n s l e d s ,g c e t h e r 础t m a e p h y c o a c t f l o s h 图3 1n i o s i i 处理器系统 n i o si i 软核处理器是通用流水线型的r i s c 处理器内核,它和微控制器或者“片上 计算机”( 包含一个c p u 、片上存储器以及外设的连接接口) 是等价的术语。n i o s 量l 皿 处理器系统将n i o si i 处理器核、片内外设集合、片内存储器和片外接口等所有这些都 在一块单一的a l t e r a 的f p g a 芯片上实现。所有的n i o si i 处理器系统使用统一的指令 集和编程模型。一个n i o s 处理器系统如图3 1 所示。 系统模块中,至少包含一个a v a l o n 主外设和整个a v a l o n 总线模块。系统模块中还 包含一些a v a l o n 外设,如:u a r t ,p i o 和定时器等。 用户可以根据设计需要设定某些参数来灵活地定制n i o st i 处理器,相反地,不必 要的处理器特性和外设可以去掉,以适合更小型、低成本器件的设计。因为a l t e r a 器 件的引脚和逻辑资源是可编程的,许多用户自定义的特性可以实现。 芯片上的引脚能被重新安排,这就使得电路板设计更加容易、灵活。片上额外的引 脚和逻辑资源能用来实现与处理器无关的功能。额外的逻辑资源提供了一些额外的门 和寄存器作为电路板设计的“g l u e l o g i c ”,或者额外的资源可以实现另一个完整的系统。 片上额外的引脚和逻辑能用来为n i o si i 处理器系统实现附加的外设和硬件逻辑。 3 1 ,2n i o si i 处理器架构和实现 n i o si i 架构描述一指令集架构( i n s t r u s t i o ns e ta r c h i t e c t u r e ,i s a ) 。n i o si i 处理器核 心是一种用硬件设计来实现n i o si i 指令集并支持其功能单元。处理器核不包括外设或 连接到外部的逻辑。它仅仅包含了实现n i o si i 架构要求的电路。图3 2 显示了n i o si i 处理器核的模块图。 w i o si ip r o e m s s 0 1 c o r e r e s e t 。 ”口; 1k 二 4 ,- - - - l ij t n l s g h t r t u l y c t c t o u l l p l e d 。r 州i 6 e t r e q u e s t : 鼢o g r a m g e n e r a l c o n t r o l l e r e e t t a k c n 7 矗 p u d c s b a d c b e s s r e g i s t e r bi r ot or 3 1 i n s t r u c t i o n t i 。i ;g h t l y 。嚣署器j叫。g 饶眦。 g v n e r a t i o “ _ - 。 e a c l m e x c e p t i o n e o n t r o l c o n t r o l l e t r e g i $ t 8 r s t r q 3 1 o j i n t e r r u p t t t l o t 0 一蒜“h ” c o n i 1 1 口 c t l + d a t ab u # c u s t o ma r i t h t e t l c d a t a ;豁鬣妒醯li n s t r u c t i o n l o g i cu r 吐t c a c h e l o g i c i - +,:窖。l y 。c 。o u 。1 “。j 图3 2n i o s i i 处理器核 n i o si i 架构的功能单元构成了n i o si i 指令集的基础。然而,这并不代表着 任何一个单元都是在硬件中实现的。n i o si i 架构描述的是一种指令集,不是一种 特殊的硬件实现。一个功能单元可以由硬件实现,软件仿真或者完全忽略掉。 一种n i o si i 的实现就是被特定的n i o si i 处理器内核嵌入的一种选择。所 有的实现都支持定义在n i o si i 处理器参考手册上的指令集。每一种实现都完 成了具体的目标,比如更小的核心尺寸或者更高的性能。这允许n i o si i 架构调 整到符合不同目标应用程序的需要。 3 1 3n i o s il 的用户可见功能单元 l 、寄存器文件 n i o si i 架构支持一个标志寄存器文件,包含3 2 个通用寄存器和6 个3 2 位控制寄 存器。这种架构支持管理和用户模式,这种模式允许系统代码保护来自于错误用应用 程序的控制寄存器。n i o si i 架构允许将来增加浮点寄存器。 2 、算术逻辑单元 n i o si i 的算术逻辑单元( a l u ) 对通用寄存器中的数据进行操作。a u u 操作从寄存 器取一个或者二个操作数,并且把结果存回寄存器。 3 、异常和中断控制 包括异常控制器和集成的中断控制器。 4 、存储器与u o 组织 n i o si i 存储器与i o 组织的灵活性是n i o si i 处理器系统与传统的微处理器最为显 著地区别。因为n i o si i 处理器系统是可配置的,对于不同的系统,存储器和外设都不 一样。所以每个系统的存储器与f o 组织都不同。 5 、j 1 a g 调试 n i o s i i 架构支持一个j t a g 调试模块,此模块提供的片内仿真用以从远程主机( p c ) 控制处理器。基于p c 的软件调试工具利用j t a g 调试模块进行通信并提供了多种简易 工具,如;下载程序到存储器、开始和停止运行、设置断点和观察点、分析寄存器和 存储器、收集实时运行数据。 3 2n i o sl i 总线结构 n i o si i 总线结构采用的是a v a l o n 总线形式,是a l t e r a 公司针对其f p g a 而设计的 一种s o p c 接口标准。它提供了各设备之间连接的接口,可以用于片上处理器和外设 之间的连接。 a v a l o n 总线具有结构简单和可参数化配置等特点,由一组预定义信号组成,主要 用于连接片内处理器与外设( 一个或多个i p 模块) ,以构成可编程单芯片上系统( s o p c ) 。 它描述了主从构件间的连接关系,以及构件间通信的时序关系。 3 3n i o s | i 异常处理 n i o si i 体系结构提供一个简单的非向量异常控制器来处理所有类型的异常。所有异 常包括硬件中断,都引起处理器从异常地址开始执行程序。程序员可以在异常地址处 判断异常产生的原因,并分配相应的异常处理任务。异常地址在用s o p cb u i l d e r 生成 系统时就已经指定。 当异常发生后,程序跳转到异常处理地址,处理器开始执行一段由h a l ( 硬件抽 象层,在5 3 1 中有介绍) 插入的代码,判断异常源和异常优先级,然后再跳转到用户 的异常服务予程序中( i s r ) 。 3 4n j o si | 处理器系统的外围设备“ n i o si l 外围设备库包含的外围设备有:定时器:并行输入输出接口p i o :通用异步 串行接口u a r t ;d m a 控制器;3 线主从串行接口s p i ;存储器接口等。 s o p cb u i l d e r 能自动生成这些模块的硬件描述语言的源码以及相应的软件接口子 程序。下面具体讲述其中的几个。 一、定时器 定时器模块可以作为周期性脉冲发生器或系统看门狗定时器。 1 功能描述 n i o si i 定时器模块是3 2 位的内部定时器。通过写控制寄存器来操作定时器,还能 读取内部计数器值。定时器模块可以生成中断请求信号,也可以用内部控制器进行中 断屏蔽。n i o si i 定时器由系统主时钟驱动,它可以作为系统的周期性时钟源( t i c k ) ; 也可以作为一个计时器,测定事件发生的时间;还可以对外输出周期性脉冲或作为一 条监管系统正常运行的“看门狗”。 2 定时器寄存器 定时器的寄存器的映像和含义如表3 1 所示。 表3 1 定时器的寄存器 寄存器位描述 a 2 a 0寄存器名称洲 1 5321 o o s t a t u s r 九vn l nt o lc o n t r o lr ,w s t o p s t a r tc o n ti t o 2 p e r i o d l r w 超时周期( 第0 1 5 位) 3 p e r i o d h 删超时周期( 第1 6 3 l 位) 4 s n a p l r w 超时计数器快照( 第o 1 5 位) 5 s n a p h r 、v超时计数器快照( 第1 6 3 1 位) 3 软件编程 a l t e r a 为n i o si i 处理器用户提供硬件抽象层( h a l ) 系统库驱动程序,允许用户 使用h a l 应用程序接口( a p i ) 函数来访问定时器内核。 定时器内核提供了硬件的寄存器级访问和h a l 层的a p i 函数: a l t e r a _ a v a l o n _ t i m e r _ r e g s h 一定义内核的寄存器映射并提供硬件设备访问宏定义。 a l t e r aa v a l o nt i m e r h 、a l t e r aa v a l o nt i m e rs c c 、a l t e r aa v a l o nt i m e rt s c 、 a l t e r aa v a l o nt i m e rv a t s c 实现了h a l 系统库的定时器设备驱动程序。 应用开发者可通过阅读上述文件以熟悉定时器设备的a p i 函数使用方法,但不应 该修改这些文件。 二、并行输入输出接口( f i o ) 并行输a 输出( p i o ) 模块提供了从控制器端口到通用i o 口间的存储器映射接口。 y o 端口既连接到片内逻辑,又连接到外部设备的f p g a 的l g o 引脚。 1 功能描述 ” 每个a v a l o n 接口的p i o 内核可提供3 2 个y o 端口且端口数可设置,用户可以添加一 个或多个p i o 内核。c p u 通过i 0 寄存器控制i 0 端口的行为。i 0 口可以配置为输入、 输出和三态,还可以检测电平事件和边沿事件。 2 p i o 寄存器 p i o 寄存器的映像和含义如表3 ,2 所示。 表3 2 p i o 的寄存器 地址寄存器名称洲寄存器位描述 rrp i o 输入 od a t a w w p i o 输出 1d i r e c t i o n洲数据方向( 可选) :对每一个p i o 位控制 2 i n t e r r u p t m a s k 脚 中断掩码( 可选) :每一位开关中断 边沿触发( 可选) :每一位边沿检测和保 3 e g g e c a p t u r e 洲 持 3 软件编程 p i t :) 内核提供了对硬件进行寄存器级访问的文件a l t e r a _ a v a l o np i o _ r e g s h 。该文件 定义了内核的寄存器

温馨提示

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

评论

0/150

提交评论