- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、综合实验内容和目的
1、实验目的
(1) 通过实验学习掌握TMS320F28335的浮点处理;
(2) 学习并掌握A/D模块的使用方法;
(3) 学习并掌握中断方式和查询方式的相关知识及其相互之间的转换;
(4) 学习信号时域分析的方法,了解相关电量参数的计算方法;
(5) 了解数字滤波的一些基本方法。
2、实验内容
要求1:对给定的波形信号,采用TMS320F28335的浮点功能计算该信号的以下时域参数:信号的周期T,信号的均方根大小Vrms、平均值Vavg、峰-峰值Vpp。
其中,均方根Vrms的计算公式如下:
式中N为采样点数,为采样序列中的第i个采样点。
要求2:所设计软件需要计算采样的波形周期个数,并控制采样点数大于1个波形周期,且小于3个波形周期大小。
要求3:对采集的数据需要加一定的数字滤波。
二、硬件电路
相关硬件:TMS320F28335DSP实验箱,仿真器。
硬件结构图
三、程序流程图
1、主程序流程图
程序的主流程图
2、子程序流程图
参数计算的流程图
四、实验结果和分析
1、实验过程分析
(1) 使用的函数原型声明
对ADC模件相关参数进行定义:ADC时钟预定标,使外设时钟HSPCLK为25MHz,ADC模块时钟为12.5MHz,采样保持周期为16个ADC时钟。
(2) 定义全局变量
根据程序需要,定义相关变量。主要有:ConversionCount、Voltage[1024]、Voltage1[1024]、Voltage2[1024]、filter_buf[N]、filter_i、Max、Min、T、temp、temp1、temp2、temp3、Num、V、Vav、Vpp、Vrm、fre。这些变量的声明请见报告后所附的源程序。
(3) 编写主函数
完成系统寄存器及GPIO初始化;清除所有中断,初始化PIE向量表,将程序中使用的ADC中断重新映射到ISR;对外部设备ADC模块进行初始化;使能PIE中ADCINT中断;配置ADC模块;等待ADC中断。
(4) 编写中断函数
第一步为对采集的数据进行数字滤波。
程序中所使用的数字滤波为一种滑动滤波,将当前时刻之前的N个采样点的值取平均赋值作为当前时刻的值使用。这种数字滤波的方式会产生一定的延时并且输出曲线的上下限也存在误差(这种误差可以通过一定的方法补偿)。
第二步取出前800(可任意取,只要保证能在这么多点内取得两个最大值和一个最小值即可)个点中的最大值和最小值,分别用Max和Min表示。
在这一步中可以首先计算出峰-峰值Vpp,计算公式为Vpp=Max-Min,单位为毫伏。
第三步根据Max和Min,取出这800点中首次出现Max和Min的位置,分别用temp1和temp2表示。
因为采点时不可能正好采到Max和Min,所以要实现这种功能,就要允许一定的采点误差的存在,在此设置了门限值50。
在这一步中可以计算出一个周期内的采样点数T=2*abs(temp2-temp1)。
第四步通过从temp1到temp3(即temp1+T)这一个周期内的各点的数据计算出信号的均方根Vrm和平均值Vav。
计算出其余参数,周期T和频率fre。
第五步是在循环的开始对程序计算中所需的各基本变量赋初值,为下一次计算做准备。这也是程序中至关重要的一步。
(5) 调试程序
程序编制完成,编译成功后,将程序装载到实验板。将需要观察的变量周期T、均方根Vrm、平均值Vav,峰-峰值Vpp,频率fre添加到Watch Window;设置图形显示,选择View→Graph→Time/Frequency,数据个数为1024、数据类型为16-bit unsigned integer、分别输入数据起始地址为Voltage和Voltage1同时观察滤波前后的信号波形;对实验箱进行设置,使产生1000mV、1000Hz的正弦波;在中断程序“ConversionCount = 0;”前设置断点,选择全速运行,即可动态观察到所需测量的参数及波形变化。根据各参数的大小可在程序中适当加入补偿,使参数更准确。
2、实验结果
本次试验选择了正弦波,采样点数为1024个,采用断点调试,选择了150Hz,500Hz,1000Hz时的正弦波,得出的各项数据如表1所示:
表1 不同频率时正弦波各参数的值
150Hz:
500Hz:
1000Hz:各个频率下的波形是程序在断点运行下产生的动态图,数据在某个较小的范围内变化,周期是以波形采样的点数来表达出来的,从表中可以看出当频率变大时,周期点数变小,由于本程序还不够完善,所以导致高频率时,采样点数大于所要求的1到3个波形周期。
试验波形对比图如下所示:
150Hz:
图1-a 频率为150Hz的信号滤波前波形
图1-b 频率为150Hz的信
文档评论(0)