《电子技术应用》
您所在的位置:首页 > 测试测量 > 设计应用 > 基于环形缓存技术的无人机数据接口设备设计
基于环形缓存技术的无人机数据接口设备设计
来源:微型机与应用2013年第2期
蔡 伟, 周乃恩
(中国航天空气动力技术研究院, 北京100074)
摘要: 介绍一种采用环形缓存技术的嵌入式数据接口设备。首先阐述了设备工作原理和硬件设计,着重讨论了环形缓存技术的软件实现方法。通过在无人机上的应用,证实该系统运行稳定可靠,满足设计要求。
Abstract:
Key words :

摘  要: 介绍一种采用环形缓存技术的嵌入式数据接口设备。首先阐述了设备工作原理和硬件设计,着重讨论了环形缓存技术的软件实现方法。通过在无人机上的应用,证实该系统运行稳定可靠,满足设计要求。
关键词: 环形缓存; 异步串行通信; 无人机

    无人机在飞行时,地面控制站发送上行指令通过遥控信道到达机载设备,机载设备产生的下行数据通过遥测信道到达地面控制站。一般设计为上行指令与下行数据在某一机载设备上(如设备1)汇集,经处理后发送到其他的设备中。但该设备同时还有其他任务需完成,当数据量过大时会对设备造成负担,甚至影响飞行安全。为此本文设计了一个专用数据接口设备,用于无人机的数据交换。全系统框图如图1所示。

1 系统硬件设计
    数据接口设备硬件主要由PC104嵌入式计算机组成,主要组成部分有:(1)PC104总线型CPU板,最高运行速度可达300 MHz;(2)PM504型串口扩展板;(3)32 MB DOC(闪存,Disk On Chip); (4)系统电源板。其中,PM504串口扩展板实现PC104总线的串口扩展,共扩展4个RS422总线的UART(通用异步接收/发送装置);32 MB DOC用于存储操作系统以及开发程序;系统电源板采用Ericsson的PKF系列电源模块,用于提供系统电源,主要为5 V和12 V。
2 软件设计
    如图1所示,数据接口设备与机载设备的数据交换分为全双工方式与半双工两种方式。数据交换分为上行指令分发和下行数据融合两部分。
2.1 上行指令分发
    上行指令分发指数据接口设备接收到机载收发组合的数据后,发送到相应的设备中去。上行指令采用统一的帧格式,如表1所示。

    其中,A为同步码0xFF,B为帧识别符(设备1为0X11,设备2为0X22,设备3为0X33)。数据接口设备首先判断数据是否为同步码,如果是则存入接收数组中,接收剩余的28 B数据。然后,根据帧识别符B,发送该帧数据到相应的端口。
2.2 下行数据发送
    下行数据发送指接口设备将机载设备产生的数据信息发送到收发组合中。每个机载设备的数据发送速率各不相同,为保证数据准确性和实时性,程序分别建立了相应的环形接收缓存。接口设备定时从环形缓存中取出数据组合后送到收发组合中。

    图4给出了发送数据流程图。数据发送为定时模式,定时时间到后,建立发送数组并初始化,程序首先判断接收索引IndexIn与发送索引IndexOut是否相等,如果相等,则表明环形缓存中无数据,跳出发送流程,否则进入发送流程。取IndexOut指向的当前分区数据到发送数组,同时IndexOut指向下一分区。数据在接收和发送过程中,可能出现IndexIn与IndexOut相等的情况,因此在环形缓存中接收完一帧数据后判断两者是否相等,如果相等,则IndexOut自增1,使得进入发送流程中后,两者不相等,保证了发送的进行。

 

 

    当变量IndexIn和IndexOut指向缓存最后一个分区时,将两变量重新赋初始值,分别进行下一循环的数据接收和发送。程序为接收设备1数据开辟6×32 B大小的缓存区,为设备3开辟2×80 B的缓存区。每次从存有设备1数据的缓存中取两帧数据,从存有设备3数据的缓存中取一帧数据,组合后发送到机载收发组合。设备1的数据发送速率为38 400 b/s,而设备3为19 200 b/s。因为数据接口设备主频最高为300 MHz,所以不会出现缓存区开辟过小导致数据溢出的现象。
    环形缓冲技术采用的线程机制实现了数据接收和发送的并行工作,通过对接收线程当前数据分区索引号IndexIn和发送线程当前数据处理分区索引IndexOut的有效控制,可以跟踪并且及时处理缓存中的分区数据,避免缓存区数据覆盖和数据的漏移。
3 试验验证
    根据上述流程框图编写好软件后,下载到PC104主板上的DOC中。启动路径指向当前程序所在位置,设备上电后自动运行程序。试验在两台PC机上进行,一台模拟收发组合,另一台模拟设备1、2和3。因为PC机上串口有限,采用MOXA卡进行了串口扩展。数据的发送和接收采用串口精灵软件。试验过程中没有出现数据丢失现象,表明设备性能良好,可以正常工作。
    本文介绍了一种采用环形缓存技术的数据接口设备。经在无人机上验证,该设备可以很好地完成数据接收和发送任务,避免数据丢失现象。产品可扩展性强,可以用于其他无人机系统,具有广泛的应用前景。
参考文献
[1] 姚章俊,陈蜀宇,卢尧. 一种高性能环形缓冲区的研究与实现[J]. 计算机工程,2012,38(8):228-231.
[2] 王蕾, 潘梁, 吴国斌,等. 基于数字广播的大数据量接收与存储策略[J]. 计算机工程,2008,34(24):233-237.
[3] 余泓利,习勇,马东堂. 一种基于ARM和FPGA的环形缓冲区接口设计[J]. 电子技术,2011(09):53-55.
[4] 张稳稳,欧阳娴,白永林,等. PC104串口通信在工程中的应用[J]. 微计算机信息, 2006,22(1-2):57-59.

此内容为AET网站原创,未经授权禁止转载。