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