C语言DSP开发与应用举例(精 哈工大)PPT课件

合集下载

DSP应用技术实验讲义_图文(精)

DSP应用技术实验讲义_图文(精)

实 验 准 备

第一章 CCS介绍

1.1 CCS功能

CCS 是TI 公司推出的功能强大的软件开发环境,现在该集成软件环境可以用于TI 各系列DSP 系统的软件程序开发。CCS 主要具有以下特性和功能:

集成可视化代码编辑界面,可以直接编写C/C++、汇编、头文件以及CMD 文件等; 集成代码生成工具,包括汇编器、C 编译器、C++编译器和链接器等;

集成基本调试工具,可以完成执行代码的装入、寄存器和存储器的查看、反汇编器、变量窗口的显示等功能,同时还支持C 源代码级的调试;

支持多DSP 的调试;

集成断点工具,包括设置硬件断点、数据空间读/写断点,条件断点等; 集成探针工具(Probe Points),可用于算法仿真,数据监视等用途;

提供代码分析工具(Profile Points),可用于计算某段代码执行时消耗的时钟数,从而能够对代码的执行效率做出评估;

提供数据的图形显示工具,可绘制时域/频域波形等图像;

支持通过GEL (通用扩展语言)来扩展CCS 的功能,可以实现用户自定义的控制面板/菜单、自动修改变量或配置参数等功能;

支持RTDX (实时数据交换)技术,可在不打断目标系统运行的情况下,实现DSP 与其他应用程序(OLE )间的数据交换;

提供开放式的plug-ins 技术,支持其他第三方的ActiveX 插件,支持包括软件仿真在内的各种仿真器(需要安装相应的驱动程序);

提供DSP/BIOS工具,增强了对代码的实时分析能力,如分析代码的执行效率、调度程序执行的优先级、方便了对系统资源的管理或使用(代码/数据空间的分配、中断服务程序的调用、定时器的使用等等),减小了开发人员对DSP 硬件知识的依赖程度,从而缩短了软件系统的开发进程。

1.2 CCS界面

CCS 的主界面如图1.1所示。

工程管理器主要用于统一管理各工程中所包含的文件,在工程管理器窗口中,可以添加、删除、激活和编辑工程中的源文件,同时也可以对编译器、汇编器和链接器的参数进行设置。管理器可以同时打开多个工程。但是,当前只能有一个工程是有效的。 调试工具栏集成了程序员调试DSP 软件时最常用的调试命令。

dsp实验4使用C语言开发应用程序

dsp实验4使用C语言开发应用程序

1.使用C语言开发应用程序的优缺点

优点:

-易于开发和维护。由于用C 语言书写接近自然语言,其可读性强、利于理解,在编制、修改、实现算法方面比用汇编语言开发容易。

-可移植性强。

-不容易发生流水线冲突。编译器能提供完善的解决流水线冲突的结果。

-有大量现存的算法可利用。

-适用于人机界面的开发。

*缺点:

-代码量大。

-程序效率较低。

-优化代码存在一定困难。

综上所述,我们一般用C 语言设计应用程序的总体框架、解决人机接口和对速度效率要求不太高的复杂算法。

2. 使用汇编语言开发应用程序的优缺点

*优点:

-更能发挥系统特点。由于汇编语言掌控系统硬件的能力强于C

语言,设计出来的程序更加贴近硬件特性,往往能将硬件效能发挥到极致。

-代码精练,效率高。用汇编语言设计的程序,代码短、不容易产生冗余。

-代码量小。

*缺点:

-可读性差。不利于复杂算法的开发和实现。

-可移植性差。

-容易产生流水线冲突。由于排除冲突需要靠人来辅助完成,这要求编程人员有较为丰富的开发经验和对硬件工作机制的深刻理解。

3.如何混合编程

(1)混合工程:在工程中可以同时包含C 语言程序和汇编语言程序,无需更改编译选项。一般地,我们使用C 程序为主,加入汇编语言程序模块。

(2)使用模块技术:在应用程序中划分出比较清晰的模块,不同模块可采用不同语言设计。强调效率和速度的模块采用汇编设计。尽量少用汇编语言设计程序。

(3)如何找出需要用汇编程序设计的模块:

用C 语言完成设计后,运用CCS 的软件仿真功能,充分测试程序,找到程序运行中的瓶颈(速度方面的和空间方面的)。

再使用分块仿真技术尽可能缩小模块。找到的模块单独写成子程序,存入独立的文件中。由于CCS 编译器能产生C 语言程序到汇编程序的中间文件,观察需要优化的模块的汇编结果,进行人工优化。 最后运用人工优化后形成的汇编程序模块,代替原来需要优化的C 语言模块,进行编译。

实验三汇编语言程序设计1数字信号处理器DSP原理及应用教学课件

实验三汇编语言程序设计1数字信号处理器DSP原理及应用教学课件

百度文库 - 让每个人平等地提升自我

1 实验三 汇编语言程序设计(1)

一.实验目的:

1.熟悉TMS320C54x软件开发过程(小数乘法、加法、乘加结果是否溢出的处理):

2.熟悉CCS的调试手段(运行时间、单步运行确定程序的流程和指令作用)和参考资料来理解程序指令功能。

3.由已有资料修改程序

二.实验内容

1.熟悉书上第5章例17所示的“64位加法和减法运算”,具体工程建立和调试过程如本实验附录所示:步骤(3)、步骤(7)和步骤(8)提到的问题;

2.完成书节例19程序的验证,并说明结果;

3.完成书节例13、14程序的验证,验证书上所述结论。

三.实验步骤

(1)打开“Setup CCS 2 ('C5000)”,配置为“C54xx Simulator”,并保存配置;

(2)进入CCS,建立工程,并建立""和""文件(源代码如下),将两文件添加到工程中:

1)源代码:

.title ""

.mmregs

STACK .usect "STACK", 10h

.bss w3,2,1,2

.bss w1,2,1,2

.bss x3,2,1,2

.bss x1,2,1,2

.bss y3,2,1,2

.bss y1,2,1,2

.bss z3,2,1,2

.bss z1,2,1,2

.def main

.data

table: .long 54210AB2h

.long 0A10B1984h

.long 0A20C8747h

.long 0B50C8743h

.long 98410AB8h

DSP 课件 IO端口C程序

DSP 课件 IO端口C程序

114 第6章 输入/输出(I/O)模块

1 I/O端口作为输出

源程序代码:

(1) 所需的复位和中断向量定义文件“vectors.asm”

.title "vectors.asm"

.ref _c_int0,_nothing

.sect ".vectors"

reset: b _c_int0

int1: b _nothing

int2: b _nothing

int3: b _nothing

int4: b _nothing

int5: b _nothing

int6: b _nothing

(2) 主程序

// 该程序用于实验演示模板上的8个LED的循环显示

#include "register.h"

// 初始化子程序

initial()

{

asm(" setc SXM"); // 抑制符号位扩展

asm(" clrc OVM"); // 累加器中结果正常溢出

asm(" clrc CNF"); // B0被配置为数据存储空间

asm(" setc INTM"); // 禁止所有中断

*SCSR1=0x81FE; // CLKIN=6M,CLKOUT=4*CLKIN=24M P20

*WDCR=0x0E8; // 不使能看门狗,因为SCSR2中的WDOVERRIDE

// 即WD保护位复位后的缺省值为1,故可以用

// 软件禁止看门狗

*IMR=0x0000; // 禁止所有中断 P26

*IFR=0x0FFFF; // 清除全部中断标志,"写1清0" P26

*MCRA=*MCRA&0x0FF; // IOPB端口配置为一般的I/O功能,

*PBDATDIR=*PBDATDIR|0x0FF00; // IOPB端口设置为输出方式

第1章DSP原理与开发实例绪论

第1章DSP原理与开发实例绪论

第1章DSP原理与开发实例绪论

第一章绪论§1.1DSP芯片§1.2DSP系统§1.3小结【重点难点】★DSP芯片的定义、

分类及特点★DSP系统的构成及设计流程DSP芯片§1.1DSP芯片DSP:DigitalSigna

lProcessing(数字信号处理技术)DSP:DigitalSignalProcessor

(数字信号处理器)DSP:DigitalSignalProcessor(数字信号处理器)§1.1.

1DSP的含义第一阶段,DSP的雏形阶段(1980年前后)1、1978年AMI公司生产出第一片DSP芯片S2811;2、1

979年Intel公司发布了商用可编程DSP器件Intel2920;3、1980年NEC公司推出的μPD7720是第一片具有乘法

器的商用DSP芯片4、单指令周期200~250ns,应用于军事或航空航天领域;5、代表性器件:Intel2920(I

ntel)、?PD7720(NEC)、TMS32010(TI)、DSP16(AT&T)、

S2811(AMI)、ADSp-21(AD)等。§1.1.2DSP的历史与发展DSP芯片第

二阶段,DSP的成熟阶段(1990年前后)1、单指令周期为80~100ns,应用范围扩大到通信、计算机领域。2

、代表性器件:TI公司的TMS320C20、30、40、50系列,Motorola公司的DSP560

0、9600系列,AT&T公司的DSP32等。DSP芯片1、单指令周期10ns左右

2、可在Windows环境下直接用C语言编程3、DSP芯片逐渐渗透到人们日常消费领域第三阶段,DSP的完善阶段(2000年以

后)表1-1DSP芯片性能、规模、工艺、价格变化表0.155.0015.00150.00价格/美元0.020.1

0.83工艺/μm50M5M500K50K规模/门1M32K2K256RAM/字节500005000

405速度/MIPS2010200019901980年代DSP芯片TI公司常用的定点DSP芯片:

DSP完整版

DSP完整版

第一.二章

1 DSP芯片的结构特点?

答:(1)改进的哈弗结构 1,哈弗结构 DSP处理器将程序代码和数据的存储空间分开,各有自己的地址总线和数据总线。(目的是为了同时取指令和取操作数,并进行指令和数据的处理,从而大大提高运算速度) 2.,改进的哈弗结构 在改进的哈弗结构的基础上,使得程序的代码和数据的存储空间之间也可以进行数据的传送。

(2)多总线结构 多总线结构可以保证在一个机器周期内多次访程序和数据的空间。TMS320C54X内有P,C,D,E4条总线。 P:传送取自ROM的指令代码和立即数;

C,D:传送从RAM读出的操作数;E:传送写入到RAM中的数据。(3)流水线技术 将指令的各个部分驻重叠起来执行,而不是一条指令执行完之后,才开始执行下一条指令。

第一条指令去指后,在译码时,第二条指令就取值,第一条指令取数时,第二条指令译码,而第三条指令就考试取值。(4)多处理单元(5)特殊的DSP指令(6)指令周期短 功能强(7)运算精度高(8)丰富的外设(9)功耗低

DSP最重要的特点是:特殊的内部结构,强大的信息处理能力及较高的运行速度。

2DSP分为两种:1,定点DSP,数据采用定点方式表示,正数表示是方法和小数表示方法。

2.浮点DSP,数据既可以表示成整数,也可以表示成浮点数。

3 DSP芯片可以归纳为三大系列:(1)TMS320C2000系列:适用于控制领域TMS320P2407(2)TMS320C5000 系列:应用与通信领域TMS320C54X(3)TMS320C6000系列:应用于图像处理TMS320C60X

区别:三者CPU内部结构相同,片内存储器,外设电路配置不同。

4:TMS320C54X的内部结构:(1)CPU 包括算术逻辑运算单元,乘法器,累加器,移位寄存器,各种专门用途的寄存器,地址生成器及内部总线。1,先进的总线结构(1条程序总线,3条数据总线和4条地址总线)2,位算术逻辑运算单元,包括1个40位桶形移位寄存器和2个独立的40位累加器3,17×17位并行乘法器,与40为专用加法器相连,用于非流水线是单周期乘法/ 累加运算(4)比较,选择,存储空间:用于加法/比较选择(5)指数编码器:可以在单个周期内计算40位累加器中数值的指数(6)双地址生成器:包括8位辅助寄存器和2个辅助寄存器算术运算单元(2)存储器系统 包括片内的程序ROM,片内单访问的数据RAM和双访问的数据RAM,外接存储器接口。1,192K字可寻址存储空间:64K字程序存储空间,64K字数据存储空间及64K字I/O空间 2,片内双寻址RAM 3,片内单寻址RAM(3)片内外设和专用硬件电路 包括片内的定时器,各种类型的串口,主机接口,片内的锁相环时钟发生器及各种控制电路。

DSP原理与应用实验讲义_百度文库(精)

前言

随着数字电子技术不断发展,人们对数字信号处理的要求也越来越高,传统意义上的微处理器已不能满足现代数字电子技术发展的要求,而数字信号处理器(DSP )在近20多年的发展与普及后,应用领域几乎涵盖了所有的行业:通信、信息处理、自动控制、雷达、航空航天、医疗、日常消费品等。目前大多数学校都是理论结合实验进行教学,围绕该课程所开的实验课程皆为阶段性理论的验证实验,实验设备也仅是为验证某些算法和理论所使用,实验的项目相对来说比较单一和固定,实验设备的利用效率低下,其实验设备缺少研发和形成一个数字信号处理产品的能力。目前,我校的通信工程专业开设了《数字信号处理》、《语音信号处理》、《数字图像处理》等信号处理相关课程,但尚缺乏一个动手实践和灵活应用的实验平台。数字信号处理器由于其优异的运算能力和独特的硬件结构,是一个理想的选择。结合当前的情况,本实验讲义从培养应用型人才的角度出发,并充分借鉴各大高校的先进试验教学管理技术,开发并设计了相应的DSP 实验项目。

本实验讲义将实验分为三个模块,即基础实验、应用实验、扩展实验,以满足不同能力和需求的学生的需要。本实验讲义在《DSP 原理及应用实验教学改革课题》支持下编写完成。不足之处,请广大师生指正。

目 录

基础实验1 CCS软件的使用 . ........................................... - 5 - 基础实验2: 简单应用程序的调试 ..................................... - 17 - 应用实验1: DSP数据存取实验 . ....................................... - 21 - 应用实验2: GPIO控制实验 . .......................................... - 24 - 应用程序3: 定时器控制实验 ......................................... - 27 - 应用实验4: DMA读写实验 . ........................................... - 31 - 应用实验5: UART控制实验 . .......................................... - 36 - 应用实验6: A/D采样实验 . ........................................... - 41 - 应用实验7: 有限冲击响应滤波器(FIR算法实验 . ........................ - 44 - 应用实验8: 快速傅立叶变换(FFT算法实

DSP

82 第4章 C语言程序编写和调试环境简介

4.1 C编译器概述

4.2 TMS320C2x/C2xx/C5x C编译器环境介绍

4.3 利用TMS320C2x/C2xx/C5x C编译器开发应用程序的步骤

4.4 头文件和命令文件示例

1.头文件LF2407REGS.H——在该头文件中,寄存器都以指针方式进行寻址。

/**************************************************************

; File Name : LF2407regs.h

; Originator : Texas Instrument-Chongqing University DSPs Lab.

; Description: LF2407 Peripheral Registers + other useful definitions

;**************************************************************/

/*--------------------------------------------------------------

; 片内外围寄存器定义

;--------------------------------------------------------------*/

/*C2xx 内核寄存器

;~~~~~~~~~~~~~~~~~~~~*/

volatile unsigned int *IMR = (volatile unsigned int *)0x0004;

/*中断屏蔽寄存器*/

volatile unsigned int *GREG = (volatile unsigned int *)0x0005;

/*全局变量定位寄存器*/

volatile unsigned int* IFR = (volatile unsigned int *) 0x0006;

DSP的C语言程序设计

DSP的C语言程序设计

一、 为什么要使用C语言对DSP编程

C语言是高级语言,易学易用。

C语言的编程效率极高,易于调试。

C语言的可移植性好。

二、 C程序的结构及组成

完整的C程序是由一个主函数main()和其它的子函数组成的,每一个子函数完成特定的功能。DSP的C语言的入口地址固定为c_int00,在中定义。C语言支持丰富的数据类型和数据结构,在ccs集成开发环境中,为C语言提供了完整的支持硬件的底层函数库和支持算法的DSP函数库。在使用C语言的库函数时,在工程中必须包括相应的函数库和运行时支持库。下面是一般C语言程序的结构和组成框架。

一般C程序的结构如下:

h头文件

#include “函数库1”

#include

#include “函数库3”

…

*/

/* */

/* Parameters: */

/* - port - port address (HEX) */

/* */

/* Return: */

/* - returns value read from port. */

DSP应用技术实验讲义_图文(精) 2

实 验 准 备

第一章 CCS介绍

1.1 CCS功能

CCS 是TI 公司推出的功能强大的软件开发环境,现在该集成软件环境可以用于TI 各系列DSP 系统的软件程序开发。CCS 主要具有以下特性和功能:

集成可视化代码编辑界面,可以直接编写C/C++、汇编、头文件以及CMD 文件等; 集成代码生成工具,包括汇编器、C 编译器、C++编译器和链接器等;

集成基本调试工具,可以完成执行代码的装入、寄存器和存储器的查看、反汇编器、变量窗口的显示等功能,同时还支持C 源代码级的调试;

支持多DSP 的调试;

集成断点工具,包括设置硬件断点、数据空间读/写断点,条件断点等; 集成探针工具(Probe Points),可用于算法仿真,数据监视等用途;

提供代码分析工具(Profile Points),可用于计算某段代码执行时消耗的时钟数,从而能够对代码的执行效率做出评估;

提供数据的图形显示工具,可绘制时域/频域波形等图像;

支持通过GEL (通用扩展语言)来扩展CCS 的功能,可以实现用户自定义的控制面板/菜单、自动修改变量或配置参数等功能;

支持RTDX (实时数据交换)技术,可在不打断目标系统运行的情况下,实现DSP 与其他应用程序(OLE )间的数据交换;

提供开放式的plug-ins 技术,支持其他第三方的ActiveX 插件,支持包括软件仿真在内的各种仿真器(需要安装相应的驱动程序);

提供DSP/BIOS工具,增强了对代码的实时分析能力,如分析代码的执行效率、调度程序执行的优先级、方便了对系统资源的管理或使用(代码/数据空间的分配、中断服务程序的调用、定时器的使用等等),减小了开发人员对DSP 硬件知识的依赖程度,从而缩短了软件系统的开发进程。

1.2 CCS界面

CCS 的主界面如图1.1所示。

工程管理器主要用于统一管理各工程中所包含的文件,在工程管理器窗口中,可以添加、删除、激活和编辑工程中的源文件,同时也可以对编译器、汇编器和链接器的参数进行设置。管理器可以同时打开多个工程。但是,当前只能有一个工程是有效的。 调试工具栏集成了程序员调试DSP 软件时最常用的调试命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档