已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州航空工业管理学院电子通信工程系DSP原理及应用课程设计报告设计题目:基于TMS320F2812 DSP处理器的信号仪的设计与实现学号: 姓名: 专业: 通信工程 设计日期: 2012年6月14日 指导老师: 赵成 张松炜 目 录一、引言二、设计目的三、设计要求四、总体设计4.1硬件部分4.1.1数模转换操作的应用基础4.1.2 AD7303简介4.1.3 应用AD7303的DAC电路设计4.2 软件部分4.2.1 程序流程图4.2.2 在CCS集成开发环境下新建工程4.2.3在Simulator环境下观察信号的时域及FFT Magnitude波形4.2.4 程序清单4.3 调试部分4.3.1 硬件调试4.3.2 软件调试4.3.3 SCI串行数据传输(选做)五、总结六、参考文献一、引言随着现代科学技术的发展和计算机技术的普及,信号处理系统已应用于越来越多的场合,如无线通信、语音识别、机器人、遥感遥测和图像处理领域,数字信号处理器芯片在高速信号处理方面具有速度快、运算性能好等优点,本文设计了一种基于TI公司的TMS320F812的信号处理系统,将数据通过串行异步通信接口传到PC机,由PC机的串口调试工具对接收信号进行显示和具体分析并将结果传给反馈给DSP进行控制,文章对硬件和软件进行了详细描述。二、设计目的1、编写串行外设接口SPI的驱动程序;2、了解数模转换的基本操作,设计基于数模转换芯片AD7303的正弦信号发生电路;3、编写TMS320F2812利用SPI接口驱动AD7303输出正弦信号波形的应用程序。三、设计要求1、熟悉CCS集成开发环境的使用,能对程序进行跟踪,分析结果;2、熟悉SPI外设接口的相关知识,能通过SPI接口与外围电路(芯片)进行通信。四、总体设计4.1硬件部分4.1.1数模转换操作的应用基础利用专用的数模转换芯片,可以实现将数字信号转换成模拟量输出的功能。在EXPIV型实验箱上,使用的是AD7303数模芯片,它可以实现同时转换2路模拟信号数出,并有8位精度,DA转换时间1.2s。其控制方式较为简单:首先将需要转换的数值及控制指令同时通过SPI总线传送到AD7303上相应寄存器,经过一个时间延迟,转换后的模拟量就从AD7303输出引脚输出。4.1.2 AD7303简介AD7303是一款双通道、8位电压输出DAC,采用+2.7 V至+5.5 V单电源供电。它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。这款器件采用多功能三线式串行接口,能够以最高30MHz的时钟速率工作,并与QSPI、SPI、MICROWIRE以及数字信号处理器接口标准兼容。串行输入寄存器为16位,其中8位用作DAC的数据位,其余8位组成一个控制寄存器。图1 数字量与输出模拟量换算表图2 输入移位寄存器图3AD7303输入移位寄存器位定义及设置方式4.1.3 应用AD7303的DAC电路设计 图4 AD7303电路设计4.2 软件部分4.2.1 程序流程图 处理器上电复位CPU及串行外设接口初始化产生128个点的正弦信号波形按AD7303输入移位寄存器的位定义,传输数据,进行数模转换双路波形输出无限循环4.2.2 在CCS集成开发环境下新建工程1.在Setup CCS2中对它进行设置,如图5所示单击完成和保存设置单击输入配置单击清除原先配置单击选择此配置图5 CCS设置驱动界面2.打开CCS,在Projiect下拉菜单中选择Open添加程序,进行编译,无错误。如图6所示 图63. 执行File Load Program,在随后打开的对话框中选择刚刚建立的后缀名为.out文件,点击“打开”按钮,如图7所示。为了快速地运行到主函数调试自己的代码,可以先使用Debug下的Go main命令 图7 图84.2.3在Simulator环境下观察信号的时域及FFT Magnitude波形(1)选菜单ViewGraphTime/Frequency。(2) 在Graph Property Dialog对话框中,修改Start Address为curve,Acquisition Buffer Size为128,Display Data Size为128,DSP Data Type为16-bit unsigned integer,Autoscale为Off,Maximum Y-value为300,如图8所示;波形如图9所示 图94.2.4 程序清单*- 文件信息 - ;* ;* 文件名称 : Example_DSP281x_da.c ;* 适用平台 : DSP专家4实验箱;* CPU类型 : DSP TMS320F2812 ;* 软件环境 : CCS2.20 (2000系列);* 试验接线 : 1、F2812CPU板的JUMP1的2和3脚短接,JUMP2的1和2脚短接;;* 2、实验箱底板的开关K9拨到右侧,选择CPU2.;* 试验现象 : 设置好CCS的环境,打开本工程,编译、下载、运行。;* 利用示波器观察实验箱DA单元的二号孔输出1有正弦波输出。;* 地址译码说明:基地址(0x80000) */ /*头文件*/#include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Include File#include math.h#define pi 3.1415926/*全局变量*/unsigned int curve128; unsigned int curve1128; unsigned int curve2128;/ Prototype statements for functions found within this file./ interrupt void ISRTimer2(void);void spi_init(void);/void spi_fifo_init(void);void delay(void); void main(void) int i,p,data;/ Step 1. Initialize System Control:/ PLL, WatchDog, enable Peripheral Clocks/ This example function is found in the DSP281x_SysCtrl.c file. InitSysCtrl();/ Step 2. Initalize GPIO: / This example function is found in the DSP281x_Gpio.c file and/ illustrates how to set the GPIO to its default state./ InitGpio(); / Skipped for this example / Setup only the GP I/O only for SPI functionality EALLOW; GpioMuxRegs.GPFMUX.all=0x000F;/ Select GPIOs to be SPI pins / Port F MUX - x000 0000 0000 1111 EDIS;/ Step 3. Clear all interrupts and initialize PIE vector table:/ Disable CPU interrupts DINT;/ Initialize PIE control registers to their default state./ The default state is all PIE interrupts disabled and flags/ are cleared. / This function is found in the DSP281x_PieCtrl.c file. InitPieCtrl();/禁止CPU中断清楚中断标志位 IER = 0x0000; IFR = 0x0000; / Initialize the PIE vector table with pointers to the shell Interrupt / Service Routines (ISR). / This will populate the entire table, even if the interrupt/ is not used in this example. This is useful for debug purposes./ The shell ISR routines are found in DSP281x_DefaultIsr.c./ This function is found in DSP281x_PieVect.c. InitPieVectTable();/ Step 4. Initialize all the Device Peripherals:/ This function is found in DSP281x_InitPeripherals.c/ InitPeripherals(); / Not required for this example/ spi_fifo_init(); / Initialize the Spi FIFO spi_init(); / init SPI for(i=0; i128;i+) /*产生128个点的正弦信号波形*/ data=(int)(127.5*(1+sin(2*pi*i/127); curvei=data; /*将数据打包成“从移位寄存器到DAC A数据寄存器*/ curve1i=data&0x00ff|0x0100; /*将数据打包成“从移位寄存器到DAC B数据寄存器 且用数据寄存器同时更新A和B两个DA的值*/ curve2i=data&0x00ff|0x2500; /进入无限循环 for(;) for(p=0;p128;p+) /*将数据写入AD7303*/ SpiaRegs.SPITXBUF=curve1p; delay(); /*将数据写入AD7303*/ SpiaRegs.SPITXBUF=curve2p; delay(); void spi_init() SpiaRegs.SPICCR.bit.SPISWRESET=0; /复位SPISpiaRegs.SPICCR.all =0x000F; / Reset on, rising edge, 16-bit char bits SpiaRegs.SPICTL.all =0x000E; / 是能主模式,一般 SpiaRegs.SPISTS.all=0x0080; / 使能 talk, 禁止SPI中断SpiaRegs.SPIBRR =0x0000; / 波特率设置为LSPCLK/4; SpiaRegs.SPIPRI.bit.FREE = 1; / Set so breakpoints dont disturb xmission自由运行 SpiaRegs.SPICCR.bit.SPISWRESET=1; / 使能SPI void delay(void) /延时子程序 unsigned int k; for(k=0;k50;k+);4.3 调试部分4.3.1 硬件调试单击清除原先配置单击选择此配置单击输入配置单击完成和保存设置 进行硬件调试时要先进行安装,如下图10所示 图 10(1)将CCS设置Emulator的方式(通过硬件仿真调试器XDS510连接C2000开发板进行硬件仿真调试的方式),并且指定通过XDS510 USB接口仿真器C2000硬件评估电路板。(2)把U盘中的程序文件复制到C盘中的ti文件中myprojects目录中,在CCS 2窗口中的菜单中选择Project,在出现的窗口的查找范围中选择C盘中的ti文件中的工程文件,然后打开。(3)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮。注意编译过程中CCS主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。(4)下载程序。执行FileLoad Program,在随后打开的对话框中选择刚刚建立的C:timyprojects SPI_DA Debug Example_281x_da.out文件,点击“打开”按钮。CCS将程序加载到硬件仿真器上,并打开Disassembly窗口,该窗口显示反汇编指令。(注意,CCS还会自动打开窗口底部一个标有Stdout的区域,该区域用以显示程序送往Stdout的输出。)(5)运行程序。先使用DebugGo main命令,然后点击工具栏按钮或选择DebugRun。可快速地运行主函数调试自己的代码。当运行程序时,可在Stdout窗口中看到程序运行时输出的“Example example started”消息。(6)测试输出信号。先将示波器一信号输入线接在实验板上的END上,然后将另一个信号输入线接在A/D信号输出口上,调试示波器,示波器屏幕上将出现一个正弦波。如下图所示: 图11 波形输出单击完成和保存设置通过传输线连接到试验台并通过示波器进行输出,可测得模拟输出电压约为3.3V,即V(REF)的电压约为1.6V。4.3.2 软件调试 由于课程设计老师已经给定程序,且操作过程按说给步骤进行。为了快速地运行到主函数调试自己的代码,可以先使用DebugGo main命令,然后点击工具栏按钮或选择DebugRun。在使用编译连接时并无错误出现,如上图6所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 37343-2019海上导航和无线电通信设备及系统 桥楼航行值班报警系统(BNWAS)》专题研究报告
- 印前处理和制作员安全宣传测试考核试卷含答案
- 水泥生产中控员岗前实操综合知识考核试卷含答案
- 《GBT 9097-2016 烧结金属材料(不包括硬质合金) 表观硬度和显微硬度的测定》专题研究报告
- 油品储运工冲突解决竞赛考核试卷含答案
- 烫呢(光)挡车工安全生产知识评优考核试卷含答案
- 选矿脱水工岗前基础应用考核试卷含答案
- 文物修复师安全检查测试考核试卷含答案
- 合成气装置操作工岗前安全实操考核试卷含答案
- 虚拟现实产品设计师安全宣贯评优考核试卷含答案
- 幽门螺旋杆菌专家共识
- 中药热熨敷技术临床应用指南
- 2025年上海公务员考试(财经管理)历年参考题库含答案详解(5套)
- 卫生院与村卫生室协议合同模板
- 2025年四川省高考化学试卷真题(含答案解析)
- 讲解西柏坡精神
- 2025年综合类-水利工程行业技能考试-水轮发电机机械检修工(初级)历年真题摘选带答案(5卷套题【单选100题】)
- 2025年「金属非金属矿山(露天矿山)安全管理人员」考试题(附答案)
- 2024版电网典型设计10kV配电站房分册
- 药肥基础知识培训课件
- 鳃裂囊肿及瘘管的护理
评论
0/150
提交评论