2020-03-02 18:57:37 来源:范文大全收藏下载本文
DSP课程设计总结
(2013-2014学年第2学期)
题
目 :
专业班级 :
电子1103
学生姓名 :
万
蒙
学
号 :
11052304
指导教师 :
设计成绩 :
2014 年 6 月
1 目
录
一 设计目的--------3 二 系统分析--------3 三 硬件设计 3.1 硬件总体结构----------------------------3 3.2 DSP模块设计----------------------------4 3.3 电源模块设计---------------------------4 3.4 时钟模块设计---------------------------5 3.5 存储器模块设计-------------------------6 3.6 复位模块设计---------------------------6 3.7 JTAG模块设计-------------------------7 四 软件设计
4.1 软件总体流程----------------------7 4.2 核心模块及实现代码--------8 五 课程设计总结----------------------14
2
一、设计目的
设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
二、系统分析
1.1设计要求 硬件要求:
(1)使用TMS320VC5416作为核心芯片。 (2)具有最简单的led控制功能。 (3)具有存放程序的外部Flash芯片。 (4)外部输入+5V电源。 (5)绘制出系统的功能框图。
(6)使用AD(Altium Designer)绘制出系统的原理图和PCB版图。 软件要求:
利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP中采集信号,并且对信号进行频谱分析,滤波等。通过键盘选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD上显示。
三、硬件设计
3.1 硬件总体结构
3
3.2 DSP总体结构
3.3 电源模块设计
3.4 时钟模块设计
4
3.5 存储器模块设计
3.6复位模块设计
5
3.7 JTAG模块设计
四、硬件设计
4.1 软件总体流程
6
4.2核心模块及实现代码 1.采集数据去直流
in_x[m] = port8002 & 0x00ff;//读取数据
m++;
intnum = m;
if (intnum == Len)
//以256个点为采样周期 { intnum = 0; xavg = 0.0; for (s=0; s
7
xavg = xavg/Len;//采样均值 for (s=0; s
//输入实部 pi[s] = 0;
//输入虚部 for (p=0; p
xmid[0] = x[s]; r = 0; rm= 0;
for (j=0; j
} y[s] = rm;
r = xmid[j] * h[j]; rm = rm + r; xmid[FLen-p-1] = xmid[FLen-p-2];
4.LCD显示
SendCMD(CLEAR);
showperson();
Delay(1);
//----------------------------
SendCMD(CLEAR);
SendCMD(0x0080);
//设定DDRAM的地址在第一行 80H
delay_100us();
for(i =0;i
{
SendDat(data_buff3[i]);
delay_100us();
asm(\" nop \"); } asm(\" nop \");
SendCMD(0x0090);
shownum(f1);
//------------------------------ SendCMD(0x0088);
//设定DDRAM的地址在第二行 90H delay_100us(); for(i =0;i
{
SendDat(data_buff4[i]);
delay_100us(); }
SendCMD(0x0098);
shownum(f2); 4.3 软件实验效果图 1.去直流
12
2.滤波前fft
3.滤波后fft
13 4.窗口函数
五 课程设计总结
在为期两个多星期的综合设计中,重新熟悉了一下AD和CCS软件的操作 。在画原理图时,各元件的连接及封装形式都应参照手册。只有深刻了解各管脚的功能,才能准确快速地画好原理图。画好原理图后,要先编译一下看是否有连接错误。
如果原理图有所改变,可以在PCB中重新导入。如果元器件管脚或IO引脚变绿,可能是间距违反了规定的rule。可以将rule里的间距改小一点。在pcb连线过程中,我发现 移动clk时钟器件,其管脚变绿,但rule并无问题。后经查阅资料,取消了Drc功能,才恢复正常。在连接滤波电容时,将滤波电容靠近其滤波元器件。
在软件设计过程中,前两天一直没有搞清楚设计要求,进展缓慢。首先了结了一下各个模块程序的输入输出变量的含义,只有 这样才能正确地调用各个函数。在计算频率时,其实我只计算了一个频率。
14 输入是一个混频信号,由于左右对称,在128点内可得到两个最大幅度,0到30(或其他分界点亦可,视滤波效果而言),比较一次,30到128,再比较一次。滤波函数仅仅只是计算了窗口函数,故还需将输入信号函数和窗口函数进行卷积得到最终结果。
在编写LCD显示模块程序时,经常出现乱码。Unsigned
char类型的字符串数组,一个汉字相当于两个英文字母,如果地址1没有安排好容易出现乱码。
15
人人范文网 m.inrrp.com.cn 手机版