《2022年嵌入式软件系统设计方案中的正交性分析 .docx》由会员分享,可在线阅读,更多相关《2022年嵌入式软件系统设计方案中的正交性分析 .docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_嵌入式软件系统设计中的正交性分析嵌入式软件系统设计领域存在“正交 ”的思想.本文结合实际工程体会,总结了软件系统正交化的方法,同时较全面的分析了正交性给嵌入式软件设计带来的诸多便利,最终回忆“正交”思想对不同自然科学领域的积极影响与启示.关键词嵌入式软件设计正交性小波1 小波漫谈小波变换是 20 世纪最辉煌的科学成就之一,已经广泛应用于信号处理、图像分析、非线性科学、的球科学、音乐雷达、CT 成像、的震勘探、天体识别、量子场论、机械故障诊断、分形等科技领域.20 世纪初,哈尔 Alfred Haar对在函数空间中查找一个与傅里叶类似的基特别感兴趣. 1909 年他最早发觉和使用
2、了小波,后来这被命名为哈尔小波Haar wavelets.20 世纪 70 岁月,当时在法国石油公司工作的的球物理学家Jean Morlet提出了小波变换WTWavelet Transform的概念. 进入 20 世纪 80 岁月,法国科学家Y.Meyer和他的同事开头讨论系统的小波分析方法.1985 年, Daubechies提出 “正交小波基 ”,并构造具有 紧支撑的光滑小波,以及随后Mallat 提出的多辨论分析及快速小波变换,将小波讨论推向高潮.小波分析己经成为目前进展最快和最引入注目的学科之一,几乎涉及信息领域的全部学科.为何 “正交小波基 ”与多辨论分析的提出成为小波分析进展史中的
3、重大突破成就?主要缘由之一是:变换系数没有冗余,能够将信号分解成互不影响的正交子信号,这样就可以依据需求便利的对所需特点的子信号进行分析,从而很好的反映信号的细节.2 嵌入式软件系统设计的正交性其实,在软件系统设计领域同样或多或少存在“正交 ”的思想.一个常被引用的模式是Smalltalk编程语言 框架.该模式强制性的将软件系统的输入、处理和输出分开,形成数据模型、视图、掌握器三大模块,如图 1 所示.图中 “数据模型 ”包括程序的设计部分,“视图 ”表示用户界面, “控制器 ”定义用户和视图的交互方式.图 1模型视图掌握器框架其中每部分都是一个独立的对象,每个对象有自己处理数据的规章.这种功
4、能的分别恰巧促成各个模块的正交性、削减它们之间的冗余,因此也使该框架成为应用最为广泛的模式之一.2.1 设计正交嵌入式软件系统可编辑资料 - - - 欢迎下载精品_精品资料_毫无疑问,正交的思想使得系统设计更加清楚和便利.那么如何才能更好的使嵌入式软件系统具有 “正交性 ”了?1 ) 设计具有正交性的系统体系结构进行系统设计第一要进行系统的体系结构设计.系统的宏观设计同样也表达正交性思想,如图 2 所示.图 2 系统体系结构其中,底层驱动与RTOS 是唯独与系统硬件相联系的模块,直接负责与硬件打交道,对硬件进行治理与掌握,并为其上层模块供应所需的驱动支持.调度程序在RTOS 支持下,依据系统需
5、求对不同的任务模块进行实时调度与治理,确保全部任务能顺当、均衡的执行.最上层的任务模块具有不同的功能,以满意用户需求,它们各自独立、正交、不存在冗余,同时供应相应数据接口,以便与其他模块通信,形成有机整体.整个系统体系结构同样表达了正交思想,各个层的不同模块负责相互独立、正交的任务.从垂直角度看上去,该体系结构同正交小波一样,可以用多尺度空间思想表示,如图3 所示.越核心的的方,功能轮廓越粗略.越到外层,越表达细节、越贴近用户需求.图 3 多尺度嵌入式软件体系结构2 ) 保持模块间的松耦合划分软件模块时很重要的一个原就是:尽可能的保证各模块间的松耦合和模块内部的高聚合.这实际上就实现了系统的正
6、交化,削减了模块间的冗余与关联.抱负的系统结构呈树状,如图 4 所示.图 4 嵌入式系统的抱负树状结构整个系统呈树状结构,模块间的连接只能存在上下级之间的调用关系,不能有同级模块之间的横向关系,即不能显现网状结构或交叉调用关系.如图 4 所示,通过调用 I2C 总线读写子模块可以实现I2C 一主多从通信子模块以及RTC 和 EEPROM的读写子模块,但是这些子模块之间彼此不能相互调用.所以,当系统 对 EEPROM没有需求时,可以便利的将EEPROM读写子模块移除,而不会影响到其他模块.3 ) 保持任务间的松耦合嵌入式系统中经常会用到RTOS ,依据系统需求确定不同的任务以及任务执行的频率或次
7、序.在满意需求的前提下,尽可能的保证每个任务有固定的执行周期,由于这样可以让任务依据既定频率执行,削减任务间的通信和调用,同时也增强了系统的可预见性.可编辑资料 - - - 欢迎下载精品_精品资料_例如,系统 SPI 通信解读任务 即 ProcSPI 任务)的执行频率为10 Hz ,为了保证通信正常,需要一个任务实时检测SPI 通信是否显现故障即 FaultSPI任务).为说明简便,假设 SPI 通信故障的唯独来源是数据解读时校验不通过,并且当出错概率超过50% 时即可判定 SPI 通信故障.图 5 所示为 FaultSPI任务被调用的 2 种方式.图中, MCscheduler为系统调度程序
8、,能以固定频率调用不同的任务.图5a )说明每次解读 SPI 数据时,都直接触发FaultSPI任务.明显,依据需求,该方式做了很多无用 的判定.图 5b )说明 FaultSPI任务由系统调度程序以1 Hz 的频率调用.该任务只需要确定 SPI 数据有 5 次以上校验错误,即可判定SPI 通信故障.这种方式排除了2 个任务的直接调用关系,即保持了任务间的松耦合. 、SetTime 、GetFault 、PushFault等,这些子模块可能会调用相同的函数或方法,也可能会使用同一个属性变量,假如将这些子模块归在一起,封装成一个文件,那么这些被调用的函数、方法或变量就不需要“extern声”明
9、C 语言中 ,因此对于其他文件是隐匿的、不行见的,增加了系统的安全性.另外,当不需要该功能或设备时,可以便利的将该文件从工程中移除,而不会影响到其他模块的工作.5 ) 防止编写相像函数功能相像的函数往往很难保持正交性,所以应当防止相像函数的显现,或者将其统一成一个函数.比如,一个系统存在着多种通信方式,而在通信过程中,经常需要开发者确定自己的通信协议以及校验方式.假如每一种通信方式都编写自己的校验函数,就增加代码量的同时,也使得系统通信校验函数过于零散.在设计时,可以考虑统一系统中的通信校验方式,编写一个校验函数,以支持各类通信的校验.这样既能使系统简洁,同时也便于保护.2.2 正交嵌入式系统
10、的好处正交思想几乎触及到自然科学的各个领域,利用该思想来进行嵌入式软件系统设计同样存在诸多优点.图 5 FaultSPI任务调用方式1 )便利单元测试在整个软件开发周期中,软件的测试工作占据着相当重要的比例,甚至会超过整个周 期的 50% .假如等到全部代码都编写完成之后才开头测试工作,那么,软件系统不同层面以及各个任务模块中的众多Bug ,经常会使程序员无法理清思路,从而不能判定问题的根源.所以在进行系统集成测试之前,应当将各个模块的Bug 削减到最低,这也就需要在编可编辑资料 - - - 欢迎下载精品_精品资料_写各个模块时,进行有效的单元测试.而保证单元测试顺当有效进行的前提是,该模块有
11、 很高的独立性,这也正是正交性解决的问题.图6 所示为嵌入式软件系统的测试流程.图 6 嵌入式软件系统测试流程2 ) 更易于保护经常有软件系统保护的人员发觉了系统存在的问题,却不敢轻易改动,特殊是系统底层部分.缘由很简洁:系统始终运行良好,没有出错,而且由于没有完整的文档说明,担忧改动之后会显现新的问题.这种担忧折射出的是:程序员对眼前软件系统是否具备较好正交性的疑虑.所以一个具有较好正交性的嵌入式软件系统,能够让软件保护人员更快、更顺当的接手,提高保护效率的同时保证很高的正确性.3 ) 便于移植硬件的更新速度相当之快,要降低产品升级成本、加快升级速度,必需让软件系统具备很好的可移植性,特殊是
12、嵌入式软件系统中与硬件没有直接关联的应用层部分.一个正交嵌入式系统正好从垂直方向保证了系统各层之间的独立性,很好的将应用层与物理层分别开来.4 ) 便于协同开发DSP 与 ARM 较传统 MCU 的优势之一,是使用了流水线技术,使指令能并行执行.对于软件,同样期望能并行协同开发.正交嵌入式系统各个模块相互独立,只要定义好各模块的接口,软件开发人员并不需要等待其他模块完成就能开展工作.图7 所示为正交嵌入式软件系统的开发模式.正交的嵌入式软件系统,能够特别便利的将系统分为互不干扰的独立模块.每个软件开发人员或开发团队负责不同的模块,并行的开展工作.开发人员在开发过程中能够相互沟通 如图 7 中虚
13、线箭头所示),甚至可以随时帮助同伴攻克难题.图 7正交软件系统开发模式3 小结在众多讨论领域,人们很早就开头借助正交性思想来帮忙解决种种问题.从欧氏空间线性变换到经典力学中物体受力分析,从傅里叶变换到信号处理,从小波分析到的震勘探、量子场论、信号处理包括图像和语音)、机械故障诊断以及JPEG2022标准的制定.这些都是借助正交性思想,将对象分成多个相对独立的部分,进而对各部分单独进行讨论,从而化繁为简.在嵌入式软件设计中,也存在类似的思想,正交的嵌入式软件系统能够降低系统各模块间的依靠性,从而使系统更易于保护、便利测试,也更加简洁实现系统的移植.从软件开发过程的角度来看,正交性思想仍能够帮忙研发团队并行作业、协同开发,削减了等待时间,大大提高开发效率,因此该思想值得软件设计人员探讨和利用.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载