欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    DSP实验报告-数据测量和条件传输系统(共10页).doc

    • 资源ID:13850445       资源大小:518KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DSP实验报告-数据测量和条件传输系统(共10页).doc

    精选优质文档-倾情为你奉上研究生实验报告课程名称: DSP技术应用 综合设计名称:数据测量和条件传输系统2009年12月28日一、实验内容和目的1、实验内容本实验主要模拟某种电子信息处理设备的功能,实现下列要求:要求1:对给定的一路波形信号,计算该信号的频率大小。要求2:信号频率低于50HZ时,根据信号控制LED灯每隔10个信号周期点亮或熄灭一次。要求3:信号频率高于50HZ时(不超过5KHZ),LED灯不再点亮,并且将信号频率利用SCIB接口传输给上位机,传输格式为:<xxxHZ>(例如:信号测量频率为124HZ的时候,传输格式为<124HZ>)。2、实验目的(1) 掌握TMS320F28335扩展数字I/O口的方法及应用;(2) 掌握A/D转换模块的性能、数据采集及编程方法;(3) 了解F28335的SCI模块的结构及特点,掌握串行口工作方式及编程方法,了解PC机串行通讯的工作过程;(4) 掌握中断处理程序的编程方法; 二、硬件电路硬件电路原理图如图1所示。图1 实验硬件电路原理图由图1可见,试验系统由以下三个部分组成:(1) PC机(2) SEED-XDS510系列仿真器(3) SEED-DTK28335综合实验系统PC机通过并口或USB口与SEED-XDS510系列仿真器相连;SEED-XDS510系列仿真器通过JTAG口与SEED-DTK综合实验系统相连。本实验主要用到以下三个模块:(1) 数字I/O模块DSP系统中一般只有少量的数字I/O资源,而一些控制系统中经常需要大量数字量的输入与输出。因而,在外部扩展I/O资源非常重要。扩展I/O资源时,可以采用74LS273、74LS373之类的锁存器,或者采用CPLD在其内部做锁存逻辑,SEED-DEC28335实验箱中采用的是后者。实验箱上I/O控制部分映射到F28335的Zone7,其起始地址为0x(字地址)。交通灯控制口的偏移地址为0x0000,地址为0x。(2) SCI串行通讯模块在SEED-DEC28335模板直接采用F28335片上的2通道SCI作为异步收发器UART。SEED- DEC28335采用MAX3160多协议收发器,使得异步串口接口电平可配置为RS232/RS422/RS485多种接口电平标准。(3) A/D转换模块F28335的A/D转换模块是带内置采样和保持(S/H)的12位模数转换模块,共有16个模拟输入通道(ADCIN0-ADCIN15)。SEED-DEC28335板卡上AD接口的ADCINA0、ADCINA2、ADCINA4及ADCINA6共四个通道与波形发生器通道0的输出相连。实验中选用ADCINA6进行数据采集,通过键盘设置波形发生器通道0的波形及其参数。三、实验设计说明1、主程序流程图:图2-1 主程序流程图2、中断子程序流程图:图2-2 中断子程序流程图3、程序设计思路:实验程序主要包括两个部分:主程序,AD中断子程序。主程序主要有以下功能:系统的初始化,SCIB通讯模块初始化,I/O口设置,A/D模块初始化及中断设置。AD中断子程序中,首先对给定信号进行采样,根据采样数据计算信号频率。如果计算得到的信号频率小于50HZ,则每隔10个信号周期点亮或熄灭LED灯一次;信号频率大于50HZ时,通过SCIB模块将信号频率以<xxxHZ>的格式传输给上位机。本次实验中,信号频率的计算方法如图3所示:图3 信号频率计算方法原理图为了防止采样无效计数,故设置了两个比较值:H&L。每当采样值大于比较值H时,就将flag置1,继续比较。在flag=1的情况下,当采样值一旦小于比较值L时,num+,观察num值(1)如果num<=1,采样数cj开始计数,并将flag置0;(2)如果num>1(num=2),cj停止采样计数。这样得到的cj的值便是一个周期内所得的采样点数,已知采集一个数据所需时间为AD中断周期Ts,那么显然,信号周期T=cj×Ts。计算完成后,重置参数为flag=0,num=0,cj=0。本实验中,设定H=500HZ,L=200HZ。三、实验结果和分析1、实验步骤及程序调试实验主要步骤如下:(1) 关掉PC电源;(2) 将并口线一端连接到PC并行端口;(3) 将并口线另一端连接到SEED-XDS510PP仿真器上;(4) 用XDS510PP仿真器上的接头与SEED-DTK28335综合实验系统上JTAG仿真端口连接。程序调试方法:1) 设置断点2) 复位目标板有三种复位目标板的方法:a. Reset DSP :暂停运行中的程序并初始化所有寄存器的内容。执行该命令后,需重新装载.out文件。b. Restart :将PC值恢复至当前程序的入口地址。c. Go main :将程序运行至主程序的入口处暂停。 3) 执行CCS提供了四种执行程序的方法(Debug菜单中)a. 执行(Run):运行程序直到遇到断点为止。b. 暂停执行(Halt):停止程序运行。c. 动画执行(Animate):反复运行程序,每次遇到断点停顿一段时间。d. 自由执行(Run Free):忽略所有断点运行程序。4) 单步执行5) 查看变量:右击Watch Window命令6) Graph的设置及图形显示:选择ViewGraphTime/Frequency2、运行结果1) 给定信号频率低于50HZ时,LED灯循环点亮与熄灭(间隔10个信号周期)。 图4-1 发生波形图(f=30HZ) 图4-2 LED点亮图 4-3 LED熄灭图2)给定信号频率高于50HZ时,LED灯熄灭,并且通过PC机显示信号频率,如图5所示为信号频率为600HZ时,PC机显示结果:图5 f=600HZ时的频率显示3、实验中遇到的问题专心-专注-专业在实验过程中,出现了不少的问题,首先是AD中断经常需要经过开关实验板来重置,这个问题应该是硬件接触不良的原因引起的;其次,在实验初期,当频率f<50HZ时,经常会出现波形变成噪声的情况,导致不能进行信号周期的计算,如图6所示为f=30HZ的标准正弦波的波形。但是如果f比较大时,不会出现这种情况,将f从大逐渐减小至30HZ,则波形又能正常显示,这个问题我们暂时还未能讨论出可靠的干扰原因。图6 f=30HZ时的error噪声波形四、源程序/头文件#include "DSP2833x_Device.h" / DSP2833x Headerfile Include File#include "DSP2833x_Examples.h" / DSP2833x Examples Include File#include "comm.h"interrupt void adc_isr(void);void scib_fifo_init(); /地址定义volatile unsigned int* p_ceselect=(volatile unsigned int *)0x;volatile unsigned int* p_trafficaddr=(volatile unsigned int *)0x;volatile unsigned int* p_ioenable=(volatile unsigned int *) 0x;/设置A/D采样时钟频率为12.5MHz,宽度为16#if (CPU_FRQ_150MHZ)/ Default - 150 MHz SYSCLKOUT#define ADC_MODCLK 0x3 /HSPCLK= SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz#endif#if (CPU_FRQ_100MHZ)#define ADC_MODCLK 0x2 /HSPCLK= SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz#endif#define ADC_CKPS 0x1 / ADC module clock=HSPCLK/2*ADC_CKPS= 25.0MHz/(1*2) = 12.5MHz#define ADC_SHCLK 0xf / S/H width in ADC module periods = 16 ADC clocks/定义全局变量Uint16 LoopCount;Uint16 ConversionCount;Uint16 Voltage11024; /存储波形采样数据Uint16 num=0,cj=0,flag=0; /用于频率计算的参数float32 T,Ts=7.68e-6; /信号、A/D采样周期T、TsUint32 f; /信号频率f=1/TUint16 Tjc=0; /信号采样周期计数unsigned int iostatus=0;main() InitSysCtrl();/ /系统初始化/GPIO口初始化 InitGpio(); / Skipped for this example InitSciGpio();/设置SCI模块所用到的GPIO口 DINT;InitXintf(); InitPieCtrl(); / 初始化中断 IER = 0x0000; / 清除中断标志 IFR = 0x0000; / 清除中断标志*p_ceselect =0x3 ; /打开ce3空间 DELAY_US(100); /延迟函数*p_ioenable =0xfff; /IO空间始能 DELAY_US(100); InitPieVectTable(); / I初始化中断向量表/设置A/D中断入口 EALLOW; PieVectTable.ADCINT = &adc_isr; EDIS; /初始化SCIB模块和A/D模块 scib_fifo_init(); / Init SCI-B InitAdc(); / For this example, init the ADC/使能AD中断 PieCtrlRegs.PIEIER1.bit.INTx6 = 1; IER |= M_INT1; / Enable CPU Interrupt 1 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM LoopCount = 0; ConversionCount = 0;/AD模块初始化 AdcRegs.ADCTRL1.bit.ACQ_PS= ADC_SHCLK; /采样时间预定标 AdcRegs.ADCTRL3.bit.ADCCLKPS= ADC_CKPS; /AD时钟预定标 AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /级联排序 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1; /中断使能 AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1; AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x6;/将第6通道的转换结果存放在CONV00中 AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 15;/最大转换通道为16 AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1 ; /软件触发启动 for(;); / 循环等待AD中断/AD中断函数interrupt void adc_isr(void) Voltage1ConversionCount= AdcRegs.ADCRESULT0 >>4;/将采样所得数据结果存储到Voltage1数组中 if(Voltage1ConversionCount>50)flag=1; /当采样值大于50时,flag置1 if(num>=1)cj+; / num大于1时,cj开始计数 if(flag=1) / flag为1时,如果采样值小于200,/num计数加1,同时将flag置0; if(Voltage1ConversionCount<200) num+;flag=0; if(num=2) /num=2时,计算信号频率,并重置参数 num=0; T=cj*Ts;/计算信号周期f=1/T; /计算信号频率cj=0; /信号采样点计数复位Tjc+; /信号采样周期计数 if(ConversionCount = 1024) /If 1024 conversions /have been logged, start over ConversionCount = 0; else ConversionCount+;if(Tjc%10=0) /每10个信号周期,/执行一些操作if(f<50)/信号频率小于50Hz时的一些操作 iostatus=*p_trafficaddr; if(iostatus=0) /判断上一次LED灯的状态 iostatus=0xfff;/点亮LED灯 else iostatus=0;/熄灭LED灯 *p_trafficaddr=iostatus; else/信号频率大于或等于50HZ时 iostatus = 0; *p_trafficaddr=iostatus; /熄灭LED灯/将信号频率传输给上位机,传输格式为:xxxHZ while(ScibRegs.SCIFFTX.bit.TXFFST!= 0);/SCI端口不空闲,循环等待 ScibRegs.SCITXBUF=f/1000+48; /信号频率千位转化为字符输出while(ScibRegs.SCIFFTX.bit.TXFFST != 0); ScibRegs.SCITXBUF=f%1000/100+48; /信号频率百位转化为字符输出while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF=f%100/10+48; /信号频率十位转化为字符输出while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF=f%10+48; /取信号频率个位转化为字符输出while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF='H' /输出字符'H'while(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF='Z' /输出字符'Z' /复位AD模块 AdcRegs.ADCTRL2.bit.RST_SEQ1= 1; / 重置排序器 SEQ1 AdcRegs.ADCST.bit.INT_SEQ1_CLR= 1; / Clear INT SEQ1 bit PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; / Acknowledge interrupt to PIE AdcRegs.ADCTRL2.bit.SOC_SEQ1 = 0x1 ; return;/SCIB模块初始化函数void scib_fifo_init() ScibRegs.SCICCR.all =0x0007; / 1位停止位,数据位为8个字节,/无奇偶校验位,空闲线方式ScibRegs.SCICTL1.all=0x0003; / 发送、接收使能ScibRegs.SCICTL2.all =0x0003;ScibRegs.SCICTL2.bit.TXINTENA =1;ScibRegs.SCICTL2.bit.RXBKINTENA =1;ScibRegs.SCIHBAUD=0x0001;/设置通讯频率为9600ScibRegs.SCILBAUD=0x00e7;ScibRegs.SCICCR.bit.LOOPBKENA =0; / Disable loop backScibRegs.SCICTL1.all =0x0023; / Relinquish SCI from ResetScibRegs.SCIFFTX.bit.TXFIFOXRESET=0;ScibRegs.SCIFFRX.bit.RXFIFORESET=0;ScibRegs.SCIFFTX.all=0xE040;ScibRegs.SCIFFRX.all=0x204f;ScibRegs.SCIFFCT.all=0x0;五、实验总结通过本次实验,初步掌握了TMS320F28335扩展数字I/O口的方法及应用,A/D转换模块的性能、数据采集及编程方法,了解了F28335的SCI模块的结构及特点,串行口工作方式及编程方法,PC机串行通讯的工作过程,中断处理程序的编程方法。

    注意事项

    本文(DSP实验报告-数据测量和条件传输系统(共10页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开