利用GPIO扩展LED灯动态显示.docx

上传人:b****7 文档编号:9762157 上传时间:2023-02-06 格式:DOCX 页数:12 大小:93.04KB
下载 相关 举报
利用GPIO扩展LED灯动态显示.docx_第1页
第1页 / 共12页
利用GPIO扩展LED灯动态显示.docx_第2页
第2页 / 共12页
利用GPIO扩展LED灯动态显示.docx_第3页
第3页 / 共12页
利用GPIO扩展LED灯动态显示.docx_第4页
第4页 / 共12页
利用GPIO扩展LED灯动态显示.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

利用GPIO扩展LED灯动态显示.docx

《利用GPIO扩展LED灯动态显示.docx》由会员分享,可在线阅读,更多相关《利用GPIO扩展LED灯动态显示.docx(12页珍藏版)》请在冰豆网上搜索。

利用GPIO扩展LED灯动态显示.docx

利用GPIO扩展LED灯动态显示

DSP课程设计

 

 

学院:

专业:

成员:

 

指导老师:

时间:

2015.3.9~2015.3.12

 

利用GPIO扩展LED灯动态显示

概述

数字信号处理(DigitalSignalProcessing,简称DSP)是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

DSP微处理器不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。

DSP芯片具有采用哈佛结构、多总线结构、流水线技术、配有专用的硬件乘法-累加器、具有特殊的DSP指令、快速的指令周期、硬件配置强、支持多处理器结构、省电管理和低功耗等特点。

DSP有很多优点,如:

对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI可以分时复用,共享处理器;方便调整处理器的系数实现自适应滤波;可实现模拟处理不能实现的功能:

线性相位、多抽样率处理、级联、易于存储等;可用于频率非常低的信号等。

当然,DSP像其他任何器件一样,也具有一定的缺点,如:

需要模数转换;受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠等。

不过其缺点相对于优点是微不足道的。

目前,DSP技术已经应用于信号处理、语音处理、图形/图像、军事、仪器仪表、自动控制、医疗及家用电器等各领域。

由TI公司提供专业的开发工具CCS,自带DSP/BIOS操作系统,能够直接编写适合DSP开发工程及文件,满足DSP程序设计要求。

此次设计中,通过对TMS320CF2812的控制以及对其引脚GPIO功能的设计,在实验板上实现4位LED显示流水灯。

首先对TMS320C2000系列DSP的I/O口作为通用I/O的原理进行了解,并熟悉通用I/O的编程方法,了解LED动态显示的基本原理和实现方法,最终通过CCS集成开发环境编程完成设计。

1.DSP的特点

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

当然,与通用微处理器相比,DSP微处理器(芯片)的其他通用功能相对较弱些。

a.DSP优点:

(1)对元件值的容限不敏感,受温度、环境等外部参与影响小;

(2)容易实现集成;VLSI可以分时复用,共享处理器;

(3)方便调整处理器的系数实现自适应滤波;

(4)可实现模拟处理不能实现的功能:

线性相位、多抽样率处理、级联、易于存储等;

(5)可用于频率非常低的信号。

b.DSP缺点:

(1)需要模数转换;

(2)受采样频率的限制,处理频率范围有限;

(3)数字系统由耗电的有源器件构成,没有无源设备可靠。

2.DSP的应用

(1)语音处理:

语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。

(2)图像/图形:

二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。

军事、保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。

(3)仪器仪表:

频谱分析、函数发生、数据采集、地震处理等。

(4)自动控制:

控制、深空作业、自动驾驶、机器人控制、磁盘控制等。

(5)医疗:

助听、超声设备、诊断工具、病人监护、心电图等。

(6)家用电器:

数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。

(7)生物医学信号处理举例:

CT:

计算机X射线断层摄影装置。

(其中发明头颅CT英国EMI公司的豪斯

菲尔德获诺贝尔奖。

CAT:

计算机X射线空间重建装置。

出现全身扫描,心脏活动立体图形,脑

肿瘤异物,人体躯干图像重建。

一、设计任务和设备

1.1设计技术指标要求

利用DSP的CPU硬件资源

使用GPIO引脚

外接直流5V的LED灯

1.2设计内容

设计说明书

电路原理图

各设计模块单元原理

实验结果动态显示说明

1.3设计所需设备

PC机

TDS2812EVMA板

CCStudio3.1软件

电源

TDS510USB仿真器

WindowsXP台式电脑一台

USB电缆

AltiumDesigner软件包一套

1.4设计说明

TDS510USB仿真器:

适用于工作电压在1.0到5.0伏之间的TM320系列数字信号处理器。

仿真器为USB2.0接口设备,支持即插即用及热插拔,支持WINDOWS98/2000/XP。

TDS2812EVMA:

基于TI公司的32位定点TM320F2812DSP针对自动控制而开发的应用模块,其目的是能为上述领域开发者提供一个快捷,成熟的,高性能的硬件,软件解决方案。

二、硬件设计

设计中使用F2812的GPIO口与LED灯连接。

LED灯在DSP系统中常用作信号灯使用,提示系统当前的某些状态。

LED灯的控制需在阳极与阴极提供一个1.7V的正向电压,并使流经LED的电流为5~10mA,即可以较理想的点亮LED灯。

通过程序控制,设置GPIOA引脚为输出方式。

使GPIOA引脚输出为低电时,电源与GPIOA引脚间有电压差,从而点亮LED灯;使GPIO引脚输出为高电平时,电源与GPIO引脚间电压差为0,则LED灯不亮。

系统硬件设计总框图如图所示:

图2.1硬件设计总体框图

2.1F2812模块介绍

TMS320F28x系列DSP是32位的定点数字信号处理器,是目前国际市场上最先进、功能最强大的定点DSP芯片。

它继承了数字信号处理的诸多优点,例如可调整的哈佛总线结构和循环寻址方式。

同时TMS320F28x系列DSP使用精简指令集(RISC),从而使CPU能够周期地执行寄存器到寄存器的操作。

TMS320F28x系列DSP既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数字处理的测控场合。

图2.2F2812最小系统原理图

2.2TDS2812EVMV板介绍

TDS2812EVMV板包含内容

模板包含了一些易受EDS损坏的敏感元件,人体上积累电荷的放电都可能带来器件的损坏。

因此在接触硬件前请使用防静电的措施先释放掉人体的静电。

本模板包含了如下内容

●硬件模板一块

●测试软件程序

TDS2812EVMV板包含的内容,如下图:

图2.3TDS2812EVMV板原理图

2.3F2812GPIO

TMS320F2812DSP有多达56个通用数字量输入输出端口(GPIO),其中绝大部分是通用I/O和专用功能复用引脚。

数字量I/O端口模块采用一种灵活配置的方法控制服用引脚功能,GPIOMUX寄存器用来选择F2812的引脚操作模式,可以通过该寄存器独立设置每个引脚的功能。

如果选择数字量I/O模式,可以通过GPxDIR寄存器配置数字量I/O的方向,并通过GPxQUAL进一步消除数字量I/O引脚的噪声信号。

此外,处理器提供GPxSET和GPxCLEAR寄存器对数字量进行置位和清零,还可以通过GPxDAT寄存器独立读/写I/O信号。

2.4用DSP的GPIO口扩展LED灯的动态显示硬件设计

LED灯的控制需在阳极与阴极提供一个1.7V的正向电压,并使流经LED的电流为5~10mA,即可以较理想的点亮LED灯。

设计的硬件电路图如下:

图2.4设计的硬件电路图

三、软件设计

3.1软件系统分析

软件的设计主要是通过利用C语言的编程来实现LED灯动态显示的控制,程序的设计包括初始化DSP时钟、系统初始化、选通发光二极管、按顺序点亮发光二极管,其中编制延时子程序,在各LED灯的点亮中间加入适当的延时。

3.2程序流程图

通过程序控制,设置GPIOA引脚为输出方式。

使GPIOA引脚输出为低电平时,电源与GPIOA引脚间有电压差,从而点亮LED灯;使GPIO引脚输出为高电平时,电源与GPIO引脚间电压差为0,则LED灯不亮。

通过软件延时来调整发光二极管的延时间隔。

图3.1程序流程图

四、心得体会

通过这次课程设计,我对课本上的知识有了更加深入的了解,通过实践操作使我加深了对理论知识的理解。

在此次课程设计中,我收获了喜悦也遭受过挫折。

尤其是在硬件设计上,由于一心想有仿真结果,所以开始的时候有些浮躁,尤其是电路不按预期目标运行时感觉稍稍受挫,但我继续努力,一次次做下去,但当经过各种努力后,还是无法使其运行于可控范围内,受挫感的确很强,不过当稍有进展,或者运行结果正确的情况下,心中也是非常高兴的。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

此次课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

这次课程设计终于顺利完成了,在设计中遇到了很多问,但被我们一一解决。

看着自己这些天的辛苦有了回报,感觉很踏实。

以后会更加努力!

参考文献

[1]王忠勇陈恩庆著.《DSP原理与应用技术》.电子工业出版社.2011年

[2]TS-2812A实验箱实验指导书

程序清单

#include"DSP281x_Device.h"//DSP281xHeaderfileIncludeFile

#include"DSP281x_Examples.h"//DSP281xExamplesIncludeFile

#include"f2812a.h"

//定义指示灯寄存器地址和寄存器类型

#defineLBDS(*((unsignedint*)0xc0000))

//子程序接口

voidDelay(unsignedintnDelay);//延时子程序

main()

{

unsignedintuLED[4]={1,2,4,8};//控制字,逐位置1:

0001B0010B0100B1000B

//逐位点亮,

//unsignedintuLED[4]={0xc,9,3,6};//控制字,逐位置1:

1100B1001B0011B0110B

//两个LED顺序点亮

//unsignedintuLED[4]={7,0xe,0xd,0xb};//控制字,逐位置1:

0111B1110B1101B1011B

//三个LED顺序点亮

inti;

InitSysCtrl();//初始化DSP运行时钟

while

(1)

{

for(i=0;i<4;i++)

{

LBDS=uLED[i];//正向顺序送控制字

Delay(256);//延时

}

for(i=3;i>=0;i--)

{

LBDS=uLED[i];//反向顺序送控制字

Delay(256);//延时

}

}

}

voidDelay(unsignedintnDelay)

{

intii,jj,kk=0;

for(ii=0;ii

{

for(jj=0;jj<512;jj++)

{

kk++;

}

}

}

 

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1