基于ARM7平台的超小型无人驾驶飞行器手持式地面站系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超小型无人驾驶飞行器(SUAV)是指特征尺寸在45cm到 2m之间的飞行器。对于SUAV来说,拥有一个机动灵活、数据 处理能力强大、存储容量大、环境适应能力强的地面站系统是非 常有必要的。目前,国内几家开展SUAV研究的单位所采用的地 面站系统基本上还是以PC机为平台,在PC机上对从SUAV 上通过无线电传回来的飞行数据、系统状态数据进行显示、处 理、分析,并向SUAV发出相应指令实施控制。基于PC机为平 台的地面站系统的优点是:地面站系统开发方便、存储容量大、 图形化效果好、计算能力比较强、可扩展性较强。但是它也有它 的致命缺点:体积较大(即便是笔记本也稍显庞大)携带不方便、 需要外部电源支持。因此,笔者为了解决传统地面站对环境要求 较高这一缺点,利用32位的ARM系统开发出一种SUAV手持 式地面站系统。 1 系统功能
里采用320{240黑白色的高分辨率液晶显示器,通过通用的
LcD接口与CPU相连,使得飞行数据可以以更加直观的图形 化的形式显示出来,更加有利于操作人员的分析;地面站通过数
传电台与SUAV上的飞控计算机通信,数据的接受和发送均通
过串口0,波特率为19200,同时串口1用来接收来自GPS接
收机的位置信号;该系统预留了USB和以太网接口,因此针对
图2系统程序流程图
首先是系统初始化,其中重要的是对于CF卡上FA_r32文
件系统的初始化,这对于系统之后的操作很重要,具体实现见参
考文献2;值得一提的是LCD控制器设置为自动刷新模式,在
为LCD控制器分配了9600 B的缓存空间以后,控制器将以
80Hz的频率刷新LCD,经计算LcD控制器的系统总线占有率 为0.5%,完全可以接受;设置定时器0每1ms产生一次中断,
一帧完整的数据后,这里包括了
对于校验数据的判断,将数据写 入缓存,在经过换算以图形化的 形式将数据在LcD上反映出来。 LcD主要界面如图4所示,其中
盛 面一
左边的两个矩形框内为俯仰和 图3飞控数据采集模块流程圈
万方数据
60
基于ARM7平台的超小型无人驾驶飞行器手持式地面站系统
横滚两个通道的飞行曲线,右边的圆内中心十字代表地面站,三 角形代表SUAV,这里以一定的比例根据GPS信号显示SUAV 相对地面站的位置。右下角的矩形框内为高度、速度等飞行数 据。最下面为开始、停止按纽及命令输入行,对于按纽的操作和 菜单一样可以通过摇杆或方向键来控制选择。启动数据接收以 后,数据接收过程在UARTO中断中完成,将接受到的所有数据 存人数据缓存中,但不做进一步的处理,对于数据的转换和显示 有主程序中根据约定好的协议来完成。当收到停止采集的命令 后,一次性的将所有数据存入CF卡中,但不清除缓存,为后面 做数据处理做准备。
了实现飞行数据曲线的实时绘制,必须将LCD图形化。之后开
始飞行数据的接收,正如前面提到过的,这里将接受到的每一帧
飞行数据只是存入2MB的缓存中,并不直接存入CF卡中,只
有在所有一个批次的飞行数据都接受完毕以后,才将所有的飞
行数据一次性存入CF卡中,文
件名将由系统直接以数字加上
“dat”后缀自动生成。每一帧的飞
GPS接收机的位置信号;之后是启动整个程序运行期间最重要 的一个模块——键盘摇杆命令输入模块,这个模块的主要工作
是在IIC中断中完成的,他处理来自键盘和摇杆的所有输入并
对输入的命令进行分析,以提供给其余模块使用。在启动了以上
几个后台任务以后,进入系统主菜单。主菜单中主要设置以下4
个菜单选项:飞控数据采集模块、数据分析模块、CF卡操作模块 和与PC机通信模块。为了加快数据处理的速度,减少数据搬移
该地面站系统通过数传电台和SUAV上的飞控计算机通信 获得飞机的飞行数据(包括飞机3轴姿态、角速度、线速度,GPS 位置及重要的飞控参数),通过GPS接收机获得当前地面站的 精确位置。同时在显示屏上将飞机的飞行姿态、飞机相对地面站 的位置以图形、曲线的方式显示出来,并通过程序内部预先设定 的算法对飞行数据做实时的处理,得到新的飞控参数,返回给飞 控计算机。对于装有增稳系统的SUAV,该地面站可以通过摇杆 或者键盘直接控制飞机,简化操作手的操作。对于可以实现自主 飞行的SUAV,由于地面站上也装有GPS接收机,因此可以通 过在图形化的人机界面上设置GPS位置来设定飞机的航路点, 来达到自主飞行的目的。 2硬件设计
率将LcD显示器定时刷新。因为采用ARM7内核,在主程序之
前有一段Bootrom的程序来初始化内核,包括系统时钟、异常
设置、存储器设置、模式 设置,经过这一系列的初 始化使得CPU能够正常 开始工作,关于bootrom 的详细内容可以参考三
系统蜘始化 (UART。【If。【lSB.巾- 断.Ijn LCD.CFt4-等)j
设计软件系统。为了提高系统的效率和实现模块化的设计,在
8M的RAM中分出2MB的空间作为读写CF卡的数据缓存,同 时也作为飞控数据的缓存,这足够将SUAV一次起降的所有飞
行数据保存下来,然后将这一批次的数据一次性的写入CF卡
或者从CF卡中读出来以做分析;再从RAM中分出320+240/
8=9600 B的空间作为LcD的显存,由LCD控制器以80Hz频
~皇——
l丌用1州帚A【)I船iti4器| |.戈¨寸监杜蹭;纨I乜JI、】
{———。————J
星公司发布的官方程序。
之后进入地面站程序
main,为了使人机接口
更为友好,操作更加方
便,采用菜单与命令行结 合的方式提供人机交互
接口,因此除了修改飞行
参数以外,其余所有操作
均可通过摇杆来实现。图
2是地面站主要程序流 程图。
系统构成如图1所示。 该手持式地面站系统采用三星公司的ARM7系列芯片 S3C44BOX作为主处理器,采用10MHz的外部晶体振荡器,通
j竖il h潍Pl键{:l|:
i 一数字小键僦
皇叫摇杆l
圈1系统构成 过内部PLL锁相环倍频到40MHz的系统频率;存储器方面,利 用CPU内部的8K RAM作为高速缓存Cash,外部采用2M的 FU临H作为程序存储器,8M的RAM作为动态的数据存储器。 为了能够存储大量的飞行数据,该地面站系统采用大容量CF 卡作为数据存储设备,这里设置CF卡工作在Memory Mode, 同时在CF卡上建立了FAT32文件系统,这就使的该系统可以 采用从32M到512M不同容量的CF卡,更重要的是有了文件 系统就使得系统与PC机之间可以通过CF卡直接交换大批量 数据;系统输入设备采用小型薄膜数字键盘、电阻式摇杆和标准 PC键盘三种输入设备相结合,其中PC键盘为可选设备,以 PS/2接口与系统连接,由系统直接提供5V电源。对于PC键盘 的按键输入采用中断的方式,由于PS/2接口协议的时钟信号 频率较低,为15kHz左右,因此将PS/2接口的时钟信号接到单 片机的外部中断,该中断响应时钟信号的下降沿跳变,通过普通 的I/O口读人数据线上的电平,这里采用第二套扫描码集,关于 PS/2接口协议详细内容请参考文献[5]。为了使得CPU能够将
}国家自然科学基金资助(50405046),上海市科技启明星计划资助(03QGl4020)
万方数据
《工业控制计算机)2006年19卷第3期
大量时间放在数据分析和处理上,这里用一个普通的8位单片
Biblioteka Baidu
机作为键盘、摇杆输入接口,它将键盘和摇杆的输入转化为统一
的ASCII字符命令通过IIC总线发送给主CPU;显示器方面,这
以通过菜单操作实现,命令行输入是为以后的系统扩展做准备。 系统所有其余模块只需要查找响应的标志字就可以判断是否有
针对自己的命令输入。
3.2飞控数据采集模块
该模块具体流程图如图3所示。程序进入这一模块后,由于 使用UART0通过数传模块与飞控计算机通信,这里将启动
UART0,并开启中断,在平时这一外设将被关闭以节省功耗。为
作为某些需要定时执行的任务的时基信号;之后首先开启10位
的ADC控制器的通道O,每隔1秒采样一次系统输入电压,虽
然DC—DC变换器MAXl797最低可以接受O_7V的输入电压,
但考虑到电池的放电特性,这里设置当电池电压持续低于2V
时,发出电压过低警报,以便操作人员及时保存飞控数据;同时
开启UARTl中断响应,在地面站整个运行过程都实时接受来自
基于ARM7平台的超小型无人驾驶飞行器手持式地面站系统
基于ARM7平台的超小型无人驾驶飞行器手持式地面站系统
SUAV7S Portable Ground Station Base on ARM7 System
胡鉴峰 罗 均 (上海大学精密机械系,上海200072)
摘要 介绍了一种用32位的ARM7系列芯片S3C4480×辅以一些外围器件实现了一个超小型无人驾驶飞行器(SUAV)手持 式地面站系统。该系统采用模块化的设计思想。主要完成与SUAV通信、采集飞行数据、数据处理、实时姿态位置显示、与PC 机高速大容量数据交换等功能。与传统的PC机地面站系统相比,该地面站具有体积小、重量轻、不需要外部电源供电、操作 方便等特点。 关键词:SUAV,手持式,ARM,模块化
的操作和对CF卡的读写操作,各个模块内部、之间对于数据的
操作均以RAM中设置的缓存为中间媒体,每次操作以一个批次
的所有数据为单位;同时由于LCD采用了自动刷新模式,所有
模块对于屏幕的操作均以设置在RAM中显存为目标。
3.1键盘摇杆命令输入分析模块
这一模块的主要任务是由外部的8位单片机实现的,单片
机将摇杆和键盘的输入统一转化为ASClI码,利用IIC总线以
行数据按照约定好的数据格式发 送。以¥为数据的开始,每一帧数 据包含以下所有数据:机载GPS
一一一一一~一
接收机数据、飞机3个轴姿态数
据、3个轴的角速率、高度信号、
空速信号,之后是一个校验数据,
这个数据是由前面所有数据做逻
辑运算得到的,所有数据之间以
“,”作为分隔符,最后以&作为一
帧数据结束标志。在判断接收到
Abstract The paper introduces a SUAV’S portable ground station base on the chip S3C4480×(ARM7 system).The ground station is designed in modularization.It’S main function is communicate with SUAv,date acpuisition,date processing,real-time display· ing the SUAV。S pose,communicate with PC with high speed.Compare with the traditionary ground station witch is base“on PC,the portable ground station is small.1ight,having independent power.easy to use. Keywords:SUAV,Portable,ARM。Modularization
中断的方式发送给主CPU,在llC中断处理过程中,主C尸U将
接受到的ASCII字符分为两类:功能键如方向键作为对菜单的
操作命令,直接设置相应的菜单操作标志字;对于一般的数字、
字母输入作为命令行输入,存储到命令行缓存。Buffer_Com—
mand并回车符作为一个命令行输入的结束,然后在对该命令
行做分析,并且设置响应的标志位。事实上目前所有的操作都可
得到了很大的提高。实际测试显示两节上述电池可以使系统正
常工作2.5个小时以上;同时将系统的2.4V电压接到CPU的
10位ADC通道O,以此来实时监控系统电压。
3软件系统设计
由于采用32位系统,在软件设计上与普通的8位机系统相
比有较大差别。由于目前该地面站的处理任务并不是很复杂,这
里不考虑采用操作系统多任务的形式,还是采用单任务的形式
不同的PC机可以采用不同的接口与其交换数据,大大增强了 该系统的适应能力。为了提高系统的机动性和长时间工作能力,
在电源部分采用了两节1.2V-1800mA/h的镍镉可充电电池并
联得到2.4V电压,通过两片DC—DC变换器MAXl797获得
3.3V和5V的电压给系统供电,该DC—DC变换器的效率高达
80%以上,远远超过普通的稳压芯片,使得系统的持续工作能力