您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于RTOS的智能交通灯设计方法 正文
基于RTOS的智能交通灯设计方法

基于RTOS的智能交通灯设计方法

点击数:7637 次   录入时间:03-04 11:46:02   整理:http://www.55dianzi.com   嵌入式系统-技术

本系统的键盘采用9按键输入。当主车道上有紧急车辆(如警车、消防车或急救车等)要求通行时,可以按下此键。

本系统设定了6种功能选项:4个主车道的绿灯窗口时间调节选项、手动/自动操作模式切换选项以及违章记录查询选项。这6项功能,可以通过按功能键进行切换。

下面是上位机中多任务的分析与实现。

(1)初始化任务

初始化串行接口及各车道组合的绿灯窗口时间(20s),并开始其它任务,最后删除自身。

(2)键盘扫描任务

利用顺序查询的方式,定时对键盘进行扫描,判断是否有按键被按下。若有,则判断是哪个键被按下,并向任务3发出信号。

void job2_task_job2{

while(1){

扫描键盘;

if(有键被按下){

判断是哪个键;

os_send_signal(job3);

}

os_wait(10ms);

}

}

(3)键盘处理任务

若在初始情况下按下功能键,则进入6个功能项。再次按下功能键,则在这6个功能项之间进行切换;若按下的是确定键,则创建相应功能项所定义的任务。在任何情况下按下紧急通行键,将创建紧急通行任务。

(4)显示任务

当键盘扫描任务在一定的时间内没有检测到输入信号时,将LCD转入睡眠状态,面板显示各车道组合的当前绿灯窗口时间。若该窗口时间由于任务5被更新,当有按键被按下时,则根据按键情况作相应的辅助显示。

(5)时间自动调节任务

在自动操作模式下,每隔10min,对各下位机上传的各车道组合的车流量进行分析,根据模糊算法确定各车道组合的最优时间分配。

分别用V1、V2、V3、V4表示1a-1b、2a-2b、3a-3b、4a-4b四个车道组合当前每分钟平衡车流量,t1、t2、t3、t4表示各自绿灯窗口时间,则绿灯时间分配如表1所列。

表1 绿灯时间分配表

Vi(i=1~4) Vi≤5 5<5i≤10 10<Vi≤15 15<Vi≤20 Vi>20 ti/S 15 20 25 30 35

不难理解,每一组合的红灯窗口时间等于其它三个组合的绿灯窗口时间之和。为了避免某一组车道等待的时间过长,当有两个以上的车道组合的每分钟平衡车流量都大于15时,将它们的绿灯时间都定为30s。这样,最长的等待时间不超过90s。

(6)时间手动调节任务

每按一下“+键”,将当前车道组合的绿灯窗口时间加1,按“-键”则减1。当按确定键后,则当前设定时间被保存到变量Ti中。

(7)手动/自动切换任务

当切换到自动操作模式时,创建任务5,并发出信号使任务3中“主车道绿灯窗口时间调节”功能项不可选。当切换到手动操作模式时,删除任务5,并解除时间调节功能项的限制。

(8)违章查询任务

读取各个位机的违章记录,包括违章车道和违章时间,并在LCD上显示出来。违章车辆的图像信息可由数码相机获取。

(9)紧急通行任务

当紧急通告键被按下时,该任务被创建。任务首先保存当前各车道组合的绿灯窗口时间,然后强制有紧急情况的车道组合绿灯显示、其它车道组合红灯显示,以保障紧一辆顺序通行。延时10s后,恢复以前的顺序显示。由于该任务时间特性要求很高,所以应将其优先级设为2,高于通信任务。最后删除自身。

(10)看门狗复位任务

定期对看门狗进行复位,表明程序正常运行。

(11)通信任务

当某一下位机因绿灯时间到而触发串行口中断后,该取该下位机的当前车流量Vi,并触发控制下一车道组合的下位机进行绿灯显示;同时,将更新的绿灯窗口时间ti(i=1~4)赋给各下位机,从而实现对车流量的动态调节。由于该任务时间特性要求较高,将其优先级设为1。

结语

本系统结构简单,操作方便;既可现场控制,又可远程控制;拥有手动和自动两种控制模式,具有一定的智能性;能根据现场状况,合理地调节车流,对优化城市交通具有一定的意义。

另外,利用RTX51实时操作系统提供的系统特征,可以简化多任务程序设计,满足多个任务的时间特性要求,可完成前后台编程方法难以完成的编程任务。同时基于实时多任务操作系统,可以将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。



上一页  [1] [2] 


本文关键字:智能  交通灯  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术