实验10任意信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十任意信号发生器
座位号: 第一组B5
姓名:陈翔宇1104210311 小组成员: 董泽人1104210202
于杏 1104210101 指导老师: 李彧晟
2014年
一、实验目的
1、熟悉DSP的软硬件开发平台
2、熟悉TI DSP软件集成开发环境
3、学习DSP程序的编程开发
4、熟悉工程代码产生方法
5、掌握TMS320F2812的ADC外设的使用
6、熟悉TMS320F2812的中断的设置
7、掌握代码调试的基本方法
二、实验仪器
计算机、C2000 DSP 教学实验箱、XDS510USB仿真器、示波器和信号源等。
三、注意事项
进入CCS顺序:
1、打开C2000实验箱电源(确认实验箱电源正常加载)
2、点击CCS2(C2000) 进入开发界面
退出CCS顺序:
1、关闭CCS2(C2000)应用程序
2、关闭C2000实验箱电源
四、实验内容
建立工程,编写DSP的主程序,并对工程进行编译、链接,利用现有DSP 平台实现数据的采集、存储以及模拟还原,通过图表以及示波器观察结果。五、实验要求
实验指导书上的要求:
1、独立完成项目编译、链接、调试的全过程;
2、利用数码显示管,在DSP初始化子模块后添加语句或者编写程序,使之能够显示实验日期;
3、记录实验中各子程序包括主程序的入口实际地址,与memory比较,指出分别位于什么类型的存储器中;
4、指出波形数据保存的空间地址,并以图形方式显示线性调频信号的波
形,并保存,附在实验报告中。
课件上的要求:
5、数码管显示实验日期或学号(同要求2);
6、指出线性调频信号波形的存储地址,作图显示,并在示波器上输出该波形;
7、改变正弦信号频率编程实现,在示波器上验证,要求记录改变参数以及实测频率。
六、实验步骤及结果
1、检查DSP平台(仿真器、实验箱、计算机)之间的连接,打开计算机及实验板电源,检查电源加载是否异常;
2、打开CCS,执行命令Project→New,弹出“Project Creation”对话框,在第一项Project Name中输入工程名“A2”,在第二项Location中选择D
盘名为a文件夹下的A2文件夹中,其余默认,单击“完成”。
3、单击Project→Add Files to Project,找到实验十的范例程序所在位置,拉下文件类型选择框改为“显示所有类型文件”,选中第一个需要加入工程
的文件,按住shift键,选中最后一个需要加入的文件,点击确认,这样,所有需要添加进去的.c文件、.cmd文件和.lib文件都添加进了工程。
4、打开source下的RamGen.c文件,进入c程序编辑界面;将初始化LED 的程序段改为下面程序:
/* 初始化LED */
*LED8 = 0x66; // LED8显示4
*(LED8+0x100) = 0x06; // LED7显示1
*(LED8+0x200) = 0x86; // LED6显示1.
*(LED8+0x300) = 0x06; // LED5显示1
*(LED8+0x400) = 0xE6; // LED4显示4.
*(LED8+0x500) = 0x06; // LED3显示1
*(LED8+0x600) = 0x3F; // LED2显示0
*(LED8+0x700) = 0x5B; // LED1显示2
*(LEDWR) = 0XFF; // WIRTE DATA TO LED
程序功能:LED显示实验日期“2014.11.14”。
5、Project→build,编译链接生成.out文件后,点击File→Load Program,选择A2.out,运行程序。
数码管显示日期正常,结果如下:
要求2和5完成。
6、选中main,单击右键,选择Add to Watch Window,观察变量查看窗口数值。
变量查看窗口中main的value一栏显示0x0000 0000,得到主程序的入口地址为0x0000 0000,打开F2812_EzDSP_RAM_lnk.cmd文件,Memory 定义部分如下:
MEMORY
{
PAGE 0 :
RAMM0 : origin = 0x000000, length = 0x000400
BEGIN : origin = 0x3F8000, length = 0x000002
PRAMH0 : origin = 0x3F8002, length = 0x000FFE
RESET : origin = 0x3FFFC0, length = 0x000002
PRAM : origin = 0x100000, length = 0x10000
PAGE 1 :
RAMM1 : origin = 0x000400, length = 0x000400
DRAMH0 : origin = 0x3f9000, length = 0x001000
}
由上面定义可以得到主程序位于程序存储器的RAMM0块。
要求3完成。
7、接下来修改程序,产生线性调频信号:
信号形式:2()cos(),t [0.0128:0.0128],K 39062,N 1024s t Kt π=∈-==。 经分析,该信号可表示为2()cos(()),[
0.0128:0.0128],K 39062,N 1024,[0:1023]i i s t Kf i N N
π=∈-==∈其中,()i f N
为一个关于i 和N 的线性函数。 设该函数等于:y kx b =+
使得1,0.0128102422*0.0128,0.012810241024......1023,0.01281024x y x y x y ⎧==-⎪⎪⎪==-+⎪⎨⎪⎪⎪=≈⎪⎩
由此得到0.01282,0.0128k b N
⨯==-。所以将原程序中正弦信号内存赋值部分修改为如下:
for(i=0;i<1024;i++)
*(RamAddr+i) = (int)
((cos(39062*Pi*(2*0.0128*i/N-0.0128)*(2*0.0128*i/N-0.0128))*2048));
经Build →Load Program →Run 后,打开图形显示窗口View →Graph →
Time/Frequency ,将数据起始地址设置为RamAddr ,长度设置为1024。
结果如下: