文/ 韩羽铠 赵泽远 赵盈年 宋心宇 镐江川
中国民航大学 天津市 300300
摘 要
控制显示组件(CDU)是飞行控制及机务维护中重要的人机交互组件,是飞行管理系统(FMS)的输入及信息显示接口。由于其界面显示比较灵活,仿真度高的组件往往需要搭配装载有显示数据库的计算机,设备体积大,价格高,不便于携带和批量化应用。本文通过对737NG机载CDU显示及键盘逻辑进行逻辑分析,基于LORA无线传输研制了便携式CDU仿真组件,可用于飞行和机务维护教学中CDU操作的实践培训。
关键词:CDU;便携式;LORA无线传输;
一 引言
控制显示组件(control display unit, CDU)是飞行管理计算机系统FMCS重要的人机交互组件,飞行员使用CDU向飞行管理计算机输入飞行计划以及性能参数[1],同时,机务维护人员又可以通过CDU进行一些重要系统的测试,还可以通过屏显测试信息及时地隔离故障[2-4],CDU对于保证飞行安全、提高飞机可维修性等方面具有重要作用[5]。因此,开展对CDU仿真组件高仿真度的研制具有极其重要的意义。
CDU页面显示复杂,现有的仿真组件只能实现少部分页面的仿真,显示功能一般是基于组态软件仿真了部分功能,通过按键进行页面的切换,以及相关字符的输入功能,完全不具备灵活性。本文设计了CDU屏幕显示的通用操作方法,将各个界面的驱动数据存储于数据库中,按压CDU键盘时会上传上位机相关指令,调用下一帧页面数据,上位机下发整个界面的驱动数据给仿真组件,仿真组件通过解析进行屏幕的刷新更新。
二 硬件设计
2.1 CDU主板电路设计
本项目的核心板是基于STM32F103RCT6单片机进行开发的,运用C语言和Keil软件进行编写主体代码,控制CDU仿真面板的基础运行。由于此项目是模拟实际的任务指令输入、无线传输数据以及上位机的显示,所以单片机的主要功能是对于串口的使用。运用多个串口,对显示屏发送指令,使其显示相应界面;对无线传输模块发送数据,使其将数据无线传输至上位机。上位机在接收到相应的数据串后会进行显示。因此,为了更好实现此目的,对单片机的布线则需要更为严谨的操作。
在此主控板中,考虑到此装置携带及使用的便捷性,主控板采用12V移动电源供电(如航模电池),由于单片机的供电电压为3.3V,其他供电为5V。所以此电路也设计了DC-DC降压模块,确保单片机的供电安全。该电路板还搭配无线传输模块和DWIN屏显示模块,用于数据无线传输和可视化界面显示。
2.2 电源电路设计
整个CDU系统由12V移动电源(航模电池)进行供电,串口屏、键盘上的旋钮以及无线模块都需要5V电压,所以需要将电源电压12V降压到5V。12V转5V降压电路主要用XL1509芯片,电路图如图2.1所示。
图2.1 12V转5V降压电路
2.3 CDU键盘板电路设计
键盘为常用的输入设备。在CDU系统中有一个专门的键盘用作CDU的输入设备,对CDU进行操纵。一般来说,按键分为独立按键和矩阵键盘。独立按键的特点是结构简单,编程容易,但是如果所需的按键数目较多时会占用大量的IO口引脚,每一个按键都会占用一个IO口;矩阵键盘的特点是占用的按键少,但需要设计矩阵键盘的结构,如果要用个按键,则需要2×N个IO口引脚 。根据CDU标准,总共需要使用69个按键,所以采用设计8×8的64键矩阵键盘,再加5个独立按键,从而完成69个按键的键盘设计。
CDU的键盘板电路主要由8×8的64键矩阵键盘外加五个独立按键构成的69键的键盘、旋钮电位器以及多个LED灯构成。具体电路图如图2.3所示。
图2.2 CDU键盘电路设计
2.4 LORA无线模块设计
LoRaWAN是LoRa Wide Area Network(LoRa广域网)的简称,是基于LoRa技术的一种通信协议。它主要包括三个层次的通信实体:LoRa终端、LoRa网关和LoRa服务器。LORA调制是高频通信中一种调制方式,具有传播距离远并且抗干扰能力强的特点,所以选用LORA无线模块作为上位机和单片机的通信传播工具,本项目选用E32400T20S芯片来进行LORA模块的设计。
E32-400T20S是一款无线串口模块,LORA扩频方案,拥有空中唤醒功能(低功耗),出厂默认470MHz抄表频段,长分包模式(197字节每包),可以满足抄表行业的应用。
SX1278支持LORA扩频技术,LORA直序扩频技术具有更远的通讯距离,抗干扰能力强的优势。该系列默认空中速率为2.4kbps,发射功率为20dbm,采用工业级晶振,保证其稳定性、一致性,精度均小于业内普遍采用的10ppm。最大发射功率为1W,软件多级可调。支持全球免许可ISM433/470MHz频段;支持0.3k~19.2kbps的数据传输速率;支持2.3~5.2V供电,大于3.3V供电均可保证最佳性能。
其中AUX用于无线收发缓冲指示和自检指示,它指示模块是否有数据尚未通过无线发射出去。或已经收到无线数据是否尚未通过串口全部发出,或模块正在初始化自检过程中。
图2.3 Lora无线传输模块示意图
三、软件设计
3.1 矩阵键盘扫描程序设计
矩阵键盘在本项目里采用8条I/O线作为行线,8条I/O线作为列线,由已经设计好的键盘硬件结构来进行键盘程序部分的设计。本键盘由1组8×8的64键矩阵键盘和5个独立按键构成的69键键盘。
为确定矩阵式键盘上何键被按下,本项目采用“高低电平翻转法”。
首先让P1口高四位为1,低四位为0,若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下的键的行位置。
然后让P1口高四位为0,低四位为1。若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置。
以此即可获得被按下按键对应的坐标。
3.2 显示界面生成程序设计
DWIN屏作为标准HMI产品采用异步、全双工串口(UART),串口模式为8N1,即每个数据传送采用10个为:1个起始位,8个数据位(低位在前传送,LSB),1个停止位。上电时,如果终端的I/O引脚为高电平或者浮空状态,串口波特率由用户预先设置,范围为1200-115200bps。如果上电时,终端的I/O引脚为低电平,串口波特率固定在921600bps。界面生产程序基于此串口接收模式进行编写。
对于本项目,界面仅由字母和字符组成,则只使用DWIN屏文本显示(功能字为0x53,0x54,0x55,0x6E,0x6F,0x98,0x45),单片机需要对其发送格式为:
Tx: AA <CMD> <X> <Y> <String> CC 33 C3 3C
Rx:无
<CMD>为文本的指令模式,其可细分为:
0x53:显示8*8点阵的ASCⅡ字符串;
0x54:显示16*16点阵的扩展码汉字字符串(ASCⅡ字符以半角8*16点阵显示)
虽然还有其他指令模式,但本项目只使用以上两种,因此不再细列。
<X>和<Y>是起始字符的位置坐标(第一个字符左上角坐标位置)。
<String>为要显示的字符串,汉字采用GB2312(0x55、0x6F;内码)或者GBK(0x54、0x6E,内码扩展)编码,显示颜色由0x40指令设定,显示字符间距由0x41指令设置,遇到行末会自动换行。0x0D、0x0AB被处理成“回车和换行”。
上述则为界面显示程序的格式要求,单片机的串口发送便以此格式为基础进行扩展设计。
3.3 页面显示及其解析协议
将以上设计元件进行设计整合,则可完成CDU仿真面板的硬件实物部分。在页面显示环节,则应先将DWIN屏进行降级操作,保证程序运行的可靠性。在降完级的DWIN上,用STM32单片机的串口发送功能,不断地给DWIN屏发送16进制字符。
DWIN屏的解析协议是以ASCⅡ码为基础进行编写,对于字型(2字节)数据,总是采用高字节先传送(MSB)方式。比如x坐标为100,其16进制格式数据为0x0064,传送给HMI时,传送顺序为0x00,0x64。由于本项目使用0x98指令,此指令可使用自己设计的字库来显示ASCⅡ码(或其他8bit编码的字库),则不能使用0x01-0x04的编码方法(GB2312、GBK、BIG5、SJIS)。
以此指令要求为拓展,可创建一个数组为一个显示的字的内容,数组内的不同位置数代表字内容的不同表现形式。如数组的第一位、第二位是功能字(帧头),本项目使用的是0XAA、0X98。第七位代表字库位置,第九位代表字体型号,第十位默认为0XFF。第十四位则是处理ASCⅡ码位。数组最后三位依旧是功能字(帧尾),本项目使用的是0X33,0XC3,0X3C,代表传输结束。
通过以上原理的数组传输,搭配ASCⅡ码中的空格和回车字符,即可设计出符合标准的界面显示。
四、实验与验证
采用Prepar 3D(P3D)模拟飞行软件对CDU仿真面板显示及键盘输入功能进行验证,通过共享内存方法获取到P3D软件CDU页面显示数据,按一定格式通过无线终端下传到仿真组件,仿真组件收到屏幕驱动数据进而解析显示,同时,按压CDU键盘可以上传按键指令,屏幕显示数据只要更新就会立即下传仿真组件进行刷新。如下图所示,可以看出,模拟飞行虚拟CDU显示界面与仿真组件显示一致,仿真CDU组件逼真地再现了飞行性能参数数据。经长时间键盘按压测试,屏幕刷新流畅,同时具有很高的外观仿真度与操作手感。
CDU仿真面板 (2)虚拟CDU界面
图4.1 CDU仿真面板功能测试对比
五 结语
通过对CDU显示界面的深入研究,熟悉掌握了界面显示各个要素,包括符号、字体大小及特殊颜色显示,将显示页面通过特定格式的协议存储于数据库中,实现了CDU界面显示的扩展灵活性,降低了逐个页面开发及显示功能逻辑开发的难度。测试结果表明,该仿真CDU组件能够直观地显示飞行参数及维护信息,可以通过高仿真手感的键盘实现人机交互,硬件运行可靠,成本较低,对航空类院校进行大规模实践操作培训具有非常重要的意义。
参考文献
[1]王洛锋.多功能控制显示组件仿真研究与教学应用探究[J].电子测试,2019
[2]周旋,顾宏斌.飞行仿真中基于嵌入式Qt的CDU仿真模块设计[J].长沙航空职业技术学院学报,2014
[3]张文林,周德新,樊智勇.基于ARINC739规范的控制显示组件仿真系统研究[J].计算机测量与控制,2014
[4]王建良,戴军.控制显示组件T1200电路分析及几种故障隔离[J].轻工科技,2016
[5]廖峰,郑书朋,侯伟钦,姜洪洲.一种高逼真度的控制显示组件仿真方法[J].计算机工程,2011
中国民航大学“大创计划”资助,项目编号:202010059039