第5章补充软件系统设计分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补充: 软件系统设计概述 1.开发环境及编程语言 2.软件系统结构分析 3.软件系统的规划 4.软件设计步骤 5.实例分析 智能电子系统已不再是简单的硬件实体,而是硬件、软件相结合,软件决定系统智能的高低。 智能电子系统中软件的主要功能 采集信息 与外界对话 记忆信息 处理信息 控制功能 自我测试 自补偿自适应/自校正自学习 一.软件开发环境及编程语言 1.开发环境选择 A.裸机环境 所有程序都必须由开发者来设计 B.操作系统环境 只须完成系统各项任务的程序设计,而任务的管理调度等基本操作由具有“实时多任务操作系统”内核的单片机操作系统来完成 2.编程语言选择 A.汇编语言 必须对单片机的内部资源和外围电路非常熟悉,尤其是对指令系统的使用必须非常熟练 主要适用于功能比较简单的中小型应用系统 B. C语言 只需对单片机的内部结构基本了解,对外围电路比较熟悉,而对指令系统则不必非常熟悉。 开发环境为基于操作系统编程 C.混合编程 在一些对时序要求非常苛刻或对运行效率要求非常高的场合,单纯采用C语言编程也有难以完成,只有汇编语言和C混合编程才能很好胜任。 1.层次结构(一完整软件系统是由若干程序模块组成的 ) A.上层模块(主程序+中断子程序) 程序在系统上电时自动执行,最后必定进入一个无限循环。各类中断子程序在满足中断条件时自动执行,最后必定执行中断返回指令。由于中断的发生是随机的,其返回地址是被中断打断的地方,通常不是固定的地址。 B.下层模块(普通子程序) 不能主动执行,只能在被动调用,最后必定执行返回指令 常用功能模块 (1)自检模块: 完成对硬件系统的检查,发现存在的故障,避免系统“带病运行”。该模块通常包括程序存储器自检、数据存储器自检、输入通道自检、输出通道自检和外部设备自检等。 (2)初始化模块: 完成系统硬件的初始设置和软件系统中各个变量默认值的设置。该模块通常包括外围芯片初始化、片内特殊功能寄存器的初始化(如定时器和中断控制寄存器等)、堆栈指针初始化、全局变量初始化、全局标志初始化、系统时钟初始化和数据缓冲区初始化等。该模块为系统建立一个稳定和可预知的初始状态,任何系统在进入工作状态之前都必须执行该模块。 (3)时钟模块: 完成时钟系统的设置和运行,为系统其它模块提供时间数据。系统时钟的实现方法有两种:一种是采用时钟芯片来实现(硬件时钟);另一种是采用定时器来实现(软件时钟)。时钟系统的主要指标是最小时间分辨率和最大计时范围,其指标必须满足系统实时控制的需要。 (4)监控模块: 通过获取键盘信息,解释并执行之,完成操作者对系统的控制。该模块实现了系统的可操作性。 (5)信息采集模块:采集系统运行所需要的外部信息,通常包括采集各种传感器输出的模拟信息和各种开关量输出的数字信息,其中模拟信息的采集由A/D转换来完成。该模块执行的实时性体现了系统对外部信息变化的敏感程度。 (6)数据处理模块:按预定的算法将采集到的信息进行加工处理,得到所需的结果。该模块设计的核心问题是数据类型的选择和算法的选择,合理的选择将大大提高数据处理的效率。 (7)控制决策模块:根据数据处理的结果和系统的状态,决定系统应该采取的运行策略。该模块的设计与控制决策算法有关,通常包含人工智能算法。 (8)显示打印模块:系统将各种信息通过显示设备或打印设备输出,供操作者使用。该模块设计中常常需要处理数据格式转换和排版格式问题。 (9)信号输出模块:根据控制决策模块的结论,输出对应的模拟信号和数字信号,对控制对象进行操作,使其按预定要求运行,其中模拟信息的输出由D/A转换来完成。 (10)通信模块:完成不同设备之间的信息传输和交换,该模块设计中的核心问题是通信协议的制定。 (11)其它模块:完成某个特定系统所特有的功能,如电源管理和程序升级管理等。 软件系统的规划就是将各个功能模块合理地组织到主程序和各个中断子程序中去。因为每个功能模块的实现都在一定程度上与硬件电路有关,因此,功能模块的安排方式并不唯一。 (1)自检模块: A.通常安排在系统上电时首先执行,即在主程序的前端调用一次自检模块 B.在时钟模块的配合下进行定时自检,即每相隔规定时间调用一次自检模块。 C.通过按键操作临时调用一次自检模块。 (2)初始化模块 安排在上电自检之后执行,即主程序进入无限循环之前进行。 (3)时钟模块 A.当采用硬件时钟时,如果时钟芯片可以输出时钟脉冲,触发外部中断,则时钟模块安排在这个外

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档