《实时控制软件设计》2017年教学内容

2023-10-25 01:20

本文主要是介绍《实时控制软件设计》2017年教学内容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、课程教学目标

本课程是面向机械设计制造及其自动化专业和测控技术与仪器专业的选修专业方向课程。在未来的机电控制系统中,软件系统将占据越来越大的比重,机电装备性能与控制软件的性能密切相关,本课程的主要教学目标是使学生能利用现代软件工程方法和工具进行面向机电控制的实时控制软件的设计开发。本课程强调“做中学”的教学理念,采用课堂讲授、编程练习和项目实践相结合的方式,使学生通过实际项目的开发实践,既掌握软件工程的原则和方法,也能会使用体现理论方法的工具。

二、教材、参考书和网站

  • 邹欣. 构建之法--现代软件工程(第三版). 北京:人民邮电出版社,2017年
  • Robert Oshana, Mark Kraeling编,单波等译. 嵌入式系统软件工程-方法、实用技术及应用. 北京:清华大学出版社,2016年
  • Jean J.Labrosse, 邵贝贝. 嵌入式实时操作系统μC/OS-3. 北京:北京航空航天大学出版社,2012年
  • Christopher Hallinan,嵌入式Linux基础教程(第2版).北京:人民邮电出版社,2016年
  • Richard Barry,Mastering the FreeRTOS Real Time Kernel,2016年
  • 翼辉公司,SylixOS 讲义,2016年

三、教学计划

课堂教学共12次课,每次两课时共24学时,主要内容包括:

  • 第1次课 实时控制软件简介和应用案例,通用软件开发流程,基于Github的版本控制和团队协作
  • 第2次课 实时软件架构,实时操作系统原理,实时调度和优先级反转问题,商用和开源RTOS浏览
  • 第3次课 ARM处理器硬件体系结构及对实时操作系统的支持
  • 第4次课 FreeRTOS的任务调度机制,Trace工具,源代码分析与构建过程
  • 第5次课 FreeRTOS的多任务同步与通信和应用
  • 第6次课 嵌入式Linux及实时化扩展
  • 第7次课 基于模型的实时软件设计概述,MATLAB的信号流模型、物理模型和状态机模型建模方法和仿真引擎机制原理
  • 第8次课 基于模型的设计,stateflow状态机建模
  • 第9次课 控制器建模实例分析,模型设计规范,基于模型的概要设计和详细设计,代码自动生成方法
  • 第10次课 软件测试概述,单元测试,基于模型的测试,SIL和PIL测试方法
  • 第11次课 软件静态分析与安全软件设计,丰田故障和Barr报告分析
  • 第12次课 团队项目报告和讨论,实时控制软件规格和架构设计,案例分析

四、课程博客作业发布和提交网址

https://edu.cnblogs.com/campus/hust/RTCSD2017

五、Github代码库链接

https://github.com/cbhust/STM32F429_Discovery_FreeRTOS_9

六、团队项目作业

1. 团队项目的考察要点:

  • 根据项目需求,按照基于模型的设计方法,完成从软件规格定义、概要设计、详细设计、单元测试、仿真验证的基本流程。
  • 基于Github进行团队项目协作和进行版本控制。
  • 在个人博客介绍自己所做的工作。

2. 团队项目需求:

某创业公司正设计一台自动咖啡机,已完成基本结构设计,如下图所示(本实例来自贝加莱公司文档),需要开发咖啡机的嵌入式控制软件,实现如下功能:

咖啡机.png

  • 1)用户在咖啡机面板上选择自己想要喝的咖啡(美式、拿铁、卡布奇诺...)并按下开始按钮后,咖啡机开始按照设定的配方制作咖啡。
  • 2)制作流程为:Feeder机构取一空杯放到传送带上,传送带把空杯送到龙头下,牛奶、糖浆、浓缩咖啡液和热水按照配方比例混合后装入空杯,传送带把满杯的咖啡送到用户取杯处,用户取走咖啡后,自动咖啡机可以继续响应面板上的按钮制作下一杯咖啡。

    公司希望软件开发团队采用基于模型的设计方法完成软件开发,具体要求如下:
  • 1)第一阶段,软件团队与咖啡机产品经理(老师和助教)沟通软件开发需求,形成软件设计规格书,清晰的定义控制软件的各项功能、硬件输入和输出接口。(本阶段交付件:软件设计规格书)
  • 2)第二阶段,在Matlab/Simulink环境中,实现咖啡机的物理建模,同时完成控制软件的概要设计,划分成若干个软件模块,确保模块覆盖设计规格书的所有功能,清晰定义各个模块的接口。(本阶段交付件:咖啡机物理模型文件和概要设计说明书)
  • 3)第三阶段,基于simulink/stateflow建模方法,设计各个软件模块的控制逻辑和算法,并与咖啡机物理模型进行协同仿真,实现整个咖啡制作流程。(本阶段交付件:控制软件模块stateflow模型文件)
  • 4)第四阶段,基于模块的stateflow模型,手动编写或用自动代码生成工具,完成C代码设计工作。(本阶段交付件:模块C代码及代码自动生成报告)
  • 5)第五阶段,基于MATLAB工具,对模块C代码进行Software in Loop测试或Processor in Loop测试,得到测试报告。(本阶段交付件:SIL/PIL测试报告)
  • 6)第六阶段,提交项目总结和软件说明文档。(本阶段交付件:项目总结和软件说明文档)

3. 团队项目人员分工、进度和要求:

  • 1)每个团队有一名项目组长,负责在github上创建团队项目,协调团队分工,所有文档和代码都提交到github上。
  • 2)团队项目用三周左右时间完成。
  • 3)团队通过讨论形成软件设计规格书和概要设计文档,具体的建模和设计工作有明确的分工。
  • 4)团队在每个阶段都要提交交付件给老师和助教进行评审,评审通过后进入下一阶段设计。
  • 5)团队在总结报告中,实事求是地说明每个成员所做的工作及完成情况。
  • 6)每名成员每周在个人博客上介绍自己所做的具体工作和取得的进展。

转载于:https://www.cnblogs.com/bingc/p/7683522.html

这篇关于《实时控制软件设计》2017年教学内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279057

相关文章

RISC-V教学内容及短视频吸引因素

RISC-V 教学内容 在我的认知中,大多数人对RV仍然了解甚少,我想本实习岗位主要面向对 RV 不了解或了解很少的同学,帮助大家更好入门。 因此教学内容为: RISC-V 简要介绍;RISC-V 指令集知识简要讲解,指令集介绍,各个指令集的指令规则及指令运行演示,可以结合模拟器运行结果讲解更为直观;常见 RV 模拟器介绍,分别适用的场景。对于一些简单的 RV 模拟器可以展开讲解安装部署使用

三十八篇:架构大师之路:探索软件设计的无限可能

架构大师之路:探索软件设计的无限可能 1. 引言:架构的艺术与科学 在软件工程的广阔天地中,系统架构不仅是设计的骨架,更是灵魂所在。它如同建筑师手中的蓝图,决定了系统的结构、性能、可维护性以及未来的扩展性。本节将深入探讨软件架构的定义、其在系统设计中的核心作用,以及不同架构风格对系统特性的影响。 软件架构的定义及其在系统设计中的核心作用 软件架构,简而言之,是指软件系统的基本组织结构,

visual studio 2017使用libevent的准备步骤

本人使用的visual studio 2017为community版本,libevent为github上pull下来的最新版本,链接如下:https://github.com/libevent/libevent。 步骤一,编译libevent库 在开始菜单--->所有程序处打开VS 2017的开发人员命令提示符程序,如下图所示 使用cmd命令定位到libevent的目录,输入 nma

2017-1-1

console.info('信息'); http://wenku.baidu.com/view/f7d18d8702d276a200292eed.html

【软件设计】详细设计说明书(word原件,项目直接套用)

软件详细设计说明书 1.系统总体设计 2.性能设计 3.系统功能模块详细设计 4.数据库设计 5.接口设计 6.系统出错处理设计 7.系统处理规定 软件全套资料:本文末个人名片直接获取或者进主页。

【牛客网 2017年校招模拟笔试(第一场)】超级素数幂

超级素数幂 描述 如果一个数字能表示为p^q(^表示幂运算)且p为一个素数,q为大于1的正整数就称这个数叫做超级素数幂。现在给出一个正整数n,如果n是一个超级素数幂需要找出对应的p,q。 输入 输入一个正整数n(2 ≤ n ≤ 10^18) 分析 暴力枚举幂q,将n开q次方之后得到p,检查p是否为素数,并且检查p的q次幂是否等于n。 *要注意精度问题,代码待之后补充。

【牛客网 2017年校招模拟笔试(第一场)】 序列和

求序列和 描述 我们要找连续的一段长度大于等于L小于等于100整数和等于N,容易观察到合法的长度范围很小,于是我们从L开始枚举,然后找到第一个输出即可。 我的代码 最初提交了一次代码,用vector保存了所有满足条件的序列,输出长度最小的,提交之后说内存超出限制,看了一眼题目,发现内存貌似是限制在2w多k?伤心,之前做题没遇到过内存还有这么严格的限制。 修改了一下,其实这个代码并没

网易2017春招笔试 分饼干

易老师购买了一盒饼干,盒子中一共有k块饼干,但是数字k有些数位变得模糊了,看不清楚数字具体是多少了。易老师需要你帮忙把这k块饼干平分给n个小朋友,易老师保证这盒饼干能平分给n个小朋友。现在你需要计算出k有多少种可能的数值 输入描述: 输入包括两行: 第一行为盒子上的数值k,模糊的数位用X表示,长度小于18(可能有多个模糊的数位) 第二行为小朋友的人数n 输出描述: 输出k可能的数值种数

2017 年建议学习的编程语言、框架和工具

大趋势 渐进式 Web Apps 在 2016 年里,我们见证了 Progressive Web App 概念的蓬勃兴起。它意味着 Web 应用程序可以离线工作,并能提供原生移动应用的体验。它们可以添加到你的智能设备的主屏幕上,甚至可以给你发送推送通知,从而弥补与原生移动应用程序的差距。我们认为,在 2017 年,渐进式 Web Apps 将变得更加重要,也值得我们去探究。在这里查看相关

【软考系统架构设计师】四、嵌入式基础知识(软件|软件设计|硬件|式总线逻辑)

目录 一、嵌入式软件 1.1 嵌入式软件分类 1.2 板级支持包(BSP) 1.3 BootLoader 1.4 设备驱动程序 二、嵌入式软件设计 2.1 编码 2.2 交叉编译 2.3 交叉调试 三、嵌入式系统硬件的分类 3.1 根据用途分类 3.2 存储器分类 四、内(外)总线逻辑 五、历年真题练习 一、嵌入式软件         嵌入式软件是指应用在嵌