基于数话同传的无人机车外控制器设计
无人机是一种有动力、可控制、能承载多种任务设备、执行多种作战任务并可重复使用的战术飞行器,其零伤亡风险和高机动性等优势引起了各国军方的高度重视。无人机飞行过程可简单划分为起飞、高空飞行和降落三部分。高空飞行阶段飞行环境相对稳定,常采用无人机自主飞行方式,无需对其飞行姿态做太多人为干预。但是在起飞和降落阶段无人机的速度变化大,姿态调整频繁,起降场地地形、气候等诸多复杂因素对无人机的安全造成巨大威胁,是无人机实验任务飞行中的事故多发时段,因此在起降阶段进行即时、准确的人为调整是保障无人机飞行安全的重要手段。现阶段部分无人机型号采用有线的车载地面站外部(车外)控制器方式,让地面操作人员通过近距离观察无人机的姿态来实时遥控无人机。无人机车外控制器使用示意图见图1。
国内车外控制器设计研制之初考虑到地面站内人员和车外人员的交流,加入了语音通信功能,但开始只是应用对讲机进行通话,而对讲机是单工通信机制,通话时易形成竞争;后来部分单位在有线车外控制器的信号传输线缆上增加了模拟语音,实现了车内测控台和车外控制人员的双工通信,而模拟语音容易自激,通话易受干扰。
基于已有无人机系统的应用经验,设计了一种数字语音和遥控数据共同传输的新型无人机车外控制器。本文将对其设计组成、尤其是数话同传技术的实现方法进行详细说明,最后对其测试和应用环境进行介绍。
1 车外控制器的设计组成
1.1 系统设计组成
无人机车外控制器系统设计组成见图2。
(1)车外控制器遥控数据的产生和采集
通过车外操纵手对车外控制器各机构(摇杆、开关和微调)的操纵,引起内部电位器和电开关变化进而引起电信号的变化。变化的电压通过信号调理电路发送到微处理器(MCU),由MCU内部的AD模块进行处理;变化的数字量直接输入到MCU。MCU把当前的遥控数据显示到液晶显示屏上。
(2)车外控制器语音数据的产生和采集
车外操纵手可通过麦克将自己的语音输入到AD模块,数字语音以9.6 kb/s的速率被音频编码器(ENCODER)编码接收,同遥控数据一起被MCU采集,速率为1 Mb/s。
(3)车外控制器遥控和语音数据的传输
遥控和语音数据在MCU中被组成的遥控/语音数据复合帧以20 ms的帧周期更新,通过对外的RS232/RS422可切换接口输出至地面站,便于不同的地面站兼容。
(4)方舱语音数据的接收
由于采用双工通信,地面站方舱内人员的语音数据通过RS232/RS422接口输入到车外控制器的MCU中, MCU对语音数据帧中的语音数据进行提取,以1 Mb/s的速率发送到音频解码器(DECODER)进行解码,以9.6 kb/s的速率输入到DA电路产生模拟语音,语音可通过耳机被车外操纵手接听。
需要说明的是,方舱里内置一个语音采集器,其内部的语音采集、接收和发送模块与车外控制器内部设计原理一致;车外控制器和语音采集器之间可采用长度为120 m的线缆连接,扩大了车外操作手的活动范围。
1.2 硬件设计关键点
(1)芯片的选型
MCU采用Cygnal公司生产的C8051F022单片机,其外围电路主要包括信号调理电路,数字和模拟信号经调理后输入至C8051F022;RS232/RS422接口电路由MAX3232和MAX3490构成;数字语音编解码电路的音频AD/DA部分选用AD/DA复合功能芯片CSP1027,数字音频编码/解码芯片采用美国DVSI公司生产的AMBE1000。AMBE1000编码器的输出帧和解码器的输入帧分别见图3和图4。
如图3和图4所示,编码器输出帧和解码器输入帧的结构类似,包含帧头Header和ID值(共占1个B)及24 B的压缩语音数据,不同的是输出帧包含4 B状态位,输入帧包含4 B控制位,微处理器可根据输出帧状态位对语音数据进行处理,该状态位也可直接作为输入帧的控制位输入至解码器。为便于和8 bit MCU接口通信,AMBE的信道接口采用被动并行模式。
2 数话同传技术的实现
2.1 MCU程序设计
实现车外控制器数话同传功能的关键点之一是微处理器程序的设计。
MCU的程序流程图如图5所示。AMBE1000为主机端提供了编码包准备好信号EPR和解码包空信号DPE,在设计上将这两个信号分别输入到C8051F022的外部中断INT0和INT1端口,以中断方式读取和写入语音数据;与方舱语音采集器的数据通信通过C8051F022内部UART0功能模块实现。中断优先级设定的先后顺序为INT0→INT1→UART0。
微处理器的主程序在完成初始化中断设置和优先级后,读取C8051F022内部Flash的比例指令零点偏移(范围为0~255,标准零点为127,实际中零点常发生偏移,可利用按键调准)后,循环采集按键和进行LCD显示刷新。为便于进程间通信,程序定义了两个bool型变量用作发送标志和接收标志,3个语音数组分别用于存储从编码缓冲区读出的数据(语音数组1)、待写入解码缓冲区的数据(语音数组2)和存储静音数据的数组(静音数组)。
由EPR信号触发的外部中断0处理程序首先读取AMBE1000编码器缓冲区至语音数组1,组成遥控/语音帧,设置发送标志并启动UART0发送中断。进入串口中断0后,首先判断中断类型为发送中断还是接收中断,若为发送中断则启动发送进程,将遥控/语音帧发送至车内采集盒,之后取消发送标志;若为接收中断,则启动串口接收进程,接收方舱语音采集盒发来的语音数据,更新语音数组2,设置接收标志。由DPE信号触发的外部中断1处理程序首先判断接收标志是否有效,若无效则写静音数组至AMBE1000编码缓冲区,若有效则写语音数组2至AMBE1000编码缓冲区,之后取消接收标志,退出中断程序。
2.2 数字语音和遥控数据复用
由上述介绍可知,遥控/语音帧的发送周期是由AMBE1000的DPE信号触发的,DPE信号的产生周期为20 ms,而方舱语音采集盒为异步接收,对遥控/语音帧的到达周期没有严格要求,因此20 ms的发送周期满足系统设计要求。
在遥控/语音帧的设计中,数字语音和遥控数据的复用成为实现数话同传技术的关键点,这里遥控/语音帧在设计上采用40 B/帧,帧结构如图6所示。
帧结构在设计上包含2 B帧头,1 B帧标识,10 B的遥控数据,1 B语音状态字,24 B的语音数据和2 B帧尾。
串口0采用波特率为38 400 b/s,发送单帧遥控/语音帧占用的时间为:(40×8)÷38400≈8.33 ms,满足20 ms/帧的发送周期。
3 车外控制器的测试与应用
在实验室阶段,车外控制器通过RS232接口发送至上位机调试,经串口调试助手实时记录的数据见图7。其中EB90为帧头,EE16为帧尾,带下划线的数据为帧头、语音状态字和语音数据。
在实际应用中,基于数话同传技术的车外控制器已参加过数次重大科研项目的飞行实验。经实际检验,语音通话质量良好,数据传输稳定可靠,验证了其设计的合理性,为数话同传技术拓展了应用范围。
页:
[1]