嵌入式电子飞行仪表系统的软件结构与实现.doc

嵌入式电子飞行仪表系统的软件结构与实现.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式电子飞行仪表系统的软件结构与实现

嵌入式电子飞行仪表系统的软件结构与实现 北京航空航天大学电子信息工程学院徐广毅 电子飞行仪表系统(Electronic Flight Instrument System) 以下简称EFIS 为了实现基于嵌入式电子飞行仪表系统的数据综合显示,我们选取了基于Intel StrongARM 1110的JingWei开发平台,进行核心部分包括数据接收,解码,综合计算和综合显示,以及黑匣子部分的数据记录的软件开发。为了缩短开发时间,降低开发难度,我们在操作系统的选取上采用了Microsoft公司优秀的嵌入式操作系统Windows CE 3.0。开发工具选用了Embedded Visual C,结合JingWei的SDK与PlatformBuilder进行整个硬件平台上软件部分的设计和开发。飞机上各路传感器的数据经过我们所设计的综合数据采集系统的采集后,通过串口编帧发送,JingWei通过串口1接收到数据后进行解码和校验,将正确的数据后通过系列的计算后,调用绘图函数以图形方式综合显示在彩色LCD上。另外,所接受到的数据还会保存在我们所设计的固定格式的二进制文件中,保存在JingWei的SDRAM中实现黑匣子部分的数据记录,借助我们所开发的基于X86系统的黑匣子回放软件,可以分析回放黑匣子的保存数据。 在软件上,PlatformBuilder对于专有硬件平台的操作系统的定制和裁减,Embedded Visual C++对于系统平台上应用软件的开发均提供了极大的便利,CPU的强大的数据处理能力,彩色LCD显示屏的综合图形显示,也为整个以显示为核心的系统提供了充分的保证。 对于EFIS系统的扩展部分,诸如VFR(虚拟飞行法则)与ILS(仪表着陆系统)和EFIS系统的结合等,由于时间紧迫,任务繁重,都只在理论上和实验中实现,并没有真正加入到系统中。 软件系统方案论证 操作系统 方案一 核心的操作系统部分选用开放源码的uc Linux来实现,我们可以直接修改系统的源码,经过裁减后直接编译出自己的Linux内核,接着基于这个系统来设计开发应用程序部分。这样的工作量无疑是非常大的,对于uc Linux操作系统的陌生和整个开发时间的安排以及核心的EFIS部分的工作量使我们在这个平台上的计划止步,Linux下不是十分便利的开发环境也限制了我们的能力。因此,本设计没有采用这个方案。 方案二 操作系统选用Microsoft Windows CE 3.0。Microsoft Windows CE 3.0 在众多的嵌入式操作系统的平台中一直比较优秀。Windows CE是支持多平台的可定制的嵌入式操作系统,虽然在图形界面上和Windows X86家族系列长得很像,让人们误以为是Windows X86平台的移植产品。但在实际上,Windows CE的代码全部是重新设计并编写的。它同样支持多线程,完全抢先执行和多任务的操作系统。系统在设计上采用完全的模块化结构,非常有利于裁减和编译。另外,完备的驱动程序和便利的开发环境IDE也非常有利于我们在限期内设计开发出我们所制定的较为完整的EFIS系统的目标。 图一 Microsoft Windows CE 系统配置及基本组织图 使用PlatformBuilder 3.0结合适用于JingWei的bsp包,外加模块的裁减编译后导出适合开发应用程序的SDK,使用Embedded Visual C++便可以开发编译出在这个平台上运行的软件。将我们所开发的软件和操作系统直接编译成为一个镜像文件,通过JTAG口烧写进JingWei的flashrom便实现嵌入式系统的软件硬件化。 开发环境 选择好了操作系统平台之后,所要做的便是如何选择应用软件的开发环境,摆在我们面前有两个方案: 方案一 采用Embedded Visual Basic。使用Platformbuilder可以输出EVB使用的SDK,EVB的开发环境相对直观简洁,开发难度相对较小,但是编译生成的目标代码过于繁琐,编译效率相对较低,程序运行速度较慢。对于EFIS实时显示各项数据的要求完成的并不是非常好,在熟悉过Embedded Visual C++之后,我们放弃了这个方案。 方案二 应用程序开发使用Embedded Visual C++结合SDK使用API函数直接编写WIN32程序的方式进行编码,这点不仅大大提高了编译效率,减小了目标程序的大小, C同时也具备强大的开发底层设备驱动的能力,程序执行速度更快,更加符合嵌入式系统实时性的高水平要求。当我们自行裁减Windows CE模块到处SDK后,很多的MFC类库所封装的函数将不会被包含在SDK中,因此我们放弃了MFC直接使用API编写。另外,使用API方式编码所编译出的代码

文档评论(0)

tianma2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档