基于DSP的正弦波信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《DSP应用》论文
题目:基于TMS320C54X DSP任意信号发生器设计
学院:信息学院
专业班级:班
姓名:
学号:
指导教师:王洪群
时间:
4. 总体方案设计
1.基于DSP 的特点,本设计采用TMS320C54X 系列的DSP 作为正弦信号发生器的核心控制芯片。
2.用泰勒级数展开法实现正弦波信号。
3.设置波形时域观察窗口,得到其滤波前后波形变化图;
4.设置频域观察窗口,得到其滤波前后频谱变化图。
硬件设计 4.1硬件组成
基于DSP 的信号发生器的硬件结构图如图3.1所示,它主要由DSP 主控制器,输出D/A 通道和人机界面等几个主要部分组成。
图4.1 基于DSP 的信号发生器系统框图 4.2控制器部分
本系统采用TI 公司的TMS320LF2407 DSP 处理器,该器件具有外设集成度高,程序存储器容量大,A/D 转换精度高,运算速度高,I/O 口资源丰富等特点,芯片内部集成有32KB 的FLASH 程序存储器、2KB 的数据/程序RAM ,两个事件管理器模块(EVE 和EVB )、16通道A/D 转换器、看门狗定时器模块、16位的串行外设接口(SPI )模
DSP 微控制器 TMS320LF 2407 PGE
段驱动器 2*SN74LS07
四位LED
位驱动器 74LS07 缓冲及电平转换电路
输出三相 正弦波 独立式四 键功能键
有源滤波 电路
减法电路
放大电路 AD624
电源(自带复位功能)
Clock
Circuit
块、40个可单独编程或复用的通用输入输出引脚(GPIO )以及5个外部中断和系统监视模块。
4.3微输出D/A 通道部分
本系统的输出通道部分主要负责实现波形的输出,此通道的入口为TMS320LF2407的PWM8口,可输出SPWM 等幅脉冲波形,出口为系统的输出端,这样,经过一系列的中间环节,便可将PWM 脉冲波转化为交流正弦波形,从而实现正弦波的输出,其原理框图如图3.2所示。
图4.2 输出通道的原理结构
图4.2中的缓冲电路的作用是对PWM 口输出的数字量进行缓冲,并将电压拉高到5V 左右,以供后级模拟电路滤波使用。
这一部分电路由两个芯片组成。
一片用三态缓冲器,由于PWM 口的输出为3.3V 的TTL 电平,这样,在设计时就应当选用输入具有5V 的TTL 输入,CMOS 输出电平的转换芯片(如TI 公司的74HCT04);另一片则可选用TOSHIBA 公司出品的光电耦合器6N137;输出端连接的5V 精密稳压电源可选用BURR-BROWN 公司生产的REF02型精密稳压电源,以输出标准的5V 电压。
4.4人机接口部分
4.4.1 驱动器设计
位驱动器电路由两片集成电路组成,即由位驱动的CMOS 芯片和将TTL 电平转换成CMOS 电平的电平转换芯片组成,电平转换芯片可以和输出通道的电平转换芯片共用一片74HCT244(本部分使用4路,输出通道使用3路),其主要作用是对DSP 输出的3.3V TTL 电平与5V CMOS 电平进行匹配,从而带动具有CMOS 电平的位驱动器,根据动态扫描显示的要求,位驱动器需要选用每路输出吸收电流都要大于200mA 的芯片,因此,本设计选用了TI 公司的74LS06来做LED 的大电流驱动器件。
4.4.2 键盘设计
本系统选用四个独立式按键,分别接入PF3-PF6口,并使用四个220Ω上拉电阻接VCC 。
所谓独立式,就是将每一个独立键按一对一地直接接到I/O 输入线上,而在
DSP 的 PWN 输出
输出
缓冲
电路
电平转换电路
低通 滤波 电路
减法 电路
读键值时,直接读I/O口,每一个键的状态通过读入键值的一位(二进制位)来反应,所以这种方式也称为一维直读方式,这种方式的查键软件比较简单,但占用I/O线较多,一般在键的数量较少时采用,不过,由于DSP芯片有足够的I/O接口可供使用,因而可大大方便设计,设计时可以充分利用这一特点来连接硬件,至于按键的削抖动措施,则可在软件中完成。
5. 软件设计
5.1流程图
本系统软件可以按照模块化设计思想来编写,包括主程序、常数计算程序、占空比计算程序和相应的一些功能子程序,主程序用于调用各功能子程序、初始化变量、查询键盘、判断显示数据是否需要刷新、同时判断一个脉冲是否完成发送等工作,具体方案见图所示的流程图。
主程序中的循环子程序开始
.
判断20ms是否到?
判断0.1s是否到?
刷新显示输出寄存器,奇次显示
频率,偶次频率,偶次显示幅值
判断脉冲发出标
志寄存器=1?
清脉冲发出标志寄存器,
调计算占空比程序
判断是否在延时程
序中调用本程序
返回
图5.1 主程序流程图
在程序中,应在第N-1个脉冲周期里计算占空比,并在第N个脉冲周期里输出波形,这就要求在设计时要在一个脉冲周期内完成计算,如果选用20MHz的晶振,那么,在一倍频下,执行一条执行只需50ns,若输出400Hz的正弦波,即每一个周期(即2.5ms)要输出200个脉冲,这样,也就是说,一个脉冲需要12.5μs(相当于12500/50=250条指令)。
而执行一个占空比的计算程序只需要几十条指令,这种算法从软件开销上考虑是可以实现的。
6. 系统仿真
CCS工程项目的调试
CCS开发环境提供了多种调试程序的运行操作。
用户可以使用调试工具条或调试菜单“Debug”中的相应命令控制程序的运行。
1创建工程项目
①进入CCS集成开发环境
②创建一个新的工程项目
③将源程序文件、链接命令文件、库文件和头文件添加到工程项目中
④单击所有“+”项观看工程项目所包含的文件双击各图标,打开各文件2工程项目的编译
①工程项目的编译链接
3设置探测点
①将volume.out文件装入目标板
②设置探测点
③为探测点选择链接的数据文件
④设置数据文件的属性
⑤将数据文件链接到探测点
⑥关闭“File I/O”对话框
4工程项目的调试和结果的图形显示
①设置断点
②设置输入变量的图形属性
③设置输出变量的图形属性
④运行程序,显示图形
⑤调整输出增益
5观察寄存器的运行数据
正弦波形图如下:
余弦波形图如下:
方波图形如下:
三种波形的图如下:
仿真结果表明系统产生的波形稳定,抗干扰能力强,频率和幅度调节方便,精确度高。
该设计方案简单可行,新颖实用,有推广价值。
七、实验总结
在这次课程设计的撰写过程中,我得到了许多人的帮助。
首先我要感谢王洪群老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的程序编写的难题。
同时也感谢学院为我提供良好的做课程设计的环境。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。
参考文献
[1] 戴明帧.数字信号处理的硬件实现[M].北京:航空工业出版社,1988
[2] 戴明桢,周建江.TMS320C54XDSP结构,原理及应运[M]北京航空航天出版社,2001
[3] 刘湘涛、江世民.单片机原理与应用[M].电子工业出版社, 2006.
[4] 张伟雄,陈亮,徐光辉.DSP集成开发与应用实例[M]。
北京:电子工业出版社,2003
[5] 赵红怡.DSP技术与应用实例.西安:电子工业出版社,2009
[6] 邹彦、王毓银DSP原理及应用[M] 北京:电子工业出版社
[7] 刘益成. TMS320C54xDSP应用程序设计与开发[M]. 北京:航空航天大学出版,2002
[8] 李枫,潘娜,周霖. DSP算法设计与系统方案. 国防工业出版社,2004
[9] 季昱,林俊超,余本喜. DSP嵌入式应用系统开发典型实例. 中国电力出版社,2005
[10] 王念旭等. DSP基础与应用系统设计. 北京:航空航天大学出版社,2001
[11] 赵柏树,李纪武. 一种可调频和占空比的函数发生器. 电子技术应用
[12] 李春明,宁岩等. 任意函数发生器的相位截断对数字合成信号影响分析. 电子测量与仪器学报,1997。