收藏 分销(赏)

DSP专业课程设计ADSCI专业资料.doc

上传人:快乐****生活 文档编号:2727356 上传时间:2024-06-05 格式:DOC 页数:13 大小:1.09MB 下载积分:8 金币
下载 相关 举报
DSP专业课程设计ADSCI专业资料.doc_第1页
第1页 / 共13页
DSP专业课程设计ADSCI专业资料.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
深圳大学考试答题纸 (以论文、报告等形式考核专用) 二○一四~二○一五年度第 1 学期 课程编号 课程名称 单片机/ARM /DSP技术实践  主讲教师 评分 学号 姓名 专业年级 教师评语: 题目: 基于DSP2812课程设计 一、实验规定 由外接信号发生器产生一正弦信号(电压范畴:0~3V),通过DSPAD功能对此正弦信号进行采集,通过DSPSCI功能与PC机之间进行通信,把所采集AD信号发送至PC机端,在超级终端上进行实时显示。 二、实验原理 2.1 ADC概述 ADC,即模/数转换器,将模仿量转换成数字量,提供应控制器使用。TMS320F2812片上有一种12位辨别率、具备流水线构造模/数转换器,其机构框图如图1所示。其前端为2个8选1多路切换器和2路同步采样/保持器,构成16个模仿输入通道,模仿通道切换由硬件自动控制,并将各模仿通道转换成果顺序存入16个成果寄存器中。 图1 ADC机构框图 2.2 ADC模块特点 (1)带2个8选1多路切换器和双采样/保持器12位ADC,共有16个模仿输入通道; (2)模仿量输入范畴:0.0V-3.0V; (3)转换率:在25MHZADC时钟下为80ns; (4)转换成果存储在16个成果存储器中; (5)转换成果=4095*(输入模仿信号-ADCLO)/3; (6)各种A/D触发方式:软件启动、EVA和EVB; (7)灵活中断方式:可以在每次转换结束或每隔一次转换结束触发中断; 3.ADC转换环节 (1)初始化DSP系统; (2)设立PIE中断矢量表; (3)初始化ADC模块; (4)将ADC中断入口地址装入PIE中断矢量表中,开中断; (5)软件启动ADC转换; (6)等待ADC中断; (7)在ADC中断中读取ADC转换成果,软件启动下一次ADC中断。 三、实验实现 3.1硬件方案设计 本实验以TMS320F2812为核心控制部件,运用软件编程,通过ADC模块对实验箱上信号发生器发出正弦信号进行采集,由于实验箱上信号发生器只能调节到2V,因此本次实验只针对2V正弦信号,再通过串口线与PC机连接,将采集转换数字信号传送到PC机端串口助手,并还原成采集时电压值。硬件框架图如图2所示。本次ADC采用SEED-DEC2812AD接口ADCINA6通道。 图2 硬件框架图 3.2软件设计 程序主体沿用AD采样例程,用定期器产生中断,在中断程序中对电压信号进行AD转换并将转换值通过串口发送到电脑,在电脑上用串口助手对采样值进行实时显示。 重要工作:是在AD程序基本上初始化串口、修改中断程序及更改采样率、波特率参数 。程序要解决问题: 1、 采样值转换 2、 采样率及波特率设立 串口初始化程序可以直接使用SCI例程中初始化程序,下面只简介中断程序设计及采样率、波特率参数设立 中断程序设计 在中断程序中对电压信号进行采集,然后将采集到12位有效值转换成实际电压值,取电压值三位有效数字以字符形式用串口发送,这里要注意是AD采集12位有效数字在寄存器中是靠左放置,需要右移四位后才干对其转换。 图3 中断程序图 SCI波特率设立 SCI波特率大小决定串口能每秒传送数据多少,若太小则会限制采样率,本实验选取串口助手最大波特率115200b/s,则: 1、每秒理论上能传送字节数:115200/10=11520B 2、波特值BRR由公式 可得BRR=40,在串口初始化程序中设立SciaRegs.SCILBAUD = 0x28,可以把波特率设立成115200 b/s。 图4 串口初始化程序图 采样率设立 采样率受波特率和信号频率两方面控制 1、115200b/s波特率下最大采样率为 2、信号频率为100HZ,依照采样定理采样率要不不大于 综合考虑设采样率为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),通过DSPAD功能对此正弦信号进行采集,通过DSPSCI功能与PC机之间进行通信,把所采集AD信号发送至PC机端,在超级终端上进行实时显示。本实验最后达到了实验规定,实现了电压值实时显示。 附录 实验代码如下所示: #include <math.h> #include "DSP28_Device.h" #include "comm.h" /////////////////////////////////////////////////////////////////// #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(); //初始化cputimer InitCpuTimers(); InitSci(); /*设立中断服务程序入口地址*/ EALLOW; // This is needed to write to EALLOW protected registers PieVectTable.TINT2 = &ISRTimer2; PieVectTable.ADCINT = &ad; EDIS; // This is needed to disable write to EALLOW protected registers /*开中断*/ IER |= M_INT1;//ADC中断 EINT; // Enable Global interrupt INTM ERTM; // Enable Global realtime interrupt DBGM /*启动AD采样*/ /*AD采样率*/ adconvover=0; switch(SampleRate){ case ADSAMPL8K: //采样率为1k DINT; /*设立CPU*/ ConfigCpuTimer(&CpuTimer2,150,1000); StartCpuTimer2(); /*开中断*/ IER |= M_INT14; EINT; InitAdc(); SampleRate = 0; break; default: break; } for(;;) { } } interrupt void ad(void) { IFR=0x0000; PieCtrl.PIEACK.all=0xffff; Ad_data[0] = AdcRegs.RESULT0; temp=Ad_data[0]>>4; results=(temp/4095.0)*3.0; results=results*100; send[3]=(int)results%10+0x30; results=results/10; send[2]=(int)results%10+0x30; send[1]='.'; results=results/10; send[0]=(int)results+0x30; send[4]='\n'; for(i=0;i<5;i++) { SciaRegs.SCITXBUF =send[i]; while(!SciaTx_Ready()); } } interrupt void ISRTimer2(void) { AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; } 串口初始化子程序 void InitSci(void) { // Initialize SCI-A: *UART_MODE = 0x44; EALLOW; GpioMuxRegs.GPFMUX.all = 0x0030; EDIS; /* loopback   8 bit data */ SciaRegs.SCICCR.all = 0x07; SciaRegs.SCICTL1.all = 0x03; SciaRegs.SCICTL2.all = 0x03; SciaRegs.SCIHBAUD = 0x00; SciaRegs.SCILBAUD = 0x28;//波特率为115200b/s SciaRegs.SCICTL1.all = 0x23; PieCtrl.PIEIER9.bit.INTx1 = 1; // PieCtrl.PIEIER9.bit.INTx2 = 1; //tbd... // Initialize SCI-B: //tbd... }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服