《嵌入式系统设计》课程教学大纲.doc
《嵌入式系统设计》课程教学大纲
课程名称:嵌入式系统设计 |
|
课程代码:TELE2131 | 课程学分:2.5 |
课程名称(中/英):嵌入式系统设计 / Embedded System Design | |
课程学时:27 | 实验学时:27 |
课程性质:大类专业课程 | 开课学期:第 6 学期 |
适用专业:电子信息工程、通信工程、电子科学与技术等专业 | |
先修课程:微机原理与接口技术、数字电路、C语言程序设计 | |
后续课程:毕业设计 | |
开课单位:电子信息学院 | 课程负责人: |
大纲执笔人:邓晶 | 大纲审核人: |
一、 课程性质和教学目标(在人才培养中的地位与性质及主要内容,指明学生需掌握知识与能力及其应达到的水平)
课程性质:嵌入式系统设计是电子信息类专业一门重要的专业选修课程。本课程是一门实践性很强的课程,课程以理论教学与实验教学并重的方式,培养学生嵌入式技术方面的软硬件设计能力,并通过该课程的学习扩大学生知识面,为今后的研究和技术工作打下坚实的基础。
教学目标:嵌入式系统设计以ST公司的32位基于ARM Cortex﹣M3内核的STM32单片机为例,介绍嵌入式系统的定义、特点和发展;ARM Cortex﹣M3体系结构;STM32程序设计与片上外围资源等,通过理论学习、实验、综合设计等环节,使学生了解嵌入式系统的发展状况和应用领域,掌握嵌入式系统的硬件设计、软件设计和系统综合设计能力,培养学生利用本课程分析和解决实际问题的能力,为今后从事嵌入式系统方面的应用与研究打下基础。本课程的具体教学目标如下:
1、掌握嵌入式系统的基础知识;学习ARM Cortex﹣M3体系结构;学习STM32 MCU的结构、STM32最小系统、片内外设资源和外部引脚,学习嵌入式系统硬件分析和设计方法;【1-2】
2、学习STM32 MCU的软件开发技术,掌握利用嵌入式C语言设计STM32程序的方法;【1-2】
3、学习嵌入式系统硬件设计技术,掌握STM32最小系统硬件和外围扩展单元设计,并能够综合运用嵌入式系统软件和硬件设计技术解决实际工程问题,并能够根据需求设计基于STM32 MCU的嵌入式系统的解决方案;【3-1】
4、学习ARM Keil集成开发环境的使用方法,熟练使用STM32 MCU开发板,并在此基础上完成规定的必修实验,设计综合性实验。【5-2】
二、 课程目标与毕业要求的对应关系(明确本课程知识与能力重点符合标准哪几条毕业要求指标点)(1.2, 3.1,5.2)
毕业要求 | 指标点 | 课程目标 |
1、工程知识 | 1-2能针对电子信息领域的具体对象建立数学模型并求解,并具备对工程问题进行软硬件分析与设计的基本能力。 | 教学目标1、2 |
3、设计/开发解决方案 | 3-1能利用专业知识,根据给定的设计指标,设计电子信息领域的单元或过程。 | 教学目标3 |
5、使用现代工具 | 5-2能够选择与使用恰当的仪器、信息资源、工程工具和专业模拟软件,对复杂工程问题进行分析,计算与设计。 | 教学目标4 |
三、 课程教学内容及学时分配(含课程教学、自学、作业、讨论等内容和要求,指明重点内容和难点内容)(重点内容:«;难点内容:D)
1、嵌入式系统概述(3学时)(支撑课程目标1、4)
1.1嵌入式系统的基本概念
1.2嵌入式系统的发展、特点和分类
1.3ARM体系结构简介、STM32系列微控制器简介
1.4STM32教学开发板介绍
² 目标及要求:
1)通过嵌入式系统概述的介绍,使学生掌握嵌入式系统的概念、主要特点、分类和发展«;
2)了解ARM体系结构和STM32系列微控制器;
3)熟悉STM32教学开发板;
² 作业内容:
熟悉STM32教学开发板的电路原理图,各模块的工作原理。
² 讨论内容:
讨论ARM Cortex﹣M3系列微处理器的特点和应用,突出嵌入式系统在通信领域和日常生活中的应用。
² 自学拓展:
回顾学过的微机原理与接口技术和数字电路相关知识,复习C语言程序设计方法。
2、STM32 MCU的结构与工作原理(6学时)(支撑课程目标1、4)
1.1STM32 MCU概述
1.2STM32存储器的组织与映射
1.3STM32 MCU的时钟
1.4STM32最小系统
1.5STM32 MCU的片上外围资源
² 目标及要求:
1)通过STM32 MCU结构与工作原理的介绍,使得学生掌握其硬件结构,包括CPU组成与工作方式、存储系统、片内外设和外部引脚等相关知识«;
2)掌握STM32 MCU存储器的组织与映射D;
3)了解STM32 MCU时钟系统与内部资源;
4)熟悉和掌握STM32 MCU最小系统的设计«。
² 作业内容:
强化STM32 MCU最小系统的设计,STM32 MCU存储器的组织与映射。
² 讨论内容:
讨论STM32 MCU三种启动模式对存储器的影响,讨论STM32 Bootloader的作用。
² 自学拓展:
回顾所学微机原理与接口技术和数字电路相关知识,查阅STM32 MCU数据手册。
3、STM32程序设计(3学时)(支撑课程目标2、4)
1.1嵌入式软件层次结构
1.2ARM Cortex 微控制器软件接口标准
1.3STM32固件库及应用
1.4嵌入式C程序的特点
1.5ARM Keil集成开发环境简介
² 目标及要求:
1)了解嵌入式软件的层次结构;
2)熟悉基于CMSIS标准的软件架构;
3)熟悉和掌握常用的STM32固件函数库及应用«;
4)熟练使用ARM Keil集成开发工具«;
² 作业内容:
在Keil μVision4中建立一个工程文件,添加必要的STM32相关文件,编译、运行、通过。
² 讨论内容:
通过嵌入式C程序的特点,讨论软件的代码效率问题,即代码容量大小和代码执行速度。分析若编程时遇到单片机ROM和RAM不够用时,应如何解决?
² 自学拓展:
回顾学过的C语言程序设计相关知识,查阅ST公司提供的利用C语言开发STM32固件库的相关文档。
4、GPIO原理及应用(3学时)(支撑课程目标3、4)
1.1GPIO的硬件结构和功能
1.2GPIO寄存器
1.3GPIO库函数
1.4GPIO应用举例
² 目标及要求:
1)了解STM32 MCU GPIO端口的硬件结构、主要功能和工作模式«;
2)了解与STM32 MCU GPIO端口相关的寄存器,熟悉其配置流程和配置方法«;
3)熟悉和掌握STM32 MCU GPIO常用库函数的使用;
4)使用STM32 MCU GPIO端口输出控制LED指示灯单灯和多灯闪烁;
² 作业内容:
结合STM32 MCU GPIO的相关知识,编写LED指示灯单灯和多灯闪烁程序,在STM32开发板上实现LED灯的流水灯效果。
² 讨论内容:
讨论当GPIO端口设置为输入时在不同条件下输入模式的选择,当GPIO端口设置为输出时在不同条件下输出模式的选择和输出速度的选择。
² 自学拓展:
回顾学过的C语言程序设计的相关知识,复习C语言程序的调试和分析方法。
5、EXIT原理及应用(3学时)(支撑课程目标3、4)
1.1STM32中断通道
1.2STM32中断过程
1.3NVIC硬件结构及软件配置
1.4EXIT硬件结构及软件配置
1.5EXIT应用举例
² 目标及要求:
1)了解和熟悉STM32 MCU中断系统的特点、中断向量表的概念;
2)了解和熟悉STM32 MCU中断的过程、中断优先级、中断嵌套的规则«;
3)熟悉和掌握EXTI配置、NVIC配置、中断服务程序的编写,外部中断控制的应用«。
² 作业内容:
结合EXIT外部中断知识,编写EXIT外部中断处理程序,在STM32开发板上实现由按键控制触发外部中断导致LED灯的状态改变。
² 讨论内容:
讨论STM32中断优先级中占先优先级和副优先级差异与联系,以及优先级的设置;讨论STM32 EXTI中断通道和中断源的映射关系。
² 自学拓展:
回顾学过的中断服务函数设计的相关知识,体会中断服务函数的调用与普通函数调用的区别。
6、USART原理及应用(3学时)(支撑课程目标3、4)
1.1USART功能和结构
1.2USART帧格式、波特率设置
1.3USART中断请求
1.4USART寄存器与库函数
1.5USART应用举例
² 目标及要求:
1)了解和熟悉STM32 MCU USART的特点、功能、结构和工作过程«;
2)熟悉和掌握USART 波特率的计算与设置;
3)熟悉和掌握USART寄存器的配置与库函数的使用«;
² 作业内容:
结合USART的知识,编写USART同步/异步串行通信程序,PC上位机通过串口下传一个字符给STM32开发板,STM32开发板收到后再回传给PC上位机。
² 讨论内容:
讨论TTL电平和RS232电平的差异,如何实现TTL和RS232电平之间的转换。
² 自学拓展:
回顾学过的数字电路相关知识,复习电平转换、各种接口时序等知识。
7、定时器原理及应用(3学时)(支撑课程目标3、4)
1.1STM32定时器概述
1.2通用定时器TIMx功能和结构
1.3通用定时器TIMx寄存器和库函数
1.4通用定时器TIMx应用举例
² 目标及要求:
1)了解和掌握STM32通用定时器的功能、结构与工作原理;
2)了解和掌握定时器寄存器的配置,定时时间的计算«;
3)了解和掌握定时器中断、定时器的计数模式«;
4)掌握STM32通用定时器的编程与应用。
² 作业内容:
结合STM32通用定时器知识,编写定时器TIM2中断处理程序,在STM32开发板实现:利用定时器TIM2产生中断,在中断服务程序中,LED指示灯以2Hz频率闪烁。
² 讨论内容:
引入STM32 定时器PWM的概念,讨论PWM 的用途,如何编程实现PWM输出。
² 自学拓展:
回顾微机原理与接口技术的相关知识,讨论如何利用STM32通用定时器实现电子时钟的设计。
8、ADC原理及应用(3学时)(支撑课程目标3、4)
1.1ADC的功能及结构
1.2ADC的工作模式与中断
1.3ADC寄存器和库函数
1.4ADC应用举例
² 目标及要求:
1)了解和掌握STM32 ADC的硬件结构与工作原理;
2)了解和掌握STM32 ADC的基本参数、功能与工作模式«;
3)了解和掌握ADC初始化配置、ADC中断与ADC编程«;
² 作业内容:
结合STM32 ADC知识,在STM32开发板实现:在PB0端口连接一个可变电阻器,改变分压值,编写ADC程序,每隔100ms读取一次ADC转换的结果,显示在显示器上。
² 讨论内容:
讨论STM32内部温度传感器的特点与结构,如何编程实现环境温度的检测。
² 自学拓展:
回顾微机原理与接口技术的相关知识,讨论如何利用STM32 ADC进行数据采集系统的设计。
9、实验(27学时)(支撑课程目标1,2,3,4)
序号 | 实验项目 名称 | 目的要求 | 学时 分配 | 实验 类型 | 每组 人数 | 必修/ 选修 |
1 | STM32程序的编写、调试和分析 | 熟悉STM32教学开发板,熟悉STM32基本固件库的应用,熟悉STM32软件开发环境,用C语言编写并调试STM32程序。 | 3 | 验证性 | 1 | 必修 |
2 | GPIO端口控制流水灯闪烁 | 实现PA0~PA3所接4个LED指示灯闪烁。掌握GPIO的引脚功能,输入/输出模式,相关寄存器的配置与使用,GPIO常用库函数的使用。熟悉和掌握通用GPIO的应用, | 3 | 设计性 | 1 | 必修 |
3 | EXIT外部中断实验 | 按下PC0~PC3所接按键,触发外部中断,中断服务程序中相应PA0~PA3所接4个LED指示灯状态改变,掌握EXTI配置、NVIC配置、中断服务程序的编写,外部中断控制的应用。 | 3 | 设计性 | 1 | 必修 |
4 | USART同步/异步串行通信实验 | PC上位机通过串口下传一个字符给STM32,STM32收到后再回传PC。掌握USART 基本工作原理,USART寄存器配置,波特率设置,掌握USART发送和接收数据的过程,串口中断服务程序的编写,以及收发功能的应用。 | 3 | 设计性 | 1 | 必修 |
5 | 定时器实验 | 了解STM32通用定时器的功能、结构、计数模式,掌握定时时间的计算,掌握定时器的配置,中断程序的编写,以及定时器的应用。利用定时器TIM2产生中断,在中断服务程序中,LED指示灯以2Hz频率闪烁。 | 3 | 设计性 | 1 | 必修 |
6 | ADC转换采样数据实验 | 了解STM32 A/D转换器的硬件结构,基本参数与功能,工作模式,掌握ADC初始化配置,ADC中断,ADC程序设计与应用。 | 3 | 设计性 | 1 | 必修 |
7 | 基于nRF24L01模块的近距无线通信系统 | 两人一组,实现双方的数据发送与接收,并在LED显示器上显示。了解和掌握近距无线数据传输原理,了解和掌握24L01的工作原理与特点,了解和掌握24L01的程序设计与应用。 | 9 | 综合性 | 2 | 选修 |
8 | 基于MF RC522模块的 RFID读写器 | 应用MF RC522 RFID模块,设计一个RFID读写器,实现对电子标签的读写操作,可读取校园卡的ID等。了解和掌握RFID的工作原理与特点,了解和掌握RFID的程序设计与应用。 | 9 | 综合性 | 2 | 选修 |
9 | MP3音乐播放器的设计 | 应用VS1053B音频编解码模块,设计一个MP3音乐播放器,实现MP3音乐播放。了解和掌握VS1053B模块的特点和应用,了解和掌握MP3音乐播放器的工作原理、程序设计与应用。 | 9 | 综合性 | 2 | 选修 |
10 | 基于WIFI模块的无线数据传输系统 | 应用WIFI模块,1个STM32开发板工作在AP模式,作为路由器,另一个STM32开发板工作在STA模式,做为客户端,进行数据传输。了解和掌握WIFI无线数据传输的工作原理和特点,了解和掌握WIFI无线数据传输的程序设计与应用。 | 9 | 综合性 | 2 | 选修 |
四、 教学方法
授课方式:
a.理论教学(采用多媒体课件讲授嵌入式系统概述、STM32 MCU软硬件设计原理等核心内容,合理安排课外拓展学习,采用案例教学方式理论联系实际,培养学生创新能力);
b.实验教学(结合理论课教学内容,利用STM32开发板进行实验教学,培养学生嵌入式技术方面的工程实践能力);
c.答疑(每周安排固定的办公室时间,学生无需预约,可来教师办公室就课程内容进行讨论,答疑内容包括讲授内容、实验等);
d.期末闭卷考试。
课程要求:
a.理论教学:在理论课讲授环节中,注重概念解析,并以实际案例理论联系实际开展嵌入式系统的软件和硬件设计,培养学生逻辑思维能力、工程观点和分析与解决问题能力。根据本课程的特点,要求学生自主开展课程相关辅助材料自学;
b.实验教学:要求学生遵守实验室的规章制度,建立良好的实验习惯,能够应用STM32开发板和ARM Keil软件集成开发环境实践嵌入式系统软件和硬件设计方法,能够应用所学知识设计一个嵌入式系统,培养学生独立进行设计和分析复杂工程问题的能力,培养学生撰写设计总结报告的能力,并启发学生的创新思维、自主开展创新性实验活动。
五、 考核及成绩评定方式
1、考核方式
考核方式:闭卷笔试(期末),平时成绩(作业及出勤情况),实验成绩,实验报告。
成绩评定方式:期末考试30%,平时成绩20%,实验成绩35%,实验报告15%,比例可适当微调。
课程目标达成情况及考试成绩评定占比(%)
课程教学目标 | 支撑毕业要求 | 考试和评价方式成绩占比(%) | 成绩比例(%) | |||
期末考试 | 平时成绩 | 实验成绩 | 实验报告 | |||
教学目标1、2 | 支撑毕业要求1-2 | 12 | 8 | 14 | 6 | 40 |
教学目标3 | 支撑毕业要求3-1 | 12 | 8 | 14 | 6 | 40 |
教学目标4 | 支撑毕业要求5-2 | 6 | 4 | 7 | 3 | 20 |
合计 | 30 | 20 | 35 | 15 | 100 |
2、考核评价标准
期末考试考核评价标准
| 基本要求 | 达成情况评价标准 | 成绩比例(%) | |||
优秀>0.9 | 良好>0.7 | 合格>0.6 | 不合格<0.6 | |||
教学目标1、2 | 了解并掌握嵌入式系统设计的基本概念,STM32 MCU最小系统、片内外设资源。 | 概念清晰,能准确运用嵌入式系统知识,对系统设计问题进行正确描述和表达。 | 概念较清晰,能运用嵌入式系统知识,对系统设计问题进行正确描述和表达。 | 概念较清晰,尚能运用嵌入式系统知识,对系统设计问题部分描述和表达。 | 概念不清晰,未掌握嵌入式系统知识,对系统设计问题不能进行描述和表达。 | 12 |
教学目标3 | 学习STM32 MCU的软件开发技术,掌握利用C语言设计STM32程序的方法;并针对相关应用问题进行分析。 | 熟练掌握STM32 MCU的软件设计和编程,并对特定的工程问题进行分析和说明。 | 基本掌握STM32 MCU软件设计和编程,并对特定的工程问题进行分析和说明。 | 部分掌握STM32 MCU软件设计和编程,对特定工程问题尚能分析和说明。 | 不清楚STM32 MCU软件设计和编程,不能对特定工程问题进行分析和说明。 | 12 |
教学目标4 | 学习嵌入式系统硬件设计, STM32最小系统硬件和外围扩展单元设计,并运用嵌入式系统软件和硬件设计技术解决实际工程问题。 | 运用的原理和方法准确清晰,对电路的原理和结构能很好理解和掌握,并能灵活运用基础知识对应用型问题进行解答。 | 运用的原理和方法较准确清晰,对电路的原理和结构理解和掌握,能运用基础知识对应用型问题进行部分解答。 | 基本了解外围扩展电路的基本原理和分析方法,但不够熟练,对应用型问题解答不准确。 | 不清楚原理和方法如何应用到具体的外围扩展电路设计与分析中,无法对应用型问题进行解答。 | 6 |
实验成绩考核评价标准
| 基本要求 | 评价标准 | 成绩比例(%) | |||
优秀 | 良好 | 合格 | 不合格 | |||
实验 成绩 | 应用STM32开发板和ARM Keil集成开发环境,应用所学理论知识,熟悉和掌握STM32的片上资源,培养学生独立进行设计和分析工程问题的能力,并启发学生的创新思维、自主开展创新性实验活动。(支撑毕业要求1-2、3-1、5-2) | 能根据实验要求合理设计电路,给出实现方案;独立完成实验,对实验结果能进行有效分析。 | 能根据实验要求合理设计电路,给出实现方案;独立完成实验,对实验结果进行分析。 | 基本能根据实验要求设计电路,给出实现方案;基本完成实验,对实验结果能进行部分分析。 | 不能根据实验要求设计电路,给出实现方案;不能完成实验,对实验结果没有分析。 | 35 |
实验报告考核评价标准
| 基本要求 | 评价标准 | 成绩比例(%) | |||
优秀 | 良好 | 合格 | 不合格 | |||
实验报告 | 能运用嵌入式系统设计课程知识识别、判断和思考实验中的现象和应用方式(支撑毕业要求1-2、3-1) | 实验报告撰写规范,内容完整,条理清晰;报告中对实验过程叙述清晰,逻辑性强,自己努力完成,没有抄袭。实验记录正确、充分、完整,对实验结果有分析,有结论。 | 实验报告撰写较规范,内容较完整,条理清晰;报告中对实验过程叙述较清晰,逻辑性较强,自己努力完成,没有抄袭。实验记录正确、完整,对实验结果有分析,对结论说明不够。 | 实验报告撰写尚规范,内容基本完整;报告中对实验过程叙述尚清晰,自己完成,无抄袭。实验记录正确、完整,对结果有一定分析,无结论。 | 实验报告撰写不规范或为提交实验报告;不独立完成,有抄袭现象,或为完成实验。 | 15 |
六、 教材及参考书目
教材:
1、陈志旺. STM32嵌入式微控制器快速上手(第2版)[M]. 北京:电子工业出版社,2014
2、自编实验讲义
参考文献:
1、彭刚,秦志强. 基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M] . 北京:电子工业出版社,2011
2、李宁. 基于MDK的STM32处理器开发应用[M]. 北京:北京航空航天大学出版社,2008
3、王永虹,徐炜,郝立平. STM32系列ARM Cortex-M3微控制器原理与实践 [M]. 北京:北京航空航天大学出版社,2008
4、蒙博宇. STM32自学笔记[M]. 北京:北京航空航天大学出版社,2011
5、范书瑞,李琦,赵燕飞. Cortex-M3嵌入式处理器原理与应用[M]. 北京:电子工业出版社,2011