2013DSP课程设计(AD7303) - 图文(6)

2019-01-12 12:52

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 it's 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();

// Disable CPU interrupts and clear all CPU interrupt flags: 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; i<128;i++) {

data=(int)(127.5*(1+sin(2*pi*i/127))); //产生128个点的正弦信号波形 curve[i]=data;

curve1[i]=data&0x00ff|0x0100; //将数据打包成“从移位寄存器到DAC A数据寄存器 curve2[i]=data&0x00ff|0x2500; //将数据打包成“从移位寄存器到DAC B数据寄存器 //且用数据寄存器同时更新A和B两个DA的值

} for(;;) {

for(p=0;p<128;p++) {

/*将数据写入AD7303*/

SpiaRegs.SPITXBUF=curve1[p]; delay();

/*将数据写入AD7303*/

SpiaRegs.SPITXBUF=curve2[p]; delay(); } } }

void spi_init() { SpiaRegs.SPICCR.bit.SPISWRESET=0; // Reset SCI SpiaRegs.SPICCR.all =0x000F; // Reset on, rising edge, 16-bit char bits SpiaRegs.SPICTL.all =0x000E; // Enable master mode, normal phase,

SpiaRegs.SPISTS.all=0x0080; // enable talk, and SPI int disabled. SpiaRegs.SPIBRR =0x0000; // Baud rate; SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission

SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SPI }

void delay(void) //延时子程序 {

unsigned int k; for(k=0;k<50;k++); }

4.3 调试部分

4.3.1 硬件调试(进行硬件调试时要先进行相关设置)

(1)将CCS设置Emulator的方式(通过硬件仿真调试器XDS510连接C2000开发板进行硬件仿真调试的方式),并且指定通过XDS510 USB接口仿真器C2000硬件评估电路板。如图4-3-1。

图4-3-1 Emulator方式设置

(2)打开路径“C:my fir project\\sine wave”文件中的工程文件。 (3)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮。注意编译过程中CCS3.3主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。如图4-3-2

图4-3-2 编译结果

(4)下载程序。执行File?Load Program,在随后打开的对话框中选择刚刚建立的C:\\my fir project\\sine wave\\Debug\\sine wave.out文件,点击“打开”按钮如图4-3-3。CCS将程序加载到硬件仿真器上,并打开Disassembly窗口,该窗口显示反汇编指令。

图4-3-3 下载sine wave.out文件

(5)运行程序。先使用Debug下的Go main命令,然后选择Debug→Run。 (6)测试输出信号。先将示波器一信号输入线接在实验板上的END上,然后

将另一个信号输入线接在A/D信号输出口上,调试示波器,示波器屏幕上将出现一个正弦波。如图4-3-4所示:

图4-3-4 波形输出

(7)通过传输线连接到试验台并通过示波器进行输出,可测得模拟输出电压约为3.3V,即VREF的电压约为1.6V。(基本符合AD7303的设置,即

VREF?VDD2)

4.3.2 软件调试

这次课程设计所需的基本资料和程序平时已经由老师已经给定,所以我在操作过程按所给资料进行必要的整合和设计,基本上可以很好地实现设计的要求。可以先使用Debug Go main命令,然后选择Debug→Run,在使用编译连接时并无错误出现,总体上来说,这次设计比较好的实现了相应的正弦波波形的形成及AD7303的数模转化,并最终实现了设计的正弦波形的输出,如图4-3-4。

四、总结

通过这次的DSP课程设计,面通过这次课程设计我对本学期学习的DSP知识又有了一些的认识,另外通过对课程设计题目的分析、思考,确实受益颇多。

这次的课程设计不单单是DSP知识的应用,无论从芯片外观尺寸信息的学习、Protel制作原理图库文件和PCB库文件及绘制电路图知识,还是对于芯片的外文资料的阅读、自己对理论知识理解能力、独立思考与解决问题的能力等方面,对我都是一个很大的提高。通过认真阅读AD7303的英文使用手册,发觉在芯片资料的阅读方面还是英文资料容易理解,并且对AD7303的一些基本的知识有了进一步的理解(如输入寄存器的高八位低八位的分配及设置、AD7303与

TMS320F2812的外设接口的连接等)。

在这期间通过和同学交流各自的想法,收获了同学们更多的思想和思维方法。另一方面,这次课程设计更是教会了我要认认真真学习专业知识,脚踏实地地掌握所学的知识,不虚度学习阶段的每一次锻炼提高自己的机会。通过课程设计期间对老师的治学行为的悉心观察,深刻的认识到学习是自己的事情,来不得半点懒惰,不容许丁点的懈怠。

五、参考文献

程培青. 数字信号处理教程. 北京:清华大学出版社,2007 陈永彬. 数字信号处理. 南京:南京工学院出版社,1987

赵成. DSP原理及技术应用技术——基于TMS320F2812的仿真与实例设计.北京:国防工业出版社,2012

指 导 教 师 评 语 成绩 指导教师 年 月 日


2013DSP课程设计(AD7303) - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年保险高管试题复习题库 (附答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: