基于DSP定时器的LED控制系统设计.docx

上传人:b****8 文档编号:11948940 上传时间:2023-06-03 格式:DOCX 页数:12 大小:96.35KB
下载 相关 举报
基于DSP定时器的LED控制系统设计.docx_第1页
第1页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第2页
第2页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第3页
第3页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第4页
第4页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第5页
第5页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第6页
第6页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第7页
第7页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第8页
第8页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第9页
第9页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第10页
第10页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第11页
第11页 / 共12页
基于DSP定时器的LED控制系统设计.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于DSP定时器的LED控制系统设计.docx

《基于DSP定时器的LED控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于DSP定时器的LED控制系统设计.docx(12页珍藏版)》请在冰点文库上搜索。

基于DSP定时器的LED控制系统设计.docx

基于DSP定时器的LED控制系统设计

《DSP系统设计及应用》

课程设计报告书

题目名称:

基于DSP定时器的LED控制系统设计

学院:

机电工程学院

专业:

专电气工程及其自动化

班级:

2013级2班

学号:

姓名:

指导教师:

2016年12月

课程设计报告书

DSP课程设计是深化和提高课程理论知识的重要途径之一。

以DSP综合集成及应用的基本理论为基础,研究了DSP最小系统设计的基本方法,并学习了用C语言编写DSP编程及使用测试箱及DSP系统的相关软件。

培养独立思考能力;培训分析、总结和撰写技术报告能力,本次课程设计目的在于:

(1)学习用DSP来控制LED灯的闪亮。

(2)学习DSP程序的调试及编写,利用观察变量查看程序运行。

(3)学习测试箱的使用方法。

设计

内容

功能

说明

设计内容:

本次设计内容为基于DSP定时器的LED控制系统设计,具体要求如下:

(1)给定电源12V,设计供电电路。

(2)给定外部晶振30M,系统时钟工作在150M,给出寄存器如何配置。

(3)利用定时器定时1秒,实现四个LED灯的秒闪。

(4)自主完成发挥功能。

(5)撰写设计报告。

功能说明:

本设计利用F28335DSP芯片来控制模拟基本的LED闪烁,给予系统额定电压来保证系统的正常工作,用中断的方式定时控制LED灯的集体闪烁频率。

 

 

 

 

 

 

步骤一:

DSP最小系统分析

1.DSP最小系统

能够用于基本的数字信号处理,运行一些简单的程序。

此部分主要包括电源电路、复位电路、时钟电路等。

2.晶振电路

DSP的时钟可以有两种连接方式,即外部振荡器方式和谐振器方式。

如果使用内部振荡器,则必须在X1/XCLKIN和X2两个引脚之间连接一个石英晶体。

如果采用外部时钟,可将输入时钟信号直接连到X1/CI。

KIN引脚上,X2悬空。

本设计采用外部晶振,直接选择一个3.3V供电的30MHz晶振实现。

系统工作是通过编程选择5倍频的PLL功能,可实现最高工作频率(150MHz)。

如图1所示:

图1晶振电路图

3.复位电路

对于实际的DSP应用系统,特别是产品化的DSP系统,其可靠性是一个不容忽视的问题。

由于DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重的系统问题可能出现死机现象。

为了克服这些情况,除了在软件上做一些保护措施外硬件上必须做相应的处理。

硬件上最有效的保护措施是采用具有看门狗(Watchdog)功能的自动复位电路相结合的方式。

TMS320F28335的复位输入引脚XRS为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外中断,可在任何时候对TMS320F28335进行复位。

本设计采用了简单的RC复位电路,复位电路如图所示2:

图2复位电路图

4.电源电路

F28335DSP采用了双电源供电机制,以获得更好的电源性能,其工作电压为3.3V和1.8V。

其中,1.8V主要为该器件的内部逻辑提供电压,包括CPU和其他所有的外设逻辑。

及3.3V供电相比,1.8V供电大大降低功耗。

外部接口引脚仍然采用3.3V电压,便于直接及外部低压器件接口,而无需额外的电平变换电路。

在本设计里我用TI公司的TPS7301单输出可调电压调节器作为主器件的电源电路,将12V转换为3.3V和1.9V供给DSP,使系统正常工作。

电源电路如图3所示:

图3电源电路图

步骤二:

本次设计硬件电路分析

1.定时器中断的实现

为了实现定时器的精确走时功能,系统利用定时器0、PIE模块和CPU中断共同作用产生定时器中断。

首先为定时器0设置定时初值,并开启定时器使其计数。

当定时器计数器寄存器递减到零时,定时器会产生一个中断TINT并将其传送给PIE外设中断模块,当PIE中的中断时能位PIEIER被时能后,PIE会将这个中断传送给CPU,如果CPU的中断使能位和INTM被使能,则CPU会相应定时器0中断,转而执行定时器0的中断服务子程序。

2.LED显示电路

在定时结束后LED要不停地闪亮,提醒用户定时结束。

在本次设计中,将一个发光二极管的输入段及电源相连接,输出及DSP芯片的GPIO4端口相连接,当GPIO端口为低电平时,LED点亮。

 

步骤三:

CMD文件介绍

.text段:

存放C程序代码;

.cinit:

存放C程序中的变量初值和常量;

.stack:

为C程序系统堆栈保留存储空间、用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;

.bss:

为C程序中的全局和静态变量保留存储空间;

.const:

存放C程序中的字符常量、浮点常量和用.const声明的常量;

.sysmem:

用于C程序中的malloc、calloc和realloc函数动态分配存储空间;

.far:

为C程序中用far声明的全局和静态变量保留空间。

MEMORY用于定义目标存储器的映射,描述了目标系统可以使用的物理存储地址范围及其类型。

PAGE0为程序存储空间,起始地址为0x000000包含BEGIN、BOOT_RSVD、RAMM0、RAML0、RAML1、ZONE7A存储区。

PAGE1为数据存储空间,起始地址为0x000400包含了RAMM1、RAML4、RAML5、RAML6、RAML7、ZONE7B存储区。

SECTIONS用于指示连接器怎样组合输入端,以及如何将输出段定位到存储器中,用于将COFF目标文件中的各个段定位置MEMORY伪指令定义的存储区域。

 

步骤四:

流程图及软件设计

1.系统时钟的详细配置如下

PLLSTS[OSCOFF]=0;

PLLSTS[PLLOFF]=0;

PLLCR[DIV]=1010;

PLLSTS[DIVSEL]=2;

PLLKCR0的ADCENCLK=0。

2.PLL模块的寄存器

锁相环模块的寄存器包括锁相环控制寄存器PLLCR和锁相环状态寄存器PLLSTS,以及外部时钟输出控制寄存器XINTCNF2。

其中XINTCNF2用于配置XCLKOUT及SYSCLKOUT的关系。

PLLCR和PLLSTS用于振荡器和锁相环模块的配置,以产生CPU时钟输入CLKIN,其位分布如下:

1540

PLLCR

R-0R/W-0

1598

PLLSTS

R-0R/W-0

76543210

R/W-0R/W-0R/W-0R/W-0R-0R/W-0R-0R/W-0

OSCOFF和PLLSTS分别用于振荡器时钟和锁相环时钟的允许;PLLOCKS为锁相环锁定状态标志;MCLKOFF、MCLKCLR、和MCLKSTS用于输入时钟失效检测。

3.流程图

图4程序流程图

步骤五:

系统调试及设计结果分析

按下电源按钮,写入程序,刚开始,4个LED灯全灭,等待一秒钟,4个LED等全亮,如此循环.测试结果成功完课程题目的。

效果图如图5所示:

图5效果图

通过这次DSP课程设计,我觉得学到了很多东西。

它让我懂得了什么是课程设计,为我们以后的毕业设计打下了一些基础。

更重要的是通过这次课程设计,我多少清楚了在以后的工作中我们这个专业能做些什么,也为我们以后的工作积累了一些经验,很有意义。

在本次课程设计过程中出现了一些不该出现的失误。

一是不会使用CCS软件,在同学的帮助下使用并编写程序。

其二是不能DSP程序烧入试验箱的问题,但是在老师的指导下成功将程序烧入试验箱;之后又遇到DSP程序烧入试验箱后试验箱无反应,同样在老师的帮助下完成实验,并在试验箱上得到想要的实验结果。

通过这次课程报告,使我更深入的掌握了DSP的许多知识,学会了如何让配置寄存器、系统时钟,如何设计电源等等很多知识,不仅复习了以前所学过的知识,而且还接触并学到了很多书本上没有的知识。

使我解决问题时更加冷静和熟练,遇到不会知识的积极查阅相关资料,并做好笔记。

经过仔细调查确定问题的原因和解决问题的能力有了很大提高。

最后,感谢刘老师的帮忙以及同学之间的相互帮助,使我能顺利完成这次课程设计。

 

(一)系统设计部分(50分,分三档,达不到最低档的小组需重新设计上交)

1.完成规定的全部功能,硬件电路设计正确,程序简洁、可读性、逻辑性强,较好的演示了全部功能。

(50分)

2.完成规定的全部功能,硬件电路设计正确,程序较简洁、可读性、逻辑性较强,基本演示了全部功能。

(45分)

3.完成规定的部分功能,硬件电路设计无明显错误,程序设计无明显错误,能够完成部分功能的演示。

(40分)

(二)设计报告撰写情况(45分)

1.态度认真,报告内容充实、撰写规范。

(20分)

2.对所做设计进行了详细的介绍,语言组织精炼,测试数据记录准确。

(25分)

(三)发挥部分(5分)

在完成规定功能的基础上,有创新性功能设计个人,获得此项成绩。

总分

 

任课教师签字

审核人签字

附录:

附录A:

实物图

图A

图B

附录B:

CMD文件

MEMORY

PAGE0:

BEGIN:

origin=0x000000,length=0x000002

BOOT_RSVD:

origin=0x000002,length=0x00004E

RAMM0:

origin=0x000050,length=0x0003B0

RAML0:

origin=0x008000,length=0x001000

RAML1:

origin=0x009000,length=0x002000

ZONE7A:

origin=0x200000,length=0x00FC00

CSM_RSVD:

origin=0x33FF80,length=0x000076

CSM_PWL:

origin=0x33FFF8,length=0x000008

ADC_CAL:

origin=0x380080,length=0x000009

RESET:

origin=0x3FFFC0,length=0x000002

IQTABLES:

origin=0x3FE000,length=0x000b50

IQTABLES2:

origin=0x3FEB50,length=0x00008c

FPUTABLES:

origin=0x3FEBDC,length=0x0006A0

BOOTROM:

origin=0x3FF27C,length=0x000D44

PAGE1:

RAMM1:

origin=0x000400,length=0x000400

RAML4:

origin=0x00B000,length=0x002000

RAML5:

origin=0x00D000,length=0x001000

RAML6:

origin=0x00E000,length=0x001000

RAML7:

origin=0x00F000,length=0x001000

ZONE7B:

origin=0x20FC00,length=0x00040

SECTIONS

codestart:

>BEGIN,PAGE=0

ramfuncs:

>RAML0,PAGE=0

.text:

>RAML1,PAGE=0

.cinit:

>RAML0,PAGE=0

.pinit:

>RAML0,PAGE=0

.switch:

>RAML0,PAGE=0

.stack:

>RAMM1,PAGE=1

.ebss:

>RAML4,PAGE=1

.econst:

>RAML5,PAGE=1

.esysmem:

>RAMM1,PAGE=1

IQmath:

>RAML1,PAGE=0

IQmathTables:

>IQTABLES,PAGE=0,TYPE=NOLOAD

IQmathTables2:

>IQTABLES2,PAGE=0,TYPE=NOLOAD

FPUmathTables:

>FPUTABLES,PAGE=0,TYPE=NOLOAD

DMARAML4:

>RAML4,PAGE=1

DMARAML5:

>RAML5,PAGE=1

DMARAML6:

>RAML6,PAGE=1

DMARAML7:

>RAML7,PAGE=1

ZONE7DATA:

>ZONE7B,PAGE=1

.reset:

>RESET,PAGE=0,TYPE=DSECT

csm_rsvd:

>CSM_RSVDPAGE=0,TYPE=DSECT

csmpasswds:

>CSM_PWLPAGE=0,TYPE=DSECT

.adc_cal:

load=ADC_CAL,PAGE=0,TYPE=NOLOAD

附录C:

源程序

#include"DSP2833x_Device.h"

#include"DSP2833x_Examples.h"

interruptvoidzz(void);

#defineLED(*(unsignedshortint*)0x180000)

#defineSRAM_Base_Adress0x100000

voidmain(void)

InitSysCtrl();

InitXintf16Gpio();

DINT;

InitPieCtrl();

InitPieVectTable();

EALLOW;

IER=0x0000;

IFR=0x0000;

PieVectTable.TINT0=&zz;

EDIS;

InitCpuTimers();

ConfigCpuTimer(&CpuTimer0,150,1000000);

CpuTimer0Regs.TCR.all=0x4001;

IER|=M_INT1;

PieCtrlRegs.PIEIER1.bit.INTx7=1;

EINT;

ERTM;

LED=0xff;

for(;;);}

interruptvoidzz(void)

{LED=~LED;

PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

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

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