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

上传人:g****s 文档编号:86009775 上传时间:2023-04-13 格式:PDF 页数:13 大小:694.60KB
返回 下载 相关 举报
基于DSP定时器的LED控制系统设计.pdf_第1页
第1页 / 共13页
基于DSP定时器的LED控制系统设计.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《基于DSP定时器的LED控制系统设计.pdf》由会员分享,可在线阅读,更多相关《基于DSP定时器的LED控制系统设计.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 1 页 DSP 系统设计及应用 课 程 设计 报 告 书 题 目 名 称:基于 DSP 定时器的 LED 控制系统设计 学 院:机电工程学院 专 业:专电气工程及其自动化 班 级:2013 级 2 班 学 号:姓 名:指 导 教 师:2016 年 12 月 课程设计报告书 设 计 目 的 DSP 课程设计是深化和提高课程理论知识的重要途径之一。以 DSP 综合集成及应用的基本理论为基础,研究了 DSP 最小系统设计的基本方法,并学习了用 C 语言编写 DSP 编程及使用测试箱及 DSP 系统的相关软件。培养独立思考能力;培训分析、总结和撰写技术报告能力,本次课程设计目的在于:(1)学习用

2、DSP 来控制 LED 灯的闪亮。(2)学习 DSP 程序的调试及编写,利用观察变量查看程序运行。(3)学习测试箱的使用方法。第 2 页 设计 内容 及 功能 说明 设计内容:本次设计内容为基于 DSP 定时器的 LED 控制系统设计,具体要求如下:(1)给定电源 12V,设计供电电路。(2)给定外部晶振 30M,系统时钟工作在 150M,给出寄存器如何配置。(3)利用定时器定时 1 秒,实现四个 LED 灯的秒闪。(4)自主完成发挥功能。(5)撰写设计报告。功能说明:本设计利用 F28335DSP 芯片来控制模拟基本的 LED 闪烁,给予系统额定电压来保证系统的正常工作,用中断的方式定时控制

3、LED 灯的集体闪烁频率。第 3 页 设 计 步 骤 步骤一:DSP 最小系统分析 1.DSP 最小系统 能够用于基本的数字信号处理,运行一些简单的程序。此部分主要包括电源电路、复位电路、时钟电路等。2.晶振电路 DSP 的时钟可以有两种连接方式,即外部振荡器方式和谐振器方式。如果使用内部振荡器,则必须在 X1/XCLKIN 和 X2 两个引脚之间连接一个石英晶体。如果采用外部时钟,可将输入时钟信号直接连到 X1/CI。KIN 引脚上,X2 悬空。本设计采用外部晶振,直接选择一个 3.3V 供电的 30MHz 晶振实现。系统工作是通过编程选择 5 倍频的 PLL 功能,可实现最高工作频率(15

4、0MHz)。如图 1 所示:图 1 晶振电路图 3.复位电路 对于实际的 DSP 应用系统,特别是产品化的 DSP 系统,其可靠性是一个不容忽视的问题。由于 DSP 系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重的系统问题可能出现死机现象。为了克服这些情况,除了在软件上做一些保护措施外硬件上必须做相应的处理。硬件上最有效的保护措施是采用具有看门狗(Watchdog)功能的自动复位电路相结合的方式。TMS320F28335的复位输入引脚XRS为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外中断,可在任何时候对TMS320F28335 进行复位。本设计采用了简单的 RC

5、复位电路,复位电路如图所示 2:第 4 页 设 计 步 骤 图 2 复位电路图 4.电源电路 F28335DSP 采用了双电源供电机制,以获得更好的电源性能,其工作电压为 3.3V 和 1.8V。其中,1.8V 主要为该器件的内部逻辑提供电压,包括 CPU 和其他所有的外设逻辑。及 3.3V 供电相比,1.8V 供电大大降低功耗。外部接口引脚仍然采用 3.3V 电压,便于直接及外部低压器件接口,而无需额外的电平变换电路。在本设计里我用 TI 公司的 TPS7301 单输出可调电压调节器作为主器件的电源电路,将 12V 转换为 3.3V 和 1.9V 供给 DSP,使系统正常工作。电源电路如图

6、3 所示:C 10.1uR 3250kR 1R 2C 210uVoR STViINENGNDR ES ETOUTFBTPS 7301电源模块 图 3 电源电路图 步骤二:本次设计硬件电路分析 1.定时器中断的实现 为了实现定时器的精确走时功能,系统利用定时器 0、PIE模块和 CPU 中断共同作用产生定时器中断。首先为定时器 0 设置定时初值,并开启定时器使其计数。当定时器计数器寄存器递减到零时,定时器会产生一个中断 TINT 并将其传送给 PIE 外设中第 5 页 设 计 步 骤 断模块,当 PIE 中的中断时能位 PIEIER 被时能后,PIE 会将这个中断传送给 CPU,如果 CPU 的

7、中断使能位和 INTM 被使能,则CPU 会相应定时器 0 中断,转而执行定时器 0 的中断服务子程序。2.LED 显示电路 在定时结束后 LED 要不停地闪亮,提醒用户定时结束。在本次设计中,将一个发光二极管的输入段及电源相连接,输出及DSP 芯片的 GPIO4 端口相连接,当 GPIO 端口为低电平时,LED点亮。步骤三:CMD 文件介绍.text 段:存放 C 程序代码;.cinit:存放 C 程序中的变量初值和常量;.stack:为 C 程序系统堆栈保留存储空间、用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;.bss:为 C 程序中的全局和静态变量保留存储空间;.co

8、nst:存放 C 程序中的字符常量、浮点常量和用.const 声明的常量;.sysmem:用于 C 程序中的 malloc、calloc 和 realloc 函数动态分配存储空间;.far:为 C 程序中用 far 声明的全局和静态变量保留空间。MEMORY 用于定义目标存储器的映射,描述了目标系统可以使用的物理存储地址范围及其类型。PAGE 0 为程序存储空间,起始地址为 0 x000000 包含 BEGIN、BOOT_RSVD、RAMM0、RAML0、RAML1、ZONE7A 存储区。PAGE 1为数据存储空间,起始地址为0 x000400包含了RAMM1、RAML4、RAML5、RAML

9、6、RAML7、ZONE7B 存储区。SECTIONS 用于指示连接器怎样组合输入端,以及如何将输出段定位到存储器中,用于将 COFF 目标文件中的各个段定位置MEMORY 伪指令定义的存储区域。第 6 页 设 计 步 骤 步骤四:流程图及软件设计 1.系统时钟的详细配置如下 PLLSTSOSCOFF=0;PLLSTSPLLOFF=0;PLLCRDIV=1010;PLLSTSDIVSEL=2;PLLKCR0 的 ADCENCLK=0。2.PLL 模块的寄存器 锁相环模块的寄存器包括锁相环控制寄存器 PLLCR 和锁相环状态寄存器 PLLSTS,以及外部时钟输出控制寄存器 XINTCNF2。其中

10、 XINTCNF2 用于配置 XCLKOUT 及 SYSCLKOUT 的关系。PLLCR和 PLLSTS 用于振荡器和锁相环模块的配置,以产生 CPU 时钟输入 CLKIN,其位分布如下:15 4 0 PLLCR R-0 R/W-0 15 9 8 PLLSTS R-0 R/W-0 7 6 5 4 3 2 1 0 R/W-0 R/W-0 R/W-0 R/W-0 R-0 R/W-0 R-0 R/W-0 保留 保留 DIVSEL MCLKOFF OSCOFF MCLKCLR 第 7 页 设 计 步 骤 OSCOFF和PLLSTS分别用于振荡器时钟和锁相环时钟的允许;PLLOCKS 为锁相环锁定状态标

11、志;MCLKOFF、MCLKCLR、和 MCLKSTS用于输入时钟失效检测。3.流程图 图 4 程序流程图 步骤五:系统调试及设计结果分析 按下电源按钮,写入程序,刚开始,4 个 LED 灯全灭,等待一秒钟,4 个 LED 等全亮,如此循环.测试结果成功完课程题目的。效果图如图 5 所示:开中断结DSP 初始化初始化中断初始化定时执行程序 等待中断改变LED 灯Y N 第 8 页 图 5 效果图 第 9 页 设 计 小 结 通过这次 DSP 课程设计,我觉得学到了很多东西。它让我懂得了什么是课程设计,为我们以后的毕业设计打下了一些基础。更重要的是通过这次课程设计,我多少清楚了在以后的工作中我们

12、这个专业能做些什么,也为我们以后的工作积累了一些经验,很有意义。在本次课程设计过程中出现了一些不该出现的失误。一是不会使用 CCS 软件,在同学的帮助下使用并编写程序。其二是不能DSP 程序烧入试验箱的问题,但是在老师的指导下成功将程序烧入试验箱;之后又遇到 DSP 程序烧入试验箱后试验箱无反应,同样在老师的帮助下完成实验,并在试验箱上得到想要的实验结果。通过这次课程报告,使我更深入的掌握了 DSP 的许多知识,学会了如何让配置寄存器、系统时钟,如何设计电源等等很多知识,不仅复习了以前所学过的知识,而且还接触并学到了很多书本上没有的知识。使我解决问题时更加冷静和熟练,遇到不会知识的积极查阅相关

13、资料,并做好笔记。经过仔细调查确定问题的原因和解决问题的能力有了很大提高。最后,感谢刘老师的帮忙以及同学之间的相互帮助,使我能顺利完成这次课程设计。第 10 页 评 分 标 准 (一)系统设计部分(50 分,分三档,达不到最低档的小组需重新设计上交)1.完成规定的全部功能,硬件电路设计正确,程序简洁、可读性、逻辑性强,较好的演示了全部功能。(50 分)2.完成规定的全部功能,硬件电路设计正确,程序较简洁、可读性、逻辑性较强,基本演示了全部功能。(45 分)3.完成规定的部分功能,硬件电路设计无明显错误,程序设计无明显错误,能够完成部分功能的演示。(40 分)(二)设计报告撰写情况(45 分)1

14、.态度认真,报告内容充实、撰写规范。(20分)2.对所做设计进行了详细的介绍,语言组织精炼,测试数据记录准确。(25 分)第 11 页(三)发挥部分(5 分)在完成规定功能的基础上,有创新性功能设计个人,获得此项成绩。总分 任课教师签字 审核人签字 附录:附录 A:实物图 图 A 图 B 附录 B:CMD 文件 MEMORY PAGE 0:BEGIN :origin=0 x000000,length=0 x000002 BOOT_RSVD :origin=0 x000002,length=0 x00004E RAMM0 :origin=0 x000050,length=0 x0003B0 RA

15、ML0 :origin=0 x008000,length=0 x001000 RAML1 :origin=0 x009000,length=0 x002000 ZONE7A :origin=0 x200000,length=0 x00FC00 CSM_RSVD :origin=0 x33FF80,length=0 x000076 CSM_PWL :origin=0 x33FFF8,length=0 x000008 ADC_CAL :origin=0 x380080,length=0 x000009 RESET :origin=0 x3FFFC0,length=0 x000002 IQTABLE

16、S :origin=0 x3FE000,length=0 x000b50 IQTABLES2 :origin=0 x3FEB50,length=0 x00008c FPUTABLES :origin=0 x3FEBDC,length=0 x0006A0 第 12 页 BOOTROM :origin=0 x3FF27C,length=0 x000D44 PAGE 1:RAMM1 :origin=0 x000400,length=0 x000400 RAML4 :origin=0 x00B000,length=0 x002000 RAML5 :origin=0 x00D000,length=0 x

17、001000 RAML6 :origin=0 x00E000,length=0 x001000 RAML7 :origin=0 x00F000,length=0 x001000 ZONE7B :origin=0 x20FC00,length=0 x00040 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 :RA

18、ML4,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 Z

19、ONE7DATA :ZONE7B,PAGE=1 .reset :RESET,PAGE=0,TYPE=DSECT csm_rsvd :CSM_RSVD PAGE=0,TYPE=DSECT csmpasswds :CSM_PWL PAGE=0,TYPE=DSECT .adc_cal :load=ADC_CAL,PAGE=0,TYPE=NOLOAD 附录 C:源程序#include DSP2833x_Device.h 第 13 页#include DSP2833x_Examples.h interrupt void zz(void);#define LED(*(unsigned short int*

20、)0 x180000)#define SRAM_Base_Adress 0 x100000 void main(void)InitSysCtrl();InitXintf16Gpio();DINT;InitPieCtrl();InitPieVectTable();EALLOW;IER=0 x0000;IFR=0 x0000;PieVectTable.TINT0=&zz;EDIS;InitCpuTimers();ConfigCpuTimer(&CpuTimer0,150,1000000);CpuTimer0Regs.TCR.all=0 x4001;IER|=M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7=1;EINT;ERTM;LED=0 xff;for(;);interrupt void zz(void)LED=LED;PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁