实时系统设计与分析试验报告模板(大试验版)

时间:2024.3.27

实时系统设计与分析

 

         软件学院   

         20##    

          三班      

         3005218077 

         王尽宇     

20## 414

目录

一、实验内容…………………………………………………………………………………….1

二、实验过程…………………………………………………………………………………….X

三、实验结果…………………………………………………………………………………….X

                     


一、实验内容:

1、试验题目:普通型自动喷灌机(手持操作控制器部分)

2、试验要求:

自动喷灌机可以在种植大棚内的天车轨道上往复运行,在运行过程中通过喷水装置实现对一定面积内的农作物进行灌溉。

喷水装置共有左右两个喷管,每个喷管上各有十个喷头,控制系统应可以分别控制每个喷管的开闭,自动喷灌机停止时两个喷管都是关闭的,而自动喷灌机运行时可分别设定每个喷管的状态为:双向运行时均开启喷水、仅正向运行时开启喷水、仅反向运行时开启喷水、双向运行时均不喷水。

由于每个喷管的水流量是固定的,因此喷水量是靠喷灌机的行进速度来调节的,控制系统应可以预先设定喷灌机的运行速度,并且可以分别设定正向与反向运行时不同的运行速度。

自动喷灌机的喷灌工作模式有两种,手动启动和定时启动。其中手动启动又分为启动正向运行与启动反向运行;定时启动则是预先设定一个周期时间,喷灌机进行倒计时,时间到自动开始一次往复运行,并开始下一次倒计时,如此不断循环。

另外手动启动还可以通过遥控器实现,遥控器只有启动正向运行和停止两个功能。任何时刻可以通过停止操作停止喷灌机的运行。

按键需求:正向行进速度加减键2个

反向行进速度加减键2个

左右喷管工作状态选择键2个

定时喷灌的间隔时间设置键2个(小时、分钟各一个)

参数设定完成键1个,取消键1个

喷灌管冲洗命令键1个(预留)

喷灌管转换命令键2个(预留)

正向启动、反向启动、停止键3个

手操控制器主开关1个:扳键开关

       显示内容:正向行进速度 xx.x 米/分,0.5行显示

                      反向行进速度 xx.x 米/分,0.5行显示

                        左右喷灌模式 双向、正向、反向、停止,1行汉字显示

定时喷灌的间隔时间和当前倒计时时间 xx时xx分,各0.5行显示

当前工作状态显示,1行汉字显示

                        提供8列 * 4行16 * 16点阵LCD显示(0.5行可显示8 * 8字符)

操作方式:按键修改速度、时间、工作状态,修改后30秒不按取消键将自动确认,按确认或正向、反向、停止键立即确认并执行相应动作,另外按停止键可实现重新开始倒计时。

二、实验过程:

(设计思路,功能划分,任务分配,实验解决方案等等,具体要求请参考系统说明书。。。)

1、设计思路:

开机后,TaskStart初始化系统创建4个任务Task0、Task1、Task2、Task3,并挂起Task2,Task3和TakStart。Task0任务作为控制性任务从中央控制器中读取系统参数显示在屏幕上,完成后挂起。Task1任务监听键盘输入并设置信号量,根据中央控制器的同步信号设置两个变量。其中一个变量用于记录是否是默认启动即修改后30秒内没输入,如果有则继续等待30秒,该变量清零;若无则唤醒Task2任务。Task2任务向中央控制器提交信息。另一个变量用于唤醒Task0,每分钟从中央控制器读取系统状态参数。在车辆行时过程中,Task1只会唤醒Task0或对停止键做出响应,调用Task3任务。Task3向中央控制器发出停止信号,并重置信号量和两个时间变量。

2、功能划分:

       显示系统状态:开机后从中央控制器中读取系统参数并显示到屏幕上。静止时,显示修改结果和倒计时剩余时间;运行时,每分钟从中央控制器读取一次系统状态参数。

       监听功能:监听键盘输入并根据不同的输入修改系统参数,并监听中央控制器发出的同步信号,以此作为时间计数器调度相应任务。

       启动功能:将修改后的系统参数提交给中央控制器。

       终止功能:向中央控制器发出停车信号,并重置倒计时和相关变量。

3、任务分配:

       1>变量设置:

       # difine  structure SystemParameters

{

       INT8U  POS_DIRECTION_SPEED=0;  \\ 0到6级正向速度的等级

       INT8U  NEG_DIRECTION_SPEED=0;  \\ 0到6级      负向速度的等级

       INT8U  LEFT_NOZZLE_STATE=1;                 \\左喷头状态

       INT8U  RIGHT_NOZZLE_STATE=1;              \\右喷头状态

       INT8U  START_DIRECTION;   \\启动方向,1表示正向,2为反向,0为停止

\* 倒计时的时间。默认值是30分钟 *\

       INT8U  TIMING_HOUR=0;

       INT8U  TIMING_MINITE=30;

       \* 判断为何种确认情况:值为0表示按“确认”、“正向”或“反向”键的修改;值为1表示按默认启动的修改;值为2表示按“停止”键的修改 *\

       INT8U START_WAY;

}

# difine INT8U WAITINGTIME=0; \\修改数据后的未再按键时间

difine INT8U STATETIME=0; \\ 记录时间每分钟唤醒task0

difineINT8U WHETHER_RUNNING=0; \\ 0表示静止,1表运行

difine SystemParameters systemParameters ready

2>分配任务:

       TaskStart任务,优先级为3,功能为初始化系统并创建其他应用任务后挂起。

图-1 TaskStart的流程图

       Task0任务,优先级为4,功能为显示系统的状态参数或将要被修改为的值,运行后被挂起。

图-2 Task0的流程图

       Task1任务,优先级为7,功能为监听是否有键盘输入并根据相应的输入修改与之相关的参数;接收由中央控制器发来的同步信号作为时钟。它是手持控制器的调度任务,分别根据同步信号的发来的次数和不同的键盘输入信号做出相应的调度来唤醒其他的任务。

图-3 Task1的流程图

       Task2任务,优先级为5,功能为根据相应信号量,将带有参数的信号量提交给中央控制器,根据情况可对信号量添加必要的值,成后挂起。

图-4 Task2的流程图

       Task3任务,优先级为6,功能为向中央控制器发出停车信号并重置信号量,完成后挂起。

      

图-5  Task3的流程图

3>相关函数:

3.1 OSTaskCreate()

建立一个新任务。任务的建立可以在多任务环境启动之前,也可以在正在运行的任务中建立。中断处理程序中不能建立任务。一个任务可以为无限循环的结构。

函数原型:INT8U OSTaskCreate(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio);

参数说明:task是指向任务代码首地址的指针。

Pdata指向一个数据结构,该结构用来在建立任务时向任务传递参数。

返回值:

OSTaskCreate()的返回值为下述之一:

l  OS_NO_ERR:函数调用成功。

l  OS_PRIO_EXIST:具有该优先级的任务已经存在。

l  OS_PRIO_INVALID:参数指定的优先级大于OS_LOWEST_PRIO。

l  OS_NO_MORE_TCB:系统中没有OS_TCB可以分配给任务了。

3.2 OSTaskSuspend()

无条件挂起一个任务。调用此函数的任务也可以传递参数OS_PRIO_SELF,挂起调用任务本身。当前任务挂起后,只有其他任务才能唤醒被挂起的任务。任务挂起后,系统会重新进行任务调度,运行下一个优先级最高的就绪任务。唤醒挂起任务需要调用函数OSTaskResume()。

任务的挂起是可以叠加到其他操作上的。例如,任务被挂起时正在进行延时操作,那么任务的唤醒就需要两个条件:延时的结束以及其他任务的唤醒操作。又如,任务被挂起时正在等待信号量,当任务从信号量的等待对列中清除后也不能立即运行,而必须等到被唤醒后。

函数原型:INT8U OSTaskSuspend ( INT8U prio);

参数说明:prio为指定要获取挂起的任务优先级,也可以指定参数OS_PRIO_SELF,挂起任务本身。此时,下一个优先级最高的就绪任务将运行。

返回值:

OSTaskSuspend()的返回值为下述之一:

l  OS_NO_ERR:函数调用成功。

l  OS_TASK_ SUSPEND_IDLE:试图挂起μC/OS-II中的空闲任务(Idle task)。此为非法操作。

l  OS_PRIO_INVALID:参数指定的优先级大于OS_LOWEST_PRIO或没有设定OS_PRIO_SELF的值。

l  OS_TASK_ SUSPEND _PRIO:要挂起的任务不存在。

3.3 OSTaskResume()

唤醒一个用OSTaskSuspend()函数挂起的任务。OSTaskResume()也是唯一能“解挂”挂起任务的函数。

函数原型:NT8U OSTaskResume ( INT8U prio);

参数说明:prio指定要唤醒任务的优先级。

返回值:

OSTaskResume ()的返回值为下述之一:

l  OS_NO_ERR:函数调用成功。

l  OS_TASK_RESUME_PRIO:要唤醒的任务不存在。

l  OS_TASK_NOT_SUSPENDED:要唤醒的任务不在挂起状态。

l  OS_PRIO_INVALID:参数指定的优先级大于或等于OS_LOWEST_PRIO。

4>任务调度:

       首先TaskStart运行初始化系统并创建其他四个任务Task0、Task1、Task2、Task3,挂起Task2、Task3和TaskStart。Task0从中央控制器中获得系统状态参数并显示到屏幕上之后挂起。此时Task1的优先级最高开始运行,它监听手持控制器是否有输入,如果有判断输入的是那个键以采取相应的操作修改信号量,并唤醒Task0显示修改后的值。如此往复,直到遇到执行按钮(“确认”,“正向”,“反向”,“停止”)或30秒内没有按键,Task1唤醒Task2。Task2的优先级高于Task1,Task2运行。它先对信号量进行判断补全缺少的信息后,将信号量中的信息提取后发给中央控制器,修改系统状态后挂起。若喷灌机启动,系统处于运行状态,Task1每过一分钟唤醒一次Task0显示系统状态参数,Task1继续对手持控制器进行监听但只对停止键响应。若按停止键,则Task1唤醒Task3。Task3将对中央控制器发出停车信号并重置信号量。

三、实验结果:(结果分析,心得体会。。。)


第二篇:系统设计报告模板


****系统设计报告

题目: 班级: 完成人学号: 完成人姓名: 指导教师: 完成日期:

一、系统设计目的

二、系统整体设计

三、系统详细设计

四、设计过程中遇到的问题及解决

五、设计小结

六、参考文献

更多相关推荐:
系统分析设计报告

《。。。。。。。。。》系统分析设计报告专业:会计班级:会计0702学号:姓名:二0XX年十一月目录一、项目背景1前言1二、现有系统存在的问题1三、确定系统目标1四、系统可行性研究1五、系统实施计划1第1章系统需…

管理信息系统企业分析与设计报告

企业信息系统分析与设计院系专业信息管理与信息系统班级姓名学号数信分院20xx11刘鑫20xx08341117摘要酒店管理系统是典型的信息管理系统的一部份而且是必不可少的一部份其开发主要包括后台数据库的建立和维护...

系统需求分析与设计报告

C语言课程设计需求分析与系统设计报告题目班级组长组员指导教师上交日期电气0910学号学号学号123目录1引言211背景212定义213参考资料22需求分析321需求分析322运行环境33系统设计331功能需求描...

图书馆-信息系统分析及设计实验报告

图书馆图书管理信息系统设计报告姓名班级学号指导老师报告日期一开发背景本系统是为了方便用户对图书的管理开发的要求系统界面友好使用简单提供对图书信息读者信息和图书流通情况的编辑查询统计报表等全面的数据管理功能同时使...

物流管理信息系统分析设计报告

物流管理信息系统分析与设计报告物流管理信息系统分析与设计报告目录一设计报告要求1二物流管理信息系统开发题目选择1三设计条件11仓库基本情况如下12仓库的主要业务13库房管理系统的数据类24有关说明2四系统规划3...

信息系统分析及设计实验报告

书籍借阅管理系统的分析与设计一开发背景本系统是为了方便用户对图书的管理开发的要求系统界面友好使用简单提供对图书信息读者信息和图书流通情况的编辑查询统计报表等全面的数据管理功能同时使用户能方便的进行图书的出借返还...

物流管理信息系统分析设计报告

物流管理信息系统分析与设计报告土木学院博1班B20xx0045马谦杰物流管理信息系统分析与设计报告目录一设计报告要求1二物流管理信息系统开发题目选择1三设计条件11仓库基本情况如下12仓库的主要业务13库房管理...

人事管理系统分析设计报告

人事管理系统分析设计报告目录第一章课题背景(或绪论、概述)11.1开发背景..11.2开发绪论...2第二章设计简介及设计需求分析..32.1开发环境......32.2开发工具......32.3可行性研究.…

系统分析实验报告

实验报告1、引言1.1本系统的目的是开发一个电子书阅读平台以及后台管理系统。1.2背景http://www.doc88.com/p-90998203105.htmlhttp://www.keyin.cn/plu…

某中小型企业管理信息系统分析与设计报告

某中小型物流企业管理信息系统分析与设计报告沿海省份某中小型物流企业拥有五个大小不同的仓库并组建有自己的运输车队拥有各种运输车辆共19台企业员工人数达90多人主要从事为周边多家生产型企业提供原材料产成品的仓储管理...

信息系统分析与设计实验报告2

武汉纺织大学信息系统分析与设计实验报告班级姓名学号1指导教师张星实验学时3学时实验二基于visio20xx的业务流程建模一实验目的掌握Visio20xx软件的具体操作练习业务流程等图表的计算机辅助生成二实验内容...

信息系统分析与设计课程设计报告

信息系统分析与设计课程设计报告题目人事管理系统专业信息管理与信息系统班级093221学号09322129姓名张楚玉指导老师黄国辉20xx年11月24日摘要随着信息技术的发展与提高在社会中的各个领域中信息技术起了...

系统分析与设计报告(19篇)