微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 无人驾驶车辆终端控制的研究与探索

无人驾驶车辆终端控制的研究与探索

时间:01-17 来源: 点击:

本系统由于使用ARM7做主要控制器,考虑到资源的利用,采用μC/OS-Ⅱ来作为操作系统。μC/OS-Ⅱ是一个完整的、可移植、可固化、可剪裁的占先式实时多任务内核。他用ANSI C语言编写,包含一小部分汇编代码,使之可以供不同架构的微处理器使用。μC/OS-Ⅱ可以管理64个任务,具有信号量、互斥信号量、事件标志组、消息邮箱、消息队列、任务管理、时间管理和内存块管理等功能。

μC/OS-Ⅱ软件体系结构有3部分:

(1)μC/OS-Ⅱ核心代码:包括10个C程序文件和1个头文件,主要实现系统调度、任务管理、内存管理、信号量、消息邮箱和消息队列等系统功能。此部分与处理器性能无关。

(2)μC/OS-Ⅱ配置代码:包括两个头文件,用于裁减和配置μC/OS-Ⅱ。该部分与用户实际应用相关。

(3)μC/OS-Ⅱ移植代码:包括1个汇编文件、1个C程序文件和1个头文件,这是移植μC/OS-Ⅱ所需要的代码,与处理器无关。

在本系统中首先要进行系统移植,才能进行程序的调用。移植满足了以下要求:

(1)处理器的C编译器能产生可重入型代码;

(2)处理器支持中断,并且能产生定时中断(10~100 Hz);

(3)用C语言可以开/关中断;

(4)处理器能支持一定数量的数据存储硬件堆栈(可能是几kB);

(5)处理器有将堆栈指针以及其他CPU寄存器的内容读出并保存到堆栈或者内存中去的指令。

本系统软件程序主要分为3个部分:输入部分、控制部分和输出部分。下面分别进行介绍。

输入设备主要包括键盘、射频识别读卡器,以及构成输入设备的接收系统:GPS/GIS接收器和GPRS模块等。在车辆的行驶过程中,射频识别模块负责正确接收路况信息,键盘负责等待用户接收车上用户指令,GPRS模块负责接收远程工作站的数据信息,该模块在启动后主要是负责与工作站取得联系,进行信息交流,并且不断更新系统内部分路径信息,方便车辆能够及时转向。GPS和GIS模块则主要负责使系统能够接收到车辆目前的准确位置。

输出设备主要包括显示屏等,通过显示屏获取车辆所在位置和路况信息等。他的主要作用在于根据要求输出相应的高低电平来提供转向所需要的电压。实现原理是通过从标签获得数据信息使得系统产生高低电平,同时,系统必须将GPS模块和GPRS模块提供的数据通过人机界面显示在屏幕上使得用户能够实时地看到车辆的信息,包括前方路况、车辆位置等。

控制部分是本系统的关键,流程图见图3。

控制部分的流程是这样的:首先将操作系统下载到目标板,目标板初始化,并且设置各个模块的中断向量来保证各个模块启动后能够正确运行。中断优先级的排序是读卡器优先级最高,其次是GPRS,最后是GPS。同时,显示屏显示操作界面,用户可以输入指令使得汽车启动。当车辆启动后,各模块也随之运行,系统程序将转入查询状态,通过不断扫描UART端口判断是否有标签进入识别区域。若进入标签识别区域,读卡器就会接收到射频模块识别到的条码信号,判断信号正确后,系统转人中断子程序。在中断子程序中,系统会向GPIO端口提供相应的高低电平作为输出信号来实现转向。GPRS是随着车辆启动后就立即启动的,这是因为他必须不断更新监控中心提供的路径信息来保证车辆的正常行驶。当车辆停止时会发出电平信号,此时,系统转入等待状态,屏幕显示操作界面,等待用户进行下一步操作。

4 结 语

本方案经过测试仿真表明,自主转向悬挂式独轨车载在距离标签10 m内能够以915 MHz的频率通过射频模块识别到前方轨道信息,而且能以115.2 kB/s的波特率与GPRS连接,然后接入GPRS网络与远端网络监控站实时通信,进行数据交换。同时,系统能够作出判断,发出控制信号。根据测试,该系统稳定性高,实时性强,如果能应用到实际中,使用户和工作站能够了解车辆的工作状态,对减少交通事故有很大的意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top