嵌入式软件设计-洗衣机程序需求分析与详细设计.pdf

上传人:索**** 文档编号:85753612 上传时间:2023-04-12 格式:PDF 页数:15 大小:510.51KB
返回 下载 相关 举报
嵌入式软件设计-洗衣机程序需求分析与详细设计.pdf_第1页
第1页 / 共15页
嵌入式软件设计-洗衣机程序需求分析与详细设计.pdf_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《嵌入式软件设计-洗衣机程序需求分析与详细设计.pdf》由会员分享,可在线阅读,更多相关《嵌入式软件设计-洗衣机程序需求分析与详细设计.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-可编辑基于 DARTS的洗衣机控制软件设计1.洗衣机控制软件需求分析与说明洗衣机是日常家用电器,它是人们日常使用频率较高的家用电器,有全自动、半自动等不同类型。根据题目中提出的需求概述,结合日常生活中人们的使用习惯,在这里给出其功能需求和相应的非功能需求以及相应的外部接口等的定义和描述。1)功能需求定义和描述(1)默认状态下洗衣机处于关闭状态。用户按下电源开关后,洗衣机上电工作;当洗衣机处于工作状态时,用户按下电源开关后,无论洗衣机处于何种运行状态均断电、停止工作;(2)电源开关开启后,洗衣机默认的程序功能是洗衣、漂洗、脱水,默认水位时中等水位,运行状态是等待状态;(3)洗衣机有运行状态和等

2、待状态;当用户按下暂停启动开关后,若洗衣机原来处于等待状态,则转入运行状态,执行等待状态时的程序执行状态;若洗衣机处于运行状态,则转入等待状态,并保存程序的执行状态;(4)当洗衣机处于运行状态时,用户的程序控制,即洗衣、漂洗、脱水按键和水位按键的输入无效;只有当洗衣机处于等待状态时其输入才有效;(5)程序控制的洗衣、漂洗、脱水这三个键可以按下一个、两个或者三个,洗衣机总是按洗衣-漂洗-脱水的顺序执行程序并且只执行用户选择的程序;(6)水位按键每次只能选择高、中、低三种水位的一个值;(7)洗衣机显示面板显示洗衣机的电源状态、暂停启动状态、当前执行的程序以及即将执行的程序和水位状态,并且能根据用户

3、输入以后及时改变显示信息。2)非功能需求定义和描述(1)洗衣机开关机的响应时间控制在500ms以内;-可编辑(2)洗衣机在运行状态和等待状态之间的才换控制在800ms 以内;(3)洗衣机功能和水位的输入控制在600ms以内;(4)洗衣机显示面板的响应控制在1200ms以内;(5)这里假设洗衣机洗衣用600s 的时间,漂洗用300s 的时间,脱水用100s 的时间。3)外部接口描述外部接口描述如下所述:共有八个按钮,分为四组,分别是电源、暂停/启动、程序控制和水位。按钮旁边的指示灯显示每个按钮对应的状态:电源指示灯亮表示电源打开,暗则表示关闭;暂停/启动按钮亮表示正在运行,暗表示处于暂停状态;程

4、序控制按钮亮表示正在执行或者将要执行,暗则表示不能执行;水位按钮亮表示当前处于某个水位。4)系统状态变迁图电源暂停/启动漂洗甩干高水位中水位低水位洗涤-可编辑2.洗衣机控制软件系统设计以及数据流分析根据以上所提出的需求,相应的数据流图如下所示:断电态通电等待态通电执行态电源打开电源关闭程序 水位控制启动暂停电源关闭-可编辑说明:(1)洗衣机程序状态信息是一组数据,包含四个项:电源状态、运行情况、程序状态和水位信息,与输入面板的相对应;读取按键输入按下按键按键有效性检查按键输入按键输入处理按键有效无 效处理按键无效洗衣机状态信息查看程序状态状态信息按键状态转换状态信息有效按键输入定时20 个时钟

5、中触发信息状态判断器输入信息定时10 个时钟中面板输出触发信息状态信息改变显示管状态信息解释程序信息状态变化信息发动机机械、电信号信号响应动作输出定时15 个时钟中触发信息洗衣机状态、指令集指令信息-可编辑(2)时钟中断的时间间隔是20ms,通过具有一定频率的时钟中断来查看当前洗衣机程序执行的执行情况、按键输入和面板输出,以提高效率、降低复杂性。(3)洗衣机状态、指令集是洗衣机在装变为相应状态的时候所需要运行的指令等,这些设局存储在快速读写存储器之中,读取这些数据的时间非常快,在100ms 的量级。3.洗衣机控制软件任务划分以及任务模块设计1)洗衣机控制软件任务划分根据设计的数据流图,洗衣机程

6、序的任务划分如下图所示(在数据流图中被划入相同的任务的数据处理过程用相同颜色的虚线方框来表示):-可编辑进行以上任务划分的理由:在 DARTS 设计方法中,划分任务的原则包括以下几种:I/O 依赖性、功能的时间关键性、计算需求、功能内聚、时间内聚和周期执行,正是根据以上原则进行整体考虑得到以上读取按键输入按下按键按键有效性检查按键输入按键输入处理按键有效无 效处理按键无效洗衣机状态信息查看程序状态状态信息按键状态转换状态信息有效按键输入定时 20个时钟中断触发信息状态判断器输入信息定时 10个时钟中断面板输出触发信息状态信息改变显示管状态信息解释程序信息状态变化信息发动机机械、电信号信号响应动

7、作输出定时 15个时钟中断触发信息洗衣机状态、指令集指令信息-可编辑的功能划分。(1)按键输入任务:功能内聚原则;(2)中断定时任务:周期执行原则;(3)洗衣机状态信息处理任务:计算需求和功能内聚原则;(4)信号输出任务:I/O 依赖性原则。另外,为了提高效率,将数据流图中的洗衣机状态信息和洗衣机状态指令集整合在一起作为洗衣机程序的信息存储,以便各个任务的访问能够有一个统一的入口。2)洗衣机控制软件任务接口-可编辑3)任务模块设计(1)按键输入任务按键输入任务的主要功能是在面板上的按键按下以后,得到正确的按键信息传递给状态信息任务对按键信息进行处理。这里的正确信息是指每次只能有同一种类的按键信

8、息按下,比如不能同时按下暂停启动键和洗衣程序任务键或者洗衣程序任务键和水位键等。而且需要将按键的电信号转换成可以识别的程序信号传递下去。按键输入任务的数据流图如下所示:洗衣机信息存储按键输入任务信号输出任务状态信息处理任务中断定时任务触发信息触发信息按键输入消息队列存储信息消息队列存储信息消息队列修改存储信号面板、动作输出按键输入-可编辑按键输入的模块结构图如下所示:(2)状态信息处理任务状态信息处理任务的主要功能是(1)每隔一段时间,把得到的按键输入转换成为相应的状态信息,根据得到的按键输入和当前的运行信息进行比较得到一个正确的运行信息写入信息存储器;(2)每隔一段时间,将运行信息传递给信号

9、输出单元执行要运行的程序。状态信息处理的数据流图如下所示:读取按键按键输入提取按键信息错误信息处理按键信息转换按键信息传递不同类型按键相同类型按键传递给状态信息任务忽略按键信息按键类型判断读取按键按键信息提取、判断错误信息处理正确信息传递-可编辑状态信息处理的模块结构如下所示:定时信号得到按键信息是得到运行状态信息按键信息洗衣机信息存储运行信息按键信息与运行信息判断是否有按键是按键是否与运行信息矛盾否写入运行信息运行信息发送状态变化信息状态变化信息定时信号得到运行状态信息否运行信息判 断 信 息是 否 应 该改变否是不予相应,空操作更改的运行信息-可编辑(3)中断定时任务中断定时任务的主要功能

10、是为程序的执行提供时间控制,状态信息处理和信号输出均需要中断定时任务的控制。中断定时任务为每一个需要的任务设置定时器,如果定时器时间到达就发送触发信息,并重置相应的中断定时器。中断定时任务的数据流图如下:获取按键信息状态判断运行信息更改动作信号传递查看运行信息-可编辑定时器的任务模块如下所示:判断 20个定时时间是否到是重设 20 个定时时间,发送处罚信息否定时器重置信号设置定时器定时器是指减 1 定时器设置信号触发信息判断 15个定时时间是否到时钟中断是重设 15 个定时时间,发送处罚信息否定时器重置信号设置定时器定时器是指减 1 定时器设置信号触发信息判断 10个定时时间是否到是重设 10

11、 个定时时间,发送处罚信息否定时器重置信号设置定时器定时器是指减 1 定时器设置信号触发信息-可编辑(4)信号输出任务信号输出任务主要是将程序的执行状态转化为用户可见的显示和洗衣机的动作输出。其数据流图如下所示:设置定时信息发送触发信号获取定时信息判断 10个定时时间判断 15个定时时间判断 20个定时时间重置定时信息是是是否否否-可编辑信号输出任务模块如下所示:4.主要的功能流程设计通过以上的分析与设计,程序框架基本建立,大部分模块的形成和设计如上面设计过程中的功能所示,这里对按键输入任务中的按键提取、判断和状态信息处理任务中的状态信息处理的算法实现进行描述。按键提取、判断的流程:当得到输入

12、键值以后,检测按键的类型,如果类型大于1 便认为是错误输入;按键的程序执行状态读取执行信息存储显示面板输出触发信息状态、指令读取状态和指令比对,选择正确指令指令转化为电信号,出书信号状态改变信息状态改变信息,指令信息指令信息电信号运行信息指令信息执行信息读取显示面板输出指令转换、电信号输出-可编辑类型等于 1 则认为是正确输入,才能将其进行传递。状态信息处理的流程:(1)如果输入的是电源开关按键值,直接传递给动作输出信号任务改变电源状态,并将洗衣机状态信息设为初始状态,因为电源状态在洗衣机软件中具有最重要的地位和最高优先级;(2)如果输入的是暂停启动按键值,应先判断电源状态是否为开,如果为开启状态就改变运行状态为相对的状态,如果为关则将洗衣机状态设置为初始状态,因为在电源为关闭的状态下不应检测到该按键值,这说明系统运行信息被非法修改;(3)如果输入的是运行程序值,同(2)一样首先判断电源是否开启,处理方式相同;然后判断是否处于暂停状态,如果处于运行程序状态则忽略输入值;如果处于暂停状态,则修改相应的运行信息;(4)如果输入的是水位值,则首先执行同(3)的判断过程;然后检查当前的运行程序是否是脱水,如果是脱水程序运行则忽略水位值信息,否则设置水位值。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁