(信号与信息处理专业论文)基于双核处理器的嵌入式系统开发平台.pdf_第1页
(信号与信息处理专业论文)基于双核处理器的嵌入式系统开发平台.pdf_第2页
(信号与信息处理专业论文)基于双核处理器的嵌入式系统开发平台.pdf_第3页
(信号与信息处理专业论文)基于双核处理器的嵌入式系统开发平台.pdf_第4页
(信号与信息处理专业论文)基于双核处理器的嵌入式系统开发平台.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

太原理工大学硕士学位论文 基于双核处理器的嵌入式系统开发平台 摘要 本研究首先讨论基于f p g a 技术实现的硬盘控制器,然后 实现了一个双核嵌入式系统的硬件开发平台。 在本系统中,硬盘控制器模块由f p g a 来实现。c p u 通过 f p g a 可以对硬盘的状态进行查询、设置、和对扇区的读写。在 f p g a 模块中利用i p 核技术实现了a 1 a 一3 协议。本系统的目标 器件使用x i i i n x 公司的s p a r t a n 2 e 一3 0 0 e 。设计实现包括数字系 统自顶向下的设计、v 玎) l 对系统硬件的描述、状态机的设计 以及i s e 开发软件和进行m o d e l s i m 仿真,最后完成代码下载和 调试。为了提高设计规范性和准确性,特别注意了以下问题:1 ) 采用多层次编程,将功能分成若干模块,在合成时再进行接口 连接。2 ) 特别强调严格的逻辑时序,而且信号通过的门电路要 尽量少,以减少门延时及线路延时对信号同步的影响。 本课题使用a r m + d s p 双核处理器1 m s 3 2 0 v c 5 4 7 l 为硬件 开发平台,兼具丰富的外设资源和d s p 快速运算能力。根据系 统要求,配置了音频编解码、网络接口、硬盘、u s b 、键盘和 显示器等接口。在此基础上,进行方案设计和实现,编写j ,各 i 太原理工大学硕士学位论文 部分硬件设备的测试程序。对嵌入式操作系统的移植和上层应 用程序的开发,给出了相应的通道及硬件考虑。 关键词:f p g a ,s o c ,嵌入式系统,t m s 3 2 0 v c 5 4 7 l ,a r m ,d s p l i 太原理工大学硕士学位论文 s y s t e m i sd i v i d e di r l t os o m ef u i 蚕三耋 主;j 三一主主霍;i l i i ;霎毒 妻茎詈囊鬻蕈i 蔷主;丝茎; 囊蠢室 蠡j 垂i 羹薹耋毒l l 季妻嚣;主辜董l 妻| 姜= 荠i 虱习茎蔓 雪专i 量喜i ;一;k 薹露蠹i ;尊蓥董事i 摹蓦;摹茎; ;鲁事藿。委善妻蓍主篓摹i 藿薹霆毒 遵守此规定) 。 本人签名:色竺奎日期:!年j二_月且日 导师签名日期:皇!尘年二_月l日x 太原理工大学硕士研究生学位论文 y 7 8 8 3 15 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除文中特别加以标注和致 谢中所罗列的内容外,论文中不包含其他人已经发表或撰写过 的研究成果;也不包含为获得太原理工大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本文研究 所做的任何贡献均已在论文中做了明确的说明并表示了谢意。 本人签名:习生叁姥日期:! 翌! 年上月盟目 j j 太原理工大学硕士学位论文 1 实现本系统的硬件平台。独立完成芯片选型,系统的原理图设 计,多层p c b 设计和调试,并编写外围设备的驱动程序,为移植嵌入式 操作系统进行准备。 2 在分析s o c 系统的基础上,本系统使用f p g a 实现硬盘控制器, 采用硬件控制的方法来实现a t a 一3 协议。在此基础上进行了仿真试验, 及硬件加载调试。 3 实现了一个u s b 接口和一个d c d c 电源,该电源功率高工作稳 定。 0 3 论文的组织 第一章讨论了嵌入式系统和s o c 设计方法;第二章介绍了硬件平台 的选型与实现;第三章详细介绍了基于f p g a 的硬盘控制器设计,给出了 一个具体的实例支撑第一章阐述的设计方法r 第四章讨论了怎样设计高 质量的电源模块和u s b 接口:最后,对本文工作进行总结,指出了本系 统可改进之处。 2 太原理工大学硕士学位论文 第一章嵌入式系统和s o c 设计方法 1 1 嵌入式系统 嵌入式计算机系统的目标是将用户所需的计算机系统 12 】功能嵌入 到产品、装置或大型系统中去。 嵌入式计算机经历了从单片计算机、工业控制计算机、集中分布式 控制系统,进而发展到嵌入式智能平台的几个发展阶段。从独立单机使 用发展到联网设备。从以模拟电路为主发展到以数字电路为主、数字模 拟电路混合。嵌入式系统的设计和实现朝着基于芯片,特别是系统级可 编程芯片( s o c ) 的方向发展。为了降低研制难度,常采用融微处理器 技术、数字信号处理技术、可编程系统级芯片设计和软硬件协同设计技 术于一体的基于嵌入式智能平台的嵌入式系统的设计方法。 典型的嵌入式系统由两部分组成:以嵌入式处理器为核心的硬件设 计和基于嵌入式实时多任务操作系统的软件开发。其中硬件部分还包括 了存储器及外设器件和i o 端口、图形控制器等。嵌入式软件与p c 软 件一样,也分为操作系统和应用软件口4 1 。应用程序控制系统的目标行为 和运作;嵌入式操作系统用来支持应用程序编程与硬件的交互作用。实 时多任务操作系统强调任务执行和切换的确定性,一般需要一个很小的 实时内核,负责提供最基本的系统服务。 尽管嵌入式系统应用面极广,复杂程度差别极大,应用的个性化要 求各不相同。但是,嵌入式系统总体设计需要考虑的主要问题仍然可以 归纳成下述几个方面: 口进行深入的系统分析,透彻理解应用需求。 口根据应用需求,形成总体方案,选择或自行搭建开发平台,完成 3 太原理工大学硕士学位论文 算法与体系结构的映射;形成软硬件协同设计方案; 口嵌入式处理器选型; 口实时操作系统( r t o s ) 选型; 口开发工具( 例如编译器、仿真器) 选型或开发; 口数据通路的设计; 口可测试性设计; 口可重用性设计; 口仿真、验证环境的建立: 口目标节点的策划。 l _ 2s o c 设计方法 1 2 1s o c 的设计方法概述 在集成电路( i h t e g r a t ec h u i t ,简称i c ) 发展初期,一般都从器件的 物理版图入手设计集成电路。后来出现了集成电路单元库,使得集成电 路设计进入逻辑级,使大批电路和逻辑设计师可以直接参与集成电路设 计,极大地推动了i c 产业的发展f l 引。但集成电路仅仅是一种半成品, 它只有装入整机系统才能发挥作用。i c 芯片是通过印刷电路板( p c b ) 等技术实现整机系统的。尽管i c 的速度可以很高、功耗可以很小,但由 于p c b 板中i c 芯片之间的连线延时、p c b 板可靠性以及重量等因素的 限制,整机系统的性能受到了很大的限制。随着系统向高速度、低功耗、 低电压和多媒体、网络化、移动化的发展,系统对电路的要求越来越高, 传统集成电路设计技术己无法满足性能目益提高的整机系统的要求。同 时,由于i c 设计与工艺技术水平提高,集成电路规模越来越大,复杂程 度越来越高,已经可以将整个系统集成为一个芯片。正是在需求牵引和 技术推动的双重作用下,出现了将整个系统集成在一个微电子芯片上的 4 太原理工大学硕士学位论文 系统芯片( s y s t e mo nc h i p ,简称s o c ) 概念。 s o c 技术是一种高度集成化、固件化的系统集成技术。使用s o c 技 术设计系统的核心思想,就是除了那些无法集成的外部电路或机械部分 以外,要把整个应用电子系统全部集成在一个芯片中【1 “。 i p ( i n t e l l e c t u a lp r o p e r t y 知识产权模块) 核在s o c 技术中是一个重要 的概念。i p 核是指可用来生成s o c 的逻辑功能块。设计者可以重复使用 已经设计并经过验证的i p 核,从而专注于整个系统的设计。目前数字i p 已得到了充分的发展,可以很方便地进行i p 核的设计或购买到i p 核并 整合到s o c 的设计中【2 射。这就使得使用s o c 技术的电子系统设计工程 师所面对的是一个巨大的i p 库。s o c 技术使应用电子系统设计工程师变 成了一个面向应用的电子器件设计工程师。 在使用s o c 技术设计的应用电子系统中嵌入式结构的实现十分简 单,只要根据系统需要选择相应的内核,再根据设计要求选择与之相适 合的i p 模块,就可以完成整个系统硬件结构。尤其是采用智能化电路综 合技术时,可以更充分地实现系统的固件特性,使系统更加接近理想设 计要求【1 4 】。 1 2 - 2s o c 设计方法和传统设计方法的比较 现代计算机技术和微电子技术进一步发展和结合使得集成电路的设 计出现了两个分支:一个是传统的更高集成度的集成电路的进一步研究; 另一个是基于f p g a 利用高层次v h d l 肫r i l o g 等硬件描述语言进行专 门设计,使之成为片上系统( s o c ) 【l 】o 两者之间有以下几个方面的差别: 1 核心技术 在传统的应用电子系统设计中,需要根据设计要求的功能,寻找相 应的集成电路和所选电路的连接形式及参数。设计的结果是一个以功能 集成电路为基础,器件分布式的应用电子系统结构,能否满足设计要求 s 太原理工大学硕士学位论文 1 - 2 3s o c 的设计流程 s o c 的设计流程如图卜l 所示: 图1 1s o c 设计流程 f i g u r e1 1s o cd e s i g nn o w c h a r t s o c 设计在初级阶段是在f p g a 芯片上进行开发的,在调试成功以 后,经配置可进行大批量生产。大批量生产产品成本低很多,互连延迟 以及功耗都很低,但是需要非常多的验证,而且设计周期很长【2 9 1 。 1 3 f p g a 开发方法 s o c 系统的开发必须以f p g a 为实验器件,f p g a 是一个基于r a m 的采用查找表l u t ( l o o k u p 1 1 a b i e ) 式结构的p l d 芯片。l u t 是可编程 的最小逻辑单元。f p g a 设计软件自动计算逻辑电路的所有可能的结果, 且把结果事先写入r a m 。因此,每输入一个信号进行逻辑运算就等于 输入一个地址进行查找,找出地址对应的内容,然后输出。另外,可编 程i 0 块完成芯片上逻辑与外部封装脚的接口,围绕着阵列排列于芯片 四周;可编程内部互连包括各种长度的连线线段和一些可编程连接开关, 7 太原理上大学硕士学位论文 它们将各个可编程逻辑块或i 0 块连接起来,构成特定功能的电路。不 同厂家生产的f p g a 在可编程逻辑块的规模,内部互连线的结构和采用 的可编程元件上存在较大的差异。常见的厂家有a l t e r a 、x i n l i l l ) ( 和a c t e l 公司。 1 3 1 开发环境 本课题是使用一个f p g a 芯片作硬盘的控制管理,采用x i l i n x 公 司的s p a r t a n 2 e 一3 0 0 e 芯片作为目标器件。x i n x 公司自带开发工具i s e ( i m e g r a t e ds o f t w a r ee n v i r o n m e n t ) ,我们使用i s e 5 7 版本。其功能 非常强大:可将编辑的源代码直接写入h d l 源文件以便设置和控制其 所有高级功能:设计向导能指导用户进行h d l 编程,减轻学习配置复 杂器件功能所需的所有的编程属性负担,从而加快了设计进程:利用宏 创建器,设计者可以在i s e 平面规划器中将设计的任何一部分指定为一 个内核,这个内核可以被其他设计者共享,从而减少重复工作;i s e 时 序分析器提供了强大的假设分析和过滤功能;详细的时序报告功能可方 便确定高速路径,并提供了可编程设计中最全面的时序约束语言等。这 些都简化了高速设计分析,方便了设计者的使用和操作。 进入i s e 后,首先打开工程导航器( p r o j e c tn a v i g a t o r ) 界面,在此界 面可以访问各种设计输入及设计实现工具。工程导航器主要由四个窗口 组成,如图1 2 所示,左上角是s o u r c e si np r o j e c t 窗口,列出了工程中 所有的文件;其下是p m c e s s e s f o r c u r r e n ts o u r c e 窗口,显示相应的运行 过程;最下面是c o n s o i e w i i l d o w 窗口,列出了状态信息,报错及报警信 息,右边是多文件窗口,显示文本文件的内容以及h d l 测试波形。 8 太原理工大学硕士学位论文 图l - 2i s e 工程导航器界面 f 蟾u r e l - 2i s ep r o j e c tn a v i g a t o rw i n d o w x i l i l l ) 【在自己的i s e 设计工具中并不提供仿真工具,而是采用 m o d e l s i m 进行行为模式( b e h a v i o m lm o d e l ) ,转换( p o s t t r a t l s l a t e ) , 映射( p o s t m a p ) 和布局布线( p o s t - p 1 a c er o u t e ) 的仿真设计。 m o d e l s i m 有三种运行方式:( 1 ) 交互式的命令行,该方式没有用户 界面,通过控制台的命令完成仿真操作;( 2 ) 用户界面,该方式可以在 用户界面中使用菜单输入和命令输入;( 3 ) 批处理模式,该模式从d o s 和u n i x 命令行运行批处理文件。 m o d e l s i m 的仿真过程包括以下步骤:创建仿真工作库( 、v o r k 库) , 映射库到物理目录,编译源代码,启动仿真器,执行仿真。 1 3 2f p g a 目标器件 s p a r t a l l 2 e 一3 0 0 e 有3 0 万个系统门,1 5 3 6 个可配置逻辑块( c l b ) , 1 6 4 k b i t 的块r a m ( b 1 0 c k r a m ) ,1 4 6 个可用的输入输出模块( i o b ) , 4 个数字锁相环( d l l ) 。运行频率可高达2 0 0 m 1 1 z 。 c l b 是逻辑器件的核心部分,用于实现f p g a 的逻辑功能。利用查 9 太原理工大学硕士学位论文 找表,c l b 可以构成分布式存储器,一个4 输入查找表可以生成1 6 + 1 位的r a m ,该存储器可以是单口r a m ,也可以是双口r a m 。此外利用 查找表l u t 还可以实现基于查找表的可配置移位寄存器。 i o b 提供f p g a 内部逻辑与外部封装管脚之间的接口,具有适应多 种接口标准的能力。在i o b 模块中,有时钟控制信号( c l k ) 、置位 复位信号( s r ) 、输入使能( i c e ) 、输出使能( 0 c e ) 、三态控制使能 ( t c e ) 等多种信号。所有的1 0 b 模块和i ,o 管脚被分成8 个b a i l k ,每 个b a l l k 有独立的输入输出工作电源( v c c o ) 和参考电源( v r e f ) 。为了 能适应多种输入输出标准,每个b a l l k 的工作电源的参考电源可以不同。 b l o c k r a m 用于实现f p g a 内部数据的随机存取。每一个块存储器 都是一个真正的完全同步的双端口存储器,即每个端口都可以采用独立 的时钟进行读写。 d l l 用于f p g a 内部和外部的时钟控制和管理。d l l 是一个闭环控 制系统,可以自动调整时间的延迟,确保时钟沿到达内部触发器与其时 钟输入引脚同步。而且d l l 还提供先进的多时钟控制,可以进行倍频或 分频,也提供o o ,9 0 0 ,1 8 0 0 ,2 7 0 0 四个相位的输出时钟信号,这些不同 频率和不同相位的时钟输出信号为设计者提供了多时钟设计能力,极大 的简化了系统设计的复杂度【1 7 j 。 1 3 3 设计输入 利用i s e 设计工具进行设计输入时,首先要创建一个新的项目,并 进行属性设定( 器件系列,器件,器件封装,综合工具,仿真设计工具 等) ,这样i s e 在工程导航器中创建和显示一个新的项目,如图1 3 。 1 0 太原理下火学硕士学位论文 的步骤,直到设计达到目的为止。m o d e i s i m 功能仿真有两种途径:一种 是在i s e 中设置测试波形图形,然后直接调用m o d e i s i m ,进行仿真;另 一种是在m o d e l s i m 界面编写测试波形h d l 代码,然后进行仿真。设置 测试波形图形是一种很直接的方法,在作简单仿真的时使用非常方便, 如图1 4 所示。做测试波形图形时要设置时钟频率,对输入端口进行时 序设置,在仿真后观察输出口有相应的时序输出。 1 3 5 综合及实现 图1 - 4 t e s t b e n c h 图 f i g u r e l 4t e s t b e n c hc h a n 综合是针对给定的电路实现功能和约束条件,如速度、功耗、成本 及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的 电路设计方案,生成一个网表文件。综合的结果是一个硬件电路的实现 方案,该方案必须同时满足预期的功能和约束条件。对于综合来说,满 足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。 因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合 器的工作性能有关。综合后会生成一个流程报告,如图1 5 所示,从报 告中可以看到当前所选器件中的资源利用率,总的时序特征等。 1 2 太原理工大学硕士学位论文 图1 - 5i s e 综合报告 f i g u r e1 - 5t h er e p o r to f i n t e 鲫i n g 实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中, 决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连 线,并产生相应文件( 如配置文件与相关报告) 。利用i s e 设计工具,在 p r o c e s s e sf o rs o u r c e 】窗口中选中 i m p l e m e n td e s i 印】,这样就运行了所有 相关的进程,如图1 6 所示。实现通常可分为如下五个步骤。 ( 1 ) 转换:将多个设计文件进行转换并合并到一个设计库文件中。 ( 2 ) 映射:将网表中逻辑门映射成物理元素,即把逻辑设计分割为 可编程逻辑阵列内的可配置逻辑块、输入输出块及其它资源的过程。 1 3 太原理丁大学硕士学位论文 图1 - 6i s e 买现流程 f i g u r e1 6t h ei m p l e m e 址p r o c e s s i n go f l s e ( 3 ) 布局与布线:布局是指从映射取出定义的逻辑和输入输出块, 并把它们分配到f p g a 内部的物理位置,通常基于某种先进的算法,如 最小分割、模拟退火和一般的受力方向张弛等来完成;布线是指利用自 动布线软件使用布线资源选择路径完成所有的逻辑连接。因最新的设计 实现工具是时序驱动的,即在器件的布局布线期间对整个信号通道执行 时序分析,因此可以使用约束条件操作布线软件,完成设计规定的性能 要求。在布局布线过程中,可同时提取时序信息形成报告。 ( 4 ) 时序提取:提取整个电路的所有时序路径,通过计算信号沿在 路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保 持时间是否满足要求。 ( 5 ) 配置:产生f p g a 配置时的需要的位流文件。 在实现过程中可以进行选项设置。因其支持增量设计,可以使其重 1 4 太原理工大学硕士学位论文 复多次布线,且每次布线利用上一次布线信息以使布线更优或达到设计 目标。在实现过程中应设置默认配置的下载形式,以使位流下载f 常。 1 3 6 后仿真 后仿真是在布局布线后,提取有关的器件延迟、连线延时等时序参 数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿 真。它所要做的工作包括验证前级输出信号到待测设计的建立时间 ( s e t u pt i m e ) 和保持时间( h o l d t i m e ) 是否足够,待测设计的输出信号 到下一级还有多少的建立时间和保持时间。 1 - 3 7 硬件加载 下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流 下载到具体的f p g a 芯片中,也叫芯片配置。f p g a 设计有两种配置形 式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上 电时自动配置。因f p g a 具有掉电信息丢失的性质,因此可在验证初期 使用电缆直接下载位流,如有必要再将烧录配置芯片中。大多f p g a 都 支持i e e e 的j t a g 标准,所以使用芯片上的j t a g 口是常用下载方式。 将位流文件下载到f p g a 器件内部后进行实际器件的物理测试即为 电路验证,当得到正确的验证结果后就证明了设计的正确性。电路验证 对f p g a 投片生产具有较大意义。 1 5 太原理工大学硕士学位论文 第二章硬件平台选型与实现 2 1 系统的总体架构 本课题是基于双核处理器的嵌入式系统开发平台,其中包括硬件平 台和软件平台,总体结构如图2 一l 所示。系统以1 m s 3 2 0 v c 5 4 7 l 为嵌入 式处理器,外围电路有信号采集电路、以太网物理层电路、f l a s hr o m 、 s d r a m 、s r a m 、硬盘,u s b ,键盘、l c d 等【5 1 。软件包括:v c 5 4 7 1 初始化程序、外围设备的驱动程序、嵌入式操作系统“c ,o s i i 和u c l i n u x 以及t c p i p 协议栈。初始化程序用于设置a r m 和d s p 工作模式及外 围芯片选择字;驱动程序是连接底层的硬件和操作系统a p i 函数的纽带; 嵌入式操作系统完成多任务调度;t c p i p 协议栈程序实现a r p 、i p 、t c p 、 u d p 和h t t p 等网络功能;h 3 2 3 是基于分组交换网络( p b n ) 的多媒 体会议系统。 : 软件模块 l c d 驱动 键盘驱动 网络驱动 碗盘驱动 u s b 驱动 h3 2 3 应用系统 t c p n p 协议栈 “d o s 。k :司语音采集 d s p ,b 1 0 s ff 1l 编码驱动 :硬 :件 :模 f 块 孽忙到到鬯瞪 图2 一l 基于1 m s 3 2 0 v c 5 4 7 1 的嵌入式系统开发平台 f i g u r e2 1t h ed e v e l o p m e mp l a t f o r mo f e m b e d d e ds y s t e mb a s e do nt m s 3 2 0 v c 5 4 7 1 1 6 太原理工大学硕士学位论文 2 2 双核处理器t m s 3 2 0 v c 5 4 7 1 t m s 3 2 0 v c 5 4 7 1 芯片由t m s 3 2 0 c 5 4 x 的d s p 子系统和a r m 7 t d m i 核精简指令集的微控器( m c u ) 子系统两部分组成。数字信号处理器 d s p 承担运算密集型处理,m c u 承担系统的控制和管理任务( 如显示、 人机交互等) ,两个内核各自配上外围模块分别构成了删子系统和 d s p 子系统。两个子系统之间通过一定的耦合机制相互作用。 2 2 1m c u 子系统 ( 1 ) m c u 子系统包括: 口删7 t d m i s c 微控制器核,工作频率4 7 5 m h z 口1 6 k 片内s r a m 口以太网接口 口通用同步收发器( u 触h ) 口u a r ! r h d a 红夕 接口 口串行口( s p i ) 口通用i o 管脚 口1 2 c 总线接口 口三个计时器其中两个是通用计时器、一个看门狗计时器。 口中断处理器 口外部存储器支持f l a s h ,s r a m ,s d r a m ,r o m 口用于m c u 外设的时钟管理单元 口可编程锁相环时钟产生器( p l l ) 引 ( 2 ) a r m 7 t d m i 内核 m c u 子系统基于越t m 7 t d m i 精简指令结构处理器,这是一种用于 嵌入式系统的通用微处理器,采用冯- 诺依曼( v o nn e 啪a 1 1 n ) 体系结构, 】7 太原理工大学硕士学位论文 使用8 位字节的单一、线性地址空间,单一3 2 位数据总线可用于传送指 令和数据,这种体系结构增强了控制功能。可将嵌入式操作系统虻l i n u x 移植到a r m 7 t d m i ,负责事务密集型处理,用来管理键盘、显示器及 以太网收发器等外部设备1 2 0 】。 a r m 7 t d m i 采用了精简指令结构( r i s c ) ,这种指令结构比复杂指 令结构( c i s c ) 在指令集上更简单,同时在指令解码器上也比c i s c 简 单。故在指令吞吐量和实时中断响应上比c i s c 性能更优,适合实时性 要求。 a r m 7 t d m i 具有t h u m b 和a r m 两种指令集。t h u m b 指令集是 a r m 指令集的扩展,以a r m 指令集为基础,只有正常a r m 指令的一 半,为1 6 位指令系统,提供了非常高效的指令密度。a r m 7 t d m i 可以 同时执行a r m 指令集和t h u m b 指令集,且它们在同一个地址空间, 可以相互混合执行。这样可以调整代码量和性能,更好的满足应用。 2 2 1 2 d s p 子系统 ( 1 ) d s p 子系统主要包括: 口t m s 3 2 0 c 5 4 xd s pc p u 核 口d s p 子系统包括7 2 k 字片上r a m ( 1 6 k 字的d a r a m 数据空 间,4 0 k 字的s a r a m 程序空间,1 6 k 字的s a r a m 数据空间) 。没有 片内r o m 口外部存储器接口,可扩展片外的各种存储器类型。 口a p i 接口 口两个多通道的缓冲串口( m c b s p s ) 口用于时钟产生的可编程锁相环 l l ) 口一个独立的软件可编程硬件计时器 口一个六通道直接存储器访问( d m a ) 控制器。可以使六个数据 】8 太原理工大学硕士学位论文 块在没有c p u 干预的情况下独立传送。 口软件可编程等待状态发生琵,疆囊麓嘏嚣霸蓼笺冀卷梧垡端节如 翟蛩等撼雁芸i 薹渤忸嬷煎蓊i 澎罐饿壤羹唧如到琵冀醚嬲 i 蠢靠羹妻:。 i 蚕i 岛囊饕鏊 童蠹墨i 妻薹季? 囊譬囊喜萋;塑啦嘉# 曩i 司i 自讲;溶编磁鞠秘窆;薹蓑 弼攀! 互萎j 审;专菩;誊| 警磊箩蔓甏戥娥受霪墓葬i 待袒不丢失鞲鼓属于非易失设备,在掉电的时候,程序代码不丢失l 8 1 。 闪存在写新的数据之前必须以块为单位进行擦除,这就限制了它的写入 速度。引脚v 。= g n d 完全写保护,电压跳变时可进行擦除写入。两片 d a 2 8 f 6 4 0 j 5 构成了系统的4 m x 3 2 b i tf 1 a s hm e m o r y 。其中一片接高数据 线1 6 位,另一片接低数据线16 位。b y t e 引脚接高电平或接地可选, 用来控制字模式还是字节模式访问。r _ p 引脚接系统复位信号b r d _ r e s e t , 需要对f l a s h 编程时,该引脚需接1 2 v 电源,原理见附图3 。 闪存的擦除写入操作是指对特定的地址写入特定的指令序列,通过 这个命令用户接口( c u i ) 可以启动内部写状态机( w s m ) ,从而使其自动 完成指令序列要求的内部操作,其中包括:复位( r e s e t ) 操作、整片擦 除( c h i pe r a s e ) 操作、块擦除( b l o c ke r a s e ) 操作、字( 节) 写入和 多字( 节) 写入操作等。下面以 x 太原理工大学硕士学位论文 图2 2 软件实现s r a m 和f l a s h 之间的切换 f i g u r e2 - 2t h ec o n v e r s i o nb e t 、v e e ns r a m a 1 1 dn a s hi ns o f h v a r ep r o g r a m m i n g 通过跳线组合选择硬件实现,如图2 3 : cs sram jump 图2 3 硬件实现s r a m 和f l a s h 之间的切换 f i g l l r e2 - 3n e c o n v e r s i o nb 叶e e ns r a ma l l d 觚hi nh a r d w a r ej u m p 当跳线连线如j p 2 6 的卜2 ,j p 2 7 的卜2 ,j p 2 8 的卜2 ,实现了c s o 和s r a m 相连,c s l ,c s 2 和f l a s h 相连。当跳线连线如j p 2 6 的2 3 ,j p 2 7 的2 3 ,j p 2 8 的2 3 ,实现了c s 2 和s r a m 相连,c s 0 ,c s l 和f l a s h 相连。 最后可以通过跳线来选择是软件进行切换还是硬件进行切换。如图2 4 。 2 0 太原理工大学硕士学位论文 图2 4 选择n a s h 和s r a m 转换的软件和硬件的结合 f i g 【j r e2 - 4t h ec o n v e r s i o nb e t 、v e e ns r a m a n df l a s hb ys o f h v a r eo r b yh a r d w a r e 2 3 2f i a s h 存储器 为了将嵌入式操作系统可执行内核移植到终端上,使得终端能够脱 离p c 机实现自主的运行,本课题使用i n t e l 公司推出的4 m x l 6 b i t 闪存 d a 2 8 f 6 4 0 j 5 。它属于非易失设备,在掉电的时候,程序代码不丢失l 8 1 。 闪存在写新的数据之前必须以块为单位进行擦除,这就限制了它的写入 速度。引脚v 。= g n d 完全写保护,电压跳变时可进行擦除写入。两片 d a 2 8 f 6 4 0 j 5 构成了系统的4 m x 3 2 b i tf 1 a s hm e m o r y 。其中一片接高数据 线1 6 位,另一片接低数据线1 6 位。b y t e 引脚接高电平或接地可选, 用来控制字模式还是字节模式访问。r _ p 引脚接系统复位信号b r d _ r e s e t , 需要对f l a s h 编程时,该引脚需接1 2 v 电源,原理见附图3 。 闪存的擦除写入操作是指对特定的地址写入特定的指令序列,通过 这个命令用户接口( c u i ) 可以启动内部写状态机( w s m ) ,从而使其自动 完成指令序列要求的内部操作,其中包括:复位( r e s e t ) 操作、整片擦 除( c h i pe r a s e ) 操作、块擦除( b l o c ke r a s e ) 操作、字( 节) 写入和 多字( 节) 写入操作等。下面以一个块擦除程序为例,如图2 6 所示流 程: 2 1 太原理工大学硕士学位论文 2 3 3s d r a m 图2 5n a s h 块擦除程序 f i g t i r e2 5t h ef l a s hb l o c ke r a s ep r o 舯mf l o wc h a n 两片现代公司的s d r a m 芯片h y 5 7 v 2 8 1 6 2 0 a l l l 构成了8 m x 3 2 b i t 的系统s d r a m 。在系统启动的时候,b o o t l o a d e r 程序把系统程序从 f l a s h 加载到s d r a m 中然后再执行。因此,s d r a m 是本系统程序运 行的空间,同时又是数据缓存的空间,这种使用的方式让系统充分的独 立。h y 5 7 v 2 8 1 6 2 0 a l l 、最基本的存储单元是一个c m o s 晶体管,由一 个电容驱动,通过充、放电来存储数据。由于电容的漏电,所以需要定 时刷新,不过它可以自动刷新,频率为4 0 9 6 次6 4 m s 。它的容量是 8 m x l 6 b i t ,存取速度9 0 n s ,时钟频率可达1 3 3 m h z 【2 3 1 。 h y 5 7 v 2 8 1 6 2 0 a i t 芯片的控制信号线直接和v c 5 4 7 1 的s d r a m 接 口的控制信号线相连,地址线与v c 5 4 7 1 的a d d 0 a d d l1 相连。其 中一片的数据线与a r m 子系统的低1 6 位数据线相连,l d q m 、u d q m 2 2 太原理工大学硕十学位论文 引脚分别与v c 5 4 7 l 的b e o ,s d r a m d q m o 、b e o s d r a m d q m o 相连。 另一片的数据线与a r m 子系统的高1 6 位数据线相连。l d q m 、u d q m 引脚分别与v c 5 4 7 1 的b e 2 s d r a m d q m 2 、b e 3 s d r a m d q m 3 相连。 电路原理图见附图3 。 2 _ 3 4s r a m s r a m 的存储单元是个触发器,在不掉电的情况下,数据可以一直 保存,不需要刷新。然而这种存储密度远远低于s d r a m ,平均每兆位 的价格比较高。这种存储器可以用在小存储容量系统中。本课题使用了 两款s r a m ,款和删相连,一款和d s p 相连。 a r m 选用c y p r e s s 公司的c y 7 c 1 0 6 1 a v 3 3 芯片,它的容量为l m x 1 6 b i t 静态读写周期为j o 纳秒。具有t t l 可兼容的输入输出1 2 4 】。 本课题使用两片c y 7 c 1 0 6 1 a v 3 3 ,其中一片和低1 6 位数据线相连, 另一片和高1 6 位数据线相连。地址线和a r m 的a 2 一a 2 l 连接,地址线 错开两位是为了以3 2 位为单位传输数据;o e 和w e 信号与a r m 的使 能,读写信号相连;c e 片选信号和s r a m c s 相连。s r a m c s 信号是 s r a m 和f l a s h 经过选择切换之后所产生的信号。低1 6 位的 c y 7 c 1 0 6 l a v 3 3 芯片的b h e 和b l e 与a r m 的b e sm 1 ,的b e sm 0 相连;高1 6 位的的b h e 和b l e 与a r m 的b e s m 3 ,的b e s m 2 丰目 连。电路原理图如附图5 所示。 使用了一片i s s i 公司的1 2 8 k x l 6 b i ts r a m 芯片i s 6 l l v l 2 8 1 6j 作为 c 5 4 x 的外部s r a m 。供d s p 子系统存放临时数据和程序代码。它的静 态读写周期为1 5 纳秒1 1 4 1 。 i s 6 1 l v l 2 8 1 6 的地址线a o 一一a 1 5 与d s p 子系统的 d s pa o 一d s pa 1 5 引脚相连,a 1 6 接d s pa 1 6 或v c 5 4 7 1 的p s 引脚, 这决定了s r a m 在数据空间和程序空间的映射关系。数据线直接与d s p 2 3 太原理工大学硕十学位论文 引脚分别与v c 5 4 7 l 的b e o ,s d r a m d q 地重? 孽娄g ;! 至至群鏊羹磊巍| 奇凄! 澎喊咧碍铺删雀囊篓掣亏堂挑虬蠹;i 燃薹粪霪萋篓;囊差誊掺。囊摹薹羹喽 舅峨濮催窀墓壹! t l ;酞萋i l :i 未妻前世一辇季瑶i :鏊鼙g ;l 蔓童羹她霸薹矗l 惩菇j 方刚竖铲疗f 差非l i 妻妻i 篓匪峪 目蠢亚州蓼蠢萋姜羹蠢薹蕤辇蠹蠹;薹囊毪缓 存串行口( m c b s po, m c b s p1 ) 。它提供了双缓存的发送寄存器和三缓存的接收寄存器,具有 全双工的同步或异步通信功能,允许连续的数据流传输;数据发送和接 收有独立可编程的帧同步信号;能够与工业标准的解码器、模拟接口芯 片或其它串行a d 与d a 设备相连:支持外部时钟输入或内部可编程时 钟;每个串行口最多可支持1 2 8 通道的发送和接收;串行字长度可选, 支持u律a 律编码和反向解码输出”1 。 m c bs p 通过7 个引脚( d x ,d r ,c l k x ,c l k r ,f s x ,f s r ) 与外设接口。d x 和d r 引脚完成与外部设备进行通信时数据的发送和接收,由c l k x ,c l k r , f s x,f s r 实现时钟和帧同步的控制。由c l k s 来提供系统时钟。发送数 据时,c p u 和d m a 控制器将要发送的数据写到数据发送寄存器d x r ,在 f s x作用下,由d x 引脚输出。接收数据时,来自d r 引脚的数据在f s r 和c l k作用下,从数据接收寄存器d r r 中读出数据。 串行口的操作由串行控制寄存器s p c r 和引脚控制寄存器p c r 来决 定;接收控制寄存器r c r 和发送控制寄存器x c r 分别设置接收和发送的 各种参数,如帧长度等。 模拟接口芯片( a i c l 0 ) 具有高度可编程性,与d s p 的接口设计简单,高 性能, x 太原理工大学硕士学位论文 子系统的1 6 位数据线相连。n o e 引脚接地,片选信号n c e 接d s p 子系 统的外部存储器选通信号引脚d s p m s t r b 、n u b 、1 1 l b 管脚控制访问 的数据是高字节还是低字节,低电平有效。两个管脚都接地代表访问双 字节的字。电路原理图见附图3 。 2 4 音频编解码模块 2 4 1 硬件接口 t m s 3 2 0 v c 5 4 7 1 提供两个高速全双工的多通道缓存串行口( m c b s po , m c b s p1 ) 。它提供了双缓存的发送寄存器和三缓存的接收寄存器,具有 全双工的同步或异步通信功能,允许连续的数据流传输;数据发送和接 收有独立可编程的帧同步信号;能够与工业标准的解码器、模拟接口芯 片或其它串行a d 与d a 设备相连:支持外部时钟输入或内部可编程时 钟;每个串行口最多可支持1 2 8 通道的发送和接收;串行字长度可选, 支持u 律a 律编码和反向解码输出”1 。 m c b s p 通过7 个引脚( d x ,d r ,c l k x ,c l k r ,f s x ,f s r ) 与外设接口。d x 和d r 引脚完成与外部设备进行通信时数据的发送和接收,由c l k x ,c l k r , f s x ,f s r 实现时钟和帧同步的控制。由c l k s 来提供系统时钟。发送数 据时,c p u 和d m a 控制器将要发送的数据写到数据发送寄存器d x r ,在 f s x 作用下,由d x 引脚输出。接收数据时,来自d r 引脚的数据在f s r 和c l k 作用下,从数据接收寄存器d r r 中读出数据。 串行口的操作由串行控制寄存器s p c r 和引脚控制寄存器p c r 来决 定;接收控制寄存器r c r 和发送控制寄存器x c r 分别设置接收和发送的 各种参数,如帧长度等。 模拟接口芯片( a i c l 0 ) 具有高度可编程性,与d s p 的接口设计简单,高 性能,低功耗,较少的外围器件,是当前语音处理的主流产品。 2 4 太原理工大学硕士学位论文 d s p 应用来说,无法插入次通信请求,可以采用此方式通过d c s i 引脚来 对控制寄存器直接编程。 2 4 - 3 软件实现 软件的实现包括三部分:对硬件配置的检测和系统的初始化及主循 环控制。系统软件流程图如图2 7 所示。 d s p 初始化 l l 硬件配置舶软件捡测】 1 l 1a i c l o 初始化i j r 主循环控制 图2 7 语音编解码系统驱动程序流程图 f i g u r e2 7t h ed r i v e rp r o g r a mn o wc h a r to f s p e e c hc o d i n gs o f t w a r e 口软件检测 对硬件配置的检测包括:主从a i c l o 的判定,硬件配置有无错误。 这些信息必须在系统初始化前收集确定。 系统上电后,所有a i c l 0 内部寄存器以缺省方式( 1 5 十1 ) 位传输模式 开始工作。m c b s p 接收来自a i c l o 的数据,m c b s p 向a i c l o 发送次通信请 求( 向m c b s p 的d x 寄存器写入o x 0 0 0 1 ) ,同时读取由d r 接收的数据, 判别其0 比特位是否为逻辑l ( 来自主a i c i o ) ,否则转至“错误处理程序”。 系统读取主a i c l o 地址,同先前确定的从a i c l 0 的数比较,若相等则对 硬件配置的检测完成。 太原理工大学硕士学位论文 口软件初始化 d s p 作初始化包括c p u 寄存器设初值;m c b s p o 和m c b s pl 的设 置。将m c b s p o 用于d s p 与a i c l 0 的初始化以及两者之间的通信, m c b s p l 用于直接d c s i 参数设置方式的通信。初始化a i c l 0 包括对 a j c l o 寄存器进行配置和控制。 口主循环控制 将m c b s p 0 的串行口接收中断r i n t o 打开,系统工作时,必须通过 m c b s p o 的寄存器d 砌t 1 和d x r o 以同一频率( 和采样频率相同) 向d s p 加载a d c 输出的数据并输出到d a c 。中断服务程序用来接收和发送数据。 2 5 网络接口模块 2 5 1 硬件接口 处理器片内含有以太网接口模块e i m ( e t l l e m e ti n t e

温馨提示

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

评论

0/150

提交评论