“DSP技术”第6章 混合编程
- 格式:ppt
- 大小:484.50 KB
- 文档页数:49
DSP集成开发环境中的混合编程及FFT算法的实现摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。
仿真结果表明,该滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。
关键词:Butte1 引言CCS(Code Composer Studio)是TI公司的DSP集成开发环境。
它提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。
与TI提供的早期软件开发工具相比,利用CCS能够加快软件开发进程,提高工作效率。
CCS一般工作在两种模式下:软件仿真器和与硬件开发板相结合的在线编程。
前者可以脱离DSP芯片,在PC机上模拟DSP指令集与工作机制,主要用于前期算法实现和调试。
后者实时运行在DSP芯片上,可以在线编制和调试应用程序。
2 C语言和汇编语言的混合编程TMS320 C5000系列的软件设计通常有三种方法:(1) 用C语言开发;(2) 用汇编语言开发;(3) C和汇编的混合开发。
其中用C语言开发具有兼容性和可移植的优点,有利于缩短开发周期和减少开发难度,但是在运算量较大的情况下,C代码的效率还是无法和手工编写的汇编代码的效率相比,比如FFT运算,用汇编语言开发的效率高,程序执行速度快,而且可以合理利用芯片的硬件资源,但是开发难度较大,开发周期长,而且可读性和可移植性差。
C和汇编的混合编程则可以充分利用前两者的优点,以达到最佳利用DSP资源的目的。
但是,采用C和汇编语言混合编程必须遵循相关函数调用规则和寄存器调用规则,否则会给程序的开发带来意想不到的问题。
实验五混合编程一、实验目的1. 学习使用实时运行库;2. 熟悉用C和汇编混合编程的方法;3. 掌握混合编程的调试方法。
二、实验环境1. 集成开发环境Code Composer Studio2.0(简称CCS)2. 实验程序mix.c,mix.h(由程序自动加载,可不加,后同),mix.cmd,addfun.s54,rts.lib(有C的混合编程需要有库文件),c5402.gel(要有,有C的混合编程要用gel 初始设置。
选芯片时设置已自带,可不添加;如无则加)三、实验步骤1. 改设置:Build option子菜单linker中Basic项Autoinit Model 改为load-time Initialization或Run-time Initialization(不同的设置,SP初始值将不同。
No Initialization也可以,但效果不如前两个好)。
2. 为使效果更明显,屏蔽前两条printf( )语句(可与第三条对比,编译后将出现警告,可忽略),编译项目文件得到.out程序。
另外装载程序前,在Edit->Memory->Fill 中,对Data Memory从0x0000到0xFFFF用全0x1111或0x2222等填充(注意:填充后必须对Gel文件重新Load一次)。
然后装载程序,了解在混合编程环境下变量、函数的定义方法以及项目文件的编译方法。
3. 打开View Memory,用SP值(Debug_>Go main后的值)作为开始察看地址,从主程序main开始用Single Step方式调试程序,观察程序的执行过程。
尤其是在C 程序中调用汇编子函数以及返回的过程,注意当前SP和PC的变化。
四、实验结果分析1. 实时运行库实时运行库提供了标准C中的大部分函数,帮助建立C语言的环境,同时也提供一些基本的调试手段,如printf( )等。
2. 程序接口参数传递是混合编程中非常重要的一部分:第一个参数放置在寄存器A中,其他参数按照逆序压入堆栈;返回的数据放置在寄存器A中。
重庆大学研究生专业实验教学实验报告书重庆大学研究生院实验课程名称: DSP 技术专业实验实验指导教师: 曾浩老师 学 院: 通信工程学院 专业及类别: 电子与通信工程 学 号: 20131213087姓 名: 叶俊实验日期: 2014年6月15、16日成 绩:实验一CCS基本使用一、实验目的1.理解DSP的过程。
2.掌握一个DSP软件开发流程。
3.掌握汇编的书写规范,学会汇编指令的运用。
4.掌握编译器和链接器的使用,能够合理了分配存储空间。
5.学习定点数的运算方法。
6.学会CCS的各种调试技巧,如:CPU寄存器、数据和程序存储器的观察、断点的设置,反汇编窗口的使用。
二、实验仪器设备计算机一台、CCS3.3三、实验原理a)软件开发流程。
要正常启动软件并使它能够在DSP上面正常运行,需要用户完成以下的流程:1)在用户的工程里面,必须包含至少两个文件。
2)两个文件编辑完成以后,可调用编译、汇编和链接命令。
3)通过CCS的加载功能,把.OUT文件加载到DSP内部,其地址由链接文件规定。
b)汇编源文件书写。
在CCS中,新建一个文件,在这个文件中,如果使用汇编语言,那就命名时使用ASM的后缀名,如果使用C语言,那命名时就使用C的后缀名。
同时应该把文件加载到相应的工程当中去。
c)启动方式。
我们采用通过CCS从JTAG直接加载的方式。
d)CCS的调试工具。
在本次实验中,CCS的调试工具将要使用到一些基本的操作。
主要包括如何观察CPU的各个寄存器,如何观察数据区和程序区的数据;单步执行的方法和断点执行。
四、实验内容1、在用户的工程里面,编写程序指令的源文件和链接文件,在CCS中将这两个文件编译,转化成COFF格式的文件,生成.OUT的文件。
通过CCS的加载功能,对程序进行调试。
2、用.set定义四个立即数。
3、在.bss段建立几个存储空间。
4、把立即数相加和相乘,结果放在.bss分配的存储空间。
5、合理分配各个段的存储地址,并使用CCS观察。