微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于S3C44B0X智能交通信号机的设计

基于S3C44B0X智能交通信号机的设计

时间:04-12 来源:互联网 点击:

,并由主控板协调整个系统工作,至于通信形式,自然是串行总线[3]。本文采用TI公司的TL16C554扩展4个串口,用于主控板与信号灯驱动板、车流量检测板、交通指示牌进行通信。由于信号灯驱动板和车流量检测板是直接插在主控板上的,因机内串行总线的长度不大,一般在1米左右,故无须进行RS232电平转换即可用很高的波特率进行串行通信。图4为TL16C554模块简图。


图4 TL16C554模块

3 信号机控制软件设计

信号机功能比较简单时并不需要使用操作系统,而只是运行一个控制循环程序,利用中断来处理发生的事件,这样的程序结构比较凌乱,难以维护和升级,功能也受限。现代智能信号机功能发展需要同时运行多个任务,如信号灯控制、通讯、车流量检测等,这就需要对多任务进行合理的调度,另外信号机接收和处理的信息、数据的增多,尤其是需要大量保存历史车流量数据提供给信号灯控制模型计算和中心查询使用,单靠表或数组来管理是复杂而低效的,因此文件管理也是必不可少的一项功能。

嵌入式Linux是一款优秀的嵌入式操作系统,它采用微内核体系结构,这使得内核小巧而可靠,易于ROM固化,可模块化扩展,支持多种文件系统,并直接提供完善的网络支持。本文选用µClinux作为嵌入式操作系统,µClinux是专门针对没有MMU的CPU,为嵌入式系统做了许多小型化的工作,目前支持包括S3C44B0X等微处理器。µClinux采用一种平板式(Flat)的内存模型来去除对MMU的依赖,改变了用户程序的加载方式,开发了运行于µClinux的C函数库(µCLibc)。 µClinux内核可完成进程管理、内存管理、文件系统、设备控制、网络实现等功能,内核采用模块化设计,许多功能块可以独立的加上和卸下,我们在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核时指定,对内核重新编译时,选择嵌入式设备所需要的功能模块,删除冗余的功能模块,通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量,使系统运行所需硬件资源显著减少[4]。

交通信号机应用软件由3个通信协议模块和5个算法模块构成。3个通信协议模块是:控制中心通讯协议、串口通信协议和IIC通讯协议。5个算法模块:定时控制、感应控制、多时段控制、黄闪控制和绿波带控制。图5是基于µClinux的交通信号机的软件工作流程。


图5 µClinux的工作流程

如果是8019中断,系统调用控制中心的通讯协议,获得控制中心的控制信息;如果是IIC中断,系统调用IIC通讯协议,获得手动修改的控制信息;如果是串口中断,系统再查询是16C554的哪个串口中断,然后调用相应的协议,如果是关于车流量检测的,就给车流量检测板发出控制指令,如果是信号灯控制板,就给红绿灯控制器发出控制指令,或者给交通指示牌发出相应的控制信息,不管什么中断发生,都要调用正在运行的算法重新计算参数。

4.结束语

本文介绍了基于S3C44B0X微处理器的智能交通信号机的硬件设计以及µClinux软件平台。该设计方案改进了原信号机功能,增加了网络通讯功能,并保存了过去的串口通信以保持兼容。整个开发板结构设计的串行接口与原信号机主板一样,可以直接在现在的信号机上使用,而不用整个修改已经开发成熟的信号机,简化了开发工作。

本文作者创新点:在兼容原来信号机功能的基础上,将嵌入式处理器和嵌入式操作系统结合起来应用于信号机上。

参考文献:
[1] 许荣.基于ARM智能交通信号机控制板开发[J].现代电子技术,2006,7:138-141
[2] 胥静.嵌入式系统设计与开发实例详解—基于ARM的应用[M].北京:北京航空航天大学出版社,2005,1
[3] 石松泉,尚文刚.可重构交通信号控制机的设计[J].微电子学与计算机,2005,6(22):214-220
[4] 李岩,荣盘祥.基于S3C44B0X嵌入式µClinux系统原理及应用[M].北京:清华大学出版社,2005,1
[5] 尹耕钦,唐绪伟.城市交通信号灯模拟控制系统[J].微计算机信息,2005,10-1:68-87

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top