资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
dsp课程设计报告23500字 DSP课程设计总结(2014-2015学年第2学期)题 目 : 数据采集处理和控制系统设计专业班级 :学生姓名 :学 号 :指导教师 :设计成绩 :2015 年 7 月目 录一 设计目的.1二 系统分析.11.1 设计要求.11.2 主要任务.1三 硬件设计.23.1 硬件总体结构.23.2 DSP模块设计.43.3 电源模块设计.63.4 时钟模块设计.63.5 存储器模块设计.7四 软件设计.94.1 软件总体流程.9 4.2 核心模块及实现代码.9五 课程设计总结.29六 参考文献.29一 设计目的此设计结合硬件、软件得到一个基于TMS320VC5416芯片,能完成数据采集、频谱分析、滤波、LCD显示的DSP系统。以此加强了对DSP功能的认识,复习了Altium Designer软件的使用方法。并在此基础上利用CCS软件编程实现A/D采集,FFT变换处理,低通滤波,显示滤波成分等功能的完整的小型数字处理系统。二 系统分析1.1设计要求(1)硬件设计要求设计一个功能完备的,能够独立运行的精简DSP硬件系统,使用Altium Designer绘制出系统原理图和PCB图。(2)软件设计要求利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号叠加。在DSP中采集信号,并且对信号进行频谱分析,滤波等。通过串口命令选择算法功能,将计算的信号频率或者滤波后的信号频率在LCD上显示。1.2主要任务(1)DSP 硬件系统设计设计DSP基本结构并绘制单片机最小系统原理图和PCB图。(2)数据采集处理和控制系统设计利用CCS软件编程实现数据采集x(n)对数据FFT处理、分析频率成分根据频率成 分设计FIR低通滤波器h(n)卷积x(n)*h(n)=y(n)得到滤波之后的信号分析滤波之后y(n)的频率成分LCD显示高频,低频和滤波器的截止频率。1三 硬件设计图1 硬件总体结构本次实验使用TMS320VC5416芯片作为主芯片。外围电路包括:电源、复位电路、时钟发生器(外接晶振或外接晶体)、外部存储器FLASH、仿真接口电路JTAG、外部中断(不用:上拉)、I/O(不用:输出悬空,输入上拉)与主机通信的并行接口HPI(不用:悬空)。(1)原理图设计图2 单片机最小系统原理图2(2)PCB板设计图3 PCB图(1)图4 PCB图(2)3如图所示,由于其右上部分地址线和数据线较多,铺铜不方便,所以Vcore层分布在TM320VC5416芯片的左下部分。+3.3V为顶层红色部分,GND为底层蓝色部分。3.2 DSP模块设计图5 DSP模块(1)上图为TMS320VC5416芯片的设计,该芯片不用的输入引脚要拉高,输出引脚悬空。本设计用到了该芯片的数据信号线,初始化、中断和复位线,部分存储器控制信号线,部分振荡器/定时信号线,串口信号线,电源引脚线和JTAG测试引脚线。主CPU每个电源管脚旁边都有一个0.1uF的去耦电容,去耦电容可以提供较稳定的电源,同时也可以降低元件耦合到电源端的噪声,间接可以减少其他元件受此元件噪声的影响。CLKMOD1、CLKMOD2、CLKMOD3分别接1、1、0,表示锁相环一倍频4图6 DSP模块(2)图6 DSP模块(3)53.3 电源模块设计图7 电源模块73HD316为DC-DC转换芯片,将+5V电压转换成Vcore和+3.3V电压,电源和地之间要接滤波电容。Vcore为内核电压,+3.3V为外设电压,这样可以减小功耗。3.4 时钟模块设计图8 时钟模块10MHZ晶振的输出接到TM320VC5416芯片的X2/CLKIN管脚,芯片的X1悬空,即使用外部晶振。63.5 存储器模块设计图9 存储器模块存储器的数据线和地址线分别接CPU的数据线和地址线。DSP控制信号R/W_L接FLASH的WE_L和OE表示DSP向FLASH写和从FLASH读有效。当DSP从FLASH读时,DSP输出高电平,但FLASH的OE为低有效,应接一个非门。73.6 复位电路设计图10 复位电路如图所示有两种复位方法:(1)上电复位,利用RC的延迟特性,刚开始上电,由于电容电压不能突变,RESET处为低,直到电容充电完毕,变高,实现复位;(2)手动复位,S1闭合,电容放电,电平变低,断开,电容充电过程与上电复位相同,实现复位。发光二极管用来表示DSP的工作状态三个电源是否正常工作。3.7 仿真接口电路设计图11 仿真接口电路8JTAG仿真接口,用于将外部的程序、数据导入DSP内部,完成运算处理。是外部存储器与DSP的一个媒介。四 软件设计4.1 软件总体流程4.2 核心模块及实现代码(1)主要代码/-头文件-#include DspRegDefine.h /VC5402 寄存器定义#include stdio.h /输入输出接口定义#include math.h /数学计算定义/- /* * 宏定义 */9#define UCHAR#define UINT16#define UINT32unsigned char unsigned int unsigned long 1 0 #define TRUE #define FALSE#define Length 256 /FFT的点数/-/- LCD 指令 -/基本指令集 RE = 0#define CLEAR 0x0001 /清除显示#define RESAC 0x0002 /位址歸位#define SETPOINT 0x0006 /進入點設定,游標右移,DDRAM 位址計數器(AC)加1 #define CURSOR 0x000F /整體顯示,游標顯示,游標位置反白#define MCURSOR 0x0014 /游標向右移動,AC=AC+1#define FUCSET 0x0030 /功能設定,BIT MPU 控制界面,基本指令集,默认设置 #define CGRAMAC 0x0040 /設定CGRAM 位址#define DDRAMAC 0x0080 /設定DDRAM 位址/第一行AC 範圍為80H.8FH/第二行AC 範圍為90H.9FH/第三行AC 範圍為A0H.AFH/第四行AC 範圍為B0H.BFH/#define READBF RS=0,RW=1,DB7,DB6,DB5,DB4,DB3,DB2,DB1,DB0/ BF AC6 AC5 AC4 AC3 AC2 AC1 AC0/ 讀取忙碌旗標(BF)和位址/ 就是读取指令寄存器,PORT8006,BF=1,表示LCD忙碌/#define WRITERAM RS=1,RW=0,DB7,DB6,DB5,DB4,DB3,DB2,DB1,DB0/ D7 D6 D5 D4 D3 D2 D1 D0/ 寫入資料到RAM/ 就是写数据寄存器: PORT8005/#define READRAM RS=1,RW=1,DB7,DB6,DB5,DB4,DB3,DB2,DB1,DB0/ D7 D6 D5 D4 D3 D2 D1 D0/ 讀取RAM 的值/ 就是从数据寄存器讀取資料, PORT8007/擴充指令集 RE=1#define IDLE 0x01 /待命模式#define CGRAMSET 0x02 /捲動位址或RAM 位址選擇#define REVERSE 0x04 /反白選擇#define SLEEP 0x0c /脫離睡眠模式#define EFUCSET 0x66 /擴充功能設定,8 BIT MPU 控制界面,為擴充指令集動作,繪圖顯示O
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号