SCI波特率?LSPCLK(37.5M)(BRR?1)?8可得BRR=40,在串口初始化程序中设置SciaRegs.SCILBAUD = 0x28,可以把波特率设置成115200 b/s。
图4 串口初始化程序图
采样率设置
采样率受波特率和信号频率两方面控制
11520B?23041、115200b/s波特率下最大采样率为 52、信号频率为100HZ,根据采样定理采样率要大于2 fs综合考虑设采样率为1000HZ在单位周期内采样十次,采样率可以通过在主程序中ConfigCpuTimer(&CpuTimer2, 150, 1000) 设置,通过设置周期值(1000us)可以确定采样率1000。
图4 部分主程序程序图
3.3软件调试
软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。本设计的软件调试使用CCS3.3测试软件进行调试,即可看到正确的测试结果,从而最终实现利用ADC采集正弦信号。
四、实验结果分析
1.实验箱的信号发生器上的设置如图5所示。
图5 信号发生器设置
2.PC端上串口助手显示接收的数据,如图6所示。
图6 串口调试助手界面
3.采用matlab对上图的数据进行绘图,如图7所示,横坐标为时间/s,y轴为幅值,图中可以较直观的显示出经AD采集到的正弦信号发送到PC机上也是正弦信号的数据。
图7 MATLAB绘制图
五、实验结论
通过本次实验我们掌握DSP芯片功能及其在实际中的应用方法,对于DSP基础知识的了解。学习到了很过关于DSPAD模块和SCI的知识,并且更加巩固和掌握了课堂上所学的课本知识,是自己对DSP技术有了更进一步的认识和了解。本实验是由实验箱的信号发生器产生一正弦信号(电压范围:0~2V),通过DSP的AD功能对此正弦信号进行采集,通过DSP的SCI功能与PC机之间进行通信,把所采集的AD信号发送至PC机端,在超级终端上进行实时显示。本实验最终达到了实验要求,实现了电压值的实时显示。
附录
实验代码如下所示: #include
/////////////////////////////////////////////////////////////////// #define SAMPLERATE 1
unsignedintuart_sendtype ; unsignedintSampleRate; unsignedintSampleLong=1024; /////////////////// unsignedinti,j;
unsignedintAd_data[10]={0}; char send[5]={0}; float results=0; float temp=0; //////////////////
unsignedintconvcount = 0; volatile unsigned intadconvover =0;
// Prototype statements for functions found within this file. interrupt void ISRTimer2(void); interrupt void ad(void); void main(void) {
/*初始化系统*/ InitSysCtrl();
#if SAMPLERATE==1
SampleRate =ADSAMPL8K;
#endif /*关中断*/ DINT; IER = 0x0000; IFR = 0x0000; /*初始化PIE中断*/ InitPieCtrl();
/*初始化PIE中断矢量表*/ InitPieVectTable();
相关推荐: