基于ARM的六相位交通信号机设计
摘要:针对传统信号机相位少,运算性能低的缺陷,设计了以LM3S8962为控制核心的六相位交通信号机。在设计平面交叉口六相位模型的基础上,给出信号机控制模式、信号配时参数。根据信号机功能要求及LM3S8962的资源特性,给出信号机的硬件设计方案。利用模块化设计方法,完成各功能模块软件设计,并进行了系统整体测试。测试结果表明,设计的基于LM3S8962的六相位交通信号机功能完善、运行稳定,对于城市复杂平面交叉口,其控制效果优于传统信号机。
关键词:嵌入式系统;交通信号机;六相位;LM3S8962
0 引言
随着我国城市化飞速发展,路面交通拥堵问题日益严重。交通信号机作为缓解交通拥堵问题的重要手段之一,其核心控制器主要包括两类:一类是单片机控制器,这类控制器基于8/16位单片机,功能简单,控制方式单一;另一类采用工控机作控制器,功能强大,但结构复杂且多冗余,成本高。相位控制方面,传统的信号机主要为两相位和四相位信号控制。两相位控制时,直行方向和左转方向同时放行,左转车辆与对向直行车辆形成冲突,极易造成交通事故;四相位控制时,将右转方向作为常通状态来对待,这显然忽视了没有过街天桥或地下通道的情况下行人安全通行的要求。
针对上述传统信号机的缺陷,本文提出了一种基于ARM芯片LM3S8962的六相位交通信号机的系统控制方案及其软硬件设计方法。
1 六相位信号机控制方案
信号机的控制方案是相位设置、相序设置、信号配时的有序集合,是信号机运行的数据源,因此对信号机控制方案的研究异常重要。
1.1 平面交叉口六相位模型
本文对左转方向、右转方向分别加以考虑,将十字路口的信号相位分为6个相位,如图1所示。其中,相位1,3,4,6用于机动车,相位2,5用于机动车、非机动车和行人。从该模型中可以看出,仅1,4相位放行时产生两个分流点,其余各相位放行时不产生任何接触点,较之传统的两相位、四相位控制模型大幅减少了交通接触点,因此,能够更有效地降低事故隐患。
1.2 控制模式与信号配时
本文采用对交通流时间分割的方法,按照设定的通行相序为每一相位分配一定的通行时间,在一次通行周期中,各个相位的通行对象均会得到一次通行权。考虑到未来交通控制系统的要求,同时兼顾传统信号机的控制方式,本文为信号机设计了多时段、定周期、手动、黄闪四种控制模式。
信号配时方面,为了保证各方向的通行对象能够安全地通过交叉口,每个方向的通行时间不能少于15 s,而为了避免各方向通行对象等待时间过长,信号周期时长不宜超过200 s。表1给出六相位信号机的一种信号配时方案,通行相序为相位1至相位6,黄闪时长3s。
由此得到信号周期时长为192 s,各方向信号灯时长如表2所示。实际控制中,应根据各相位车流量情况对各相通行时间作适当调整。
2 系统硬件设计
2.1 硬件总体设计
信号机作为一个典型的嵌入式系统,其设计应以应用为中心,做到软硬件可裁剪。本文选用LM3S8962作为主控芯片,根据信号机的功能要求,并结合LM3S8962的芯片特性,设计的信号机系统硬件框图如图2所示。
2.2 微处理器、存储器模块
嵌入式微处理器是整个嵌入式系统的核心。LM3S8962是Luminary Micro公司的基于ARM Cortex-M3内核具有32位RISC性能的微处理器,提供丰富的片上资源,包括256 KB FLASH,64 KB SRAM,4个32位通用定时器、同步串行接口(SSI)、10/100以太网控制器、6组共42个GPIO端口等,支持嵌入式实时操作系统μC/OS-Ⅱ,适合于关注成本的片上系统级应用。
LM3S8962具有256 KB FLASH空间,FLASH是一种不挥发性内存,由一组可独立擦除的1 KB区块构成。本系统软件占用空间小,使用LM3S8 962自带的FLASH存储空间完全能够满足系统要求。因此,本文将μC/OS-Ⅱ系统内核、控制软件存放于第0~253区块,控制参数存放于第254 255区块。这样能够降低系统复杂度,提高数据访问速度。
2.3 信号灯、倒计时模块
本文为信号机设计了6个相位机动车及人行道共6×2×3+2×2×2=44路信号的控制。由LM3S8962的PB3-PB5,PB0-PB2,PC4-PC6,PD0-PD2,PE0-PE2,PF0/PF1/PG0这6组GPIO端口分别输出1~6相位LED信号灯的控制信号。
本文采用8段LED数码管作为信号机的倒计时显示组件。6个相位及人行道均采用两位数码管,共6×2+4×2=20个两位数码管。利用LM3S89 62自带的同步串行接口(SSI,对应于PA2~PA5 GPIO端口),配置SSI为主模式,使用Freeseale SPI帧格式,通过SSI每次向外发送16位数据(包括8位段码和8位位码),再利用两片级联的74HC595芯片将16位串行数据转换为16位并行数据输出,达到将段码、位码同时输出的目的。
2.4 实时时钟、以太网接口模块
信号机执行多时段控制模式时,需要根据实时时间执行对应时段的控制方案,并且为方便用户校对,需要在液晶界面上显示实时时间。本文选用DALLAS公司的时钟芯片DS1302,该芯片能够对年、月、日、周、时、分、秒计时,具有闰年补偿功能。使用LM3S8962的3个GPIO端口PA0,PA1,PA6分别控制DS1302的RST复位线、I/O数据线、SCLK串行时钟线,将命令或数据按每次1个字节或31个字节的触发模式传入时钟寄存器或移出RAM寄存器,实现LM3S8962与DS1302之间的同步通信,从而为信号机提供实时时钟。
传统的RS 232/RS 485串口,存在通信距离短、传输速率低等缺陷,不能满足未来交通控制系统联网的要求,因此本文为信号机设计了10/100Mb/s以太网接口。LM3S8962自带有10/100以太网控制器,包括完全集成的媒体访问控制器(MAC)和网络物理(PHY)接口器件。为了实现信号电平耦合与阻抗匹配,避免信号机系统与以太网之间相互干扰,本文在PHY和RJ 45接口之间连接网络变压器HR601680,将发送和接收信号线分别与PHY,RJ 45对应连接。以太网接口如图3所示。
- 基于ARM智能交通信号机控制板开发(01-28)
- linux内核中的信号机制--信号发送(11-22)
- linux内核中的信号机制--信号处理(11-22)
- linux内核中的信号机制--从用户层到内核层(11-22)
- 基于S3C44B0X智能交通信号机的设计(04-12)
- 基于FPGA的DSP设计方法(08-26)