MCU嵌入式系统的领域分析方法

发布者:JoyfulSerenade最新更新时间:2015-04-15 来源: eechina关键字:MCU  嵌入式系统  领域分析 手机看文章 扫描二维码
随时随地手机看文章
1 前言

MCU(Micro Controller Unit),又称单片机 (Single Chip Microcomputer),是指随着大规模集成电路的出现及其发展,将计算机的 CPU、RAM、ROM、定时数器和多种 I/O接口集成在一片芯片上,形成芯片级的计算机。当前 MCU嵌入式系统之间各自封闭开发,不同系统之间的重复工作比较多,大大增加了软件开发的成本和周期,同时系统的可靠性却得不到保证,MCU嵌入式开发面临着软件规模和复杂性迅速扩大、开发时间紧张,同时又要保证开发质量的问题。因此,迫切需要新的嵌入式软件开发技术。

1968年,Mellroy在其论文“大量生产的软件构件”中首次提出软件复用的思想,其目的在于探索利用“为了复用目的而设计的软件成分”生产软件的过程,得到人们的高度关注。在各种软件重用方法中,基于构件的软件开发技术 (Component-Based Software Development CBSD)也是人们研究的热点,并且在实践中也取得了良好的效果。

构件化的软件过程可以分成领域工程(开发构件)和应用过程(使用构件开发应用程序)两个独立的子过程。领域工程是可复用软件资产生产的主要技术手段,它包含领域分析、领域设计和领域实现 3个阶段。在整个软件的复用过程中,领域分析是其关键,只有通过领域分析才能得到相似系统中的可复用资产(领域模型、软件体系结构、可复用构件等)从而进一步支持领域中新系统开发的复用。因此形成在 MCU嵌入式系统中的有效的领域分析方法是极为重要的。

2 MCU嵌入式系统开发模式及现状

2. 1MCU嵌入式系统开发的模式

目前 MCU嵌入式系统的软件流程基本以包含人机界面处理的主流程 (缓处理)、外部非同步中断处理(急处理)、时序输入为中心,再加上机芯控制处理 (按照一定规则处理)等各种其他控制组成。MCU每完成一种功能,其处理过程都遵循 IPO模式(Input,Process,Output),如图 1所示。

1.gif 
图1 IPO现状

对于每个模式来说,它的输入参数,输出结果都是固定的格式,所以对于一个成熟的模式来说,它的行为是确定的,约束是明确的。因为这些特点,可以很明显地观察到 MCU嵌入式系统领域所具有的内聚性,和稳定性。

因为领域的内聚性,我们可以使用相对较少的、有限的可复用信息来反应整个领域的需求,以及应用。因为领域的稳定性,我们通过领域工程所得到的成果,可以对进行领域工程所花费的人力、物力在将来的工作中得到补偿。

2.2 MCU嵌入式系统开发的现状

MCU的应用能够深入人类生活的各个方面,关键的原因在于能够通过对软件的灵活定制以达到不同的功能从而针对不同的应用。随着功能的日益增长,MCU嵌入式系统的开发难度也随之加大。如果内藏 ROM容量在 8K字节之内,有经验的技术人员可以单独一人花费 2-3月用汇编语言进行软件开发,而超过 16K的 ROM想要单独完成会更有困难。特别在消费电子领域,产品的更新换代从以前的年为单位到现在的以月甚至以周为单位,这导致在以产品质量为生命的企业中,发生质量问题而不得不大量召回产品造成巨大损失的情况屡见不鲜。值得注意的是,在开发中,有经验的开发者通常会选择性的复用以前的工作成果(代码、软件体系、工具、文档),但这种复用一般是个人的,复用的来源也是个人以前的经验成果。在一个特定的领域中,例如一个企业中,这样的复用是经常性的,它们有着以下的特点:

· 一个领域内可复用的资源和复用的机遇是非常多的,但通常情况下无法对可复用资源进行管理,无法决定何时复用以及复用的方式,从而无法对产品的质量进行有效控制。

· 一个领域内掌握某种复用资源的往往是个体,复用资源无法共享,造成资源的浪费和生产力不能进一步的提高。

· 由于掌握资源的个体的离开,导致资源的损失 ;新加入的个体无法系统地取得这些资源,而导致工作效率的降低。

这种复用被称为个人复用(ad-hoc reuse)。如果能够对领域内资源进行有效的整合,通过更有效的方式进行管理、复用,将能进一步提高软件产品的生产效率、降低生产成本以及提高产品的质量,这种方式被称为系统复用 (systematic reuse)。领域工程正为解决这一系列的问题提出了解决方案。

3 领域工程与领域分析

3. 1领域的含义

领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域。领域可分为水平领域和垂直领域:水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数据库系统、工作流系统等 ;垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域,而我们的 MCU嵌入式系统领域则属于垂直领域。

3.2领域工程

领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可重用的软件构件的所有活动。领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生领域中应用共同具有的体系结构,即特定领域的软件体系结构 (Domain Specific Software Architecture DSSA),并以此为基础,识别、开发和组织可复用构件。[page]

在进行领域工程的活动中,通过对领域相关知识进行系统的交叉对比,能够形成一系列的标准。这些标准对构件的选用,以及新构件的产生形成规约,从而指导和规范新产品的开发。同时,由于这些选择是经过了长期时间和实践的论证,所以这些标准也是具有科学性的。当我们要进行同一领域新系统的开发时,只需要根据领域模型,确实新的需求规约,再根据特定领域的软件体系结构形成新的系统设计,并依据相关的标准选取,构造构件,组装到新系统中。这样新系统的质量以及开发效率都将得到可靠的保障,公司也能通过对行为的规范对整个开发流程进行管理、监控。

3.3领域分析的含义及方法

在系统化的软件复用中,充分的可复用信息的存在是非常重要的。这些信息需要被显示地表示,以便在开发过程中被复用。这些可复用信息,和为方便地定位和操作它们的一些辅助信息一起构成了复用基础设施。领域分析的目的是为了建立这些可复用的基础设施,它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程”。

领域分析的三个关键过程为:①领域边界确立:通过对已有技术资料,典型系统的分析上,综合领域专家的意见,定义出领域分析的范围和边界,同时收集开展领域分析工作的必要信息;②领域建模阶段:根据在领域边界确立阶段得到的领域边界以及收集到的领域内相关信息,利用相应的建模知识和工具建立具备描述领域内应用系统数据和能力共性与变化性特征的领域模型;③软件体系结构建模阶段:通过已经得到领域模型,以及领域内设计的相关标准建立描述领域内特定问题解决方案的软件体系结构模型(DSSA)。

4 MCU嵌入式系统领域分析方法

4.1 MCU嵌入式系统领域的领域边界确定

在这里,并不是打算选择一个适合所有 MCU系统开发的领域,而是选择一个相对狭小的领域,如家电制造行业中的空调行业。在这样的行业中,由于产品要实现的基本功能在很长一段时间内基本固定,客户的需要相对稳定,使得针对同类产品的领域中,有很多的功能是相同的,软件的体系结构是相同的。这为领域分析提供了非常有利的条件。在对这些领域进行分析的时候,资料主要来源于本领域中的典型系统、领域专家的建议、工程师的经验、客户需求、硬件厂商提供的开发包、控制理论、该领域的发展历史以及发展趋势等。当收集完这些资源后也就够成了领域分析的上下文环境,也就是领域的边界。

4.2 MCU嵌入式系统领域的领域建模

领域模型的意义在于对领域的信息通过组织,以一种令人更容易接受的方式所表现出来。它包括形式化的模型和非形式化的信息,前者是一种对解决方案的描述,后者是对领域知识的补充。对于我们所选择的领域来说,一个具体行业的软件体系结构本身就是相对稳定的,对于具体的每款产品,实现的功能会有一些细小的差别。常见的情况是,当一个原型机出现后,会在原型机上进行诸多的改款,以适应市场客户不同的需要。所以针对于这样的领域特点,我们对这阶段的过程有如下的建议:

· 形式化的模型:采取面向特征的领域模型。特征的定义一般来说是用户或客户可感知的系统特点。但各个组织也可以根据自身的特点来组织选择领域模型。

· 领域字典:领域字典是通过和领域专家的对话,以及对相关的标准进行分析而得到。领域字典的作用是为领域的参与者提供一个准确方便的交流环境。

· 统一的标识:利用一种标准化的,通用的符号系统对领域内的概念进行描述。

4.3 MCU嵌入式系统领域的软件体系结构

DSSA(特定领域的软件体系结构 )不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。它包含构件以及构件互联的规则。当开发本领域的一个新系统时,可以使用这些构件,并且按照这些规则构成满足当前系统需求的特定的系统结构 8。在 DSSA中有个比较重要的概念就是参考体系结构,它的目的是实现体系结构的复用。图 2给出一种空调控制器领域的参考体系结构 (部分)。

2.gif 
图2空调控制器领域的参考体系结构(部分)

在上图中,每一个方框代表一个构件。它的下属代表对上一个构件分解而得出的子构件。由多个子构件可以构成一个规模更大的构件,这样能够支持更高效的复用。

在 DSSA中还包括有一些的需求规约,以及对接口的描述和标准。对于 MCU嵌入式系统领域,由于诸多外设的接口是存在行业标准的,所以如何让控制这些硬件的软件也能够按照一个统一的行业标准来编写是必要而且可行的解决办法。根据标准所编写的软件可以很容易地提取成构件并使用在我们的系统之中。在实践中我们发现,从以下几个方面对这种标准进行约定是可行的:

· 软件的适用范围:如 MCU类型、应用方案等;

· 外设的硬件特性及使用方式;

· 外设控制流程的规范化:包括有算法和流程图;

· 接口参数的标准化:命名规则、类型、长度等;

· 一些相关的注意事项:如为适合国家法规而作的一些限制、相关安全性的要求;

5 总结

本文作者创新点: 作者通过对领域分析的概念,方法的介绍,针对 MCU嵌入式系统领域的特点,引出一种适用于 MCU嵌入式系统领域的领域分析方法。该方法已经应用到作者现阶段正在进行的项目中。通过实践已经证明这是一条可行而有着巨大潜力的道路,如何结合更多的手段去达到我们的目的将是今后工作的重点。
关键字:MCU  嵌入式系统  领域分析 引用地址:MCU嵌入式系统的领域分析方法

上一篇:SED1335在单片机系统中的设计与应用
下一篇:Freescale+HC08+MCU集成开发环境的设计

推荐阅读最新更新时间:2024-03-16 13:58

MCS-51单片机中断响应的三种方法解析
MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期[1]。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。 文中以定时器T1工作在定时方式1为例,晶振频率为12MHz。 1 方法1 在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个
[单片机]
MCS-51<font color='red'>单片机</font>中断响应的三种方法解析
PIC系列单片机应用设计与实例
   一.引言      在微 控制器 (Microcontroller)应用领域日益广泛的今天,各个领域的应用也向微控制器厂商提出了更高要求,希望速度更快、功耗更低、体积更小、价格更廉以及组成系统时所需要的外围器件更少;随着越来越多的各种非电子工程技术人员的应用需求,他们想把微控制器作为嵌入式部件应用到自己熟悉的领域中,还提出简单易学易用的要求。用户的需求就是厂商的市场和动力,老的半导体厂商顺应潮流不断推出新品种,新的半导体厂商则后来居上,把越来越多的外围接口器件集成到片内,功能越来越强、性能越来越高。迄今至少也有35家国外半导体厂商的微控制器进入中国市场。在这众多的五彩缤纷的微控制器中,美国Microchip技术公司的PIC系
[单片机]
意法半导体新STM32L4微控制器性能和能效领跑超低功耗阵营
中国,2017年3月17日 —— 意法半导体最新的微控制器(MCU) STM32L496和STM32L4A6延续ARM® Cortex®-M4F处理器内核的性能与意法半导体独有的超低功耗技术的绝佳组合,提高片上存储容量和图形处理能力,增加更多通信外设和更灵活的省电模式。 新产品高达320KB的片上RAM配合新增的ST Chrom-ART Accelerator™图形处理引擎,使物联网硬件和智能手表等注重功耗的设备的图形显示更加流畅。新微控制器还提供高达1MB的片上闪存、第二个CAN接口、摄像头接口和无晶体全速(FS) USB OTG控制器。新的UFBGA169多引脚封装让设计人员能够更灵活地使用新外设,以及STM32L47
[物联网]
意法半导体新STM32L4<font color='red'>微控制器</font>性能和能效领跑超低功耗阵营
单片机监控系统中,哪几个主要原硬件电路需要设计?
单片机控制的一体化监视/控制系统中,哪几个主要原硬件电路需要设计? 需要设计的主要电路有: (1) 视频、音频同步切换电路; (2) 云台、摄像机控制电路; (3) 时间、字符发生器电路等。
[单片机]
MCS-51单片机内部时钟电路详解
在MCS-51单片机芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2 。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。 1.振荡周期:为单片机提供时钟信号的振荡源的周期。 2.时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。 3.机器周期:通常将完成一个基本操作所需的时间称为机器周期。 4.指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通常含有1~4个机器周期。
[单片机]
MCS-51<font color='red'>单片机</font>内部时钟电路详解
8051单片机开发工具DIY
引 言: 目前介绍单片机应用的文章很多,但介绍单片机开发工具制作的文章却较少。由于单片机是一门实践性很强的课程,如果采用传统的开发模式,则要购买价格昂贵的仿真器、编程器等开发工具来作实验。其实由于芯片功能的日益完善,我们可以利用芯片的在系统编程(ISP)功能制作出实用而低价的开发工具。本文旨在帮助DIY爱好者开发制作出适合自己的开发工具。 1 当前常用开发模式 目前,基本上有两种开发模式可供选择:用仿真器、用编程器。 ① 用仿真器。优点:方便,可以设置断点,可以观察存储器及寄存器的内容。缺点:价格昂贵,不同类型的单片机要购买不同的仿真器;仿真器终究不是单片机,有时代码在仿真器上能通过,但在单片机中不能正常工作,反而增加了调
[单片机]
8051<font color='red'>单片机</font>开发工具DIY
51单片机【五】LED点阵屏
关于显示器的分辨率,像素,清晰度这些概念不再赘述 讲一下pitch这个比较陌生的概念:指的是两个像素点的圆心之间的距离,通常默认单位是毫米 例如:p10指的是间距10毫米的led点阵 LED的P00-P07是直接接在处理器上但是因为处理器针脚有限所以需要下面的74HC595(处理器使用3个引脚经过这个芯片产生8个并行的信号等效于使用了8个引脚) J13如果跳线OE和GND HC595将无法工作也为没有电压 而跳线OE和VCC才可以工作 74HC595是一个移位寄存器74HC595是将串行信号转为并行信号 其中P34是处理器输入串行信号 P36是串行时钟 P35是工作时钟 然后经过这个芯片处理生成8个并行的信号 接在
[单片机]
51<font color='red'>单片机</font>【五】LED点阵屏
Microchip推出40MHz PIC MCU
微芯科技最新推出的PIC微控制器(MCU)PIC18F45J10,电压为3V时频率可达40MHz。 这款8位MCU在单个28引脚封装中集成了模数转换器(ADC)、比较器、USART、SPI、I2C和PWM外设,以及32KB编程闪存。这些特性使PIC18F45J10系列器件特别适用于消费电子、家电、医疗和工业设备等各种成本价格敏感的应用领域。 从家电到消费电子等一系列成本敏感型设备的设计人员对其使用的8位MCU的性能和成本有更高的要求。PIC18F45J10、PIC18F44J10、PIC18F25J10和PIC18F24J10器件在降低了成本(降低了30%)和工作电压(3V)的同时维持了40MHz的工作性能,这是许多5
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved