(计算机应用技术专业论文)基于sopc的可信计算模块的研究与开发.pdf_第1页
(计算机应用技术专业论文)基于sopc的可信计算模块的研究与开发.pdf_第2页
(计算机应用技术专业论文)基于sopc的可信计算模块的研究与开发.pdf_第3页
(计算机应用技术专业论文)基于sopc的可信计算模块的研究与开发.pdf_第4页
(计算机应用技术专业论文)基于sopc的可信计算模块的研究与开发.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 嵌入式系统在人们生产生活中的普遍应用,已经成为我们正在经历的信息技术 革命中的重要标志。而s o c 以及s o p c 概念的提出和应用则可称得上是嵌入式系统 发展过程中的里程碑。特别是s o p c ,它是可编程技术发展到一定阶段的必然产物, 作为s o c 和f p g a 相结合的一项综合技术,它集合了两者的优点,具备相当大的灵 活性,是一项极具竞争力的技术。具备较大的应用价值以及研究价值。 目前基于s o c 以及s o p c 技术的嵌入式系统开发平台主要有两种:基于a r m 的开发平台和基于n i o s 软核处理器的开发平台。本课题首先对嵌入式系统的概念 进行了介绍,对基于n i o si i 的s o p c 开发平台的特点以及配套的开发工具进行了 研究和学习,并对可信计算的重要概念以及应用方法进行了分析阐述。为了在理论 的基础上进行更加深入的研究及应用,本课题在这种平台上进行了研究与实践。 本课题在a l t e r a 公司的s t r a t i xi i 开发板上进行了实践,通过对可信计算规范 的学习,实现了一个可信计算模块。本课题对a l t e r a 的s o p c 开发套件的使用方 法进行了简单总结。同时对于基于n i o si i 的硬件平台搭建以及软件程序开发都进 行了研究与应用。主要研究了q u a r t u s ,s o p cb u i l d e r 以及n i o si d e 的使用。 课题最后对硬件平台搭建过程以及可能遇到的问题进行了总结。并对可信计算 模块的集成测试进行了介绍,同时对在开发的过程中遇到的两个难点问题进行了总 结。第一个难点问题是关于b i g e n d i a n 和l i t t l e e n d i a n 的编码问题。第二个难点 问题是a v a l o n 总线四字节对齐的问题。 可信计算作为信息安全的重要领域,越来越受到i t 业界的重视。而可信计算的 芯片化也一直是i t 业界研究的课题之一。本课题将可信技术与s o p c 技术结合起来, 证明了可信计算芯片化的可行性,为信息安全领域和嵌入式开发领域的有效结合做 了有益的探索。 关键词嵌入式系统;s o p c :n i o si i ;可信计算模块 a b s w a c t a b s t r a c t t h ep r e v a l e n tu s a g eo fe m b e d d e ds y s t e mi na l lk i n d so fa c t i v i t i e so fm a n k i n dh a s b e c o m ea ni m p o r t a n ts y m b o lo ft h ei n f o r m a t i o nt e c h n o l o g yr e v o l u t i o nt h a tw ea r e c o m i n gt h r o u g h t h ep r o p o s a la n da p p l i c a t i o no ft h es o ca n ds o p cc a nb es e e na sa m i l e s t o n ei nt h ed e v e l o p m e n to fe m b e d d e ds y s t e m s o p ci st h en e c e s s a r yo u t c o m ew h e n p r o g r a m m a b l et e c h n o l o g yd e v e l o p s t oac e r t a i np h a s e a sa ni n t e g r a t i n gt e c h n i c c o m b i n i n gs o ca n df p g a t h em e r i to fb o t h s i d e sm a k e ss o p cf l e x i b l ea n d c o m p e t i t i v e t h ee m b e d d e ds y s t e md e v e l o p i n gp l a t f o r mb a s e do ns o ca n ds o p ct e c h n o l o g y i n c l u d e st w ok i n d s :t h eo n eb a s e do na r ma n dt h eo n eb a s e do nn o si i t h et h e s i s i n t r o d u c e dt h ec o n c e p to fs o p ce m b e d d e ds y s t e m ,a n dt h e ne x p l a i n e dt h en i o si i s o p cp l a t f o r ma n di t sd e v e l o p i n gt o o l s t h et h e s i sw a gm a i n l yf o c u so i lt h eq u a r t u s , s o p cb u i l d e ra n dn i o s 刀d e t h i st h e s i sa l s oi n t r o d u c e ds e v e r a li m p o r t a n tc o n e 印t so f t r u s t e dc o m p u t i n g f o rf u r t h e rr e s e a r c hb a s e do nt h e o r y , t h et h e s i sd i ds o m ep r a c t i c eo n t h i sp l a t f o r m : d i dp r a c t i c eo ns t r a t i xi id e v e l o p m e n tb o a r d ;i m p l e m e n t e das i m p l et r u s t e d c o m p u t i n gm o d u l ea f t e rs t u d y i n gt h et r u s t e dc o m p u t i n gs t a n d a r d t h et h e s i sm a d ea s i m p l ec o n c l u s i o nf o rt h eu s a g eo fa l t e r a ss o p cd e v e l o p m e n ts u i t e ,a n ds t u d i e dt h e b u i l d i n go fh a r d w a r ef o rp l a t f o r ma n ds o f t w a r ed e v e l o p i n gb a s e do nn i o s i i t h et h e s i ss u m m a r i z e dt h ep r o b l e mf a c e du p o nw h e nb u i l d i n gt h eh a r d w a r e p l a t f o r m ,a n di n t r o d u c e dt h ei n t e g r a t i n gt e s to ft h et p m t h ef i r s tp r o b l e mw a st h e b i g e n d i a na n dl i t t l e e n d i a np r o b l e m t h es e c o n dp r o b l e mw a s t h ef o u r - b y t ea l i g n m e n t p r o b l e mo ft h ea v a l o nb u s b e i n gt h ei m p o r t a n tf i e l do fi n f o r m a t i o ns e c u r i t y , t h et r u s t e dc o m p u t i n gc h i ph a s b e e nm o r ea n dm o r et h o u g h tm u c ho fb yi ti n d u s t r y t h ep r o d u c t i o no ft r u s t e d c o m p u t i n gc h i ph a sb e e no n e o ft h et a s k so fi ti n d u s t r y t h i st h e s i sc o m b i n e dt h et r u s t e d t e c h n o l o g ya n ds o p ct e c h n o l o g y , p r o v e dt h ef e a s i b i l i t y o fp r o d u c i n gt h et r u s t e d c o m p u t i n gc h i p ,a n dd i du s e f u le x p l o r a t i o nf o rt h eu n i t eo ft r u s t e ds e c u r i t yf i e l da n d e m b e d d e dd e v e l o p m e n tf i e l d k e y w o r d s e m b e d d e ds y s t e m ;s o p c ;n i o si i :t r u s t e dc o m p u t i n gm o d u l e m 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:么圣兰受 导师签名: 第1 章绪论 1 1 概述 1 1 1 嵌入式系统发展 第1 章绪论 关于嵌入式系统的概念,业界一直以来有着众多定义,其中比较全面的一个定 义是这样表述的:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件 是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用系统。 嵌入式系统与人们的日常生活密切相关,d , nm p 3 、p d a 等微型数字化设备,大到 信息家电、智能电器、车载设备,嵌入式设备在数量上已经远远超过了p c 机。美 国著名学者尼葛洛庞帝在1 9 9 9 年1 月访华时曾经预言:在若干年后,嵌入式智能工 具将成为继p c 机和i n t e m e t 之后计算机工业最伟大的发明。 虽然嵌入式系统是9 0 年代以来才开始得到人们的青睐与重视,但嵌入式这个概 念却早就已经存在了,从上个世纪7 0 年代单片机的出现到今天各种嵌入式微处理器 的广泛应用,嵌入式系统已经有了3 0 余年的历史。嵌入式系统的发展历程大致经历 了以下四个阶段馏1 : 1 ) 无操作系统阶段:嵌入式系统的雏形应用是基于单片机的应用。在工业控制 中,单片机通常作为可编程控制器的载体,实现了监测、设备指示等功能,通常应 用在大型工业控制器以及军工领域中,单片机系统没有操作系统的支持,需要通过 汇编语言程序对系统进行直接控制,当运行结束后,还需要清除内存。基于单片机 的嵌入式应用已经初步具备了嵌入式系统的特点,然后由于其只是使用c p u 执行一 些单线程程序,没有操作系统的支持,因此还并不完全吻合“系统 的概念。 2 ) 简单操作系统阶段:在经历了无操作系统阶段之后,随着微电子技术的发展, 集成芯片技术得到了前所未有的发展,人们已经可以把c p u ,f o 接口,r a m ,r o m 等部件集成到一个芯片中,从而形成功能完备的微控制器。同时,老一代的单片机 程序员们也开始渐渐尝试着在简单操作系统上面进行嵌入式应用程序的开发,所用 的语言也从汇编语言变成了c 语言,从而大大提高了开发效率。 3 ) 实时操作系统阶段:2 0 世纪9 0 年代,在分布式控制、模糊技术、数字化通 信、信息家电等等对嵌入式系统巨大需求的推动下,嵌入式系统进一步飞速发展, 而面向实时信号处理的d s p 产品则向着高速度、高精度、低功耗的方向发展。随着 北京工业大学工学硕士学位论文 硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,此时实时多任务操作 系统渐渐成为了嵌入式系统的主流,u c l i n u x ,v x w o r k s 都是优秀的实时嵌入式系统。 4 ) 面向i n t e r n e t 阶段:信息社会和数字时代的到来,为嵌入式系统的发展带来 了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。目前,嵌入式技术与 i n t e m e t 技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产 生了许多显著的变化,其中包括: 新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够 在短时间内支持更多的微处理器。 嵌入式系统的开发由单一的软件开发转变成为一项系统工程。嵌入式开发商不 仅要提供嵌入式硬件本身,还要提供软硬件开发工具,软件包等一系列配套工具。 通用计算机上使用的新技术、新观念在嵌入式系统开发中逐渐体现出来,如嵌 入式数据库的概念、代理的概念等,它们使得嵌入式软件平台得到进一步的完善。 各类嵌入式l i n u x 操作系统迅速发展,它们由于具有开源、系统内核小、执行 效率高、结构完整等特点,很适合嵌入式系统的需要,目前已经形成了能与传统的 v x w o r k s 等嵌入式操作系统进行有力竞争的局面。 网络化的发展随着i n t e m e t 技术的成熟而日益突出,以往功能单一的设备,比 如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,随着这些设备 间的网络互联成为技术新热点,对于设备中的嵌入式芯片也有了更高要求。 嵌入式系统的核心是嵌入式处理器,嵌入式处理器与p c 机上的通用处理器最 大的不同点在于:嵌入式处理器大多工作在为特定用户群所专门设计的系统中,它 将通用c p u 中许多由板卡完成的任务集成到嵌入式芯片内部,从而有利于嵌入式系 统在设计时实现规模小型化,同时还能够保证高效率和高可靠性。 嵌入式处理器的体系结构经历了从c i s c ( 复杂指令集) 至r i s c ( 精简指令集) 最后一直到c o m p a c tr i s c 的转变,位数则由4 位、8 位、1 6 位、3 2 位逐步发展到 6 4 位。目前常用的嵌入式处理器可分为低端的嵌入式微控制器( m c u ) 、中高端的 嵌入式微处理器( e m p u ) 、用于计算机通信领域的嵌入式d s p 处理器( e d s p ) 和 高度集成的嵌入式片上系统( s o c ) 哺1 。 目前几乎每个半导体制造商都生产嵌入式处理器,并且越来越多的公司开始拥 有自主的处理器设计部门,据不完全统计,全世界嵌入式处理器已经超过l0 0 0 多种, 流行的体系结构有3 0 多个系列。a t m e l ,t i ,a l t e k a ,a r m 等公司是目前嵌入式 处理器的主流大厂。其中以a r m 、p o w e r p c 、m i p s 以及a l t e r a 的n i o s 等嵌入 式处理器使用得最为广泛。 图1 1 是嵌入式系统的结构图,通过该图可以看到,嵌入式处理器在整个嵌入 弟l 章绪论 式系统中处于核心地位,而作为嵌入式应 j 软件而言,可以依托于嵌入式操作系统 运行,也可以不依托于嵌入式操作系统,而直接在芯片上运行 嵌 式应用软件 妊 式撮怍系统 盈墨四 搬入式硬件平台 112s o p c 技术发展 21s o p c 的前身一一s o c 图卜1 嵌入式系统的结构 1s t r u c t u fe a b e d d e ds v s t 随着集成电路工艺技术的不断发展和苍片集成度的大幅提高,嵌入式系统也由 板极向芯片级过渡逐渐形成了s o c 的概念。s o c 通常是指在单一芯片上实现的 系统通常应用a s i c 技术进行s o c 的设计与实现。在这一个芯片内,需要包含处 理器、基于总线的体系结构、r a m 、r o m 、f l a s h 、输入输出接口等多种资源,由于 i c 技术的发展,使得这些盎源都可以被整合到一个芯片中。而在软件上,则包含实 时操作系统和应用软件。上述硬件和软件共同构成了整个系统。采用这种设计的系 统具有高可靠性、低功耗、体积小等优点u ,。 虽然采用a s i c 技术的s o c 设计成本很低,但设计周期长、投入费用高、风险 较大功能固定而可编程逻辑器件设计灵活、功能强大,尤其是高密度现场可编 程逻辑器件,其设计性能以及价格已完全能够与a s i c 媲美,而应用f p g a 进行设 计,其次性投入低设计周期短的优势是a s i c 无法比拟的。因此,f p g a 在嵌 入式系统设计领域己占据着越来越重要的地位。目前,应用s o c 技术与应用f p g a 进行s o p c 设计已成为嵌入式系统开发的两种齐头并进的流行技术。 北京工业大学工学硕十学位论文 1 1 2 2 技术特点 以f p g a 为核心的产品是近几年集成电路中发展得最快的产品。随着f p g a 性 能的高速发展和设计人员自身能力的提高,f p g a 将进一步扩大可编程芯片的领地, 将复杂应用芯片挤向高端和超复杂应用。拿a l t e r a 公司的商用f p g a 芯片来说, 每一个芯片中已经不仅仅包含可编程逻辑功能模块、可编程输入输出模块和可编程 内部互联资源等基本的资源,还集成了存储器、数字时钟管理单元、算术运算单元 等更丰富的资源,为更复杂的设计应用,并最终实现片上系统提供了强有力的支持。 目前f p g a 的发展趋势主要体现在以下几个方面 5 1 : 1 ) 向更高密度、更大容量的千万门级系统方向发展。 2 ) 向低成本、低电压、微功耗、微封装发展。 3 ) i p 复用理念将成为主要设计方式。 4 ) d s p 等嵌入式处理器将成为f p g a 应用的核心。 基于f p g a 的s o p c 系统是一种特殊的嵌入式系统,首先它属于s o c 的范畴, 即由单个芯片完成整个系统的逻辑功能;其次,它是可编程的系统,可以方便地对 其进行编程,并可以通过工具包进行裁减、扩充、升级等操作。因此,s o p c 地概 念结合了s o c 和f p g a 可编程的优点,它通常具备以下基本特征: 1 ) 至少包含一个以上的嵌入式处理器m 核。 2 ) 具有片内高速r a m 资源。 3 ) 具有丰富的l p 核资源。 4 ) 足够的片上可编程逻辑资源。 5 ) 单芯片、低功耗、微封装埔1 。 随着人们对嵌入式芯片的功能要求越来越高,以及市场竞争的激烈,使得芯片 交货时间不断被缩短,这使得嵌入式开发人员不得不寻求缩短设计周期的方法。此 时,充分利用可复用l p 核便成为了最为重要的手段。i p 复用是指在集成电路设计 过程中,通过继承、共享或购买所需的知识产权核,然后再利用e d a 工具进行设 计、综合和验证,从而加速芯片设计过程,降低开发风险。口复用已逐渐成为现代 集成电路设计的重要手段,在对于芯片的高性能以及短交货日期的要求下,只有采 用成熟的i p 核,才能满足人们对于各种嵌入式芯片的庞大的需求。 i p 是知识产权的简称。i p 核是经过预先设计和验证,符合产业界普遍认同的设 第l 章绪论 计规范和设计标准,可以看作是具有相对独立的功能的模块或者子系统。这个模块 可以独立复用于s o c 以及s o p c 设计中。 可重用i p 大量应用在s o p c 的设计中,基于应用需求、规范协议和行业标准的 不同,i p 核的内容也是千差万别的。除了购买现有的i p 核外,设计者还需要自己 进行i p 核设计。在s o p c 中最核一t l , 的部分就是嵌入式微处理器i p 核的设计与使用。 当前有多种为嵌入式系统而设计的微处理器i p 核,如a l t e r a ,a r m 等芯片公司 设计的处理器系列。其中a r m 公司设计的a r m 系列i p 核应用最为广泛,目前世 界上大部分嵌入式系统芯片都采用a r m 核。而为了实现s o p c 的设计技术,f p g a 生产厂商也推出了基于f p g a 的微处理器l p 软核,比较著名的有a l t e r a 公司的 n i o s 软核。 通常i p 分为三类,分别是软核i p 、固核i p 和硬核i p 盯1 。其中硬核i p 的电路布 线是固定的,不能更改。硬核i p 已完成了全部的前端和后端设计,灵活性最小。硬 核i p 模块提供给用户的是封装好的行为模型,用户能从外部测试硬核的性能,但无 法得到厂家真正的电路设计。 软核包括逻辑描述和不能物理实现的测试文档。与硬核相比软核有更大的灵活 性,用户能把用硬件描述语言设计的软核修改为自己所需要的设计,综合到选定的 生产工艺上,并通过布局布线实现具体的电路。 固核是一种介于软核和硬核之间的i p 核,通常以带有工艺信息的门级网表的形 式提供。固核既不是独立的,也不是固定的,它可以根据用户的要求进行修改,使 它适用于某种可实现的工艺过程。固核允许用户重新确定关键的性能参数。 从完成i p 核所付出的代价来看,硬核口代价最高引,从灵活性角度来看,软 核i p 的可复用性最好,最灵活。v e r i l o gh d l ,v h d l 等语言都可以用来修改软核i p 。 1 1 2 4 可编程片上系统s o p c s o p c 是a l t e r a 公司于2 0 0 0 年最早提出的概念,并同时推出了相配套的开 发软件。s o p c 是基于f p g a 技术的一种解决方案,与基于a s i c 技术的s o c 解决 方案相比,s o p c 具有更为灵活的特点:它将处理器、存储器、i o 接口等各个功能 模块集成到一个芯片上,构建成一个可编程的片上系统。由于可以向系统进行直接 编程,使得s o p c 设计方式具备相当大的灵活性。在可编程器件内,还具有小容量 高速r a m 资源。由于市场上有丰富的i p 核资源可供选择,用户可以用各种成熟的 i p 核构成用户想要的系统,如单处理器、多处理器系统。有些可编程器件内还可以 包含部分可编程模拟电路。除了系统使用的资源外,可编程器件内还具有足够的可 北京工业大学工学硕士学位论文 编程逻辑资源,用于实现其它的附加逻辑。 从应用角度看,s o p c 与s o c 相比具有很大优点,因为它是基于可编程逻辑器 件实现的,可以随时将程序下载到硬件中,以验证其功能。而若想对产品的设计进 行修改,只要通过硬件描述语言对芯片中电路布局进行改动或者增减功能即可。由 此可见,s o p c 与a s i c 不同,它不是定制的,而是属于可编程的技术范畴之中。 目前,构成s o p c 的方案有许多种,主要可以通过以下两种途径阳1 : 1 ) 基于f p g a 嵌入式l p 硬核的s o p c 系统 在f p g a 中预先植入嵌入式处理器。目前最为常用的嵌入式系统多数采用了含 有a r m 的3 2 位硬核处理器器件。将a r m 或其他i p 核以硬核方式植入f p g a 中, 利用f p g a 中的可编程逻辑资源和i p 软核,以及f p g a 中的逻辑单元来构成该嵌入 式系统处理器的各个模块,使得系统更为灵活完备,功能更为强大,对多任务处理 具有更好的适应性。 2 ) 基于f p g a 嵌入式i p 软核的s o p c 系统 将i p 硬核直接植入f p g a 的解决方案存在某些不完善之处,例如:设计者无法 根据实际需求在同一个f p g a 中使用多个处理器核,无法裁减处理器硬件资源等阳1 。 而利用软核嵌入式系统处理器就能有效地克服上述问题。目前最具代表性的软核 c p u 是a l t e r a 公司的n i o si i 嵌入式处理器。 1 2 难点分析 在基于s o p c 技术进行可信计算模块开发的过程中,必须要对s o p c 的概念, 以及基于n i o si i 的平台有所了解。同时为了顺利完成开发,需要对a l t e r a 公司 提供的开发环境有所了解。需要了解q u a r t u s ,s o p cb u i l d e r ,以及n i o si d e 之 间的关系,并通过s o p cb u i l d e r 将硬件开发环境成功搭建起来,同时还要掌握 a l t e r a 公司提供的软件工具包的使用方法。另外,由于涉及到对t p m 可信模块 的开发,首先需要了解可信计算的基本概念,其次需要对t c g ( 制定t p m 标准的 组织) 提供的文档进行仔细阅读,从而对要实现的t p m 函数的功能进行深入理解。 而在a l t e r a 的s o p c 平台下进行c 语言编程时,需要灵活运用计算机知识解决由 于与p c 机处于不同平台而产生的编程问题。 第1 章绪论 1 3 本文内容组织 本论文对基于s o p c 技术开发一个可信计算模块的过程进行了分析。s o p c 技 术是当今嵌入式开发领域的主流开发技术,正在为越来越多的开发人员所认知。而 可信计算属于计算机安全领域,近年来逐渐受到国内计算机业内人士的重视,并开 展了一系列相关的研究工作。本论文共分为五章。 第一章足绪论。本论文在这一章中对嵌入式系统的发展进行了简单说明,并对 s o p c 技术的发展,包括s o c 、i p 核、s o p c 等概念进行了阐述。 第二章是s o p c 开发平台概述。本论文在这一章中对基于s o p c 技术的开发平 台进行了研究。主要对n i o s i i 处理器、n i o s 地址空间、a v a l o n 总线以及a l t e r a 提供的平台软件开发工具的概念及使用进行了总结。其中软件开发工具重点介绍了 q u a r t u s 、s o p cb u i l d e r 、n i o si d e 等三个最为关键的软件工具。 第三章是可信计算模块概述。本论文在这一章中对可信计算模块的重要概念进 行了分析,包括可信平台、信任根、密钥组织结构、命令格式等。最后对可信计算 模块的应用方法及意义进行了阐述。 第四章是可信计算模块的功能分析。本论文在这一章中首先对可信计算的概念 进行了介绍,然后对本课题所实现的各个子模块的功能进行了一一分析。包括顶层 模块、串行数据分析模块、o s a p 验证码初始化模块、创建密钥模块、加载密钥模 块、封装模块、反封装模块。 第五章是可信计算模块的实现。本论文在这一章中首先对可信计算模块的具体 开发环境进行了介绍,包括硬件环境和软件环境,然后依托于第三章对各个子模块 所做的功能分析,描述了对这些子模块的具体实现。 第六章是硬件环境搭建及对可信计算模块的测试。本论文在这一章中对使用 s o p cb u i l d e r 对硬件平台的搭建过程进行了介绍。最后,对测试过程以及遇到的编 程难点进行了说明。 第2 章s o p c 开发平台概述 第2 章s o p c 开发平台概述 2 1 0 si i 软核处理器 s o p c 平台目前最为常用的处理器是n i o sl i 软核处理器。n i o si i 是a l t e r a 公司的第二代f p g a 嵌入式处理器。它是一个i p 软核,并具有3 2 位精简指令集的 c p u 。由于软核的特点,使得n i o s i i 与传统的c p u 不同,它的实现方式是在f p g a 上通过编程方式实现。在设计嵌入式系统的时候,系统设计者可以将它放入f p g a 中,并且只会占芯片内部很少的一部分逻辑单元,而且成本很低。由于它是一个r i s c 指令集,因此它的大部分指令均可以在一个时钟周期内完成。n i o si ic p u 具有以 下的一些特点伽: 1 ) 它是一种可以配置的i p 核,设计者可以通过s o p cb u i l d e r 开发工具对其参 数进行配置,以适应不同场合的需要。 2 ) 它支持3 2 位数据线宽度,具有3 2 个通用寄存器以及2 g b 的寻址空间。 3 ) 它支持3 2 位的指令集,包含2 5 6 个用户自定义指令。 n i o si i 软核c p u 的内核参数表如表2 1 所示。 表2 - 1n i o s i i 处理器参数 t a b i e2 1p a r a m e t e ro f n i o s lip r o c e s s o r n i o s 内核参数 n i o sc p u 参数3 2 位n i o sc p u1 6 位n i o sc p u 数据总线宽度( b i t s ) 3 21 6 a l u 宽度( b i t s ) 3 21 6 地址总线宽度( b i t s ) 3 21 6 指令长度( b i t s ) 1 61 6 相比第一代n i o s 处理器,n i o s i i 处理器采用了全新的架构。它占用了更少的 f p g a 资源,而性能却增长了1 倍。目前n i o si i 系列包含三种软核,一种是高性能 软核( n i o si i f ) ,处理能力超过2 0 0 m i p s ;一种是精简软核( n i o si i e ) ,利用这种 精简架构的软核构架一个完整的c p u 只需要占用7 0 0 个逻辑单元;一种是标准软核, 性能和逻辑资源需求界于前两者之间。所有软核之间都是1 0 0 代码兼容,这可以 让设计者根据需求变化及时改变c p u ,而不会影响现有的程序开发进度。 n i o si i 能够满足大多数3 2 位嵌入式微处理器的应用需要。a l t e r a 为其配各 北京工业大学工学硕士学位论文 了完善的软件开发套件,包括编译器,集成开发环境等。设计者能够用q u a r t u s i i 开发软件中的s o p cb u i l d e r 系统开发工具非常容易地创建专用的基于n i o si i 的 嵌入式系统,并能够根据系统的需求添加n i o si i 处理器i p 核的数量。 另外,使用n i o si d e 可以自动生成和系统硬件想匹配的的c c + + 编程环境。 n i o si d e 还提供了许多软件模板,为新手进行程序开发提供了便捷的上手途径。 定制 i ,o 信号 图2 - 1n 1 0 s i i 处理器结构 f i g u r e2 1 s t r u c t u r eo fn i o s iip r o c e s s o r 图2 1 为n i o si i 处理器的结构图,由图可知,n i o si ic p u 由若干个基本模块 和一系列可选模块构成。基本模块包括:a l u 、程序控制器、地址生成器、中断控 制器、寄存器组等。可选模块有:j t a g 调试器、用户指令逻辑、指令c a c h e 、数 据c a c h e 等。 2 2 系统互联模块 a i t e r a 针对s o p c 设计的系统互联模块( s y s t e mi n t e r c o n n e c tf a b r i c ) 是一种交换式 的总线,具有非常好的数据交换特性和很高的总线带宽,它具有结构简单,采用全 同步时序,以及可以灵活地进行配置等特点,其运行时钟、总线位宽、各个接口位 宽以及各个外设之间的互联特性等都可以灵活地配置。设计它的目的是为了能够简 第2 章s o p c 开发平台概述 单可靠地将处理器和外围设备连接起来构成一个s o p c 系统。在最近的一个版本更 新中,a l t e r a 将原来的a v a l o n 接口规范升级到最新的3 2 版,并将其改名为 a v a l o n m m ( a v a i o nm e m o r ym a p p e di n t e r f a c e ) 旧叫接口规范。每一个符合a v a l o n m m 接口规范的设备挂载到系统互联模块上,这些设备被划分为主控设备和从属设备。 总线的传输方式是一种主从式的传输方式,即由一个主控设备发起并控制传输过程, 而从属设备响应经由系统互联模块发来的信号完成整个传输晗0 1 。 系统互联模块和n i o s 是在同块芯片内,n i o s 必须使用系统互联模块同外围 设备相连。系统互联模块除了定义了主设备和从设备之间的连接端口,还定义了主 从设备之间的连接时序。 系统互联模块具有以下的一些特点心: 1 ) 最大寻址空间为4 g b 。 2 ) 所有信号都同步于系统互联模块的时钟。 3 ) 系统互联模块为每个外围设备提供单独的地址线、数据线和控制线,这样简 化了外围设备接口的复杂度。 4 ) 系统互联模块内的多路选择器会自动为特定的传输建立专门的数据通路。 5 ) 系统互联模块会自动牛成外围设备的片选信号,也即是说它内置了地址解码 功能,这简化了外围设备接口的设计。 6 ) 系统互联模块为并行多设备结构,允许多个主设备同时进行数据传输。 7 ) 系统互联模块具有中断处理功能。每个外围设备均有单独的中断请求信号线 同系统互联模块相连,系统互联模块会生成对应的中断号并传送给n i o s 。 系统互联模块同传统总线相比最大的区别就在于它是并行多主设备结构,允许 多个主设备同时进行数据传输。在传统总线中,只存在一个总线仲裁器,其传输过 程是首先由主设备向总线请求总线使用权,然后开始传输。在传统的嵌入式系统中, 主设备和从设备位于印刷电路板的不同部分,且i o 管脚以及总线信号线的数量是 有限的,因而这种总线结构对于传统的嵌入式系统来说非常合适。但是,由于某一 时刻只能有一个主设备提交总线使用请求,该种总线在单一时刻只允许一个主设备 进行数据传输,而且当这个主设备进行数据传输的时候,其它主设备只能等待。 系统互联模块的设计理念避免了传统总线中的性能瓶颈。它的每一个主设备和 该主设备需要访问的从设备之间有专门的数据通路n 引。当一个主设备需要访问某一 个从设备时,多路选择器会为两者打开它们的专用通路。系统互联模块中每一个同 多个主设备有数据交互的从设备都有一个专用的总线仲裁器。系统互联模块的总线 仲裁不是仲裁总线的使用权,而是仲裁主设备对从设备的使用权,也就是说当多个 主设备需要访问同一个从设备时总线仲裁器才发挥作用【l9 1 。可以看出,在系统互联 北京工业大学工学硕士学位论文 模块中,多个主从设备可以同时进行数据传输,这对提升系统整体性能有很大帮助。 2 3 地址空间 n i o si i 的最大寻址空间为4 g b ,外设端口和存储器是统一编址的,即把外设端 口当作一个存储器单元。每一个外设端1 2 1 占有存储器的一个地址,从外围设备读写 一个数据相当于对存储器进行读写操作。这种寻址方式有一个缺点,就是外设占用 了内存单元,可使用的内存容量减少,但是在嵌入式环境中这并不会有什么影响, 嵌入式系统中内存的容量远远小于4 g b 1 。n i o s 通过采用这种编制方式减少了指令 数目。另外,可以使用存储器操作指令对外设进行操作,使用方便。 基于n i o s 系统的地址空间有很大的灵活性,各个设备的地址以及内存的地址 是可任意配置的。下面通过一个简单的n i o s 系统来进行说明。该n 1 0 s 系统由n i o s 处理器,s r a m ,r s 2 3 2 端口,p i o ,r a m 等组成,其地址空问如表2 2 所示。可 以看出各个设备的地址是不连续的。它们统一编址,都占用系统的地址空问。 表2 2 n 1 0 s ii 地址空间示例 t a b i e2 - 2 e x a m p i eo fa d d r e s ss p a c eo fn i o s ii n i o s 系统地址空间实例 设备名称地址空间 r $ 2 3 20 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 01f s r a m0 x 0 010 0 0 0 0 o x 0 01f f f ff p l o 0 x 0 0 2 0l0 2 0 0 x 0 0 2 0l0 2 f r a m0 x 0 0 3 0 0 8 0 0 一o x 0 0 3 0 0 f f f 2 4 组件 a l t e r a 公司所提出的s o p c 开发平台是一个基于模块和组件的系统。为了实 现对这类系统的构建,a l t e r a 公司为s o p c 开发平台提供了一个功能强大的构建 工具:s o p cb u i l d e r ( 可参见2 5 2 节) ,通过这个工具以及和这个工具相配套的一 个庞大的组件库,可以构建出复杂的s o p c 系统。这些组件包含了从简单的固定逻 辑的功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件。这些组 件可以是从a l t e r a 或第三方合作伙伴购买来的i p 核,它们其中一些是可以免费下载 用作评估的。用户还可简单地创建他们自己定制的组件。s o p cb u i l d e r 库中已有的 组件包括了:n i o si i 处理器、存储器接口、各种通用的外设、通讯外设、桥接口、 第2 章s o p c 开发平台概述 d s p ( 数字信号处理器) 、硬件加速外设等等。每个组件都符合a v a l o n 总线通 讯协议,可以挂载到a v a l o n 总线上。这种基于组件对系统进行构造的思想充分体 现了i p 复用的思想,大大提高了开发人员对复杂功能的系统的构造能力。 在使用现有的组件的同时,a l t e r a 还允许用户开发属于自己的组件,可以使 用s o p cb u i l d e r 中的n e wc o m p o n e n t 命令,添加自主设计好的组件。组件可以是由 h d l 语言编写而成的,将其导入s o p cb u i l d e r 之后,根据a v a l o n 总线传输规范设 置相关的信号线及传输参数,就完成了自主i p 核的设计,可以通过工具下载到f p g a 之上,成为搭建的s o p c 平台的一部分。 2 5 开发工具 2 5 1o u a r t u s a l t e m 公司为s o p c 开发者提供的s o p c 开发工具是s o p c 开发领域中使用最 为广泛的工具,它们能够将软硬件的设计结合起来,提供给开发人员一个和f p g a 本身契合地很好的开发环境。在q u a r t u s 之前,a l t e r a 推出的m a x + p l u si i 曾经是 应用广泛、非常受欢迎的可编程逻辑器件设计软件,它对于f p g a 的应用推广以及 嵌入式系统的设计做出了非常重要的贡献。近年来,为适应微电子技术及其应用的 飞速发展,尤其是s o p c 技术发展的需要,a l t e m 推出了q u a r t u s 。它继承了前辈软 件的优点,是更加完善的f p g a 设计工具。它包括许多强大的功能:v h d l 或 v e r i l o g h d l 编程、综合仿真、时序分析、功率评估、f p g a 布局布线以及产品验证 等。q u a r t u s 还提供了许多方便的附带工具,图2 2 是q u a r t u s 的软件界面,可以看 到它的工具菜单里包含了许多有用的组件,这些组件对于开发者进行s o p c 的开发 起到了非常重要的辅助作用。 n 京i n 太 i 学硕十学位论文 图2 - 20 u a r t u s 的软件界面 f i g u r o2 2h u m a ni f t t e r f a c eo f0 u a r t u s 2 5 2s o p cb u i ld e r s o p c b u i l d e r 是一个能够生成可编程硬件系统的工具,利用s o p c b u i l d e r 用 户可以很方便地将处理器、存储器和其他外设模块连接起来,形成一个完整的系统 ”。s o p c b u i i d e r 中包含了n i o s i i 处理器,以及其他一些常用的外设i p 模块。开 发人员也可以设计自己的i p ,并通过s o p c b u i l d e r 将其挂载到系统上。 从用户的角度来看,s o p cb u i l d e r 是一个能够生成复杂硬件系统的工具。但从 s o p cb u i l d e r 的内部来看,它包含两个主要部分:一个图形用户界面,另一个是硬 件系统生成程序。s o p cb u i l d e r 图形用户界面提供管理i p 模块、配置系统等功能。 开发人员可以通过图形用户界面中显示出的各种i p 组件,通过非常人性化的拖拽等 操作方式添加到系统中,并在每个组件的参数设置页面中进行配置。整个过程非常 简洁且由于用户只需要拖拽相应的组件并针对组件进行配置,具体组件之问的连 接大多由s o p cb u i l d e r 完成因此可以保证生成系统性能的稳定和安全。图2 3 是s o p cb u i l d e r 的图形用户界面。 ,v l i - ,* t 7 h t b “_ t 。b ”i 。1 “p s “o r r5 t -

温馨提示

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

最新文档

评论

0/150

提交评论