研究生课程《嵌入式系统》¶
成都信息工程大学 软件工程学院 · 农业信息化方向
课程简介¶
研究生课程《嵌入式系统》面向农业信息化方向研究生,系统讲授嵌入式系统从硬件基础到工程应用的核心技术。课程以 STM32 单片机为硬件平台,以 Blue Pill 开发板为实验载体,从 GPIO、时钟系统、通信接口出发,经由传感器采集、显示设备驱动与电机控制,上升到闭环控制、嵌入式通信与系统综合设计。教学全程使用 CubeMX/CubeIDE 工具链与 PicSimlab 硬件仿真环境,兼顾学员的自学与远程实验需求。
课程目标:
- 理解嵌入式系统体系结构与常用软件设计模式(分层架构、状态机、事件驱动);
- 掌握 STM32 单片机编程与 CubeMX/CubeIDE 工具链,能独立完成 GPIO/PWM/ADC/USART/CAN 等外设驱动;
- 掌握 FreeRTOS 实时操作系统原理与多任务编程(调度、同步、通信);
- 能使用 PicSimlab 进行硬件仿真,在无实物板的条件下完成大部分实验;
- 掌握超声波传感器、温湿度传感器等常用传感器的接口编程;
- 掌握 LED、OLED 显示屏等显示设备的驱动与应用;
- 理解直流减速电机与步进电机的驱动原理,能完成 H 桥驱动电路设计与 PWM 调速;
- 理解闭环控制系统原理与 PID 控制器的嵌入式实现;
- 了解嵌入式通信协议(UART/SPI/I2C/CAN/MQTT)与物联网应用基础;
- 培养系统级工程实践能力,为农业信息化领域的嵌入式开发奠定基础。
教学方法:课堂讲授 + PicSimlab 仿真实验 + 综合项目。评估方式含平时作业、实验报告与期末项目。
课程章节概览¶
本课程按照 基础 → 硬件编程 → 传感器与执行器 → 控制与应用 → 实验 的学习路径组织,各部分逻辑关系如下:
上图直观呈现了课程章节的组成要素与学习路径,有助于理解课程整体的知识体系。
| 部分 | 章号 | 章节标题 | 内容简介 |
|---|---|---|---|
| 基础 | 第1章 | 嵌入式系统概述 | 嵌入式系统定义与应用领域、体系结构(硬件层/HAL/系统软件/应用层)、STM32 芯片家族与 Blue Pill 开发板、"输入-加工-输出"模型 |
| 基础 | 第2章 | 嵌入式软件设计模式 | 分层架构与 HAL 抽象、有限状态机(FSM)、观察者与事件驱动、生产者-消费者模式、命令模式、单例与资源守卫 |
| 硬件编程 | 第3章 | STM32 单片机编程 | STM32 芯片与 Blue Pill 开发板、CubeMX 图形化配置、GPIO/时钟/电路基础、UART/SPI/I2C/CAN 接口编程 |
| 硬件编程 | 第4章 | 单片机操作系统(FreeRTOS) | RTOS 基本概念、任务调度(抢占/时间片)、信号量/互斥锁/消息队列、定时器与中断、内存管理 |
| 硬件编程 | 第5章 | STM32 定时器与 PWM | 定时器架构(基本/通用/高级)、PWM 生成、输入捕获、编码器接口、看门狗、多定时器协同 |
| 硬件编程 | 第6章 | PicSimlab 硬件仿真 | PicSimlab 仿真环境搭建、Blue Pill 仿真工作流、虚拟外设配置、GDB 调试与 UART 监控 |
| 传感器与执行器 | 第7章 | 传感器接口编程 | 超声波测距(HC-SR04)、温湿度传感器(DHT11)、ADC 模拟采样、红外传感器 |
| 传感器与执行器 | 第8章 | 显示设备编程 | LED 与数码管驱动、OLED 显示屏(SSD1306 I2C/SPI)、字符 LCD(HD44780)、图形绘制 |
| 传感器与执行器 | 第9章 | 电机驱动 | 直流减速电机与 H 桥驱动(TB6612FNG)、PWM 调速、步进电机(28BYJ-48/A4988)、编码器测速 |
| 控制与应用 | 第10章 | 闭环控制与 PID | 闭环控制系统原理、PID 控制器(比例/积分/微分)、离散化与嵌入式实现、调参方法、直流电机速度闭环 |
| 控制与应用 | 第11章 | 嵌入式通信与物联网 | CAN 总线深入应用、MQTT 协议、ESP8266 WiFi 模块、LoRa 远程通信、农业物联网应用案例 |
| 控制与应用 | 第12章 | 嵌入式系统综合设计 | 系统设计方法论、低功耗设计、固件架构、调试与测试、可靠性设计 |
| 实验 | 第13章 | 实验一:STM32 基础外设实验 | LED 流水灯、按键中断、UART 串口通信、ADC 电压采样(PicSimlab 仿真) |
| 实验 | 第14章 | 实验二:传感器与显示综合实验 | 超声波测距 + OLED 显示 + 蜂鸣器报警综合实验 |
| 实验 | 第15章 | 实验三:嵌入式系统综合项目 | 智能环境监测系统(温湿度采集 + 显示 + 电机控制 + 串口上报) |
| 附录 | 附录A | CubeMX 编程指南 | STM32CubeMX 详细使用指南:工程创建、引脚配置、时钟树、外设参数、代码生成 |
| 附录 | 附录B | 开发环境配置 | CubeIDE 与 VSCode 开发环境、Git 版本控制、交叉编译工具链搭建 |
| 附录 | 附录C | STM32 实践项目集 | 5 个由浅入深的 STM32 实战项目:流水灯、PWM 呼吸灯、ADC 电压表、USART 控制台、智能温控风扇 |