交通灯综合控制dsp原理及应用课程设计案

上传人:小** 文档编号:88215517 上传时间:2019-04-21 格式:DOC 页数:21 大小:197.51KB
返回 下载 相关 举报
交通灯综合控制dsp原理及应用课程设计案_第1页
第1页 / 共21页
交通灯综合控制dsp原理及应用课程设计案_第2页
第2页 / 共21页
交通灯综合控制dsp原理及应用课程设计案_第3页
第3页 / 共21页
交通灯综合控制dsp原理及应用课程设计案_第4页
第4页 / 共21页
交通灯综合控制dsp原理及应用课程设计案_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《交通灯综合控制dsp原理及应用课程设计案》由会员分享,可在线阅读,更多相关《交通灯综合控制dsp原理及应用课程设计案(21页珍藏版)》请在金锄头文库上搜索。

1、DSP原理及应用课程设计交通灯综合控制学院电气信息工程专业电子信息工程班级学号分组成员指导教师2013 年 6 月目录1引言32课程设计的目标42.1课程设计的背景42.2设计要求42.3设计思路简介42.4交通灯控制要求52.5交通灯模拟52.6计时62.7紧急情况62.8程序设计63DSP定时器的算法原理83.1CPU定时器的原理83.2CPU定时寄存器原理84系统程序设计94.1流程图94.2试验程序105心得体会211 引言 随着计算机和信息技术的飞速发展数字信号处理技术得到迅速的发展。DSP (Digital Signal Processing)是一门涉及许多学科和领域的新兴学科。数

2、字信号处理是一种通过数字信号处理器来处理现实信号的方法这些信号由数字序列表示。在过去的二十多年时间里数字信号处理已经在通信等领域得到极为广泛的应用。本次设计是基于DSP来实现交通灯的控制利用发光二级管来模拟交通信号利用数码管显示倒计时时间利用TMS320VC5416DSP片上定时器定时产生时钟计数来模拟实际生活中十字路口交通灯。 关键词:DSPTMS320VC5416;交通灯;发光二极管2 课程设计的目标2.1 课程设计的背景DSP是一种将处理器的计算核心和一定的外部设备集成在一个单片芯片上而构成的类似于单片机的一种处理器芯片。不同于一般单片机的是由于DSP 采用了特殊的总线结构和体系因此它在

3、执行数字信号处理计算方面具有更高的性能。数字信号处理已经在通信、信号处理等领域得到极为广泛的应用。十字路口交通灯在我们的日常生活中随处可见它为繁忙的道路交通及人们的安全提供了较好的保障。然而我们只知道交通灯在红、黄、绿三色之间交替更换来控制人车流量去对其内部的工作原理及软硬件的设计了解很少因此要通过此次简单道路交通灯控制系统软硬件设计来进一步研究交通灯的内部结构。最重要的是将学习到的DSP系统的组成与原理应用到交通灯的设计当中。通过DSP技术及应用课程设计,是学生能够将学到的DSP系统的组成与原理用到具体的实际系统中,加深对DSP系统的理解,是将该门课程与实际问题相连接的关键步骤。通过课程设计

4、,能够提高学生分析问题,解决问题,从而运用所学知识解决实际问题的能力,并培养基本的、良好的软硬件射进能力。2.2 设计要求利用C语言在CCS环境中编写一个交通灯综合控制程序,并能通过硬件仿真对所编写的程序及其应用性、可行性进行验证。2.3 设计思路简介在TMS320C54x系统开发环境CCS(Code Composer Studio)下对交通灯综合控制的实现原理进行讨论。通过实验仿真,可以在硬件实验箱上看到对交通灯的模拟控制。交通等综合控制的控制原理2.4 交通灯控制要求利用ICETEK-S60 实验箱提供的设备,设计模拟实际生活中十字路口交通灯控制的程序。要求如下:- 交通灯分红黄绿三色,东

5、、南、西、北各一组,用灯光信号实现对交通的控制:绿灯信号表示通行,黄灯表示警告,红灯禁止通行,灯光闪烁表示信号即将改变。- 计时显示:液晶屏幕上88 点阵显示0-9 计数。- 正常交通控制信号顺序:正常交通灯信号自动变换: 南北方向绿灯,东西红灯(20 秒)。 南北方向绿灯闪烁。 南北方向黄灯。 南北方向红灯,东西方向黄灯。 东西方向绿灯(20 秒)。 东西方向绿灯闪烁。 东西方向黄灯。 返回循环控制。- 紧急情况处理:模仿紧急情况(重要车队通过、急救车通过等)发生时,交通警察手动控制 当任意方向通行剩余时间多于10 秒,将时间改成10 秒。 正常变换到四面红灯(20 秒)。 直接返回正常信号

6、顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)。2.5 交通灯模拟利用ICETEK-CTR 上的一组发光二极管(共12 只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟。发光二极管的控制方法可参见第二部分、第二章、二、2。2.6 计时使用TMS320VC5416DSP 片上定时器,定时产生时钟计数,再利用此计数对应具体时间。定时器控制及中断编程可参考实验3.3 程序。2.7 紧急情况利用ICETEK-CTR 上键盘产生外中断,中断正常信号顺序,模拟突发情况。外中断编程控制可参考实验3.4 程序。2.8 程序设计根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制

7、控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制。对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。时钟计数:采用250ms 一次中断进行累加计数。表格 1状态编号信号灯状态状态定义保持时间(计数值,起始时间,结束时间)计数显示1南北绿灯,东西红灯statusNSGreenEWRed20秒(160,0,159)20-02南北绿灯闪烁,东西红灯statusNSFlashEWRed6秒(24,160,183)03南北黄灯,东西红灯statusNSYellowEWRed4秒(16,184,199)204南北

8、红灯,东西黄灯statusNSRedEWYellow4秒(16,200,215)205南北红灯,东西绿灯statusNSRedEWGreen20秒(160,216,375)20-16南北红灯,东西绿灯闪烁statusNSRedEWFlash6秒(24,376,399)07南北红灯,东西黄灯statusNSRedEWYellow4秒(16,400,415)208南北黄灯,东西红灯statusNSYellowEWRed4秒(16,416,431)20*南北红灯,东西红灯StatusHold20秒(160,0,159)20-1其中,正常顺序每112 秒(计数值448)为一个循环,状态“*”为非顺序状

9、态。这样,只要根据计数值就可确定当前状态,根据状态再分情况处理。对于计数显示,当处于状态1、5、*中时需要进行倒计时,需要计算在此状态中的计数值增量,根据增量判断是否更新计数显示。3 DSP定时器的算法原理3.1 CPU定时器的原理 本次设计主要用的是F2812器件上的3个32位CPU定时器(TIMER0/1/2)。其中定时器1和定时器2预留给实时操作系统使用(如 DSP-BIOS),只有定时器0用户可以在应用程序中使用。定时器功能框图如下:3.2 CPU定时寄存器原理 定时器在工作过程中,首先把周期寄存器(PRDH:PRD)的值装入32位计数寄存器。计数寄存器根据SYSCLKOUT时钟递减计

10、数。当计数寄存器等于0时,定时器中断输出产生一个中断脉冲。 (1)定时器计数寄存器(TIMERxTIM和TIMERxTIMH) (2)定时器控制寄存器(TIMERxTCR):使能中断,定时功能; (3)定时器周期寄存器(TIMERxPRD):符合条件则周期性重新装载并保存周期值 (4)定时器预定标寄存器(TIMERxTPR和TIMERxTPRH):控制多久减1。4 系统程序设计4.1 流程图图 41实验程序流程图图 42设计总流程图开始初始化DSP全部红灯,延时1秒南北绿灯、东西红灯,延时20秒南北绿灯闪3次、东西红灯南北绿灯闪3次、东西红灯南北黄灯、东西红灯,延时3秒南北红灯、东西绿灯,延时

11、20秒南北红灯、东西绿灯闪3次南北红灯、东西黄灯,延时3秒设计总流程图4.2 试验程序#include scancode.h#define SPSA0 *(unsigned int *)0x38#define SPSD0 *(unsigned int *)0x39#define REGISTERCLKMD (*(unsigned int *)0x58)#defineTIM*(int *)0x24#definePRD *(int *)0x25#defineTCR*(int *)0x26#defineIMR*(int *)0x0 /IM R中断屏蔽寄存器#defineIFR*(int *)0x1

12、/IFR中断标志寄存器#definePMST*(int *)0x1d /PMST处理器模式状态寄存器(地址1dh)#define nStatusNSGreenEWRed 160 /状态1计数结束时间#define nStatusNSFlashEWRed 184#define nStatusNSYellowEWRed 200#define nStatusNSRedEWYellow 216#define nStatusNSRedEWGreen 376#define nStatusNSRedEWFlash 400#define nStatusNSRedEWYellow1 416#define nSt

13、atusNSYellowEWRed1 432#define nTotalTime 448#define nStatusHold 160#define statusNSGreenEWRed 0#define statusNSFlashEWRed 1#define statusNSYellowEWRed 2#define statusNSRedEWYellow 3#define statusNSRedEWGreen 4#define statusNSRedEWFlash 5#define statusHold 6#define LCDDELAY 1#define LCDCMDTURNON 0x3f

14、#define LCDCMDTURNOFF 0x3e#define LCDCMDSTARTLINE 0xc0#define LCDCMDPAGE 0xb8#define LCDCMDVERADDRESS 0x40ioport unsigned int port3004;/ CTR扩展寄存器定义ioport unsigned int port8000; ioport unsigned int port8001; /8001:读键盘扫描值,写液晶控制寄存器地址ioport unsigned int port8002; /8002:液晶控制寄存器地址ioport unsigned int port8003; /8003,8004:液晶显示数据寄存器地址ioport unsigned int port8004; /ioport unsigned int port8005; /8005:发光二极管显示阵列控制寄存器地址ioport unsigned int port8007; /8007:发光二极管显示阵列控制寄存器地址#define CTRGR port8000#define CTRLCDCMDR port8001#define C

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号