基于ARM智能交通信号机控制板开发
,难以维护或升级,功能也受限。基于工控机或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基础上可以更方便地开发更智能的信号灯控制算法以及其他功能。同时整个信号机系统的软硬件可靠性也得到了提高。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 嵌入式系统中文输入法的设计(03-02)
- 基于MPC755的嵌入式计算机系统设计(05-10)
- WinCE下光电编码器的驱动程序设计(04-12)
- 为什么嵌入式开发人员要使用FPGA(05-13)
- VxWorks几种常用的延时方法介绍(05-16)