武汉理工大学华夏学院设计报告课程名称《DSP技术》结业论文题目基于DSP的正弦信号发生器班级自动化1122学号____姓名_2015__年__10__月__24___日一、摘要数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多的学科为理论基础的,它所涉及的范围及其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。一些新兴的学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。长期以来,信号处理技术—直用于转换或产生模拟或数字信号。其中应用得最频繁的领域就是信号的滤波。此外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了DSP。数字信号处理己经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。世界上三大DSP芯片生产商:1.德克萨斯仪器公司(TI)2.模拟器件公司(ADI)3.摩托罗拉公司(Motorola).这三家公司几乎垄断了通用DSP芯片市场。数字信号处理的书籍很多,其中以麻省理工学院奥本海姆编著的《DiscreteTimeSignalProcessing》最为经典,有中译本《离散时间信号处理》由西安交通大学出版。现在是第二版。关键字:数字信号处理正弦信号发生器DSP信号处理技术二、设计目的分析一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项三、硬件设计电路3.1TMS320C54X芯片的介绍TMS320C54x系列DSP芯片是使用静态CMOS技术制造的。其方框图见图2-1,从图中可以看出C54x系列DSP芯片具有以下功能单元:C54x共有八条总线分别是:PB:程序读取总线CB:数据读取总线1DB:数据读取总线2EB:数据写入总线PAB:程序读取地址总线CAB:数据读取地址总线1DAB:数据读取地址总线2EAB:数据写入地址总线CPU由以下几个部件组成:先进的多总线结构:包括三个独立的数据总线和一个程序总线40位的算术逻辑单元:包括一个40位移位器和两个独立的40位累加器17bit17bit的并行乘法器同一个专用的加法器相配合:用来执行不经流水线的单周期乘加(MAC)运算指数译码器:可以在一个周期里计算出一个40位累加器的指数值两个地址生成器:包括8个辅助寄存器和两个辅助寄存器算术单元程序控制器:对指令进行解码、管理流水线和程序流程片上存储器C54x共有192K字的寻址能力(64K字的程序区,64K字的数据区,和64K字的I/O区)芯片内部采用改进的哈佛结构,允许同时取指令和取数据,而且还允许在程序空间和数据空间之间相互传送数据。所谓哈佛结构,是将程序和数据的存贮空间分开,各有各的地址总线和数据总线。这样同一条指令可以同时对不同的存贮空间进行读操作或写操作,从而提高了处理速度。C54xDSP芯片还提供了块指令循环功能,此功能可以大大地提高执行循环的速度,但是此功能只能在一重循环中使用,因为它只提供了一个循环记数寄存器BRC,所以在遇到多重循环时就要尽量把这个功能用在最里层的循环中,最里层循环是执行次数最多的循环。下表1给出了部分C54x芯片的片上资源、运算能力、工作电压等。运算能力用MIPS来度量,即每秒能执行一百万条指令的数量。表1:部分C54X芯片资料DSP型号片内RAM(字)寻址范围串口数内核电压(V)I/O电压(V)运算能力(MIPS)TMS320VC5416128K64K/8M31.53.3160TMS320VC541064K64K/8M31.63.3160TMS320VC540964K64K/8M31.63.3160TMS320LC54932K64K/8M32.53.3120TMS320LC54210K64K/64K33.33.350四、软件设计4.1CCS的介绍通常,DSP厂商和第三方都会为DSP的开发应用提供各种各样的软硬件开发工具(代码生成工具和代码调试工具等)。早期的DSP开发工具没有集成化,需要在DOS环境下键入比较复杂的命令,使用起来不很方便,调试、开发的效率也不高。1999年,TI公司推出了CCS(CodeComposerStudio)集成开发工具(直译为代码设计工作室),为DSP用户提供了十分便利的开发环境。CCS内部集成了以下软件工具:DSP代码生成工具(包括DSP的C编译器、汇编优化器、汇编器和链接器等)CCS集成开发工具(编辑、链接和调试DSP目标程序)。实时分析插件DSP/BIOS和实时数据交换模块RTDX等(必须有硬件开发板)。CCS是一种可视化集成开发工具,它集代码生成软件和代码调试工具于一体,具有强大的应用开发功能:可视化代码编辑界面:可以直接编写汇编语言和C语言程序、.H头文件和.CMD命令文件等。代码生成工具:包括DSP的汇编器、C编译器和链接器等。各种调试工具:包括加载执行文件、运行、单步操作、设置断点、查看编辑存储器和寄存器、观察变量、评估程序和执行时间等。探针工具:可将PC机数据文件中的数据传到DSP,或者将DSP中数据传到PC机数据文件中,以便实现各种算法仿真和数据监视。图形显示工具:可以将DSP程序生成的数据绘制成时域/频域图等,以便于观察和分析。通用扩展语言GEL:可以让用户通过GEL语言编程,建立需要的GEL函数来扩展CCS的功能,包括配置各种参数、修改变量等。DSP/BIOS工具:它是DSP芯片简化了的操作系统内核,即各种DSP芯片操作系统的底层文件,为嵌入式系统应用提供基本的运行服务,具有代码较少、逻辑精简等优点。开放式的插入架构技术:只需安装相应的驱动程序,就能够集成第三方的专用插件。4.2编程实现先计算0~45°(间隔为0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出sin值(间隔为1°)。然后,通过复制,获得0~359°的正弦值。重复向PA口输出,便可得到正弦波。cmd文件描述输入文件和输出文件,说明系统中有哪些可用存储器、程序段、堆栈及复位向量和中断向量等安排在什么地方。其中MEMORY段就是用来规定目标存储器的模型,通过这条指令,可以定义系统中所包含的各种形式的存储器,以及它们占据的地址范围;SECTIONS段说明如何将输入段组合成输出段以及在可执行文件中定义输出段、规定输出段在存储器中的位置等。复位向量文件sin_v.asm:五、设计流程图分析5.1调试过程1.打开SetupCCStudiov3.3,如图5-1图5-1SetupCCStudiov3.3的打开界面2.选择C5402芯片并加载,如图5-2、图5-3和图5-4所示:图5-2选择C5402芯片图5-3加载芯片图5-4确定已加载3.输入三个程序,保存名称分别为“sin.asm”、“sin.cmd”、“sin_v.asm”。如图5-5所示。图5-5输入程序4.新建工程名为“shiyan”,保存路径为C://CCStudiov3.3/MyProjects/shiyan。如图5-6所示。图5-6新建工程对话框5.将三个程序加载入新建工程“shiyan”里,对三个文件进行编译链接,若有错误进行改正,直至无误,如图5-7所示:图5-7编译链接无误界面6.选择View→Graph→Time/Frequency,如图5-8所示,调出如图5-9所示对话框,进行参数设置。图5-8选择View→Graph→Time/Frequency图5-9显示滤波器冲击响应图行参数设置对话框7.查看波形。如图5-10所示。图5-10实验所得正弦波形六、实验心得与体会作为自动化专业的学生,学过DSP之后,我觉得能做这样的结业论文是十分有意义。在已度过的三年大学生活里我们大多数接触的是专业基础课。我们在课堂上掌握的仅仅是专业基础课的理论面,如何去面对现实中的各种电子设计?如何把我们所学到的专业基础理论知识用到实践中去呢?我想做类似的大作业就为我们提供了良好的实践平台。在做本次结业论文的过程中,我感触最深的当属查阅了很多次设计书和指导书。为了让自己的设计更加完善,更加符合工程标准,一次次翻阅设计书是十分必要的,同时也是必不可少的。作为一名专业课堂上也有部分知识不太清楚,于是我又不得不边学边用,时刻巩固所学知识,这也是我作本次课程设计的一大收获。整个结业论文我基本上还满意,由于水平有限,难免会有错误。我会在以后的学习中不断进步!七、参考文献:[1]张毅刚,赵光权.《DSP原理、开发与应用》(第2版).哈尔滨工业大学出版社,2006年[2]陈金鹰.《DSP技术及应用》.机械工业出版社,2004年[3]程佩青.《数字信号处理教程》(第二版).清华大学出版社,2001年[4]雷勇.《DSP系统设计与实践》.电子工业出版社,2005年[5]党宏社.《控制系统仿真》.西安电子科技大学出版社,2008年