首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于ARM智能交通信号机控制板开发(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于ARM智能交通信号机控制板开发(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-2-27 12:35
|
只看该作者
基于ARM智能交通信号机控制板开发(2)
应用程序
,
控制板
,
存储器
,
高电平
,
操作系统
(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基础上可以更方便地开发更智能的信号灯控制算法以及其他功能。同时整个信号机系统的软硬件可靠性也得到了提高。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议