《基于DSP的交通灯控制的设计.doc》由会员分享,可在线阅读,更多相关《基于DSP的交通灯控制的设计.doc(42页珍藏版)》请在金锄头文库上搜索。
1、 XXXXXX电子信息工程学院课程设计报告交通灯综合控制 设 计 人:XXX专 业:电子信息工程班 级:电子班学 号:指导教师:二零一X年X月 目 录1 设计目的及要求.4 1.1设计目的.4 1.2设计要求.4 1.2.1 交通灯控制.4 1.2.2 计时.5 1.2.3 紧急情况.5 1.2.4 程序设计.5 2 设计原理及方案.7 2.1 课程设计总体方案.7 2.1.1 设计思路 .7 2.2课程设计原理.7 2.2.1系统工作原理.72.2.2 系统工作状态 .8 3 硬件设计.10 3.1 硬件总体设计.103.2交通灯显示模块.11 3.3 计数显示模块.12 3.4 开关模块.
2、134 软件设计.14 4.1 程序流程.14 4.2 交通灯模拟显示.15 4.3 定时器及中断设计.15 4.4 外中断设计.165 系统调试.18 5.1 硬件调试.18 5.1.1 电源调试.185.1.2 Emulator调试.18 5.2软件调试.215.2.1软件设计.215.2.2程序运行.23 5.3系统下载.246 结论分析及体会.257参考文献.261 设计目的及要求 1.1 设计目的(1) 熟悉使用ICETEKF2812-AE评估板控制ICETEK-CTR上交通灯的方法。练习自主独立的设计,实现理论和实践的统一,提高自我动手能力。(2) 掌握TMS320F2812DSP
3、定时器的使用和编程。(3) 掌握TMS320F2812DSP外中断的使用和编程。(4)学习复杂控制程序设计思路。(5)利用DSP开发环境CCSC2000对源程序文件进行编译、链接、装载调试,以完成基本的DSP项目文件设计。(6)通过此次课程设计,学习DSPF2812芯片的I/O端口控制方法,熟悉字模的简单构建和使用,熟悉掌握在DSP软硬件环境下的程序开发流程,达到学以致用的目的。1.2 设计要求 1.2.1 交通灯控制要求:利用ICETEK-EDU实验箱提供的设备,设计模拟实际生活中十字路口交通灯控制的程序。要求如下:交通灯分红黄绿三色,东、南、西、北各一组,用灯光信号实现对交通的控制:绿灯信
4、号表示通行,黄灯表示警告,红灯禁止通行,灯光闪烁表示信号即将改变。计时显示:88点阵显示两位计数,为倒计时,每秒改变计数显示。正常交通控制信号顺序:正常交通灯信号自动变换(1) 南北方向绿灯,东西红灯(20秒)。(2) 南北方向绿灯闪烁3次,东西红灯(6秒)。(3) 南北方向黄灯,东西红灯(4秒)。(4) 南北方向红灯,东西方向绿灯(20秒)。(5) 南北方向红灯,东西方向绿灯闪3次(6秒)。(6) 南北方向红灯,东西方向黄灯(4秒)。(7)返回(1)循环控制紧急情况处理:模仿紧急情况(重要车队通过、急救车通过等)发生时,交通警察手动控制(1) 当任意方向通行剩余时间多于10秒,将时间改成10
5、秒。(2) 正常变换到四面红灯(20秒)。(3) 直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)。1.2.2 计时要求:使用TMS320VC5416DSP 片上定时器,定时产生时钟计数,再利用此计数对应具体时间。1.2.3 紧急情况要求:利用ICETEK-CTR 上键盘产生外中断,中断正常信号顺序,模拟突发情况。1.2.4 程序设计要求根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制。对于突发情况,可采用在正常顺序的控制中插入特
6、殊控制序列的方式完成。时钟计数:采用250ms 一次中断进行累加计数。表格 1状态编号信号灯状态状态定义保持时间(计数值,起始时间,结束时间)计数显示1南北绿灯,东西红灯statusNSGreenEWRed20秒(160,0,159)20-02南北绿灯闪烁,东西红灯statusNSFlashEWRed6秒(24,160,183)03南北黄灯,东西红灯statusNSYellowEWRed4秒(16,184,199)204南北红灯,东西黄灯statusNSRedEWYellow4秒(16,200,215)205南北红灯,东西绿灯statusNSRedEWGreen20秒(160,216,375)
7、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)为一个循环,状态“*”为非顺序状态。这样,只要根据计数值就可确定当前状态,根据状态再分情况处理。对于计数显示,当处于状态1、5、*中时需要进行倒计时,需要计算在此状态中的计数值增量,根据增量判断是否更新计
8、数显示。2 设计原理及方案 2.1设计总体方案 2.1.1 设计思路根据DSP的硬件中断、定时器、I/O访问的原理。用定时器定时,用I/O口控制红绿黄灯的开关,用硬件外部中断模拟急救车的到达。有急救车到达时,两向为全红,以便让急救车通过。急救车通过后,交通灯恢复硬件中断前的状态。触发开关(红色按纽)为中断申请,表示有急救车通过。在实验箱上交通灯模块由高8位数据线控制:南北红灯D9、D11为高,南北黄灯D9、D11、D13、D15为高,南北绿灯D13、D15为高,东西红灯D8、D10为高,东西黄灯由D8、D10、D12、D14为高,东西绿灯D12、D14为高。交通灯模块的I/O地址:0x5008
9、h 图 01设计总流程图 2.2 课程设计原理 2.2.1 系统工作原理本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。信号灯受芯片中输出高低电平的控制。当锁存器I/O口输出为高电平时,他所驱动的信号灯即发光二极管就会亮起来。定时模块采用硬件定时和软件定时相结合的方法,用DSP定时/计数器定时100ms,再用软件计时实现所需的定时。发光二极管模块由DSP控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和DSP中断控制器组成。本次设计中东西南北路口的红灯均亮1秒,信号灯开始工作,东西红灯亮20秒,在东西红灯亮的同时,南北
10、绿灯亮20秒。到20秒时,东西绿灯闪亮,绿灯闪亮的周期为2秒(亮1秒,灭1秒)。绿灯闪亮3次后灭,东西黄灯亮并维持4秒。到4秒时,东西黄灯灭,东西红灯亮,同时南北红灯灭,南北绿灯亮。东西红灯亮维持20秒,南北绿灯亮维持20秒,到20秒时,南北绿灯闪亮3次后灭,南北黄灯亮,并维持4秒。到4秒时,南北黄灯灭,南北红灯亮,同时东西红灯灭,东西绿灯亮。紧接着开始第二周期的动作,以后周而复始的循环。 2.2.2 系统工作状态 系统工作状态状态一:南北绿灯、东西红灯,延时20秒,20秒后南北绿灯闪3次,东西红灯延时6秒;如图所示 图2.1 状态一状态二:南北黄灯、东西红灯,持续6秒;图2.2 状态二状态三
11、:东西绿灯、南北红灯,延时20秒,20秒后东西绿灯闪3次,南北红灯持续6秒;图2.3状态三状态四:东西黄灯、南北红灯,持续6秒;图2.4状态四状态五:紧急状态下东西南北均亮红灯;图2.5 状态五3 硬件设计 3.1硬件总体设计 1根据设计要求,由于控制是由不同的各种状态按顺序发生的,我可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制,对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。 2突发事件设置,在实际交通过程中会出现突发状况,比如说有救护车或者110紧急车要通过,此时就可以通过小键盘进