最新张永祥TMS320C54系列DSP原理与应用第六章PPT课件.ppt
《最新张永祥TMS320C54系列DSP原理与应用第六章PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新张永祥TMS320C54系列DSP原理与应用第六章PPT课件.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、张永祥张永祥TMS320C54TMS320C54系列系列DSPDSP原原理与应用第六章理与应用第六章第6章 TMS320C54x DSP的C/C+程序设计6.1 C/C+6.1 C/C+程序设计基础程序设计基础6.2 6.2 程序设计示例程序设计示例6.3 C6.3 C语言和汇编语言混合编程语言和汇编语言混合编程2首都师范大学信息工程学院int i,k,p;double r;p=0;for(k=0;k=length-1;k+)Outputk=0;r=0;for(i=0;ilength-1)p=length-1;else p=p;p=length-2;for(k=length;k=length+
2、length-1;k+)6.1 C/C+程序设计基础10首都师范大学信息工程学院 Outputk=0;r=0;for(i=0;i=p;i+)r=Inputlength-1-i*Impulselength-1-p+i;Outputk=Outputk+r;p=p-1;return;6.1 C/C+程序设计基础11首都师范大学信息工程学院需要注意的是,如果函数和主程序在同一个文件中,则只需要在主程序前部加入该函数的声明即可;如果函数和主程序不在同一个文件中,则需要在主程序文件的头部用“#include 头文件名”将函数头文件名包括在内。2.2.库函数库函数CCS提供的库函数包括两类。一类安装在c:t
3、ic5400cgtoolsinclude目录中,共有文件38个,其中具有.h的文件19个,具有.hpp的文件19个(注意将没有扩展名的文件加上.hpp扩展名)。6.1 C/C+程序设计基础12首都师范大学信息工程学院示例如下:#include ;注意此处和#include“math.h”;的区别 void mail()float x,y;x=3.0;y=log10(x);6.1 C/C+程序设计基础13首都师范大学信息工程学院一类是安装在c:tic5400dsplib目录中,也称作DSPLIB通用库。是专门为TMS320C54x DSP芯片使用的C语言优化程序函数库。它包含了50多种函数数字信
4、号处理程序,全部由汇编语言编写,并可由C语言调用,方便C语言与汇编语言混合编程。DSPLIB可进行的运算有:FFT运算、滤波与卷积运算、自适应滤波运算、相关运算、数学函数运算、三角函数运算、矩阵运算等。6.1 C/C+程序设计基础14首都师范大学信息工程学院6.1 C/C+程序设计基础示例如下:/*/Filename:sine_t.c/Version:0.01/Description:test for dlms routine/*#include#include#include/在dsplib.h、tms320.h头文件中定义了许多运算中要用到的变量、函数,应用程序主函数必须用#include
5、语句包含此头文件。#include test.hshort i;short eflag=PASS;void main(void)15首都师范大学信息工程学院6.1 C/C+程序设计基础 /*clear*/for(i=0;iNX;i+)ri=0;/clear output buffer(optional)/*compute*/sine(x,r,NX);/*test*/eflag=test(r,rtest,NX,MAXERROR);/for r if(eflag!=PASS)exit(-1);return;16首都师范大学信息工程学院rts.lib是TI提供的运行时支持库,如果是C代码写的源程序,
6、必须在工程中添加该库文件。要想使程序正常运行,一些配置工作需要完成:打开工程的Bulid Options选项中两个地方进行设置。当编译时打不开或找不到dsplib.h、tms320.h文件,此时可以在compiler标签下选中preprocessor选项,在Include Search Path栏中填入dsplib.h、tms320.h所在子目录(本例为:c:tic5400dsplibinclude);当连接时找不到库函数相应的汇编程序,编译错误提示有些函数为未定义变量,此时可在linker标签下选中basic选项,在Library Search Path栏中填入54xdsp.lib、rts.
7、lib库文件所在路径(本例为:c:tic5400dsplib;c:tic5400cgtoolslib,注意用英文分号隔开);在Include Library栏填入两库文件(本例为:54xdsp.lib;rts.lib),至此程序可以正常编译。6.1 C/C+程序设计基础17首都师范大学信息工程学院五、五、C/C+C/C+的的DSPDSP访问规则访问规则1.DSP1.DSP片内寄存器的访问规则片内寄存器的访问规则在C语言中对DSP片内寄存器一般采用指针方式来访问,常常采用的方法是将DSP寄存器地址的列表定义在头文件中(如reg.h)。举例,通过指针操作对ST0和AR1进行初始化。#define
8、ST0 (volatile unsigned int*)0 x0006#define AR1 (volatile unsigned int*)0 x0011Int userfunc().*ST0=0 x1278h;*AR1=0 x6013h;.6.1 C/C+程序设计基础18首都师范大学信息工程学院2.DSP2.DSP内部和外部存储器的访问规则内部和外部存储器的访问规则举例,通过指针操作对内部存储器单元0 x4000和外部存储器单元0 x80FF进行操作。int *data1=0 x4000;/*内部存储器单元*/int *data2=0 x80FF;/*外部存储器单元*/int userfu
9、nc().*data1=7000;*data2=0;.6.1 C/C+程序设计基础19首都师范大学信息工程学院3.DSP I/O3.DSP I/O端口的访问规则端口的访问规则在C语言中访问DSP的I/O空间借助于关键字ioport来进行,注意,此关键字只为TMS320C54xx DSP的编译器所识别和使用。定义的形式为 ioport type porthex_num其中,import和port均为关键字,port表示I/O地址,hex_num是十六进制地址,type是I/O数据类型,在TMS320C54xx DSP中,I/O空间共有64K字,所以数据类型只能是char、short、int等16
10、位的类型。6.1 C/C+程序设计基础20首都师范大学信息工程学院6.1 C/C+程序设计基础下例声明了一个io变量,地址为300H,并对I/O端口做读/写操作。ioport unsigned port300;/*定义地址为300H的I/O端口变量*/int userfunc().port300=20;/写I/O端口,port300作为一个变量使用.b=port300;/读I/O端口,port300作为一个变量使用.21首都师范大学信息工程学院一、一、电路设计与功能电路设计与功能开发平台采用的是北京瑞泰创新科技有限责任公司的ICETEK-VC5416A-S60,主处理器采用的是TMS320VC
11、5416 DSP,主频可达到160MHz;内部存储空间为128K*16bit;扩展的6路12bit A/D接口 ADS7864,最大采样速率 500K;8Mbit 扩展 FLASH;设计有用户可以自定义的开关和测试指示灯,其实验箱整体外观如图6.2所示。6.2 程序设计示例22首都师范大学信息工程学院6.2 程序设计示例23首都师范大学信息工程学院该实验箱的核心是ICETEK-VC5416-A 评估板,具有4 组标准扩展连接器,为用户进行二次开发提供条件,其原理框图如图6.3所示。6.2 程序设计示例24首都师范大学信息工程学院6.2 程序设计示例该评估板的接口说明实物图如图6.4所示。25首
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 张永祥 TMS320C54 系列 DSP 原理 应用 第六 PPT 课件
限制150内