当前位置:文档之家› 基于DSP的交通灯控制的设计

基于DSP的交通灯控制的设计

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 系统工作原理 (7)2.2.2 系统工作状态 (8)3 硬件设计 (10)3.1 硬件总体设计 (10)3.2 交通灯显示模块 (11)3.3 计数显示模块 (12)3.4 开关模块 (13)4 软件设计 (14)4.1 程序流程 (14)4.2 交通灯模拟显示 (15)4.3 定时器及中断设计 (15)4.4 外中断设计 (16)5 系统调试 (18)5.1 硬件调试 (18)5.1.1 电源调试 (18)5.1.2 Emulator调试 (18)5.2软件调试 (21)5.2.1软件设计 (21)5.2.2程序运行 (23)5.3系统下载 (24)6 结论分析及体会 (25)7参考文献 (26)1 设计目的及要求1.1 设计目的(1)熟悉使用ICETEK–F2812-AE评估板控制ICETEK-CTR上交通灯的方法。

练习自主独立的设计,实现理论和实践的统一,提高自我动手能力。

(2)掌握TMS320F2812DSP定时器的使用和编程。

(3)掌握TMS320F2812DSP外中断的使用和编程。

(4)学习复杂控制程序设计思路。

(5)利用DSP开发环境CCS C2000对源程序文件进行编译、链接、装载调试,以完成基本的DSP项目文件设计。

(6)通过此次课程设计,学习DSPF2812芯片的I/O端口控制方法,熟悉字模的简单构建和使用,熟悉掌握在DSP软硬件环境下的程序开发流程,达到学以致用的目的。

1.2 设计要求1.2.1 交通灯控制要求:利用ICETEK-EDU实验箱提供的设备,设计模拟实际生活中十字路口交通灯控制的程序。

要求如下:交通灯分红黄绿三色,东、南、西、北各一组,用灯光信号实现对交通的控制:绿灯信号表示通行,黄灯表示警告,红灯禁止通行,灯光闪烁表示信号即将改变。

计时显示:8×8点阵显示两位计数,为倒计时,每秒改变计数显示。

正常交通控制信号顺序:正常交通灯信号自动变换(1)南北方向绿灯,东西红灯(20秒)。

(2)南北方向绿灯闪烁3次,东西红灯(6秒)。

(3)南北方向黄灯,东西红灯(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 上键盘产生外中断,中断正常信号顺序,模拟突发情况。

1.2.4 程序设计要求根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。

这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制。

对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。

时钟计数:采用250ms 一次中断进行累加计数。

为非顺序状态。

这样,只要根据计数值就可确定当前状态,根据状态再分情况处理。

对于计数显示,当处于状态1、5、*中时需要进行倒计时,需要计算在此状态中的计数值增量,根据增量判断是否更新计数显示。

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地址:0x5008h2.2 课程设计原理2.2.1 系统工作原理本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。

信号灯受芯片中输出高低电平的控制。

当锁存器I/O口输出为高电平时,他所驱动的信号灯即发光二极管就会亮起来。

定时模块采用硬件定时和软件定时相结合的方法,用DSP定时/计数器定时100ms,再用软件计时实现所需的定时。

发光二极管模块由DSP控制发光二极管来实现。

数码管显示模块由实验平台上的LED显示模块实现。

紧急中断模块是由单脉冲发生单元和DSP中断控制器组成。

本次设计中东西南北路口的红灯均亮1秒,信号灯开始工作,东西红灯亮20秒,在东西红灯亮的同时,南北绿灯亮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 状态二状态三:东西绿灯、南北红灯,延时20秒,20秒后东西绿灯闪3次,南北红灯持续6秒;图2.3状态三状态四:东西黄灯、南北红灯,持续6秒;图2.4状态四状态五:紧急状态下东西南北均亮红灯;图2.5 状态五3 硬件设计3.1硬件总体设计1根据设计要求,由于控制是由不同的各种状态按顺序发生的,我可以采用状态机制控制方法来解决此问题。

这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制,对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。

2突发事件设置, 在实际交通过程中会出现突发状况, 比如说有救护车或者110 紧急车要通过, 此时就可以通过小键盘进行突发状况模拟。

通过按键进入到中断服务子程序, 相当于原来先要通过的车辆在突发状况来了以后就要先让紧急车辆通过。

原理框图如图3.1所示。

图3.1 ICETEK-F2812-AE原理框图3.2 交通灯显示模块利用ICETEK-CTR上的一组发光二极管(共12只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟。

TMS320F2812 DSP有最多56个专门的通用输入输出管脚。

这些通用输入输出管脚通过专用寄存器可以由软件控制,比如指定输入、输出以及输出值等。

通过ICETEK-F2812-AE评估板的插座,扩展板(通用输出/控制模块ICETEK-CTR)将板上的一个指示灯和DSP的一个通用输入/输出管脚直接相连。

这个管脚为PWM12,可以设置成通用输入/输出管脚使用。

扩展原理如图3.2所示。

图3.2发光二极管设计原理3.3计数显示模块计数显示采用放光二极管显示阵列显示。

TMS320F2812 DSP 的存储器扩展接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。

这一接口提供地址线、数据线和一组控制线,ICETEK-F2812-A评估板已将这些扩展线引到了板上的扩展插座上,供扩展使用。

发光二极管显示阵列由扩展端口控制,EMIF接口的两个寄存器提供具体控制。

原理图如图 3.3所示。

图3.3 计数显示原理3.4开关模块开关模块采用外部外部存储器扩展接口(EMIF)上的PS2接口键盘,通过扫描码判断输入键值。

TMS320F2812 DSP的扩展存储器接口(EMIF)用来与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。

这一接口提供地址线、数据线和一组控制线,ICETEK-F2812-A评估板已将这些扩展线引到了板上的扩展插座上。

键盘的扫描码由DSP的扩展地址0x108001给出,当有键盘输入时,读此端口得到扫描码,当无键被按下时读此端口的结果为0。

开关设计原理如图3.4所示。

图3.4 开关设计原理4 软件设计4.1程序流程该设计实现的功能是南北方向绿灯,东西红10秒,南北方向绿灯闪烁3次,东西红灯4秒,南北方向黄灯,东西红灯2秒,南北方向红灯,东西方向绿灯10秒,南北方向红灯,东西方向绿灯闪3次4秒,南北方向红灯,东西方向黄灯(2秒)。

在紧急情况下,当任意方向通行剩余时间多于10秒,将时间改成10秒,正常变换到四面红灯20秒,然后直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)。

程序流程图如图4.1所示。

图4.1 程序流程图4.2交通灯模拟显示显示/控制模块上的发光二极管是由连接在2812DSP扩展地址接口上的寄存器EWR和SNR控制的。

这两个寄存器均为6位寄存器,其位定义见表 4.1表 4.2。

两个寄存器的地址均映射到2812DSP的扩展空间,CTRLR地址为0x108007,DSP通过对该地址的写操作来修改两个寄存器上各位的状态,当寄存器某位取‘1’值时,相应指示灯被点亮,取‘0’值则熄灭。

当写入CTRLR 的数据(8位有效值)的高两位为‘00’时,数据的低6位将写入EWR寄存器;当高两位的值为‘01’时,写入SNR寄存器表4.1 寄存器EWR表4.2 寄存器SNR4.3定时器及中断设计TMS320F2812A内部有三个32位通用定时器(TIMER0/1/2),定时器1和2被保留给实时操作系统(DSPBIOS)用,只有定时器0可以提供给用户使用。

定时器采用中断方式,中断过程如下:a.接受中断请求。

必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。

b.响应中断。

必须能够响应中断请求。

如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。

而对于非可屏蔽中断和软件中断,会立即作出响应。

相关主题