基于嵌入式Linux和3G网络的四旋翼飞行器应用开发

2018-03-03 13:12曾曼云
数字技术与应用 2018年11期
关键词:驱动程序内核旋翼

曾曼云

摘要:近年来,无人机在越来越多的领域中得到应用,尤其是旋翼无人机。本文提出一种基于嵌入式Linux和3G网络的设计方案,以四旋翼飞行器为载体,对相关的应用系统进行开发。

关键词:嵌入式Linux;3G网络;四旋翼飞行器

中图分类号:TP316.81 文献标识码:A 文章编号:1007-9416(2018)11-0139-01

1 四旋翼飞行器应用开发的重要意义

四旋翼飞行器归属于无人直升机的范畴,利用无线遥控装置可以对飞行过程进行控制。随着微电子技术的不断发展和完善,使得无人机在军事和民用领域中得到越来越广泛的应用。在军事方面,四旋翼飞行器具有起落降简单、灵活性强、造价低、隐蔽性好等特点,可完成各种侦察任务。民用方面,四旋翼飞行器在摄影、测绘、运输、抢险等方面发挥着重要作用。近年来,业内的专家学者加大了对多旋翼飞行器的研究力度,各种新技术、新材料的应用,使得旋翼飞行器的整体性能获得显著提升。为了提高四旋翼飞行器的性能,专业人士进行了大量研究,结合他们的研究成果,尝试通过3G网络,将飞行器与互联网进行连接,以嵌入式Linux平台为操控系统提供稳定的支撑,最终目的是为了突破旋翼飞行器控制与传输距离的限制。

2 基于嵌入式Linux和3G网络的四旋翼飞行器应用系统设计

2.1 系统设计思路

本系统以四旋翼飞行器作为主体,该飞行器由主控芯片、惯性模块、气压高度计等几个部分组成,采用嵌入式Linux系统开发平台,集成ARM9处理器。飞行器(各部分模块通过总线)进行连接,(通过嵌入式Linux平台)完成图像采集、传输等功能,同时还能(接收)上位PC机发出的控制指令,借助具体的应用程序,对飞行器进行控制[1]。

2.2 系统硬件配置

(1)开发板。系统选用嵌入式开发板min2440,拥有精简指令微处理器,制造工艺为0.13um,使其具备低功耗、高性能的优势。mini2440开发板采用三星公司制造的主频为400MHZ的CPU处理器,它是整个系统的核心,其上连接各种模块,如显示模块、存储模块、输入模块、电源模块、USB模块等等,接口类型相对较多,包括(串口、)SD接口、USB HOST接口、RJ-45接口以及GPIO扩展接口等。(2)摄像头。系统采用罗技C270摄像头,支持1280*720视频采集,在室外光线不足的情况下,可以通过自动对焦完成图像的校正,由此能够实现各种光线下的视频采集。(3)3G网卡。系统选用CDMA-2000,可提供移动IP、简单IP以及IP分组服务。PDSN可提供用户PPP连接和终止服务。CDMA-2000的宽带可在1.25-20MHZ之间进行调节。综合考虑价格、性能等因素,选择中兴的AC581作为无线网卡。(4)飞行模块。系统采用主频达到72MHZ的主控芯片,以及具备陀螺仪功能的传感器,内置模数转换器,可保持高频率通讯需求[2]。

2.3 Linux系统结构

(1)硬件平台。包括存储器、微处理器、通用设备接口等,在ROM中存储操作系统,微处理器选用嵌入式微处理器。(2)硬件抽象层。用于分离系统内核和底层硬件,使底层驱动与硬件不存在关系,提高了系统应用程序开发的便捷性。硬件抽象层主要功能为初始化硬件设置、输出和输入数据等。(3)内核。这是系统的核心部分,对硬件进行一致管理,并对用户提供高层抽象层,包括调度进程、驱动备份、共享存储空间等。若在系统中使用内核提供API,则可将应用程序直接移植到相应架构上,无需对应用程序作出修改。(4)根文件系统。该系统位于内核之上,满足用户与系统交互需求,内核需要在合适结构的文件系统上加载程序,在每个进程匹配相应加载模块,生成工作目录。(5)网络服务器。主要为Linux目标机与宿主机提供通信服务。在网络服务器的支持下,嵌入式Linux系统中的目标机可以访问宿主机上的文件,能够在系统开发过程中大幅度提高Linux文件的共享利用效率。网络服务器配置NFS文件,文件中主要包括客户端主机地址、共享目录名和选项设置。

2.4 系统软件设计

(1)拨号上网。拨号上网使用PPP协议实现点到点的链路封装,在经典OSI参考模型中传输网络层数据包,用以支持异同步点到点传输。基于PPP协议的拨号上网具备以下特点:PPP协议支持点到点连接,可提供数据链路层协议;可使用同步或异步形式;网络安全性高,可支持PAP/CHAP协议;在NCP协议的支持下可支持网络协议。PPP协议的组成部分包括:一是LCP(链路控制协议族),其功能对PPP数据链路进行建立、拆除和监控;二是NCP(网络控制协议族),其功能对数据包的格式和类型建立起点到点的链路。(2)驱动程序。当四旋翼飞行器接收到上位机发出的控制指令后,Linux系统会对其中的通道控制量进行提取,利用底层驱动,对硬件GPIO进行驱动,以此来实现对飞行器的控制。本系统中的驱动程序处在硬件与Linux中间,其提供了统一接口,通过接口可对硬件设备进行访问。对驱动程序进行编写,可为Linux的内核提供接口,以此来对设备进行访问。本系统在软件设计中,对硬件GPIO的控制采用字符设备驱动。当驱动程序编写好以后,应对相应的驱动模块进行编译。在进行内核编译的过程中,应确保其与开发板内核具有相同的版本,由此便可生成驱动文件gpio_ioctl.ko,随后将该驱动程序Copy到开发板上,执行如下安装命令即可:insmod gpio_ioctl.ko。(3)应用程序。应用程序主要用于接收(和处理)数据和(以及)控制GPIO,以达到控制飞行的目的。控制信号采用us级控制,最高为2000us,最低为1000us,根据信号高电平时间的变化对信号数字大小进行控制。控制信号采用PMM格式,信号程度为20ms,脉宽为0-2ms,高电平为1-2ms,在考虑到脉冲时间的情况下,最多可支持9个通道。为实现应用程序的功能,要在应用程序执行之前对存放的接收数据、提取的通道数据进行初始化处理,创建TCP协议的套接字,之后再打开内核驱动创建出新的线程即可。该线程可在进程中的逻辑流内运行,一个进程可同时运行多个线程,由内核负责对线程进行自动调度,以整数ID对线程进行识别。当完成初始化后,主线程在while(1)循环语句中,借助read(),系统可对网络端口接收到的数据进行调用读取[3]。

3 结语

综上所述,旋翼飞行器的控制和传输距离是限制其应用范围进一步扩大的关键因素,为有效解决这一问题,本文以四旋翼飞行器作为研究对象,设计开发基于嵌入式Linux和3G网络的应用系统。通过该系统,可以使四旋翼飞行器的控制距离和传输距离获得显著提升。由此可见,该系统具有良好的推广使用价值。

参考文献

[1]刘卫辉,李建國,王磊,孟瑞锋.基于UART总线的四旋翼飞行器姿态采集[J].机械工程与自动化,2018(5):182-183+187.

[2]黄艳国,樊云东,陈自如.基于信息融合的四旋翼飞行器的姿态解算[J].计算机仿真,2018(9):59-64.

[3]朱麒龙.四旋翼飞行器控制技术研究[J].通讯世界,2018(9):216-217.

Application Development of Four-Rotor Aircraft Based on Embedded Linux and 3G Network

ZENG Man-yun

(Gosuncn Technology Group Co., Ltd., Guangzhou Guangdong  510000)

Abstract:In recent years, UAV has been applied in more and more fields, especially the Rotor UAV. In this paper a design scheme based on embedded Linux and 3G network is proposed, the related application system is developed with the Four-rotor aircraft as the carrier.

Key words:embedded Linux; 3G network; four-rotor aircraft

猜你喜欢
驱动程序内核旋翼
改进型自抗扰四旋翼无人机控制系统设计与实现
强化『高新』内核 打造农业『硅谷』
大载重长航时油动多旋翼无人机
基于STM32的四旋翼飞行器的设计
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
计算机硬件设备驱动程序分析
四旋翼无人机动态面控制
基于MPC8280的CPU单元与内部总线驱动程序设计