(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf_第1页
(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf_第2页
(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf_第3页
(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf_第4页
(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(信号与信息处理专业论文)matlabdsp集成开发环境的研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 传统的开发工具利用d s p 汇编语言进行低层次的设计,现在已经不适合i t 市场的竞争。软件人员需要利用高层次集成环境,来帮助他们摆脱底层设计的团 扰。m a t l a b 作为目前最强大的数值计算和分析工具,已被算法研究人员所广 泛应用。因此,m a t l a b 用于d s p 应用系统的算法模拟和仿真具有极大的应用 价值。即应用m a t l a b d s p 集成开发环境在m a t l a b 统一系统下完成概念设 计,模拟,仿真,目标代码生成,运行和调试。利用系统的开发环境可以极大地 节省耗费在编程上和修正错误上所需要的时间。 论文工作针对合众达d e c 5 5 0 2 板卡对m a t l a b d s p 系统进行了创新性地 开发研究,完成了针对d e c 5 5 0 2 的d s p 板卡支持库中模块驱动程序及其相应 的t l c ( t a r g e tl a n g u a g ec o m p i l e r ) 文件,参数界面,t m f ( t e m p l a t em a k ef i l e ) 文件,系统t l c 文件的编写。并对论文所研究和设计的m a t l a b d s p 集成开 发环境的软件进行了测试。 虽然论文中所研究的m a t l a b d s p 集成开发环境还不很完善,但已经可以 满足部分算法开发者的需求,即算法开发者可以应用m a t l a b 中s i m u l i n k 工 具将算法搭建起来,然后通过r t w ( r e a lt i m ew i n d o w s ) 自动生成可在s e e d d e c 5 5 0 2 板卡上运行的代码。 关键词:m a t l a bm a t l a b d s p 集成开发环境t l ct m fr t w自牛 成代码 a b s t r a c t t r a d i t i o n a ld e v e l o p m e n tt o o l su s i n gd s p a s s e m b l yl a n g u a g ef o ral o w - l e v e ld e s i g n , w h i c hn o wi sn o ts u i t a b l ef o rt h ei tm a r k e t s o f t w a r en e e dt ou s eas i m p l eh i g h l e v e l i n t e g r a t e de n v i r o n m e n tt oh e l pt h e mg e tr i do ft h eb o t t o md e s i g np r o b l e m s m a t l a b a st h em o s tp o w e r f u ln u m e r i c a la n da n a l y t i c a lt o o lh a sb e e nw i d e l yu s e db yt h e a l g o r i t h ms t a f ft h e r e f o r e ,m a t l a bf o rd s pa p p l i c a t i o ns y s t e mf o rt h em o d e l i n g a n ds i m u l a t i o nh a sg r e a tv a l u e m a t l a b d s pi n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t c a nc o m p l e t ec o n c e p t u a ld e s i g n ,m o d e l i n g ,a n ds i m u l a t i o n ,o b j e c tc o d eg e n e r a t i o n , d e b u g g i n ga n dr u n n i n g u s es y s t e md e v e l o p m e n te n v i r o n m e n tc a ns i g n i f i c a n t l ys a v e t h ec o s to ft i m eo np r o g r a m m i n ga n dc o r r e c t i n gt h em i s t a k e s i nt h i sp a p e r , m a t l a b d s pi n t e g r a t e dd e v e l o p m e n te n v i r o n m e n tp a r t i c u l a r l yf o r d e c 一5 5 0 2b o a r ds y s t e mw a sa ni n n o v a t i v ew a yo fr e s e a r c ha n dd e v e l o p m e n t 。t h i s p a p e rh a v eb e e np r o g r a m m e df o rd e c 一5 5 0 2b o a r ds u p p o r ta n dt h ec o r r e s p o n d i n g t l c ( t a r g e tl a n g u a g ec o m p i l e r ) f i l e ,p a r a m e t e ri n t e r f a c e ,t m f ( t e m p l a t em a k ef i l e ) f i l e ,s y s t e mt l c a n dm a t l a b d s pi n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t s o f t w a r et e s t i n gh a sb e e nc o m p l e t e d a l t h o u g ht h em a t l a b d s pi n t e g r a t e dd e v e l o p m e n te n v i r o n m e n ti sn o tp e r f e c t ,i t h a sm e t e dt h en e e d so fs o m ea l g o r i t h mr e s e a r c h e r a l g o r i t h mr e s e a r c h e r sc a na p p l y s i m u l i n kt o o l sb u i l dm a t l a ba l g o r i t h m s ,a n dt h e nr t w ( r e a lt i m ew i n d o w s ) c a n a u t o m a t i c a l l yg e n e r a t ec o d ef o rs e e dd e c 5 5 0 2b o a r d k e yw o r d s : e n v i r o n m e n t m a t l a bm a t l a b d s pi n t e g r a t e dd e v e l o p m e n t t l ct 伍r t wa u t og e n e r a t e dc o d e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者始体错 签字同期:0 2 那7 年月知 学位论文版权使用授权书 本学位论文作者完全了解盘洼盘堂有关保留、使用学位论文的规定。 特授权苤盗盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者虢随特 签字f 1 期:z 神7 年月7 弓同 导师签名: 钐皑 签字同期:z 哆年易月哆日 第一章绪论 1 1 论文工作的背景和意义 第一章绪论 数字信号处理技术在最近2 0 年获得了广泛的应用。数字信号处理理论和算 法是这项技术的一个核心,数字信号处理器是另一个核心。其中可编程的d s p 可以将性能很好的信号处理算法方便的应用到实时信号处理中。但是传统开发 d s p 的思路要求开发者在了解d s p 的硬件结构、原理的同时还必须了解信号处 理理论、算法,这无疑加长开发周期。为了适应现在i t 市场的激烈竞争,软件 开发人员需要利用高层次集成开发环境,来帮助他们摆脱底层设计的困扰,以便 集中精力探索算法,获得技术上的突破。因此开发一套能够集概念设计、模拟 仿真、目标代码生成、运行和调试于一体的开发环境成为迫切需要。于是提出了 对m a t l a b d s p 集成开发环境的研究与设计这一课题。 1 2d s p 应用系统的开发设计过程 1 2 1 传统的d s p 应用系统开发设计过程 利用d s p 实现一个实时信号处理系统的一般步骤:【l j 第一步:根据要求,确定信号处理方案和算法,需要对算法进行原理或功能 级的模拟。其中,在满足处理性能的前提下,对算法的可行性、系统的成本进行 评估。 第二步:根据算法,选择合适的实现方法具体内容就是选择一种合适的d s p 以及外围器件。这时候主要的工作就是针对这种d s p 的配置、工作特点、进行 算法模拟,考核所选算法在特定d s p 上能否达到所需要的处理性能和处理速度。 第三步:一方面设计d s p 硬件电路板;另一方面编写d s p 程序代码,通常 c 语言和d s p 汇编语言编写。 第四步:在d s p 上调试所编写的程序,做到程序和硬件电路都要满足。 第五步t 把调试所编写的程序固化到d s p 目标板上。 可见,对d s p 设计离不开对d s p 的深入了解。 第一章绪论 1 2 2 应用m a t l a b 对d s p 应用系统的辅助开发设计过程 2 0 世纪9 0 年代后期,m a t l a b 作为一种有效的信号处理工具出现后,逐渐 渗透到d s p 的设计当中。m a t l a b 是一个强大的分析、计算和可视化工具,使 用非常方便。用c 语言要比用汇编语言方便得多,而用m a t l a b 又比用c 语言 汇编编程方便得多。 应用m a t l a b 对d s p 开发设计有三种方法,一种是可以针对所有板卡的 设。下面简要介绍一下这三种方法。【2 】 i 常用针对所有d s p 的一般化设计 这种方法是目前为止,应用m a t l a b 对d s p 辅助设计应用最多的方法。在一个 新的数字信号处理算法应用于实际前,先用m a t l a b 进行模拟验证,当模拟结 果满意时在把算法修改成c 或者d s p 汇编语言,在目标d s p 上实现。目标d s p 可以是实际的一个d s p 硬件电路板,也可以是p c 机上的d s p 软件模拟器。 此种方法,优点在于代码效率高,缺点在于需要开发者花费大量时间编写程 序,并在目标板上调试程序;而且与m a t l a b 仿真结果上还通常存在差异。差 异表现在以下三个方面:( 1 ) 代码编写有误;( 2 ) 实时处理时,d s p 外闱硬件接 口有问题;( 3 ) 算法用d s p 实时数据需要量化,存在误差,而且m a t l a b 的模 拟结果和d s p 上的c 语言和汇编存在着运算精度差异。 2 应用m a t l a b 自生成代码系统,生成针对嵌入式的一般板卡的代码,然后 在d s p 上进行移植。 这种方法一般分为以下几步:( 1 ) 应用m a t l a b 中s i m u l i n k 的模块实现算 法的仿真,得到正确结果。( 2 ) 然后用r e a l t i m e w o r k s h o p 中e r t 模型, 然后设置参数,自生成针对一般嵌入式目标的代码。( 3 ) 把这代码移植到d s p 中。 此种方法的优点在于可以应用m a t l a b 自生成部分代码,减少算法开发者的 工作,但是仍需要对d s p 硬件和原理比较了解。 1 2 3 应用m a t l a b d s p 集成设计环境 我们知道m a t l a b 语言可以译成c 语言,而d s p 又可以用c 语言设计,把 m a t l a b 和d s p 开发工具集成在一起,成为研究人员的迫切需要 目前,m a t l a b - d s p 集成环境下的工具包有:m a t h w o r k s 公司和t i 公司联 合开发的工具包m a t l a b “1 1 l ( f o rc c sd e v e l o p m e n tt o o l s 。以及针对a d i 公 司的s h a r c 浮点型d s p 的d s pd e v e l o p e r 。 这种方法优点在于使算法研究者摆脱了对底层硬件设计的困扰。算法开发者 2 第一章绪论 可以应用m a t l a b 中s i m u l i n k 工具将算法搭建起来,然后通过r t w ( r e a l t i m ew i n d o w s ) 自动生成可在s e e dd e c 5 5 0 2 板卡上运行的代码。但缺点 在于通过此种方法得到的代码效率会低很多,这种代码有可能只能可运行、可 模拟可仿真的。只具有分析意义。但是随着d s p 运算速度的提高,这些问题 都可以解决。例如,现在最快的d s p 每秒运行1 5 亿次以上,即使只有5 1 0 的效率,也能满足需要。这种方法的另一局限性在于只支持集成环境所支持的 目标板,例如现在针对t l 公司的d s p ,目前只支持部分型号的d s p 。所以要 想让这一开发环境支持所有型号的d s p 仍需作很大的工作。 1 3 论文的主要工作 论文的主要工作是完成针对d e c 5 5 0 2 的m a t l a b d s p 集成开发环境的设 计。论文完成了以下五项主要工作: i 应用m e x c 语言编写d s p 模块支持库。模块支持库将模拟d e c 5 5 0 2 板卡上的硬件功能。 2 编写t l c ,它将把d s p 的模块支持库与m a t l a b 中r e a l t i m e w i n d o w s 连接起来。 3 编写d s p 模块支持库中模块的参数界面。并根据d s p 性能提供可以选 择参数。 4 编写t e m p l a t e 文件,它将为m a t l a b 代码自牛成系统提供依据。 5 在m a t l a b 的环境下,完成对c c s 的操作,以检验算法。 1 4 论文的组织结构 第一章介绍了本文的选题背景,d s p 开发设计过程,论文的主要工作以及论 文的组织结构。 第二章综述了d s p 的特点以及业内居于领先地位的合众达公司的d s p 板卡 系列产品。并结合本文的实际情况,介绍了合众达公司的d e c 5 5 0 2 的内部结构、内核模块以及片内外同设备,重点介绍了本方案中涉及的 各个部分;同时还介绍了t m s 3 2 0 c 5 0 0 0 系列d s p 的软件开发环境和 开发方法等。 第三章主要介绍m a t l a b 中s i m u l 矾k ,r e a l t i m e w o r k s h o p ,即 m a t l a b 的自生成代码环境。 第四章主要设计针对s e e dd e c 5 5 0 2 的m a t i ,a b d s p 集成开发环境的设 第一章绪论 计方案和流程。 第五章应用m a t l a bl i n kf o rc c sd e v e l o p m e n tt o o l s 完成对s e e d d e c 5 5 0 2 板卡进行操作。系统的调试和测试过程,对调试过程中出现 的问题进行分析,并说明解决方法和过程。最后,对程序的实时性能 进行分析。 4 第二章d s p 的硬件结构及软件开发环境 第二章d s p 的硬件结构及软件开发环境 2 1d s p 在实时数字信号处理中的应用 自从2 0 世纪8 0 年代初d s p 进入市场以来,实时d s p 技术在国民经济和社 会生活的各个方面得到了广泛的应用。特别是随着信息技术的发展和互联网的普 及,机顶盒( s e tt o pb o x ) 、网络电话( i n t e r n e tp h o n e ) 、个人数字助理( p e r s o n a l d i g i t a la s s i s t a n t ) 等信息家电( i n f o r m a t i o na p p a r a t u s ) 的发展如雨后春笋。“旧时 王谢堂前燕,飞入寻常百姓家”。实时d s p 技术有了更广阔的消费市场,实时 d s p 的发展又有了一次空前的机遇。 信号处理系统的复杂性和通信协议的可变性,决定了以可编程的d s p 芯片 为核心组成的应用系统具有以下的优点: 1 快速制造和验证原理样机,加快产品上市时间。 2 软件的可编程性使得产品能够迅速跟踪新协议或标准。 3 通过软件更新,快速进行产品升级。 2 2d s p 的主要特点 d s p 的主要任务是完成大量的数字信号实时计算,例如常用的f i r 滤波、 卷积、相关和f f t 等算法。数字信号处理中的数据操作具有高度重复的特点, 特别是乘累加运算在滤波、卷积和f f t 算法中使用十分频繁。d s p 在很大程度 上就是针对上述运算的特点设计的。与相同时钟频率的通用微处理器相比,d s p 完成f f t 运算的速度要快得多。 数字信号算法的特点在很大程度上决定了d s p 的功能和结构,下面介绍d s p 的结构特点【3 】【4 1 。 ( 1 ) 硬件乘法器 通用微处理器实现乘法的时候需要一系列的移位和加法操作,而每个操作都 要耗费一个时钟周期。为了提高运算效率,d s p 内部拥有硬件乘累加单元,可以 在一个时钟周期内实现一次乘累加运算。这样一来,大大地提高了d s p 的效率。 可以说,乘累加单元是d s p 区别于通用微处理器的重要标志。 ( 2 ) 多个功能单元 相比于其他应用,数字信号处理需要更大的计算量。为了实现并行操作, 第二章d s p 的硬件结构及软件开发环境 d s p 内部拥有多个可以并行操作的功能单元。典型的d s p 至少拥有一个a l u ( 算 术逻辑单元) 和一个移位器。高性能d s p 中可能拥有多个a l u 。 ( 3 ) 高效的内存访问方式 通用的微处理器通常采用冯诺依曼总线结构。该结构的程序空间和数据空 间是统一的,对指令的访问和对数据的访问需要共享同一总线。所以,通用的微 处理器一个时钟周期只能访问一次内存,或者读取指令,或者访问数据。为了提 高访问存储器的效率,d s p 的程序空问和数据空问是分开的,而访问这两个空间 的总线也是独立的。d s p 在一个时钟周期内可以在读取指令的同时访问数据。高 性能d s p 内部通常拥有多条总线,可保证c p u 在一个时钟周期内读取多个数据。 而且,d s p 内部拥有指令高速缓存( c a c h e ) ,当d s p 反复执行相同的指令的时 候,只需要访问高速缓存。这样,用来访问指令空间的总线可以让出来,作为另 一条总线供d s p 访问数据空间时使用。 ( 4 ) 专用的指令集 d s p 在应用中通常有两个目的:一是尽可能地利用处理器的硬件提高效率: 二是处于节省成本的考虑,减少内存空间占用。处于这两点考虑,早期d s p 的 指令通常是并行度高,并且比较短。这样的结果造成d s p 的指令集大多高度专 用化,而且相对复杂。这使得编译器的工作比较困难,编译出来的代码效率比较 低。如果想提高效率,必须人工干预,手动优化代码。 ( 5 ) 流水处理( p i p e l i n e ) 流水技术使得两个或者更多不同的操作可以重叠进行。在处理器内,每条指 令的执行分为取指令、解码、执行等若干阶段,每个阶段称为一级流水。流水处 理使得若干条指令的不同执行阶段可以并行执行,因而能够提高程序的执行速 度。 除了上述几个特点之外,目前主流的高性能d s p 使用了特殊的技术用来进 一步提高效率。 ( 6 ) 多触发指令结构( m u l t i i s s u e ) 由于上面的笫四条特点,造成了d s p 在保持高性能的同时牺牲了编码和编 译的方便。为了解决这个问题,一些最新的d s p 使用了这样的技术。d s p 每个 时钟周期不是执行一条复杂的指令,相反的是,每个周期发出并同时执行多条相 对简单的指令。这使得d s p 可以运行在很高得时钟频率上。目前,有两种主要 的方式来实现多触发指令:v l i w ( 超长指令字) 和s u p e r s c a l a r ( 超标量) 。由于超标 量处理方式决定如何并行执行指令的方式是动态的,也就是说是在代码运行的时 候才确定。这样带来了一些d s p 应用中的问题,例如关键代码的运行时间是不 确定的。所以,目前使用超标量方式的d s p 很少。v l i w 结构最早是由t i 引入 6 第二章d s p 的硬件结构及软件开发环境 商业化的d s p 中的。采用该结构的d s p 发出的一条指令( 超长指令) 可以包含 几条简单的指令。与超标量方式不同的是,这些指令在编译的时候就确定了执行 的方式和位置。这样的好处是d s p 的执行过程和速度是可预知的。由于多触发 指令结构需要更宽的寄存器宽度和总线宽度,功率也更高。所以,它适用在需要 强大的计算能力而并不过多计较功率与成本的应用方面。 ( 7 ) 单指令多数据( s i m d ) 方式 这种方式可以应用在多种d s p 结构上。它指的是一条指令可以对多个操作 数同时操作。例如,可以两个3 2 b i t 的寄存器的对应字节同时进行乘法操作。当 然,s i m d 方式最适合于并行处理多个数据的时候。而当算法需要顺序处理数据 的时候,s i m d 就不适合了。 2 3s e e d d e c 5 5 0 2 板卡简介 s e e dd e c 5 5 0 2 是合众达公司针对专门针对语音处理及其相关领域所设计 的一款d s p 开发板卡。在s e e dd e c 5 5 0 2 上主要集成了t i 公司的t m s 3 2 0 c 5 5 0 2 d s p 处理器,u a r t ,c o d e c ,s d r a m ,z b t s r a m ,f l a s h ,和e e r o m 等 外设以及开放给用户的扩展总线 3 1 。 2 3 1s e e dd e c 5 5 0 2 特征 s e e d d e c 5 5 0 2 是s e e d 公司设计的一款定点d s p 板卡,它具有以下特点: 1 采用t m s 3 2 0 c 5 5 0 2 3 0 0 m h z ,实现高速运算和大容量存储。 2 外扩z b t s r a m ,最大容量1 m 3 2 位。 3 外扩s d r a m ,最大容量2 m 3 2 位。 4 外扩f l a s h ,最大容量5 1 2 k 1 6 位,基本配置2 5 6 k 1 6 位。 5 外扩i i c 串口中的e e p r o m ,基本配置为1 6 k 8 位。 6 a c 9 7 标准的a u d i o 音频接口。 7 双路u a r t 接口,接口标准可配置为r s 2 3 2 r s 4 2 2 r s 4 8 5 ,其中一路可 做t m s 3 2 0 c 5 5 0 2 的本身串口切换,实现t m s 3 2 0 c 5 5 0 2 的串口引导。 8 符合u s b 2 0 标准的高速h o s t 端接口。 9 具有硬件加密功能,有效保护开发者知识产权。 其功功能框图如图2 1 所示: 7 第- 章d s p 的硬件结构及软件开发环境 j ;= 傩声 藿竞雌 立体声囊 船翻惦柏朝妣 船羽硝毽艏翮凇 图2 1s e e dd e c - 5 5 0 2 功能框图 2 3 2s e e dd e c 5 5 0 2 存储空间配置 2 3 2 1t m s 3 2 0 v c 5 5 0 2 的存储空间配置 t m s 3 2 0 v c 5 5 0 2 的程序存储空问采用统一编址。整个寻址空间为1 6 m 字节, 其中d a r a m 占6 4 k 字节,r o m 占3 2 k 字节,其余存储空间被映射到片外 c e 3 c e 04 个编选子空间。 3 2 k 的片内r o m 受v c 5 5 0 2 的s t 3 寄存器中的n p n m c 的状态位控制。当 n p n m c = i 时,3 2 k 片内r o m 被屏蔽。n p n m c 的状态由上电复位时采样 b o o t 2 :0 】引脚状态决定。当b o o t 2 :0 = 0 0 0 b ,或1 0 0 b 时,n p n m c = 1 ;否 则n p n m c = 0 。 t m s 3 2 0 v c 5 5 0 2 通过外部存储器接口( e m i f ) 访问片外存储器,e m i f 由 3 2 位数据线d 3 1 :0 、2 0 位地址线a 2 1 :2 】、4 位字节使能线b e 3 :0 】、4 位 片选c e o c e 3 和各类存储器的读写控制信号组成。配置情况如表2 1 所示1 4 】: 表格2 1片选配置 8 第二章d s p 的硬件结构及软件开发环境 c ec o n f i g u r a t l o nc es o l e c t e db y l n u m b e ro tc e l l ) 舢一i a m ec e a k l l r l ) l l l lb 醍s bp e rc e8 p 丑c e 4c :e o 1 1 2 3 窿3 2 2 l 4 mb y t e 2c e 0 陀 1 2 3 8 mb y 慵 1c e 0a n 2 4 1 6 m b y t e $ 3 2 0 v c 聃广 i 翻胁r i - 嘶广 l 嘲,卜- l 嘲。卜 5 5 0 2 存储空间的映射如图2 - 2 所示: 图2 2t m s 3 2 0 v c 5 5 0 2 存储空间的映射 2 3 3 2s e e dd e c 5 5 0 2 板上外扩存储器 1 f l a s h :外扩f l a s h ,最大容量5 1 2 k x l 6 位,基本配置2 5 6 k 1 6 位。 2 外扩s d r a m ,最大容量2 m 3 2 位。 9 o v 哪 啊k 畸 o m l 一 一k b l d 觚- l , 曲k 童l j a 触- 廿 幛k e 州 d 从_ 一k 日州 o 幢瞄 幛k b 川 o - 口k b - 1 o a r a i 一k ,- ” 簟咖渤叫_ l - m i _ g a k 曩_ 叁n 睢i 洼 囊哪 叫i i , l a m ) 囊i 一c 敌- 0 “l 局 - i 叠l n _ i 弛囊呻 * 一h 皓 一 一 一 一 一 一 m i;i;i;i;!; t 一 第二章d s p 的硬件结构及软件开发环境 3 外扩z b t s r a m ,最大容量1 mx 3 2 位。 由此可知,这些外扩的存储资源需要映射到v c 5 5 0 2e m i f 的4 个c e x 存储 空间中,外扩的存储资源多于v c 5 5 0 2e m i f 整个存储空间。所以,外扩的 部分存储资源需要复用v c 5 5 0 2e m i f 的某些瓦存储空间。 2 4m c b s p 聊s 3 2 0 v c 5 5 0 2 共有三个多通道缓冲型同步串口,分别为m c b s p 0 、m c b s p l 和m c b s p 2 。其中m c b s p o 与m c b s p l 为单一功能的多通道缓冲型同步串口,而 m c b s p 2 是与u a j 订+ g p i o 复用引脚,其功能的选择由v c 5 5 0 2 的x b s r 上的 s e r i a lp o r t 2m u xm o d e 控制位决定,该位为0 :选择u a r t + g p i o :该位为1 :选 择m c b s p 2 。上电复位时,该位的状态由g p l 0 7 引脚状态决赳5 1 。 s e e dd e c 5 5 0 2 模板上3 个m c b s p 具体使用如下: 1 m c b s p 0 :经过电平转换后直接给外设扩展总线的x m c b s p 0 ,保留给用 户做外部扩展用。 2 m c b s p l :在s e e d d e c 5 5 0 2 模板内接有音频c o d e c 器件a i c 2 3 b 的数 据口,用于输入输出数字音频数据。 3 m c b s p 2 :在s e e d - - - d e c 5 5 0 2 的模板上有三种用途,这三种用途由 v c 5 5 0 2 片上x b s r 中的s e r i a lp o r t 2m u xm o d e 控制位和s e e d d e c 5 5 0 2 板上m c b s p 2 s e l i :0 - 个控制位选择,具体选择如下: 1 ) 0 0 x :接口外设扩展总线的x m c b s p l 。 2 ) 0 0 1 :接口s e e d d e c 5 5 0 2 板上e s a m 。 3 ) 1 1 0 :接口外设扩展总线x m c b s p l 。 上电复位时,这3 位控制位为0 0 0 ,所以v c 5 5 0 2 的m c b s p 2 舢哪的上电 复位时为接口异步串口l ,这样s e e d d e c 5 5 0 2 可以通过c o m l 进行上电程序 加载。 1 0 第二章d s p 的硬件结构及软件开发环境 v c 5 5 0 2 的m c b s p 2 u a r t 口的3 种用途如图2 - 3 所示: 2 4 1m c b s p 的操作 图2 3d e c 5 5 0 2u a r t 口的三种用途 4 阋卵ff 抖设扩震玺筵j m c b s p 是多通道缓冲串行接口。它是一种功能很强的同步串行接口,具有很 强的可编程能力,可以直接配置成多种串口标准,直接与各种器件无缝接口。每 个m c b s p 外部接口和内部功能框图如图2 4 所示6 】: 第二章d s p 的硬件结构及软件开发环境 、 - , - ir s r i i 2 】hr 日r 1 1 上1 卜i e x p a 州卜- 【三墅登:j 翌卜 _ ix s r ( i 2 】i - ic 0 呻嘴hd x r 【1 2 l i 臣蛩一 - q 1 1 娜梆f o r 蛳帆母- 翻df i a m e 唧n c l r o r l i z a _ 帅r 五苍蚕;r c o t l r c l 捌m r 啪a _ _ - i _ , 。f 鬲孤 _ 臣丑一 - - - 4 1 臣孙一 鲥。一t r o m o n ,t o n n g 匝蛩_ f 志孙, 一 v 氢 r n t 1 d s p i c l o c ki 寸 g e 嗍幻r ix - 噜t c 瞰a n df r a m e 删a o a i t s y n c n l c n l z a b o n 、 田cr e v l 一 s j - 匕v ,一,r - f c l o c kl o tm c b s po d 刊陶妇 2 4 2 m c b s p 的通信协议 图2 - 4m c b s p 功能框图 m c b s p 为同步串行通信接口,其协议包含: i 串行数据起始时刻:称为帧| 一j 步事件,帧同步事件由位时钟采样帧吲步 信号给出。 2 串行数据位长度:串行传输的数据流达到设定的长度后,便结束本次传 输,并等待下一个帧同步信号的到来,再发动另一次传输。 3 串行数据传输速度:即每一个串行位的传输时间,由位时钟决定。 2 5h p i h p i 是一种并行接口总线,外部处理器通过它可以直接访问v c 5 5 0 2 的片上 存储器。因此,h p i 是上位机与v c 5 5 0 2 并行通信的接口,通过h p i 外部处理器 作为主设备可以方便地与v c 5 5 0 2 接口,交换数据。v c 5 5 0 2 的h p i 接口支持两 种工作方式即h p i 8 和h p i 1 6 。 1 2 第二章d s p 的硬件结构及软件开发环境 s e e d d e c 5 5 0 2 板内没有使用h p i 8 接口,h p i 8 直接扩展给用户使用【7 1 。 2 6s e e d d e c 5 5 0 2 系列d s p 的软件开发方法 2 6 1t m s 3 2 0 c 5 0 0 0 系列集成开发环境 目前,d s p 的发展趋势是处理更复杂、更新速度更快。d s p 的应用也向多处理器、 多通道发展,变得越来越复杂。与此同时,市场对基于d s p 的产品需求越来越大, 竞争也越来越激烈。因此对开发效率的要求也就变得越来越高。对开发者而言, 要想在有限的开发时间内,充分发挥d s p 器件的特性,高效的开发工具是至关重 要的。 c o d ec o m p o s e rs t u d i o ( c c s ) 是t i 推出的专门开发t m s 3 2 0 系歹g d s p 的集成 开发环境。c c s 集成了工程管理工具、代码编辑工具、代码生成工具( 包括c 5 0 0 0 的c 编译器、汇编优化器、汇编器和连接器) 、代码调试工具、仿真器以及性能 分析工具( p r o f i l e r ) 等,与d s p 软件开发紧密相关的工具。这就是说,开发者在 c c s 之内可以完成所有的和d s p 软件开发相关的工作。除此之夕b c c s 还提供了实 时分析和数据可视化功能,使得开发人员不必再像过去一样自己配置m a k e f i l e , 管理工程文件,然后通过命令行,逐个运行各种工具,完成代码的编译、连接、 仿真和调试等任务。这就大大降低了d s p 系统开发的难度,使开发者可以将精力 集中在应用上,加快了d s p 系统开发的速度。 2 6 2t m s 3 2 0 c 5 0 0 0 系列开发工具 t i 提供了一系列的软件开发工具支持t m s 3 2 0 c 5 0 0 0 系列d s p 的软件开发, 包括c c + + 编译器、汇编器、汇编优化器、连接器以及其他的配套工具,并且 把这些开发工具都集成在c c s 中,极大的方便了t m s 3 2 0 c 5 0 0 0 系列d s p 的软 件开发,加快了软件发开的进度。t m s 3 2 0 c 5 0 0 0 系列d s p 的软件开发工具和开 发过程中各种文件的之间的关系如图2 5 所示嘲【9 】: 从上图可以看出,t m s 3 2 0 c 5 0 0 0 系列d s p 软件开发的基本流程如下: 1 c c + + 编译器 c c + + 编译器对符合a n s i 标准的c 或c + + 代码进行编译,生成汇编代码。 编译器内又分为语法分析器( p a r s e r ) 、c 优化器( o p t i m i z e r ) 和代码生成器( c o d e g e n e r a t o r ) 。语法分析器的功能是对c c + + 代码进行预处理、语法检查,然后生 成一个中间文件( i f ) ,作为c 优化器或代码生成器的输入。此外,语法分析器 还对宏、文件包含( # i n c l u d e ) 和条件编译等进行处理。c 优化器对语法分析器 第二章d s p 的硬件结构及软件开发环境 输出的讧文件进行优化,目的是缩短代码长度和提高代码执行效率,并生成o p t 文件。所进行的优化包括针对c 代码的一般优化和针对c 5 0 0 0 的优化、如重新 圈2 5 c c s 编译器各种文件之间的关系 安排语句和表达式、把变量分配给寄存器、打开循环和模块级优化( 若干个文件 组成一个模块进行优化) 等。代码生成器利用语法分析器和c 优化器生成的中 间文件生成c 5 0 0 0 汇编代码( a s i n ) 作为输出。代码生成器也可以直接对中问文 件( i f ) 进行处理生成汇编代码。 c 代码的优化在语法分析之后和代码生成之前进行。它靠编译器的优化器选 项启动具有4 个不同的优化级别,分别对应选项0 0 、o l 、一0 2 、_ 0 3 ,默认僮 为0 2 。在c c s 环境下,可以对其进行设置。 c 优化器所完成的虽重要的优化处理是软件流水( s o f t w a r e 伽p e l i u e ) 。从一0 2 第二章d s p 的硬件结构及软件开发环境 开始优化器对软件循环进行软件流水处理。软件流水是专门针对循环代码的一种 优化技术,利用软件流水可以生成非常紧凑的循环代码,这也是c 5 0 0 0 的c 编 译器能够达到较高编译效率的原因。 2 汇编优化器 汇编优化器的功能是对用户编写的线性汇编代码( s a 文件) 进行优化。线 性汇编器是c 5 0 0 0 代码生成工具内极具特色的一部分,它在d s p 业界首创了对 线性汇编代码自动进行优化的技术,使得对c 5 0 0 0d s p 结构了解不多的用户也 都能够方便的开发出高度并行的c 5 0 0 0 代码,使用户在充分利用v l i w 结构 c 5 0 0 0d s p 强大处理能力的同时大大缩短了开发周期。 3 汇编器 汇编器生成可重定位的机器语言目标文件( o b j ) 。它所输入的汇编语言文件 可以是c 编译器生成的汇编文件,也可以是汇编优化器生成的汇编文件,还可 以是由文档管理器管理的宏。 4 连接器 连接器的作用是以可重定位的日标文件( o b j ) 作为输入,输出可执行文件 ( o u t ) 。t i 连接器的主要功能是根据用户用连接命令文件( c m d ) 说明的程序 和数据的存放地址,将目标文件中的代码段( t e x t ) 、数据段( d a t e ) 和未初始 化段( b s s ) 以及用户定义段定位到适当的地址空间。 5 其他工具 代码牛成工具除了上面所述的基本工具之外,还有文档管理器、交叉列表工 具、库管理工具、进制转化工具和c 运行时支持库等。它们是一些辅助的管理 和支持工具,能够为c 5 0 0 0d s p 的软件开发提供许多方便的功能。 2 6 3c 5 0 0 0d s p 程序的基本结构 对于c 5 0 0 0d s p ,c 代码的效率一般情况下是汇编代码效率的7 0 一8 0 , 这对于一般实时性要求不是很高的应用已经可以满足了要求了;对于高速实时应 用,采用c 语言和线性汇编语言混合编程的方法能够把c 语言的优点和汇编语 言的高效性有机结合在一起,使代码效率达到9 0 以上,这也是目前最为流行的 编程方法。 一个最小的c 应用程序项目中至少包含3 个文件 1 0 】: 1 主程序文件m a i n c 这个文件中包含一个m a i n ( ) 函数作为c 程序的入 口点。 2 连接命令文件:这个文件包含了d s p 的存储空间定义以及代码段和数据 第二章d s p 的硬件结构及软件开发环境 段在存储空问中的安排。这个文件需要由开发者自己编辑产生。 3 v e c t o r s a s m :这个文件中包含中断服务表( i s t ) ,中断服务表必须被安排 在存储空间中地址o x 0 0 0 00 0 0 0 处。d s p 复位之后,会首先从地址0 x 0 0 0 0 0 0 0 0 处开始执行,因此地址o x 0 0 0 00 0 0 0 处应该是复位向量。程序从复 位向量跳转到c 运行环境的入口地址ci n t 0 0 ( ) 处,在ci n t 0 0 ( ) 中 完成诸如初始化堆栈指针、页指针以及初始化全局变量等操作,最后调 用m a i n ( ) 函数,执行用户功能。 除了这3 个最基本的文件之外,程序一般还需要包含运行时支持库 ( r t s 5 x x x 1 i b ) 和芯片支持库( c s l 5 x x x 1 i b ) 。这两个库提供了对c 运行时环境的 支持,以及芯片特性的支捌1 1 】。 2 6 4d s p 程序的仿真模式 c 5 0 0 0 程序的调试和仿真有两种模式:软件仿真和硬件仿真。 软件仿真是指程序的执行完全靠运行在主机上的仿真软件模拟。程序运行的 结果都是仿真软件“计算”出来的,不和任何硬件平台打交道。而硬件仿真需要 用户具备目标板,仿真程序会利用开发系统将代码下载到d s p 芯片的存储空间 中。程序是在芯片上直接运行的,仿真软件只是把运行结果读出来。目标板需要 通过仿真器和主机相连接。日前主要的仿真器有t i 公司提供的x d s 5 1 0 和 x d s 5 6 0 。此外,一些第三方公司也为c 5 0 0 0 系列d s p 开发了相应的仿真器。 软件仿真的优点是无需目标板就可以进行软件调试,缺点是仿真速度慢,而 且无法仿真某些片内外设,一般用于程序的功能验证;硬件仿真的优点是仿真速 度和

温馨提示

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

评论

0/150

提交评论