课程名称:嵌入式系统设计
课程代码: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
不合格