基于ARM智能交通信号机控制板开发

发布者:HarmoniousVibes最新更新时间:2010-01-13 来源: 现代电子技术关键字:ARM920T  AT91RM9200  道路交通信号机  嵌入式Linux 手机看文章 扫描二维码
随时随地手机看文章

     信号机是一个典刑的嵌入式系统,嵌入式系统是以应用为中心来设计,对功能、性能、可靠性、成本、功耗、体积等有严格的要求,既要满足智能交通系统对信号机智能化、多功能的要求,又要最大化信号机的性价比,因此本设计选择基于arm核的32位嵌入式RISC处理器——AT91RM9200来完成智能交通信号机控制板的硬件设计,以达到使信号机在交通系统中成为收集与处理交通流量数据、通信联网以及区域协调控制平台的设计目标。

     1 引言

      目前我国的城市交通控制主要还是靠道路交通信号控制机(以下简称信号机)。国内的信号机主要分为两类:一类采用8/16位单片机作为处理器,交通控制功能简单、方案单一,以RS 232或RS485为通讯方式,难以与控制中心联网以及实现区域交通协调控制等功能,不能适应现代化大路口交通控制的要求;另一类则是基于工控机或PC104,功能虽然强大,但由于工控机或PC104都是按通用计算机标准设计,并非专门针对信号机应用设计,该类信号机硬件结构复杂且很多功能并不需要,成本也高,国外的信号机(如西门子公司的2070和美国的EAGLE)开发起步早,水平高,已有各种自适应联网型信号机产品,但一般不适用于中国混合交通的实际情况,且价格昂贵,操作不方便。

      信号机是一个典刑的嵌入式系统,嵌入式系统是以应用为中心来设计,对功能、性能、可靠性、成本、功耗、体积等有严格的要求,既要满足智能交通系统对信号机智能化、多功能的要求,又要最大化信号机的性价比,因此本设计选择基于arm核的32位嵌入式RISC处理器——AT91RM9200来完成智能交通信号机控制板的硬件设计,以达到使信号机在交通系统中成为收集与处理交通流量数据、通信联网以及区域协调控制平台的设计目标。

      2 信号机系统硬件设计

      2.1 系统总体硬件结构

      智能交通系统要求信号机可以向控制中心实时提供多种道路信息和车流量数据信息,接收控制中心的控制命令,并能够独立执行一些复杂的算法,可以根据交通流量变化实时条件路口信号灯的绿灯时间,因此考虑现有信号机的不足,根据信号机功能发展的趋势和要求,本文设计的信号机控制板具有控制参数输入、控制状态输出、控制参数保存、灯态输出控制、交通流信息(主要是车流量)实时检测与历史数据存储、多种灯态控制方案与算法模型存储、支持以太网及与手持终端设备通讯等基本功能。整个系统硬件结构如图1所示。

                                       

      2.1.1 AT91RM9200微处理器介绍

      嵌入式微处理器是整个嵌入式系统的核心,AT91RM9200是Atmel公司推出的基于当前流行的arm920T内核的一款32位RISC微控制器,工作在180MHz频率下的运算速度可达200MIPS。专门针对系统控制、通讯领域的应用。AT91RM9200芯片的功能结构如图2所示。

       

      AT91RM9200集成了丰富的外围功能模块,满足多种应用场合,丰富适合于实时控制,可以支持实时操作系统(RTOS),为需要多功能、低成本、低功耗的计算密集型应用提供了一个单芯片级的解决方案。AT91RM9200是一款性价比极高的微处理器,经过比较选择AT91RM9200作为信号机控制板处理器。

      2.1.2 控制板外围模块

      控制板设计主要包括以下几个部分:

      (1)电源/晶振模块:

      控制主板使用12/5V两套电源供电,AT91RM9200工作于3.3/1.8V两种电压,系统其他器件尽量选择工作电压为3.3V。

      AT91RM9200使用12MHz/32.768kHz两种晶振,主晶振12MHz经过芯片内倍频处理分别为arm920T核与系统提供180MHz和60MHz的时钟频率。32.768kHz慢时钟用于AT91RM9200的启动。

      (2)存储器模块。

      (3)网络模块。

      (4)串口模块和GPS接口:

      AT91RM9200提供4个USART,分别将他们分配给RS232和RS485。控制板上预留GPS接口位置,用于未来扩展信号机无线通讯功能,GPS使用RS232同AT91RM9200通信。

      (5)RTC模块:

      信号机在通讯、干线或者区域协调控制中需要使用统一的时间来同步,因此设计RTC(实时时钟)用来对时。RTC可以提供可编程的实时时钟:年(含闰年)、月、日、时、分、秒、星期及一个闹钟中断,并可以在掉电后使用备用电源工作。

      (6)系统总线扩展模块。

      2.2 主要硬件模块电路设计

      下面详细说明存储单元、网络和系统总线扩展模块的硬件设计。

      2.2.1 存储器模块

      本文设计的信号机需要存放嵌入式操作系统及其文件系统、应用程序和其他在运行或系统掉电后需要保存的数据;另外当系统启动后,操作系统和程序运行还需要更大的空间。AT91RM9200内部集成的ROM和RAM的容量不能够满足信号机的要求,因此设计了外存储单元来扩展存储空间,由16MB和FLASH和64MB的SDRAM组成信号机的外存储系统。

      AT91RM9200的地址空间是4GB,他被划分成16个256MB的区域;

      区域0为内部存储器空间;

      区域1-8是给由EBI控制的外部设备(扩展的片外存储器和外接的设备)使用的,片选信号为引脚NCS0-7;

      区域15是AT91RM9200集成的片内外围功能(包括系统和用户外围)使用的地址空间,当系统上电或重启时,根据引脚BMS的电平状态,系统选择是从内部ROM(BMS=1)还是从存储区域1即NCS0片选区域(BMS=0)启动。

      (1)本设计选用1片8M×16b数据宽度的FLASH,共16MB,作为程序代码存储器和信号机运行时的永久数据存储器。FLASH存储器在系统中主要用于存放引导程序bootloader、操作系统内核镜像和应用程序代码等,系统上电或者复位后从FLASH中运行bootloader,由bootloader初始化硬件并将操作系统拷贝到SDRAM中去执行。所以将FLASH存储器分配到AT91RM9200的BANK0(存储区域1)地址空间,即将AT91RM9200的NCSO连接到FLASH的片选端CE0。FLASH输出使能端OE接AT91RM9200的NOE;写使能端WE接AT91RM9200的NWE;模式选择端BYTE上接高电平,使FLASH工作在16位数据模块,16位模块FLASH与AT91RM9200的基本连接如图3所示。

                         

      (2)为了提高系统运行的效果,系统启动后将FLASH中代码拷贝到SDRAM中,由SDRAM作系统程序运行场所。为了发挥AT91RM9200处理器32位数据处理性能,本设计选用2片4BANK×4M×16b(32MB)SDRAM,并联组成32b的RAM,总共64MB空间,完全可以满足嵌入式操作系统及各种复杂功能的运行要求。

      如图4为用2片SDRAM并联构建32位SDRAM存储系统的简图,其中一片作为高16位,另一片作为低16位,他们的数据线分别接AT91RM9200数据总线的D[16..31]和D[0..15]。SDRAM是被分配到AT91RM9200的BANK1(存储区域2)地址空间的,即将AT91RM9200的NCS1端分别接到2片DSRAM的CS片选端。因为SDRAM的第10位地址线A10还有给SDRAM预充电的作用,所以AT91RM9200提供给SDRAM专用的地址线——SDA10,来代替通用地址线MA10,并且因为32位数据读写是4字节对齐的,所以AT91RM9200的地址线MA[2..11,13,14]接SDRAM地址线A[0..9,11,12]。

      2.2.2 10/100 Mb/s以太网模块

      传统的RS 232和RS 485通信方式已经不适应远距离、大信息量的数据传输,而充分利用现有发达的网络系统,实现信号机联网的功能,也是智能交通发展的要求,AT91RM9200芯片本身集成有网络控制器件和28B的FIFOs栈和专用数据控制器(DMA)的接收和发送通道,硬件实现了OSI网络参考模型中介于物体层和逻辑链路层之间的介质访问MAC子层,但是没有提供物理层接口,因此需要外接一个物体层传输控制器来提供接入以太网的通道。用Intel的LXT972快速以太网PHY传输控制芯片进行数据的网络收发。

      LXT972和AT91RM9200网络控制器通过介质无关接口(MII)可以很方便地连接。在LXT972和RJ45接口之间需要用网络隔离变压器来连接,网络隔离变压器起信号传输、阻抗匹配、波形修复、杂波抑制以及高电压隔离等作用,以保护系统的安全。LXT972的RX+/RX-、TX+/TX-接到网络隔离变压器上,再由变压器引出相应信号连接到RJ45接口上,网络模块以标准RJ45接口与以太网相连。其网络模块连接方式如图5所示。


       2.2.3 系统总线扩展模块

      考虑到信号机的体积、靠靠性及提高信号机的模块化程度,方便设备的升级、扩展、控制板上并不直接实现控制参数输入、车流量检测等功能,信号机从控制板引出数据总线、地址总线和必要的控制信号,设计统一的系统总线,控制板通过总线来操作各个功能板,如信号灯驱动板、车辆检测板以及操作面板的键盘输入和LED显示输出,控制板和各个功能板都卡装在插槽接口。

      由于信号机的系统总线设计使用ISA总线标准,因此总线时序同ARM的读写时序不同,所以首先需要对arm时序和ISA时序做转化。底板总线需要的数据、地址、读写等控制信号等都先由CPLD进行时序转换后再发送到总线上去。底板总线使用16位数据总线,7位地址总线,分配给底板总线的地址空间是AT91RM9200的BANK2区(存储区域3),片选信号端NCS2。对底板总线的读写操作由AT91RM9200的EBI(外部总线接口)来控制,嵌入式操作系统以I/O内存的方式来对他们进行管理。AT91RM9200的可编程时钟输出端PCK0用来给底板总线提供时钟信号,由CPLD对他进行分频处理,产生需要的多个时钟频率。

     信号机使用操作面板的小键盘进行参数设置和方案设定,并用LED模块显示信号灯闪烁。操作面板的键盘、LED设计采用“串行”操作,即面板的键盘信号先进行“并/串”转换后,以两线同步串行方式传输到控制板的CPLD,作“串/并”转换后再发送给AT91RM9200。

      在操作面板自己的CPLD内,模块“8279”的工作方式,采集键盘信号,同样AT91RM9200发送给LED显示的命令数据先在CPLD中实现“并/串”转换,以两线同步串行方式,传输给操作面板,由操作面板的CPLD处理后控制LED。这种方案大大减少控制主板与操作面板之间的联线,模块化程度更好。系统总线扩展模块如图6所示。

       3 嵌入式Linux系统

      信号机功能比较简单时并不需要使用操作系统,而只是运行一个控制循环程序,利用中断来处理发生的事件,这样程序结构比较凌乱,难以维护或升级,功能也受限。基于工控机或PC104的信号机上一般运行通用操作系统,如Windows或DOS,前者功能虽然强大,却过于庞大,不适合信号机这样的嵌入式系统,可靠性差、容易造成死机;后者则功能较弱,已经不适合信号机功能发展的要求。

      智能信号机的功能发展需要同时运行多个任务,如信号灯控制、通讯、车流量检测等等,这就要对多任务进行合理的调度;另外信号机接收和处理的信息、数据的增多,尤其是需要大量保存历史车流量数据供信号灯控制模型计算和中心查询使用,单靠表或数组来管理是复杂而效率低下的,因此文件管理也是必不可少的一项功能。

      嵌入式Linux是一款优秀的嵌入式操作系统。他采用微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展;支持多种文件系统,如EXT2,VFAT,NTFS等;内核直接提供完善的网络支持。

      本文选择功能和可靠性都很成熟的Linux-2.4.19内核版本以及针对AT91RM9200体系结构的补丁patch-2.4.19-rmk7。给标准内核源代码打上补丁后,该内核就可应用于AT91RM9200了。这就大大节省了产品开发时间,剩下的主要移植工作就是根据信号机的硬件功能编写或者修改相应的驱动程序,并在编码内核时选择需要的功能,此处不再赘述。

      Linux操作系统在开发板上为应用程序运行提供了一个强大的软件平台。

      应用程序的开发调试有两种模式:

      (1)和内核一起编译,在系统启动后运行,这种方法修改程序比较麻烦,必须重新编码内核,因此适合于简单的嵌入式系统。

      (2)在宿主机上的交叉编码环境下进行编码,生成目标板上可执行的二进制文件,再通过串口和网口下载到目标板上执行,用该方法调试程序方便灵活,更适合于复杂的系统。

      本文采用第二种方法来调试程序。将目标板(控制板)的调试串口和宿主机(PC机)串口相连,然后宿主机上运行minicom作为目标板的控制台。将宿主机和目标板用交叉网线连接,并设置二者的IP在同一网段。在宿主机上打开NFS(网络文件系统)服务;目标板mount宿主机的IP,如mount-o nolock 192.168.2.97://test,这样从目标板文件系统的test文件夹就可以访问到宿主机的根文件系统,宿主机上编译好的可执行文件,直接可以从目标板上看到并运行。

      测试表明信号机控制板的软硬件系统都可以稳定运行,各部分功能也正常工作,证明了设计结果达到了预期的设计目标。

      4 结语

      本文介绍了基于AT91RM9200微处理器的智能交通机控制板的硬件设计以及嵌入式Linux软件平台。该设计方法改进了原信号机功能,增加了网络通信功能,并保留了过去的通信串口以保持兼容。整个开发板结构设计和总线接口信号都同原信号机主板一样,可以直接在现在的信号机上使用,而不用整个修改已经开发成熟的信号机,简化了开发工作。

      嵌入式Linux系统也使硬件功能得到更好的管理和使用,并为信号机的软件运行提供了一个强大的平台,Linux系统下接入网络和进行文件管理更加容易安全。在Linux基础上可以更方便地开发更智能的信号灯控制算法以及其他功能。同时整个信号机系统的软硬件可靠性也得到了提高。

关键字:ARM920T  AT91RM9200  道路交通信号机  嵌入式Linux 引用地址:基于ARM智能交通信号机控制板开发

上一篇:基于CAN总线的平地机自动找平系统设计
下一篇:基于集成压力传感器的无源胎压监控系统研究

推荐阅读最新更新时间:2024-05-02 20:58

基于嵌入式Linux的3G无线视频终端的设计与实现
  随着网络技术和嵌入式技术的迅猛发展,通过网络来实现视频监控已经得到了广泛的应用,3G网络以其高带宽使得传输流畅的视频信息成为可能,本文在采用3G技术的基础上设计了一款基于嵌入式Linux的无线终端,在数据处理部分采用了Linux的Netfilter架构,通过挂载钩子函数来实现数据包在内核态的获取及高效转发,并且通过在Linux内核开辟一片缓冲区,解决了视频服务器与3G模块拨号延时而造成的速率不匹配的问题,减少了数据丢包。配合Netfilter用户态管理工具iptables的使用,可实现包过滤防火墙,及NAT等功能,从而便于本系统对流经其数据包的管理。   另一方面对嵌入式Linux的视频采集程序的设计进行了详细的介绍,并将其实
[单片机]
基于<font color='red'>嵌入式Linux</font>的3G无线视频终端的设计与实现
arm920t中S3C2440、S3C2450和S3C6410的区别
  三星目前推出了S3C6400和S3C6410,都是基于ARM架构的,而且硬件管脚兼容,应该说大致的功能基本相同,比较明显的区别就是S3C6410带有2D/3D硬件加速   S3C2440其实是一个很不错的CPU,价格便宜、内部资源多、最主要的是国内很多人使用,相关的资料比较多。ARM920T内核, 400M主频,支持NAND FLASH、NORFLASH、SDRAM、支持STN/TFT LCD、4通道DMA、3通道UART、2通道SPI、IIC总线、IIS/AC97音频控制器、SD/MMC控制器、2通道USB HOST 1通道USB DEVICE、4通道PWM、8通道A/D转换、触摸屏控制器、RTC、CMOS摄像头、多功能
[单片机]
嵌入式Linux下的USB设备驱动技术
  Linux以其稳定、高效、易定制、硬件支持广泛、源代码开放等特点,已在嵌入式领域迅速崛起,被国际上许多大型的跨国企业用作嵌入式产品的系统平台。   USB是Universal Serial Bus (通用串行总线)的缩写,是1995年由Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议。它是一种快速、灵活的总线接口。与其它通信接口相比较,USB接口的最大特点是易于使用,这也是USB的主要设计目标。USB的成功得益于在USB标准中除定义了通信的物理层和电器层标准外。还定义了一套相对完整的软件协议堆栈。这使得多数USB设备都很容易在各种平台上工作。作为一种高速总线接口,USB适用于多种设备(如数码相机
[嵌入式]
基于嵌入式Linux系统的3G/4G路由器
3G的接人技术已经从WCDMA/TD- SCDMA/CD-MA2000发展到HSDPA、HSUPA 以及HSPA+ ,并开始由3G 网络向4G网络过渡。目前HSDPA的接入带宽可以达到7.2 Mbps,HSPA+ 的接人带宽可以达到21 Mbps,而即将部署的LTE的网络带宽甚至达到了100 Mbps 。同时,由于接人移动互联网 的智能终端的数量快速增长,人们对移动互联网的应用需求也日益增长。当人们面对几十兆带宽甚至是上百兆带宽时,必定存在带宽的过剩问题,即人们不需要在任何时刻都需要这么大的带宽,因而可以将过剩的用户带宽分配给更多的用户。 目前,WiFi技术能够支持IEEE的802.11b、802.11g和802.1ln标准,
[单片机]
基于<font color='red'>嵌入式Linux</font>系统的3G/4G路由器
基于数字电视系统的嵌入式linux操作系统实现
1. 简介: 数字电视是在电视信号产生后的处理、传送、接收、记录等过程都采用数字技术的电视。在设计数字电视系统时,应用于传统模拟电视系统中的硬件,不能满足音频、视频和数据处理等功能的需要,因此,数字电视系统需要更高性能的处理器和大规模的存储器。嵌入式操作系统可以有效的管理这些硬件资源。 本文将嵌入式linux操作系统移植到一个数字电视上,使其能够接收数字广播节目。为了将操作系统移植到数字电视系统上,需要修改内核和交叉开发环境,重新设计基本的设备驱动,配置系统的存储器映像以便加载内核到主存储器中,并且设计一个总线接口设备的驱动程序来控制整个系统。 2. 数字电视操作系统 数字电视比模拟电视能够提供更优质的电视图像和更多的视
[单片机]
基于数字电视系统的<font color='red'>嵌入式linux</font>操作系统实现
嵌入式Linux实时化技术
引言   Linux支持PowerPC、MIPS、ARM、DSP等多种嵌入式处理器,逐渐被用于多种关键性场合。其中实时多媒体处理、工业控制、汽车电子等特定应用对Linux提出了强实时性需求 。Linux提供了一些实时扩展,但需要进行实时性改造。本文针对嵌入式Linux实时化技术中的一些关键问题进行了讨论,如Linux内核时延,实时化主流技术方案及其评价等。 Linux内核时延   主流Linux虽然部分满足POSIX 1003.1b实时扩展标准,但还不完全是一个实时操作系统,主要表现为:   * 任务调度与内核抢占   2.6版本内核添加了许多抢占点,使进程执行在内核代码时也可被抢占。为支持内核代码可抢占,在2
[嵌入式]
基于嵌入式Linux平台的多协议路由器的设计
摘要:介绍在分级Ad Hoc网络中多协议路由器的地位及功能,在此基础上提出一种多协议路由器设计方案。结合设计方案,介绍实现方案中所采用的Motorola公司的ColdFire嵌入式处理器MCF5272、uClinux操作系统,以及在该平台上运行的路由协议A0DV。 关键词:路由器 MVF5272 uClinux A0DV 引言 随着社会信息化进程和互联网的飞迅发展,对无线环境下提供数据服务的需求变得更加迫切。传统的无线移动网络通常以固定的基础设施为支撑,无法满足人们对日益增长的通信业务的要求,一种新型的无线网络——AdHoc网络应运而生。Ad Hoc网络又称移动自组网、多跳网络,具备细网灵活、快捷,不受有线网络的影响等特点,
[嵌入式]
嵌入式linux在工业控制领域中的应用
摘要:针对嵌入网络设备的应用特点,介绍了嵌入式linux的主要技术及在工业控制领域的应用方法。结合硬件平台详细说明了嵌入式linux系统的主要实现方法同时也简要介绍了该嵌入式系统的实时内核、内存机制和文件系统的设计等内容。 关键词:嵌入式系统;嵌入式linux;工业控制 1 前言 随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。这就要求工控系统必须具备两
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved