例如Y(K) = X(k) +X(k-1)+X(k-2)
int x0, x1, x2;
int y0;
x2 = x1;
x1 = x0;
x0 = input
y0 = x0 + x1 + x2;
以下是DSP所在板卡上的串口与对应的上位机串口进行信息交互的程序,仅仅是最基本的框架,具体还得根据你的通信内容以及串口响应方式(中断或查询)进行进一步修改和补充。
感觉你是不是刚接触DSP,友情提示你一下:在CCS开发环境下,一个完整的DSP工程包括c文件(主程序main,外设配置文件,内部中断初始化配置等),h文件(头文件),lib文件(静态库文件),CMD文件(内存地址空间分配文件)。以上缺一不可,不明白的可以分别问问百度。
希望对你有所帮助。
#include "DSP28_Deviceh"
unsigned int Sci_VarRx[100];
unsigned int i,j;
unsigned int Send_Flag;
void main(void)
{
/初始化系统/
InitSysCtrl();
/关中断/
DINT;
IER = 0x0000;
IFR = 0x0000;
/初始化PIE中断/
InitPieCtrl();
/初始化PIE中断矢量表/
InitPieVectTable();
/初始化SCIA寄存器/
InitSci();
for(i = 0; i < 100; i++)
{
Sci_VarRx[i] = 0;
}
i = 0;
j = 0;
Send_Flag = 0;
#if SCIA_INT
/设置中断服务程序入口地址/
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTableTXAINT = &SCITXINTA_ISR;
PieVectTableRXAINT = &SCIRXINTA_ISR;
EDIS; // This is needed to disable write to EALLOW protected registers
/开中断/
IER |= M_INT9;
#endif
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
for(;;)
{
if((SciaTx_Ready() == 1) && (Send_Flag == 1))
{
SciaRegsSCITXBUF = Sci_VarRx[i];
Send_Flag = 0;
i++;
if(i == j)
{
i = 0;
j = 0;
}
}
#if !SCIA_INT
if(SciaRx_Ready() == 1)
{
Sci_VarRx[j] = SciaRegsSCIRXBUFall;
Send_Flag = 1;
j++;
if(j == 100)
{
j = 0;
}
}
#endif
}
}
对于DSP/BIOS的学习,我比较推荐的学习资料是彭启琮和管庆编著的《DSP集成开发环境——CCS及DSP\BIOS的原理与应用》。虽然书籍是以c5000平台来讲解的。但不会影响你学习C6000平台下的DSP/BIOS。
bootloader是dsp芯片上固化的一段引导程序,dsp程序在ram上掉电易丢,所以启动时运行bootloader将辅存中的程序调入ram中
至于dsp的框架结构在ti公司有(有点复杂),开发时通常是先在开发板上仿真然后实践,由于dsp一般用于数字信号处理,离不开matlab软件连调。说起来有点复杂,要熟悉dsp开发流程序最简单的方法就是自己动手实践一下,如做个滤波器,频谱分析器等就可以深刻了解了。
ps有点繁琐,自己慢慢体会!
要做好有效值运算,必须遵守相关的前提和约束。
1、dsp是对数字信号进行处理,因此,先要保证源头的数据的正确性和充分性。首先,电路带宽必须大于信号带宽,其次,采样频率必须满足采样定理要求,至少是信号带宽的2倍以上,建议采用10倍以上。
2、进行方均根运算时,关键在于“均”,也就是必须明白是多少数据的“均”。对于交流信号,严格讲,必须是信号周期的整倍数时间内的采样点的“均”。因此,运算前,必须知道信号的频率(周期)。信号频率除以采样频率再乘以任意自然数都可以作为运算的点数。
3、对于低频信号而言,若运算的信号周期数太大,数据更新时间太长,可设置较少的周期数。对于较高频率的信号,可以设置较多的周期数。
4、对于较高频率的信号,若运算的点数足够多,也就是信号的时间跨度远远大于信号周期,可以不考虑整数倍的问题。
5、有了上述基础,按照计算或设定的运算点数,提取最近采样的相应点数的数据,依次平方、求和、开方,即可得到有效值。
以上就是关于如何根据差分方程编写dsp程序全部的内容,包括:如何根据差分方程编写dsp程序、求大神帮忙编写一个DSP2808串口通讯程序,最好是已经测试通过,可以直接使用的。在线等、DSP中的BIOS是如何工作的,在编写程序的时候怎么使用BIOS等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)