《嵌入式系统设计》课程教学大纲 课程名称:嵌入式系统设计 课程代码:TELE2131 课程学分:2.5 课程名称(中/英):嵌入式系统设计/Embedded System Design 课程学时:27 实验学时:27 课程性质:大类专业课程 开课学期:第6学期 适用专业:电子信息工程、通信工程、电子科学与技术等专业 先修课程:微机原理与接口技术、数字电路、C语言程序设计 后续课程:毕业设计 开课单位:电子信息学院 课程负责人: 大纲执笔人:邓晶 大纲审核人: 一、 课程性质和教学目标(在人才培养中的地位与性质及主要内容,指明学生 需掌握知识与能力及其应达到的水平) 课程性质:嵌入式系统设计是电子信息类专业一门重要的专业选修课程。本课程是一门实践性 很强的课程,课程以理论教学与实验教学并重的方式,培养学生嵌入式技术方面的软硬件设计 能力,并通过该课程的学习扩大学生知识面,为今后的研究和技术工作打下坚实的基础。 教学目标:嵌入式系统设计以ST公司的2位基于ARM Cor :-内核的ST32单片机为例 介绍嵌入式系统的定义、特点和发展:ARM Cortex-M3体系结构:ST32程序设计与片上外 资源等,通过理论学习、实验、综合设计等环节,使学生了解嵌入式系统的发展状况和应用领 域,掌握嵌入式系统的硬件设计、软件设计和系统综合设计能力,培养学生利用本课程分析和 解决实际间题的能力,为今后从事嵌入式系统方面的应用与研究打下基础。本课程的具体教学 目标如下 1、 掌握嵌入式系统的基础知 习ARM Cortex M3体系结构:学习 M32 MC U的结构、STM32 最小系统、片内外设资源和外部引脚,学习嵌入式系统硬件分析和设计方法:【1-2】 2、学习ST32MC0的软件开发技术,掌握利用嵌入式C语言设计STM32程序的方法:【1-2】 3、学习嵌入式系统硬件设计技术,掌握ST32最小系统硬件和外围扩展单元设计,并能够综 合运用嵌入式系统软件和硬件设计技术解决实际工程问恶,并能够根据需求设计基于ST32 MCU的嵌入式系统的 :【31】 4、学习ARM Keil集成 处万 开发环境的使用方法,熟练使用ST32MCT开发板,并在此基础上完成 规定的必修实险,设计综合性实验。【5-2】
《嵌入式系统设计》课程教学大纲 课程名称:嵌入式系统设计 课程代码: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) 毕业要求 指标点 课程日标 一2能针对申子信息领域的且体对魚建立数 教学目标1、2 1、工程知识 学模型并求解,并具备对工程问题进行软硬 件分析与设计的基本能力。 3、设计/开发解决方 3-1能利用专业知识,根据给定的设计指标 案 设计电子信息领域的单元或过 教学目标3 当的仪 信息资 5、使用现代工具 进行分析】 计算与设计 件,对复杂工程问 学目标4 三、 课程教学内容及学时分配(含课程教学、自学、作业、讨论等内容和要 求,指明重点内容和难点内容)(重点内容:★:难点内容:△) 1、嵌入式系统概述(3学时)(支撑课程目标1、4) 嵌入式系统的基本概念 1.2嵌入式系统的发展、特点和分类 1.3ARM体系结构简介、ST32系列微控制器简介 1.4ST32教学开发板介 女目标及题求: 1)通过嵌入式系统概述的介绍,使学生掌握嵌入式系统的概念、主要特点、分类和发 展★ 2)了解ARM体系结构和STM32系列微控制器: 3)熟悉STM32教学开发板: ◆作业内容: 熟悉ST32教学开发板的电路原理图,各模块的工作原理 讨论内容: 讨论ARM Cortex-M3系列微处理器的特点和应用,突出嵌入式系统在通信领域和日常 生活中的应用。 ◆自学拓展: 回顾学过的微机原理与接口技术和数字电路相关知识,复习C语言程序设计方法。 2、STM32MCU的结构与工作原理(6学时)(支撑课程目标1、4) 1.1ST32MCU概述 1.2ST32存储器的组织与映射 1.3STM32MCU的时钟 ◆目标及要求: 1)通过STM32WMCU结构与工作原理的介绍,使得学生掌握其硬件结构,包括CPU组成
二、 课程目标与毕业要求的对应关系(明确本课程知识与能力重点符合标 准哪几条毕业要求指标点)(1.2, 3.1,5.2) 毕业要求 指标点 课程目标 1、工程知识 1-2 能针对电子信息领域的具体对象建立数 学模型并求解,并具备对工程问题进行软硬 件分析与设计的基本能力。 教学目标 1、2 3、设计/开发解决方 案 3-1 能利用专业知识,根据给定的设计指标, 设计电子信息领域的单元或过程。 教学目标 3 5、使用现代工具 5-2 能够选择与使用恰当的仪器、信息资源、 工程工具和专业模拟软件,对复杂工程问题 进行分析,计算与设计。 教学目标 4 三、 课程教学内容及学时分配(含课程教学、自学、作业、讨论等内容和要 求,指明重点内容和难点内容)(重点内容:;难点内容:) 1、 嵌入式系统概述(3 学时)(支撑课程目标 1、4) 1.1 嵌入式系统的基本概念 1.2 嵌入式系统的发展、特点和分类 1.3 ARM 体系结构简介、STM32 系列微控制器简介 1.4 STM32 教学开发板介绍 目标及要求: 1) 通过嵌入式系统概述的介绍,使学生掌握嵌入式系统的概念、主要特点、分类和发 展; 2) 了解 ARM 体系结构和 STM32 系列微控制器; 3) 熟悉 STM32 教学开发板; 作业内容: 熟悉 STM32 教学开发板的电路原理图,各模块的工作原理。 讨论内容: 讨论 ARM Cortex﹣M3 系列微处理器的特点和应用,突出嵌入式系统在通信领域和日常 生活中的应用。 自学拓展: 回顾学过的微机原理与接口技术和数字电路相关知识,复习 C 语言程序设计方法。 2、 STM32 MCU 的结构与工作原理(6 学时)(支撑课程目标 1、4) 1.1 STM32 MCU 概述 1.2 STM32 存储器的组织与映射 1.3 STM32 MCU 的时钟 1.4 STM32 最小系统 1.5 STM32 MCU 的片上外围资源 目标及要求: 1) 通过 STM32 MCU 结构与工作原理的介绍,使得学生掌握其硬件结构,包括 CPU 组成
与工作方式、存储系统、片内外设和外部引脚等相关知识★: 2)掌握STM32MCU存储器的组织与映射△: 3)了解STW32MC时钟系统与内部资 熟悉和掌握STN32MCU最小系统的设计★ ◆作业内容: 强化S32CU最小系统的设计,ST32CU存储器的组织与映射 令讨论内容: 讨论 MCU三种启动模式对存储器的影响,讨论STM32 Bootloader的作用。 自学拓展 回颤所学微机原理与接口技术和数字电路相关知识,查阅ST32MCU数据手册 3、STM32程序设计(3学时)(支撞课程目标2、4) 1,1入式软件层次结 1.2 ARM Corte 制器软件接口标准 1,3STM32固件库及应用 1.4嵌入式C程序的特点 1.5 ARM Keil集成开发环境简介 令日标及要求: 1)了解嵌入武软件的层次结构: 2 熟悉基于CMSIS标准的软件架构 3)熟悉和掌握常用的ST32固件函数库及应用★: 4)熟练使用ARM Keil集成开发工具★: 女作业内容: 在Keil uVision4中建立一个工程文件,添加必要的STM2相关文件,编译、运行 通过 ◆讨论内容: 通过嵌入式C程序的特点,讨论软件的代码效率问题,即代码容量大小和代码执行速 度。分析若编程时遇到单片机ROW和RAM不够用时,应如何解决? 令自学拓展: 回顾学过的C语言程序设计相关知识,查阅ST公司提供的利用C语言开发SW32固件 库的相关文档。 4、GPI0原理及应用(3学时)(支撑课程目标3、4) 1.1GPI0的硬件结构和功能 1.2GPI0寄存器 1.3GPI0库函数 1.4GPI0应用举例 女目标及要求: 1)了解STM32 MCU GPI0端口的硬件结构、主要功能和工作模式★: 2)了解与STW32 MCU GP10端口相关的寄存器, 熟采其配苦流积和方法★ 3)熟悉和掌握STM32MC GPI0常用库函数的使用 4)使用STM32 MCU GPI0端口输出控制LED指示灯单灯和多灯闪烁: 々作业内容: 结合ST32 MCU GPI0的相关知识,编写LED指示灯单灯和多灯闪烁程序,在ST32开
与工作方式、存储系统、片内外设和外部引脚等相关知识; 2) 掌握 STM32 MCU 存储器的组织与映射; 3) 了解 STM32 MCU 时钟系统与内部资源; 4) 熟悉和掌握 STM32 MCU 最小系统的设计。 作业内容: 强化 STM32 MCU 最小系统的设计,STM32 MCU 存储器的组织与映射。 讨论内容: 讨论 STM32 MCU 三种启动模式对存储器的影响,讨论 STM32 Bootloader 的作用。 自学拓展: 回顾所学微机原理与接口技术和数字电路相关知识,查阅 STM32 MCU 数据手册。 3、 STM32 程序设计(3 学时)(支撑课程目标 2、4) 1.1 嵌入式软件层次结构 1.2 ARM Cortex 微控制器软件接口标准 1.3 STM32 固件库及应用 1.4 嵌入式 C 程序的特点 1.5 ARM 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.1 GPIO 的硬件结构和功能 1.2 GPIO 寄存器 1.3 GPIO 库函数 1.4 GPIO 应用举例 目标及要求: 1) 了解 STM32 MCU GPIO 端口的硬件结构、主要功能和工作模式; 2) 了解与 STM32 MCU GPIO 端口相关的寄存器,熟悉其配置流程和配置方法; 3) 熟悉和掌握 STM32 MCU GPIO 常用库函数的使用; 4) 使用 STM32 MCU GPIO 端口输出控制 LED 指示灯单灯和多灯闪烁; 作业内容: 结合 STM32 MCU GPIO 的相关知识,编写 LED 指示灯单灯和多灯闪烁程序,在 STM32 开
发板上实现LD灯的流水灯效果。 端口设置为输入时在不同条件下输入模式的选择,当G印I0端口设置为输 出时在不同条件下输出模式的选择和输出速度的选择。 ◇自学拓展: 国顾学过的C语言程序设计的相关知识,复习C语言程序的调试和分析方法。 5、EXIT原理及应用(3学时)(支撑课程目标3、4) 1.1S1M32中断通道 1.2STM32中断过程 1.3NVTC硬件结构及软件配置 1.4EXIT硬件结构及软件配置 目标及要求 1)了解和熟卷ST32MCU中断系统的特点、中断向量表的概念: 2)了解和熟悉ST32C中断的时程、中断优先级、中断嵌套的规则★: 3)熟悉和堂握EXTI配置、NVIC配置、中断服务程序的绵写,外部中断控制的应用★。 作业内容, 结 XIT外 部中断知识,编写EXIT外部中断处理程序,在ST32开发板上实现由按 键控制触发外部中断导致LD灯的状态改变。 令讨论内容: 讨论ST32中断优先级中占先优先级和副优先级差异与联系,以及优先级的设置:讨 论STM32EXTI中断通道和中断源的映射关系。 自学拓展 回顾学过的中断服务函数设计的相关知识,体会中断服务函数的调用与普通函数调用 的区别。 6、SAT原理及应用(3学时)(支撑课程目标3、4) 1 USART功能和结格 1.2 USART帧格式、波特率设置 1.3 USART中断请求 1.4 USART寄存器与库函数 1.5 USART应用举例 目标及要求: 了解和熟卷STB2 MCU USART的特点、功能、结构和工作过程★ 2)熟悉和掌握ART波特率的计算与设置: 3)熟悉和掌握USART寄存器的配置与库函数的使用★: 令作业内容: 结合SART的知识,绵写SAT同步/异步串行通信程序,PC上位机通过串口下传一个 字符给STM32开发板. STM32开发板收到后再回传给PC上位机。 时论内容 时论TTL电平和RS232电平的差异,如何实现TTL和RS232电平之间的转换: 女自学拓展: 回顾学过的数字电路相关知识,复习电平转换、各种接口时序等知识
发板上实现 LED 灯的流水灯效果。 讨论内容: 讨论当 GPIO 端口设置为输入时在不同条件下输入模式的选择,当 GPIO 端口设置为输 出时在不同条件下输出模式的选择和输出速度的选择。 自学拓展: 回顾学过的 C 语言程序设计的相关知识,复习 C 语言程序的调试和分析方法。 5、 EXIT 原理及应用(3 学时)(支撑课程目标 3、4) 1.1 STM32 中断通道 1.2 STM32 中断过程 1.3 NVIC 硬件结构及软件配置 1.4 EXIT 硬件结构及软件配置 1.5 EXIT 应用举例 目标及要求: 1) 了解和熟悉 STM32 MCU 中断系统的特点、中断向量表的概念; 2) 了解和熟悉 STM32 MCU 中断的过程、中断优先级、中断嵌套的规则; 3) 熟悉和掌握 EXTI 配置、NVIC 配置、中断服务程序的编写,外部中断控制的应用。 作业内容: 结合 EXIT 外部中断知识,编写 EXIT 外部中断处理程序,在 STM32 开发板上实现由按 键控制触发外部中断导致 LED 灯的状态改变。 讨论内容: 讨论 STM32 中断优先级中占先优先级和副优先级差异与联系,以及优先级的设置;讨 论 STM32 EXTI 中断通道和中断源的映射关系。 自学拓展: 回顾学过的中断服务函数设计的相关知识,体会中断服务函数的调用与普通函数调用 的区别。 6、 USART 原理及应用(3 学时)(支撑课程目标 3、4) 1.1 USART 功能和结构 1.2 USART 帧格式、波特率设置 1.3 USART 中断请求 1.4 USART 寄存器与库函数 1.5 USART 应用举例 目标及要求: 1) 了解和熟悉 STM32 MCU USART 的特点、功能、结构和工作过程; 2) 熟悉和掌握 USART 波特率的计算与设置; 3) 熟悉和掌握 USART 寄存器的配置与库函数的使用; 作业内容: 结合 USART 的知识,编写 USART 同步/异步串行通信程序,PC 上位机通过串口下传一个 字符给 STM32 开发板,STM32 开发板收到后再回传给 PC 上位机。 讨论内容: 讨论 TTL 电平和 RS232 电平的差异,如何实现 TTL 和 RS232 电平之间的转换。 自学拓展: 回顾学过的数字电路相关知识,复习电平转换、各种接口时序等知识
7、定时器原理及应用(3学时)(支撑课程目标3、4) 1.3通用定时器TMx寄存器和库函数 1.4通用定时器TMx应用举例 令目标及要求: 了解和掌握ST32通用定时器的功能、结构与工作原理 2 了解和掌握定时器寄存器的配置 定时时间的计算★: 3)了解和掌握定时器中断、定时器的计数模式★ 4)掌握STM32通用定时器的编程与应用。 ◆作业内容: 结合STW32通用定时器知识,编写定时器TI2中断处理程序,在STM32开发板实现: 利用定时器TI2产生中断, 在中断服务程序中,LD指示灯以2频率闪烁 讨论内容: 入ST32定时器PM的概念,讨论PM的用途,如何编程实现PWM输出。 令自学拓展: 回顾微机原理与接口技术的相关知识,讨论如何利用STM32通用定时器实现电子时钟 的设计。 8、ADC原理及应用(3学时)(支撑课程目标3、4) 1.1ADC的功能及结构 1,2ADC的工作模式与中图 1.3ADC寄存婴和库函 1.4ADC应用举例 目标及要求: 1)了解和掌握STM32ADC的硬件结构与工作原理: 2)了解和掌握STM32ADC的基本参数、功能与工作模式★ 3)了解和堂握ADC初始化配置、ADC中断与ADC编程★: 作业内容: 结合STW32ADC知识,在STM32开发板实现:在PB0端口连接一个可变电阻器,改变 分压值,编写ADC程序,每隔1OOms读取一次ADC转换的结果,显示在显示器上. 令讨论内容: 讨论S32内部温度传感器的特点与结构,如何编程实现环境温度的检测。 讨论如何利用STM32ADC进行数据采集系统的 设计。 9、实验(27学时)(支撑课程目标1,2,3,4) 实验项目 学时 实验 每组必修/ 名称 目的要求 分配类型人数选修 STW32程序熟悉STW32教学开发板,熟悉ST32基本 的绵写、调固件库的应用,熟悉S32软件开发环境 验证性 1 必修 试和分析 用C语言编写并调试STW32程序
7、 定时器原理及应用(3 学时)(支撑课程目标 3、4) 1.1 STM32 定时器概述 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.1 ADC 的功能及结构 1.2 ADC 的工作模式与中断 1.3 ADC 寄存器和库函数 1.4 ADC 应用举例 目标及要求: 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 必修