ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:51.91KB ,
资源ID:8434451      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8434451.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSPAD采集与显示Word下载.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

DSPAD采集与显示Word下载.docx

1、本实验采用 ICETEK-CT控R 制板。5TI的 DSP 开发集成环境 Code Composer Studio。本实验采用 CCS2.21 for C5000。6仿真器驱动程序。7实验程序及相关文档。三 实验设备通用计算机一台, ICETEK-VC5509-ED实U验 箱。四 实验原理1.将从信号源获取的模拟信号经过 A/D 转换后,再进行 FFT变换,然后输出。2.TMS320VC5509A 模 数 转 换 模 块 特 性 : 内置采样和保持的 10 位模数转换模块 ADC,最小转换时间为 500ns,最大采样率 为 21.5kHz 。 有 2 个 模 拟 输 入 通 道 ( AIN0A

2、IN1 ) 。 采样和保持获取时间窗口有单独的预定标控制。3.模 数 转 换 工 作 过 程 : 模数转换模块接到启动转换信号后,开始转换第一个通道的数据。 经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。 转换结束,设置标志。 等待下一个启动信号。4.模 数 转 换 的 程 序 控 制 : 模数转换相对于计算机来说是一个较为缓慢的过程。 一般采用中断方式启动转换或保存结果,这样在 CPU 忙于其他工作时可以少占用处理时间。设 计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需 要选择适当的触发转换的手段,也要能及时地保存结果。由于 TMS320VC5509A DS

3、P芯片内的 A/D 转换精度是 10 位的,转换结果的低10 位为所需数值,所以在保留时应注意将结果的高 6 位去除 ,取出低 10 位 有效数字。5.FFT 的 原 理 和 参 数 生 成 公 式FFT 并不是一种新的变换,它是离散傅立叶变换( DFT)的一种快速算法。由于我 们在计算 DFT 时一次复数乘法需用四次实数乘法和二次实数加法; 一次复数加法 则需二次实数加法。每运算一个 X( k)需要 4N 次复数乘法及 2N+2(N-1) =2( 2N-1)次实数加法。所以整个 DFT 运算总共需要 4N2 次实数乘法和 N*2(2N- 1=2N(2N-1次实数加法。如此一来,计算时乘法次数

4、和加法次数都是和 N2 成正比 的,当 N很大时,运算量是可观的,因而需要改进对 DFT 的算法减少运算速度。我们先设序列长度为 N=2L,L 为整数。将 N=2L 的序列 x(n(n=0,1,, N-1,按 N 的奇偶分成两组,也就是说我们将一个 N 点的 DFT 分解成两个 N/2 点的 DFT,他 们 又 重 新 组 合 成 一 个 如 下 式 所 表 达 的 N 点 DFT :一般来说,输入被假定为连续的。当输入为纯粹的实数的时候,我们就可以利用左 右 对 称 的 特 性 更 好 的 计 算 DFT我们称这样的 RFFT 优化算法是包装算法:首先 2N 点实数的连续输入称为“进 包”。

5、其次 N点的 FFT 被连续运行。最后作为结果产生的 N 点的合成输出是“打 开 ” 成 为 最 初 的 与 DFT 相 符 合 的 2N 点 输 入 。使用这一思想,我们可以划分 FFT 的大小,它有一半花费在包装输入 O( N)的操 作和打开输出上。这样的 RFFT 算法和一般的 FFT 算法同样迅速,计算速度几乎都 达到了两次 DFT的连续输入。6.液晶显示屏的结构实验箱左上方有一个长方形液晶屏,由 64128 个点阵构成。显示时,每 个点阵对应一个 2 进制数,数为 0,显示一点;为 1,则不显示。通过不同位置 显示与不显示,可以显示数字、图形、汉字等。每个点阵对应的 2 进制数, 6

6、4128个点阵,则对应 64128bit 空间1)将液晶分为两块:左半屏和右半屏,每块 64642)每列 64 个点阵, 8 个点阵为一部分,分为 8 部分,用一个 byte 控制一个 部分,这个 byte 中哪个 bit 为 1,则显示;为 0,则不显示。3)每个半屏分为 8 页, 64 列。4)通过向某行的相邻 8 列输入显码,则可以显示数字五总体设计方案1.【系统总体设计思路】 本系统实现对输入的方波、正弦波、三角波等信号采集,经过 AD 转换后,对这些数字信号处理,最后通过 LCD 显示出来,达到基 本的示波器的效果。总体设计思路如图所示。系统包括信号源、 控制器模块 TMS320VC

7、5509A 、信号检测采集模块、显示模块四部 分。1.2【功能描述】 通过信号源输入的方波、正弦波、三角波等信号采集,经过AD 转换后,对这些数字信号处理,最后通过 LCD 显示出来,达 到基本的示波器的效果。之后,通过对信号进行 FFT 变换,将其 显示出来,同时显示 波形的最大值 /峰峰值,以及 XY 坐标网格。1.3【模块操作】AD采集部分 :1设置通道 0 信号源类型为正弦波,采集通道 0 的 128 个数据,并用 Graph 图形窗口观察。2对采集到的 128 个数据进行 FFT,得到其幅频特性数据,并用 Graph 图形 窗口观察。(额外验证的内容)3分别改变波形类型为:三角波和方

8、波,重复步骤 1,2。4 设置波形类型为正弦波,改变波形的频率和振幅,重复步骤 1、2,至少实验3 个不同频率和 3 个不同振幅。显示部分 :1将采集到的 128 列数据进行处理,进行运算。2将二维数组显示在 64*128 的 LCD 上,显码数组。1.4 【结构框图】系统由 TMS320VC5509为A CPU的控制器、 LCD显示模块、信号源输入、 AD 采集 转换等模块构成。六 实验结论1.三角波2.正弦波七相关代码AD 采集命令:void InitADC(;void wait(unsigned int cycles;void InitADC(ADCCLKCTL=0x23; / 4MHz

9、 ADCLKADCCLKDIV=0x4f00;void wait( unsigned int cyclesint i;for ( i = 0 ; i cycles ; i+ LCD 显示左半屏:LCD 是 64*128 的点阵,通过对 LCD 显示阵列的分析,由于输入信号的幅度范围 是 01024,故用 1024/16,得到 1 个点阵代表 64个幅度值,记为 buffer,然后用 buffer%8,得到该列的页数,而用 buffer/8 得到余数就是在页数上的具体点阵位buffer=nADCj/16; m=buffer/8;n=buffer%8;LCD 显示右半屏:对数据个数进行判断,若个数

10、大于等于 64,则设置起始列的位置为 CTRLCDCMDR=LCDCMDVERADDRESS+j-64;选择显示 FFT 的频谱图 将采集到的信号进行 FFT 变换后,得到 FFT 频谱图 void InitForFFT(for ( i=0;i sin_tabi=sin(PI*2*i/SAMPLENUMBER; cos_tabi=cos(PI*2*i/SAMPLENUMBER;void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER 得到的 FFT 频谱图,送入 LCD 显示,显示方法同 ADC-LCD 显示。 3.3程序代码:#incl

11、ude myapp.hICETEK-VC5509-EDU.hscancode.h#include#define PI 3.1415926 #define SAMPLENUMBER 128 #define LCDDELAY 1 void InitForFFT(; void lcd(;/int INPUTSAMPLENUMBER;int DATASAMPLENUMBER;float fWaveRSAMPLENUMBER,fWaveISAMPLENUMBER,wSAMPLENUMBER;float sin_tabSAMPLENUMBER,cos_tabSAMPLENUMBER; void InitF

12、orFFT(;void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER; void InitADC(;unsigned int nADC128;main(int j; unsigned int uWork;InitForFFT(; CLK_init(;SDRAM_init(;InitCTR(;/ CloseCTR(; SetDSPPLL(SPEED144MHz;TurnOnLCD(; / 打开显示屏LCDCLS(; / 清除显示内存while ( 1/ADfor ( j=0;j128;j+ /采集 128个数据ADCCTL=0x8000;

13、 / 启动 AD 转换,通道 0douWork=ADCDATA; while ( uWork&0x8000 ; nADCj=uWork&0x0fff;lcd(; fWaveRi=nADCi;fWaveIi=0.0f;wi=0.0f; FFT(fWaveR,fWaveI; /对采集到的数据进行 FFT 处理 for ( i=0;DATAi=wi;asm( nop;void FFT(float dataRSAMPLENUMBER,float dataISAMPLENUMBER /FFT 处理函数int x0,x1,x2,x3,x4,x5,x6,xx;int i,j,k,b,p,L;float TR

14、,TI,temp;x0=x1=x2=x3=x4=x5=x6=0;x0=i&0x01; x1=(i/2& x2=(i/4& x3=(i/8&x4=(i/16& x5=(i/32& x6=(i/64&xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6; dataIxx=dataRi;dataRi=dataIi; dataIi=0;for ( L=1;Lb=b*2; i-; /* b= 2(L-1 */=b-1;j+ /* for (2 */p=1; i=7-L;0 /* p=pow(2,7-L*j; */p=p*2;p=p*j;for ( k=j;kk=k+2*b /*

15、for (3 */TR=dataRk; TI=dataIk; temp=dataRk+b; dataRk=dataRk+dataRk+b*cos_tabp+dataIk+b*sin_tabp; dataIk=dataIk-dataRk+b*sin_tabp+dataIk+b*cos_tabp; dataRk+b=TR-dataRk+b*cos_tabp-dataIk+b*sin_tabp; dataIk+b=TI+temp*sin_tabp-dataIk+b*cos_tabp; /* END for (3 */ /* END for (2 */ /* END for (1 */wi=sqrt(

16、dataRi*dataRi+dataIi*dataIi;void InitForFFT(sin_tabi=sin(PI*2*i/SAMPLENUMBER;void lcd( /LCD 显示函数int j,buffer,m,n;设置显示起始行CTRLCDCMDR=LCDCMDSTARTLINE; /Delay(LCDDELAY;CTRLCDCR=0;for (j=0;j+ / 对 128 列数据进行显示 / 得到以 16 压缩后的信号幅值 m=buffer/8; / 得到页数 n=buffer%8; / 余数为具体页数内的点阵位置 if(jCTRLCDCMDR=LCDCMDVERADDRESS+

17、j; / 起始列 =0 Delay(LCDDELAY; CTRLCDCMDR=LCDCMDPAGE+7-m; / 设置操作页 =0 Delay(LCDDELAY;CTRLCDLCR=ledkey0n; / 页内的点阵位置 Delay(LCDDELAY;Delay(512;elseCTRLCDCMDR=LCDCMDVERADDRESS+j-64;CTRLCDCMDR=LCDCMDPAGE+7-m;CTRLCDRCR=ledkey0n;void LCDCLS( / 刷新清屏函数int i,j;LCDCMD(LCDCMDSTARTLINE;i8;i+LCDCMD(LCDCMDPAGE+i;LCDCMD(LCDCMDVERADDRESS;64;j+LCDWriteLeft(0; / 左半屏刷新Delay(1; LCDCMD(LCDCMDVERADDRESS; for ( j=0;LCDWriteRight(0; / 右半屏刷新

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2