智能交通路口控制器的设计
智能交通路口控制器的设计摘要:介绍了TCS-0602智能交通路口控制器的硬件结构及软件结构,该控制器首次将32位处理器和Uclinux操作系统应用到智能交通领域,建立了一种开放式的软硬件体系,目前支持五种交通控制算法,将在一些城市进行试运行。 关键词:智能交通 路口控制器 MPC8245 Uclinux
近年来,随着我国经济的发展,城市的交通拥挤问题日趋严重,因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫。智能交通系统(ITS)在这种背景下应运而生。
智能交通要求路口向控制中心实时提供图像和数据信息,并能够独立执行一些复杂的算法。但是目前国内的路口交通控制器大多采用单片机作为处理器,只能执行定时算法,以RS232或者RS485作为通讯方式,根本无法满足智能交通对于路口控制器的要求;而国外的路口控制器(如西门子公司的2070和美国的EAGLE)不能适合中国国情,且价格昂贵,操作不方便。因此研究开发出适合中国国情、性能价格比高的路口控制器成为一项特别紧迫的任务。
本课题组开发的TCS-0602智能交通路口控制器满足了国内智能交通发展的要求。本文将从路口控制器在智能交通中的作用、TCS-0602的硬件体系、软件体系和最后的运行结果四个方面来进行说明。。
1 智能交通路口控制器在智能交通中的作用
智能交通网络结构如图1所示。当网络正常工作时,共享数据库通过光缆收集控制器预处理过的图像和数据信息,在控制中心通过相应的数学模型进行预测、诱导和控制[2~4],然后将控制参数下载到智能交通路口控制器,由它控制交通指示牌和交通信号灯,来实现整个系统的最优控制策略。当智能交通路口控制器不能跟控制中心通讯的时候,它可以根据当地检测到的交通流量和历史数据的数学模型进行基于该路口的局域最优控制。当发生事故和其它特殊情况时,还可以通过手动实现路口的控制。所以在智能交通中,智能交通路口控制器是一个收集数据和实现控制的平台。它需要完成以下任务:(1)与控制中心通过光缆进行通讯;(2)执行交通控制算法;(3)接收摄像机图像;(4)与微波检测仪通讯;(5)与地感线圈通讯;(6)控制交通信号灯;(7)控制交通指示牌。
2 智能交通路口控制器的硬件体系结构
智能交通控制器需要执行繁重的通讯和算法处理,对处理器的通讯和运算速度有很高的要求,摩托罗拉公司的MPC8245能够满足这些要求。MPC8245具有强大的通讯和运算能力[5],可以通过TI16C554等串口芯片扩展多个RS232串口,和多个外设通过串口进行通讯?鸦可以连接多达4个PCI设备,还可以通过以太网或者电话线进行网络通讯。由于MPC8245可以运行在300MHz,因此可以满足很多智能交通算法的需求。
智能交通控制器硬件框图如图2所示,MPC8245扩展了32M SDRAM和4M FLASH存储器,其中,4M FLASH用来存储Linux内核和应用程序,32M的SDRAM在系统运行的时候存储Linux的内核和应用程序。违章抓拍控制器通过PCI总线接口芯片PLX9030接入MPC8245,系统可以兼容各种不同的违章抓拍控制器,通过编写不同的驱动程序来实现。以太网控制器通过以太网接口芯片CS8900A接入MPC8245,可以接入Internet,加入光线接口就可以实现光纤通讯。通过MPC8245的UART口扩展了一片16C554,扩展出了四个串口,分别接入液晶控制器、交通灯控制器、交通指示牌控制器和传感器。液晶控制器用来设定或者修改智能路口控制器控制参数,而且还可以通过手动直接控制交通灯。交通灯的控制是直接控制交通灯,接收来自MPC8245的参数设定,比如路口数、红绿灯时间等,并控制交通灯。交通指示牌是用来提供交通信息的大屏幕,MPC8245接收来自控制中心的交通信息,并将这些信息送到交通指示牌控制器,显示在大屏幕上,用来疏导交通。检测设备在目前交通控制中的作用越来越重要,各种检测设备不但种类繁多,而且新产品不断涌现,因此TCS-0602预留了包括串口在内的多种接口方式。
3 智能交通路口控制器的软件体系
作者开发的智能交通路口控制软件建立在Uclinux操作系统之上。Linux内核是一种源码开放的操作系统,采用模块化的设计。在此只保留了必需的功能模块,删除了冗余的的功能模块,并对内核重新编译,从而使系统运行所需的硬件资源显著减少。因此将其应用于智能交通路口控制器的设计,具有代码量小、运行消耗系统资源少、可靠性高等优点,适应了智能交通路口控制器对于操作系统的要求。
智能交通控制器应用软件由四个通讯协议模块和五个算法模块构成。四个通讯模块分别是:违章处理协议、控制中心通讯协议、串口通讯协议和流量数据采集协议。五种控制算法模块分别是:定时控制模块、感应控制模块、多时段控制模块、黄闪控制模块和绿波带控制模块。图3给出了基于Uclinux的智能路口交通控制器的软件工作流程。
下面说明整个系统的工作流程。系统上电后, Uclinux启动,设置CPU主频工作方式、PLL,进行串口波特率设置、初始化堆栈,将FLASH中的数据段COPY到RAM中指定位置上,跳到第一片RAM的0位置开始执行。如果是9030的中断,系统调用违章抓拍系统的通讯协议,获取违章车牌号;如果是8900A的中断,系统调用控制中心的通讯协议,获得控制中心的控制信息;如果是串口中断,系统再查询是16C554的哪个串口的中断,然后调用相应的协议;如果是时钟中断,就给传感器发出控制指令,或者给红绿灯控制器发出控制指令,或者给交通指示牌发出相应的控制信息。不管是什么中断发生,都要调用五种算法中正在运行的算法来重新计算参数。
TCS-0602智能交通路口控制器于2002年12月通过国家鉴定,并将在一些城市进行试运行。该系统的创新在于将嵌入式处理器和实时操作系统结合起来应用于智能交通领域,在软、硬件方面都是开放式的结构,软件目前可以支持五种控制算法,并且可以扩充。硬件可以支持RS232、RS485、PCI、RJ45和USB接口设备。实际运行结果表明,TCS-0602智能交通路口控制器设计合理、运行可靠,完全可以替代国外的同类产品。 谢谢分享!:D
页:
[1]