![DSP实验报告_数据测量和条件传输系统(含源程序_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-4/24/0d007f43-d15a-40d8-8c93-c15ed95db7ae/0d007f43-d15a-40d8-8c93-c15ed95db7ae1.gif)
![DSP实验报告_数据测量和条件传输系统(含源程序_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-4/24/0d007f43-d15a-40d8-8c93-c15ed95db7ae/0d007f43-d15a-40d8-8c93-c15ed95db7ae2.gif)
![DSP实验报告_数据测量和条件传输系统(含源程序_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-4/24/0d007f43-d15a-40d8-8c93-c15ed95db7ae/0d007f43-d15a-40d8-8c93-c15ed95db7ae3.gif)
![DSP实验报告_数据测量和条件传输系统(含源程序_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-4/24/0d007f43-d15a-40d8-8c93-c15ed95db7ae/0d007f43-d15a-40d8-8c93-c15ed95db7ae4.gif)
![DSP实验报告_数据测量和条件传输系统(含源程序_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-4/24/0d007f43-d15a-40d8-8c93-c15ed95db7ae/0d007f43-d15a-40d8-8c93-c15ed95db7ae5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、研究生实验报告课程名称: DSP技术应用 综合设计名称:数据测量和条件传输系统2009年12月28日一、实验内容和目的1、实验内容本实验主要模拟某种电子信息处理设备的功能,实现下列要求:要求1:对给定的一路波形信号,计算该信号的频率大小。要求2:信号频率低于50HZ时,根据信号控制LED灯每隔10个信号周期点亮或熄灭一次。要求3:信号频率高于50HZ时(不超过5KHZ),LED灯不再点亮,并且将信号频率利用SCIB接口传输给上位机,传输格式为:(例如:信号测量频率为124HZ的时候,传输格式为)。2、实验目的(1) 掌握TMS320F28335扩展数字I/O口的方法及应用;(2) 掌握A/D转
2、换模块的性能、数据采集及编程方法;(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系统中一般只有
3、少量的数字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多协议收发器,使得异步串口接口电平可配置为
4、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中断子
5、程序。主程序主要有以下功能:系统的初始化,SCIB通讯模块初始化,I/O口设置,A/D模块初始化及中断设置。AD中断子程序中,首先对给定信号进行采样,根据采样数据计算信号频率。如果计算得到的信号频率小于50HZ,则每隔10个信号周期点亮或熄灭LED灯一次;信号频率大于50HZ时,通过SCIB模块将信号频率以的格式传输给上位机。本次实验中,信号频率的计算方法如图3所示:图3 信号频率计算方法原理图为了防止采样无效计数,故设置了两个比较值:H&L。每当采样值大于比较值H时,就将flag置1,继续比较。在flag=1的情况下,当采样值一旦小于比较值L时,num+,观察num值(1)如果num1(nu
6、m=2),cj停止采样计数。这样得到的cj的值便是一个周期内所得的采样点数,已知采集一个数据所需时间为AD中断周期Ts,那么显然,信号周期T=cjTs。计算完成后,重置参数为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) 复位目标板有三种复位目
7、标板的方法: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的设
8、置及图形显示:选择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中断经常需要经过开关实验板来重置,这个问题应该是硬件接触不良的原因引起的;其次,在实验初期,当频率f4;/将采样所得数据结果存储到Volta
9、ge1数组中 if(Voltage1ConversionCount50)flag=1; /当采样值大于50时,flag置1 if(num=1)cj+; / num大于1时,cj开始计数 if(flag=1) / flag为1时,如果采样值小于200,/num计数加1,同时将flag置0; if(Voltage1ConversionCount200) num+;flag=0; if(num=2) /num=2时,计算信号频率,并重置参数 num=0; T=cj*Ts;/计算信号周期f=1/T; /计算信号频率cj=0; /信号采样点计数复位Tjc+; /信号采样周期计数 if(Conversio
10、nCount = 1024) /If 1024 conversions /have been logged, start over ConversionCount = 0; else ConversionCount+;if(Tjc%10=0) /每10个信号周期,/执行一些操作if(f50)/信号频率小于50Hz时的一些操作 iostatus=*p_trafficaddr; if(iostatus=0) /判断上一次LED灯的状态 iostatus=0xfff;/点亮LED灯 else iostatus=0;/熄灭LED灯 *p_trafficaddr=iostatus; else/信号频率大
11、于或等于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
12、!= 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; /输出字符Hwhile(ScibRegs.SCIFFTX.bit.TXFFST != 0);ScibRegs.SCITXBUF=Z; /输出字符Z /复位AD模块 AdcRegs.ADCTRL2.bit.RST_
13、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
14、.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.bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论