当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于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。

[!--empirenews.page--]


    由此得到信号周期时长为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之间的同步通信,从而为信号机提供实时时钟。[!--empirenews.page--]
    传统的RS 232/RS 485串口,存在通信距离短、传输速率低等缺陷,不能满足未来交通控制系统联网的要求,因此本文为信号机设计了10/100Mb/s以太网接口。LM3S8962自带有10/100以太网控制器,包括完全集成的媒体访问控制器(MAC)和网络物理(PHY)接口器件。为了实现信号电平耦合与阻抗匹配,避免信号机系统与以太网之间相互干扰,本文在PHY和RJ 45接口之间连接网络变压器HR601680,将发送和接收信号线分别与PHY,RJ 45对应连接。以太网接口如图3所示。


2.5 绿冲突检测模块
    绿冲突检测是系统自检的重要部分,检测同一时刻6个相位是否有2个或2个以上冲突相位的绿灯信号同时被点亮的情况。本文利用8位数据并入串出芯片74HC165为信号机设计了绿冲突检测电路,使用LM3S8962的3个GPIO端口PB7,PA4,PG1分别控制74HC165的并行数据加载、时钟脉冲输入和串行数据的读取,74HC165的8个输入端分别接至6个相位及2路人行道的绿灯信号。LM3S8962根据读取的绿灯信号状态及绿冲突判断规则判定是否发生绿冲突。

3 系统软件设计
    系统软件包括设备驱动、控制软件以及网络通信协议三部分。
3.1 设备驱动
    设备驱动程序作为系统软件的基础,是硬件设备的接口,应用程序通过这个接口才能控制硬件设备的工作。本信号机系统的驱动程序包括:FLASH读写驱动、SSI驱动、以太网控制器驱动、DS1302读写驱动、74HC165驱动等。
3.2 uIP协议
    为了实现以太网通信,需要移植网络通信协议。uIP协议栈是为小型嵌入式微处理器设计的微型TCP/IP协议栈,提供必需的网络协议。本文为信号机系统移植uIP0.9协议栈,将信号机系统配置为一个小型WEB服务器。应用程序中监听80端口,从uip_conn结构体中读取当前连接的相关信息,由uip_connected()判断远程主机是否连接上本机,由uip_newdata()判断是否接收到远程主机的新数据,由uip_send()向远程主机发送数据包。
3.3 软件功能模块
    系统控制软件是信号机软件的核心,本文采用模块化的设计方法,将控制软件按功能分为初始化、方案处理、秒时段处理、绿冲突检测、按键处理、通信等5个模块。
    初始化包括硬件和软件初始化,硬件初始化包括对片内FLASH、DS1302芯片、液晶模块、以太网接口等的测试,软件初始化包括初始化信号机参数、清除标志等。
    方案处理从FLASH中读取系统控制模式、工作时段、信号配时、通行相序等信号机的基本工作参数,并存入特定的数据结构,供其他模块调用。
    秒时段处理由每秒中断一次的定时器完成各相位灯色信号输出、为各相倒计时时间计数、切换通行相位等任务。
    绿冲突检测由定时器每隔特定的时间完成检测各相位是否发生绿灯信号冲突的任务。若发生绿冲突,进行声光报警并进入黄闪控制。
    按键处理由外部中断服务程序完成查询系统状态、修改系统参数、更改系统工作模式等任务。
    通信部分为信号机与监控中心的以太网通信,完成接收监控中心的控制命令、发送信号机状态参数等任务。
3.4 软件流程
    信号机上电后,首先进行初始化,如果初始化能够正常完成,则进入方案处理,从FLASH中取出各控制模式对应的工作参数并存入特定的数据结构中,之后系统默认进入多时段控制模式,根据当前时段的工作参数执行对应的控制。当定时器产生1 s中断时,进入秒时段处理输出灯色、倒计时信号。当接收到按键请求时,进入外部中断处理程序响应用户请求。当接收到远程主机命令或者发送数据给远程主机时,进入通信处理模块。信号机每隔一定的时间间隔进入绿冲突检测模块,检测绿灯冲突。[!--empirenews.page--]
    软件流程图如图4所示。



4 结语
    本文介绍了基于LM3S8962的六相位交通信号机相位模型、信号配时、软硬件设计及实现技术。该信号机改进了传统信号机的控制方式,能够实现高性能、多相位、多模式、联网控制,系统可靠性高、操作简单、升级扩充性好。测试表明,该六相位信号机能够有效减少交叉口冲突点、减少车辆延误、提高交叉口安全程度和服务水平、保护行人安全通行、车辆畅通运行,其社会效益十分明显。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

随着汽车软件数量爆发式的增长,整个行业都需要重新思考汽车产品的开发流程。为此,Arm推出了丰富的硬件IP、新的系统IP,以及全新的汽车计算与计算子系统产品路线图,旨在为各种汽车应用实现性能、功能安全、可扩展等方面的支持。

关键字: ARM 汽车电子

知名移动芯片设计公司ARM最近迈出重要一步,它正式推出汽车芯片设计。ARM推出的芯片设计方案名叫Neoverse,随同芯片一起推出的还有面向汽车制造商、汽车供应商的新系统。

关键字: ARM 汽车芯片 芯片

随着通用人工智能的发展,数据中心的计算需求逐步提高。针对多模态数据、大模型的推理和训练需要更高的算力支持,而随着算力提升与之而来的还需更关注在功耗方面的优化。对于头部云计算和服务厂商而言,针对专门用例提高每瓦性能变得至关...

关键字: ARM 服务器 AI Neoverse CSS

一直以来,riscv架构都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来riscv架构的相关介绍,详细内容请看下文。

关键字: riscv ARM riscv架构

最新消息报道,知情人士透露Arm近日裁掉了中国70多名软件工程师,并会将部分职位转移到中国以外的地区。Arm通过“全球服务”部门已经将支持其中国客户的工作外包给安谋科技,该部门曾经拥有约200名员工。

关键字: ARM 裁员

凭借着在个人计算机领域的广泛应用打下的坚实基础,X86自始至终统治着整个服务器生态。而这并不是业界希望看到的,因此Arm服务器被给予厚望。业界期盼Arm能够带来新的服务器CPU替代:打破一个同质化的数据中心架构,实现更高...

关键字: ARM 服务器 AI
关闭
关闭