DSP作业

发布 2022-09-03 08:31:28 阅读 8128

北京信息科技大学。

dsp及其应用。

姓名:刘新菊。

班级:研1206

学号:2012020176

专业:模式识别与智能系统。

指导教师:周亚丽。

2024年—2024年第二学期。

采用tms320f28335实现系统如图1所示:

图1 系统方框图。

其中: r与y2为ad的输入,e为r与y2的误差。y为da的输出。

r(0~+3v)由两个模拟信号(幅值均为±5v的直流信号)转换实现。采样频率ts=2000hz,采用定时器t0。

系统的原理图如图2所示:

图2 系统原理图。

1. 一阶惯性环节的实现:

由公式。得出。

离散化得 得到如下的差分方程:

2. 程序。

#include "dsp2833x_"

#include "dsp2833x_"

#include "dsp2833x_"

/声明两个中断。

interrupt void cpu_timer0_isr(void);

interrupt void adc_isr(void);

uint16 r; /输入直流信号r经过a/d得到r

uint16 y=0; /系统输出(数字信号)

uint16 y1; /y经过d/a转换,y1是模拟信号。

uint16 y2; /y1经-过a/d转换,y2是数字信号,用于与r比较。

float e; /r与y2之间的误差。

float u; /控制信号。

float p; /比例积分调节器比例部分。

float i=0; /比例积分调节器积分部分,初始化为0

float kp=0.8; /比例积分调节器的比例参数(值的设定取决于系统)

float t=0.1; /惯性环节参数。

float ts=0.0005; /采样周期0.5ms

uint16 k=0.5; /反馈系数。

void main(void)

initsysctrl();初始化系统控制。

initgpio();初始化gpio

dint;//清除所有中断。

initpiectrl();初始化pie控制寄存器。

ier = 0x0000;

ifr = 0x0000;//禁止cpu中断并清除cpu中断标识。

initpievecttable();初始化pie矢量表。

eallow; /使能eallow保护寄存器的写入。

= &cpu_timer0_isr; /cpu timer0中断。

= &adc_isr;//adc中断。

edis; /继续eallow保护。

initgpio();初始化io接口。

eallow;

//作为通用i/o口。

//作为输出。

//作为通用i/o口。

//作为输出。

edis;initcputimers();

configcputimer(&cputimer0,150,500); 初始化cpu定时器并定时周期为50ms

initadc();初始化adc

ier = m_int1 ; 使能 int1

= 1;//enable tint0 in the pie: group 1 interrupt 7

= 1;//enable adcint in pie

eintenable global interrupt intm

ertmenable global realtime interrupt dbgm

//配置adc 采用顺序采样模式。

//顺序采样。

采用级联排序模式。

//soc脉冲宽度为一个adclk周期。

运行启动停止模式。

//使能seq1中断请求。

设置转换通道数为3,分别是r(a)的a/d,y(d)的d/a,y1(a)的a/d

conv from adcina0

conv from adcina2

conv from adcina4

startcputmer0();启动cpu定时器timer0

//启动ad转换器进行d转换。

for(;;无限循环。

interrupt void cpu_timer0_isr(void)

stopcputimer0();

//清除t0中断标志位。

e=r-y2;//误差。

//比例积分调节器。

p=kp*r;

i+=e;u=p+i; /控制信号。

//一阶惯性环节。

y+=[u-y)/t]*ts;

eallow;

//清除寄存器。

//清除寄存器。

edis;//pie控制寄存器写1清0

eint;interrupt void adc_isr(void)

//读入转换结果。

r = 4; /输入直流信号r经过a/d得到r

y1 = 4; /系统输出y经过d/a转换,y1是模拟信号。

y2 = 4; /y1经过a/d转换,y2是数字信号,用于与r比括较。

// 重新初始化下一个adc序列

= 1重置seq1

= 1clear int seq1 bit

//启动下一次ad转换器进行转换。

= pieack_group1; /清中断应答信号,准备迎接下一次中断信号?

return;

DSP作业

51 以ya i1ixi为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...

DSP作业

1 以y ax为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,iii1 并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...

DSP作业

第一章。1 什么是dsp?2.dsp芯片的特点有哪些?3.dsp采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。4.dsp中由哪些地址和数据总线组成多总线结构?5.dsp芯片的选型一般是从哪几个方面进行考虑?6.简述ti公司的dsp三大平台和它们各自的应用场合。7.dsp芯片发展趋势应该朝着哪...