基于RTOS的智能交通灯设计方法
)要求通行时,可以按下此键。
本系统设定了6种功能选项:4个主车道的绿灯窗口时间调节选项、手动/自动操作模式切换选项以及违章记录查询选项。这6项功能,可以通过按功能键进行切换。
下面是上位机中多任务的分析与实现。
(1)初始化任务
初始化串行接口及各车道组合的绿灯窗口时间(20s),并开始其它任务,最后删除自身。
(2)键盘扫描任务
利用顺序查询的方式,定时对键盘进行扫描,判断是否有按键被按下。若有,则判断是哪个键被按下,并向任务3发出信号。
voidjob2_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≤55<5i≤1010<Vi≤1515<Vi≤20Vi>20ti/S1520253035
不难理解,每一组合的红灯窗口时间等于其它三个组合的绿灯窗口时间之和。为了避免某一组车道等待的时间过长,当有两个以上的车道组合的每分钟平衡车流量都大于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实时操作系统提供的系统特征,可以简化多任务程序设计,满足多个 《基于RTOS的智能交通灯设计方法(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172382.html
本系统设定了6种功能选项:4个主车道的绿灯窗口时间调节选项、手动/自动操作模式切换选项以及违章记录查询选项。这6项功能,可以通过按功能键进行切换。
下面是上位机中多任务的分析与实现。
(1)初始化任务
初始化串行接口及各车道组合的绿灯窗口时间(20s),并开始其它任务,最后删除自身。
(2)键盘扫描任务
利用顺序查询的方式,定时对键盘进行扫描,判断是否有按键被按下。若有,则判断是哪个键被按下,并向任务3发出信号。
voidjob2_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≤55<5i≤1010<Vi≤1515<Vi≤20Vi>20ti/S1520253035
不难理解,每一组合的红灯窗口时间等于其它三个组合的绿灯窗口时间之和。为了避免某一组车道等待的时间过长,当有两个以上的车道组合的每分钟平衡车流量都大于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实时操作系统提供的系统特征,可以简化多任务程序设计,满足多个 《基于RTOS的智能交通灯设计方法(第3页)》