还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
嵌入式系统设计与实践单片机原理与接口技术实验教学欢迎参加嵌入式系统设计与实践课程!本课程由电子工程和计算机工程专业开设,课程编号,总学时学时,其中理论课学时,实验课学时,采CS4023643232用理论与实践相结合的教学模式课程概述课程目标教学方式评分标准掌握嵌入式系统基本原理和开发方法,理论与实验紧密结合,采用项目驱动实验占,期中考试占,期40%20%培养学生分析问题和解决问题的能力,的教学方法,强调动手能力培养和实末考试占实验评分包括出勤40%能够独立完成嵌入式系统的设计与实践创新率、实验报告质量和项目完成度现嵌入式系统基础嵌入式系统定义与特点与普通计算机系统的区别应用领域与市场规模嵌入式系统是以应用为中心,以计算机技嵌入式系统通常针对特定应用优化,资源术为基础,软硬件可裁剪,适用于对功能、有限,运行专用操作系统,强调低功耗和可靠性、成本、体积、功耗有严格要求的可靠性;而普通计算机系统通用性强,资专用计算机系统源丰富,功能多样,但功耗和成本较高主要特点包括高可靠性、实时性、资源受限、低功耗、专用性强嵌入式系统发展历史1初期阶段1960s-1970s第一个嵌入式系统应用于阿波罗登月任务,采用集成电路技术年英1971特尔发布首款商用微处理器,为嵌入式系统发展奠定基础40042快速发展期1980s-1990s微控制器出现并广泛应用,摩尔定律推动芯片集成度和性能大幅提升嵌入式操作系统开始流行,技术逐渐成熟RTOS3成熟期至今2000s-技术兴起,低功耗高性能处理器普及物联网、人工智能和边缘计算推SoC动嵌入式系统向智能化、网络化方向发展集成度、性能和能效比持续提高单片机基础知识单片机定义与基本结构主要厂商与常见型号单片机是将微处理器、存储器、主要厂商包括系列、I/O STSTM32接口和各种外设集成在一个芯片上的系列、系NXPLPCMicrochipPIC微型计算机系统基本结构包括列、系列、CPUTIMSP430Silicon核心、各类存储器、时钟系统、复位系列、瑞萨系LabsEFM32RL78电路和丰富的外设接口列等位数与性能比较位单片机成本低,功耗小,适合简单控制;位单片机性能和功耗平衡,适合816中等复杂度应用;位单片机计算能力强,外设丰富,适合复杂系统和实时控制32场景单片机架构简介冯诺依曼架构哈佛架构·程序和数据共用一个存储空间和总线,结程序和数据使用独立的存储空间和总线,构简单,但存在冯诺依曼瓶颈,即指令可同时访问指令和数据,提高执行效率,·和数据不能同时访问但硬件复杂度增加架构架构CISC RISC复杂指令集计算机,指令功能强大,但执精简指令集计算机,指令格式统一,执行行时间不一,硬件复杂,适合复杂计算任时间固定,硬件实现简单,功耗低,设计务周期短本课程使用的硬件平台系列特性STM32F41基于内核,最高主频,浮点运算单元,丰富外设资源ARM Cortex-M4168MHz FPU开发板硬件资源集成多种传感器、通信接口和人机交互组件,支持快速原型开发开发环境搭建基于或,配套图Keil MDKSTM32CubeIDE STM32CubeMX形化配置工具单片机内部结构中央处理器CPU执行指令,控制系统运行存储器系统程序和数据的存储空间时钟与复位系统提供系统节拍和初始化机制外设模块4提供与外部世界交互的接口是单片机的核心,负责取指令、译码和执行,控制整个系统运行采用内核,支持指令集和硬件浮点运算,具有高性能和低功耗特点CPU STM32F4ARM Cortex-M4DSP存储系统包括程序存储器、数据存储器和数据存储区系列提供最大的和高达的,满足复杂应用需求Flash SRAMEEPROM/Flash STM32F42MB Flash384KB SRAM单片机时钟系统时钟源类型与选择常见时钟源包括内部高速振荡器、外部高速晶振、内部低速振荡器和外部低速晶振根据精度、稳定性和功耗需求选择合适的时钟源RC HSIHSE RCLSI LSE倍频技术原理PLL锁相环通过将输入时钟信号倍频生成高频时钟的可将时钟源倍频至最高,同时提供多路输出支持不同外设时钟需求PLL STM32F4PLL HSI/HSE168MHz时钟树配置与分频系统时钟通过不同分频系数产生总线时钟、外设时钟合理配置各级分频器可实现精确的时钟管理和功耗控制SYSCLK AHBAPB1/APB2低功耗模式下的时钟管理在睡眠、停止和待机模式下,不同时钟源可选择性关闭以降低功耗唤醒过程中时钟系统需重新初始化,确保系统正常运行单片机存储系统程序存储器数据存储器Flash RAM是非易失性存储器,用于存放程用于存储程序运行时的变量和堆Flash SRAM序代码和常量数据系列提栈提供最高的STM32F4STM32F4384KB供最大的容量,典型擦写寿,分为不同区域核心耦合2MB FlashSRAM命为次写入前需先擦除,擦高速、主和备份10,000SRAMSRAM除单位为页或扇区,写入单位为字低功耗模式下保持数据访问32SRAM位或半字位速度快但掉电数据丢失16非易失性数据存储需要掉电保存的数据可存储在的特定区域,但考虑擦写寿命也可使用外部Flash或铁电提供更可靠的数据存储方案,适合频繁写入的参数存EEPROM RAMFRAM储需求接口基础GPIO164端口工作模式I/O每组通常包含个引脚,按字母编号组成不同端口输入模式、输出模式、复用功能模式和模拟模式四种STM32F4GPIO16A-K24上下拉类型速度等级输入模式下可配置上拉、下拉或浮空状态输出可配置为低速、中速、高速和超高速四种速率是单片机与外部设备交互的基本接口每个引脚内部包含输入输出缓冲器、上下拉电阻、施密特触发器和保护二极管等结构通过配置相应的寄存器可以实现不同的工作模式GPIO GPIO/编程实践GPIO初始化流程GPIO开启时钟、配置模式、配置输出类型推挽开漏、配置上下拉电GPIO GPIO/阻、配置输出速度读写操作实现通过寄存器进行读写,或使用寄存器进行原子操作ODR/IDR BSRR/BRR编程方式选择寄存器直接操作或库函数封装,各有优缺点初始化首先需要使用外设时钟控制寄存器开启对应端口的时钟然后通过GPIO RCCGPIO、、、等寄存器配置引脚的工作模式和特性在MODER OTYPEROSPEEDR PUPDR库中,这些步骤被封装为函数,简化了编程过程STM32HAL实验一控制实验GPIO闪烁程序设计LED配置输出模式,使用循环延时或定时器中断实现闪烁通过修改闪烁频率,观察GPIO LED人眼对闪烁频率的感知变化,理解原理基础PWM按键输入检测方法配置输入模式,实现两种按键检测方法轮询检测和中断检测比较两种方法的优GPIO缺点,理解中断响应机制的优势按键防抖动算法实现分析机械按键抖动现象产生的原因,实现软件延时消抖和状态机消抖两种方法,对比不同消抖算法的效果综合应用交通灯控制系统设计交通灯控制系统,实现红绿黄灯自动切换和行人过街按钮功能,练习状态机编程方法和中断处理技术中断系统原理中断概念中断向量表中断是对系统内外部事件的及时响应机存储各中断服务函数入口地址的表格,位于内CPU制,可临时中止正在执行的程序,转而处理更存起始位置,便于快速找到对应处理函CPU重要的事件数中断嵌套优先级管理高优先级中断可打断低优先级中断的处理过通过优先级寄存器设置不同中断源的重要程程,形成多层嵌套结构,提高系统响应能力度,决定同时发生的多个中断的处理顺序采用嵌套向量中断控制器,支持最多个外部中断源,个可编程优先级中断处理流程包括保存当前上下文、跳转至中断服务STM32F4NVIC24016函数、执行中断处理、恢复上下文并返回外部中断配置选择中断源配置触发方式支持从所有引脚触发外部中断,但每个端口号共享一可选择上升沿触发、下降沿触发或双边沿触发,根据外部信号特性确定最合STM32GPIO0-15个中断线,需合理规划引脚分配适的触发方式设置优先级编写中断服务函数使用函数配置中断优先级,支持抢占优先级遵循命名规范如编写处理函数,并在函数内清除中断NVIC_SetPriority STM32F4EXTI0_IRQHandler和子优先级两级划分标志位,防止重复触发中断服务函数应简短高效,避免长时间运算和阻塞操作通常采用标志处理模式,在中断中仅设置标志并完成最低限度的处理,而在主循环中检测标志并执行复杂操作-这种方式可避免中断嵌套导致的堆栈溢出和系统不稳定实验二中断应用实验实验目标关键步骤挑战任务掌握外部中断配置方法,理解中配置引脚为输入模式并启用上拉设计具有不同优先级的多个中断源,实现STM
321.GPIO断优先级和嵌套机制,实现多中断源的协电阻中断嵌套测试在实验中引入定时器中断,同工作通过按键触发中断实现控制,与外部中断配合实现复杂控制逻辑使用LED将映射到中断线
2.GPIO EXTI并测量中断响应时间,分析影响因素示波器测量中断响应时间,分析不同条件配置触发条件为下降沿按键按下
3.EXTI下的延迟变化设置中断优先级并使能
4.NVIC编写中断服务函数实现控制逻辑
5.LED添加软件消抖算法
6.定时器原理与应用定时器基本结构计数单元、预分频器、自动重装载寄存器和控制逻辑工作模式基本计时、输入捕获、输出比较和生成PWM定时器类型基本定时器、通用定时器和高级定时器应用场景精确延时、周期性任务触发、事件计数和信号产生定时器是功能强大的外设,广泛应用于时间测量、事件计数和信号生成等场景定时器的核心是一个不断递增或递减的计数器,可通过配置控制计数方向、STM32计数周期和触发事件等参数定时器高级功能信号生成原理输入捕获模式应用PWM脉宽调制是通过比较计数器值输入捕获用于测量外部信号的时间特PWM与比较寄存器值,动态调整输出波形占性,如频率、脉宽和相位差当外部信空比的技术通过修改比较寄存器值,号触发时,定时器当前计数值被锁存到可在固定频率下调节占空比,广泛应用捕获寄存器中,通过分析多次捕获值的于电机控制、调光等场景差值,可计算出信号时间参数LED与定时器结合DMA定时器事件可触发传输,实现无干预的数据采集或输出例如,采样DMA CPUADC结果可在定时器触发下通过直接存入内存,或将内存中的波形数据通过传DMA DMA输到,生成复杂波形DAC实验三定时器与控制PWM定时器基本配置配置为基本定时器模式,通过调整预分频器和自动重装载值,实现精确定时编写定TIM21ms时器中断服务函数,实现精确延时和周期性任务执行,比较其与软件延时的区别波形生成PWM配置为输出模式,设置通道输出波形,频率通过调整比较寄存TIM3PWM1PWM20kHz器值改变占空比,观察输出波形变化使用示波器测量信号的频率和占空比,验证配PWM置正确性舵机控制实验配置参数适配标准舵机控制要求(周期,脉宽)编写角度映PWM20ms
0.5-
2.5ms射函数,将度角度值转换为对应的比较值实现舵机的精确位置控制和平0-180PWM滑转动呼吸灯效果LED设计缓慢变化的占空比,实现亮度的渐变效果使用正弦或三角波算法生PWM LED成自然的呼吸灯效果通过按键控制改变呼吸频率或切换不同的呼吸曲线原理与使用ADC转换原理采样保持电路ADC模数转换器将连续的模拟信号转换在转换过程中保持输入信号稳定,防止信ADC为离散的数字量,分辨号变化导致转换结果不准确采样时间可STM32F4ADC2率为位,可表示的数值范围配置,应根据信号源阻抗选择合适值120-4095转换性能参数转换模式选择采样率受时钟、采样时间和分辨率ADC单次转换完成后停止;连续转换自动重新影响,最高可达STM32F
42.4MSPS启动;扫描模式顺序转换多个通道;间断准确度受参考电压稳定性、温度漂移和信模式分组转换指定数量的通道号噪声影响高级应用ADC多通道扫描模式配置扫描模式,自动连续转换多个通道结合规则组和注入组,可灵活管理不同通道ADC的采样优先级和时序规则组适合常规采样,注入组用于高优先级采样需求传输提高效率DMA将与控制器配合使用,自动将转换结果传输到内存缓冲区,无需干预循ADC DMA CPU环模式可持续采集数据,实现高速数据流处理使用双缓冲技术,可在一个缓冲区处DMA理数据的同时填充另一个缓冲区模拟看门狗功能设置模拟看门狗上下阈值,当转换结果超出范围时触发中断可用于过压、欠压保护ADC或异常信号检测一个最多可配置个独立的模拟看门狗,分别监控不同通道ADC3注入通道应用注入通道可随时打断规则通道转换,优先执行,适合需要及时响应的信号如电机控制中的电流保护采样,需在特定时刻立即完成转换,防止过流损坏实验四模拟量采集系统光敏电阻检测搭建光敏电阻分压电路,将模拟信号输入通道编程实现光强检测并通过指示光强ADC LED变化分析光敏电阻响应特性,实现简单的自动照明控制系统电位器输入控制使用电位器作为模拟输入源,实现参数调节界面通过读取电位器位置,动态调整系统ADC参数如闪烁频率、占空比或显示屏亮度等LED PWM温度传感器采集连接或温度传感器,采集环境温度数据设计转换算法将值换算为实LM35DS18B20ADC际温度,并在显示实现温度报警功能,当温度超出设定范围时触发声光警报LCD数据滤波与校准设计并实现多种数字滤波算法,包括均值滤波、中值滤波和卡尔曼滤波,比较不同滤波方法的效果建立校准方程,提高测量精度,减少传感器非线性误差原理与应用DAC基本原理波形生成应用DAC数模转换器将数字量转换为模拟电压或电流输出可用于生成各种波形,包括正弦波、三角波、方波和任意波DAC DAC内置两个位通道,可输出范围内的模形通过将预先计算好的波形数据传输到,可实现连续STM32F412DAC0-
3.3V DMA DAC拟电压,分辨率为采用电阻波形输出结合定时器触发,可精确控制输出波形的频率和相位
3.3V/4096≈
0.8mV DACR-2R网络结构,具有良好的线性度和稳定性波形生成的关键参数输出可选带缓冲器或无缓冲器模式带缓冲器提供更高驱动DAC•采样点数决定波形精度能力但输出范围略小;无缓冲器直接输出但驱动能力受限,适合高•更新频率决定输出波形频率阻抗负载•数据格式决定波形特性触发源可选择软件触发、定时器事件、外部触发或请求定时器触发是最常用的方式,可提供精确的时序控制使用定时器驱DAC DMA动向传输数据,可实现复杂波形的自动生成,几乎无需干预,大大降低了系统负担DMADACCPU实验五波形生成DAC本实验目标是掌握波形生成原理和技术,实现不同类型波形的输出和参数调节实验分为四个部分基本操作、正弦波生成、三角波与锯DAC DAC齿波生成、以及基于的高效波形输出DMA正弦波生成需预先计算并存储一个周期的数据点,通过查表法周期性输出三角波和锯齿波可通过线性增减值实现,更简单高效方波则通过DAC在两个极值间切换值生成波形参数的在线调整可通过按键或电位器输入实现,允许用户动态修改频率、幅度和波形类型DAC结合和定时器,实现无干预的自动波形生成,是本实验的重点和难点合理配置传输模式、传输大小和缓冲区结构,可显著提高系DMACPUDMA统效率和波形质量建议使用示波器观察输出波形,分析各参数对波形的影响通信接口概述串行通信并行通信数据位按时间顺序一位一位传输,硬件简单,线数据位同时在多条数据线上传输,速度快但需要路少,适合远距离通信,但速度较慢更多引脚和线路,抗干扰能力较弱1•常见接口、、、•常见接口、并行总线UART SPII²C CANFSMC/FMC GPIO•传输距离数厘米至数千米不等•传输距离通常不超过数十厘米•速率从几到数百•速率可达数百kbps MbpsMBps异步通信同步通信发送方和接收方使用各自的时钟,通过起始位和发送方和接收方共用一个时钟信号,传输效率高,停止位同步,不需要时钟线但效率略低时序精确,但需要额外的时钟线4•典型代表•典型代表、UART/USART SPII²C•特点接口简单,但需要精确的波特率匹配•特点位速率可靠,误码率低通信协议通常采用分层设计,物理层定义电气特性和信号传输方式,数据链路层负责帧格式和错误检测,传输层处理数据包的可靠传输,应用层定义具体的数据格式和命令这种分层架构提高了协议的灵活性和可维护性通信原理UART/USART基本概念波特率与误差校验与流控通用异步收发器是一种全双工串行通信接波特率是串口通信的速率单位,表示每秒传输的比特支持奇偶校验以检测单比特错误发送方计算UART UART口,只需两根信号线和即可实现双向数据传数常用波特率有、、数据位中的个数,接收方验证校验位与实际计算TX RX96001152009216001输的是的增强版,额外支持等波特率误差是指发送方和接收方时钟频率差异导结果是否一致硬件流控制使用信号线,STM32USART UARTRTS/CTS同步通信模式,但通常仍以异步模式使用最为广泛致的采样偏差,通常误差不超过时通信仍能正常允许接收方通知发送方暂停发送,防止数据丢失5%进行•奇校验数据位加校验位中的个数为奇数1•标准帧格式位起始位位数据位•计算公式波特率误差实际波特率理论波UART1+8+=|-•偶校验数据位加校验位中的个数为偶数1可选的校验位位停止位特率理论波特率×+1-2|/100%•空闲状态下,信号线保持高电平•通过分频器精确设置波特率,误差通常STM32小于
0.5%的外设支持多种工作模式和高级功能,包括传输、多处理器通信、智能卡接口、接口和总线支持等利用可实现高速数据传输而几乎不占用STM32USART DMAIrDA LINDMA资源,特别适合大量数据交换的应用场景CPU实验六串口通信实验串口基本配置配置参数波特率,位数据位,位停止位,无校验,无硬件流控制初始化USART111520081GPIO复用功能,将引脚映射为的功能编写串口初始化函数,配置寄PA9/PA10USART1TX/RX USART存器和中断数据发送实现实现三种串口发送方法阻塞式单字符发送、阻塞式字符串发送和方式发送比较不同发送方DMA式的效率和占用率,分析适用场景使用转模块连接计算机,观察发送数据CPU USBTTL数据接收处理实现基于中断的串口接收,在接收中断中处理接收到的数据设计环形缓冲区存储接收数USART据,解决数据覆盖问题实现简单的命令解析功能,根据接收的命令执行不同操作串口调试系统开发串口调试菜单,允许通过指令控制开发板功能实现参数查询、修改和保存等功能使用串口调试助手与开发板交互,发送命令并观察执行结果,理解人机交互设计原则本实验是嵌入式系统中最基础也是最实用的通信实验之一,串口通常作为嵌入式设备的主要调试接口和通信手段建议学生熟练掌握串口通信的各种模式,并尝试实现简单的通信协议,如基于帧结构的数据传输,包含起始标记、长度字段、数据内容、校验和和结束标记通信接口SPI4信号线时钟、主出从入、主入从出和片选SCLKMOSIMISOCS2时钟模式由时钟极性和时钟相位组合决定的四种模式CPOLCPHA100最高速率最高可达数十,远高于和STM32F4SPI MbpsUART I²C∞从设备数量理论上无限制,实际受片选线数量和负载能力限制串行外设接口是一种高速全双工同步串行通信接口,由摩托罗拉公司开发其工作原理是基于主从架构,一个主设备控制一个或多个从设备通信过程SPI中,主设备生成时钟信号并控制片选线选择待通信的从设备,数据通过和线同时双向传输SCLK CSMOSI MISO时钟极性定义空闲状态下的电平状态时为低电平,时为高电平时钟相位定义数据采样的时刻时在CPOL SCLKCPOL=0CPOL=1CPHA CPHA=0第一个边沿采样,时在第二个边沿采样这四种组合形成的四种工作模式,使用时需确保主从设备配置相同的模式CPHA=1SPI Mode0-3实验七外设控制SPI接口配置SPI初始化为主模式,配置时钟极性,时钟相位,波特率设置为时SPI1CPOL=0CPHA=0Mode0APB2钟配置相关引脚为复用功能,并为每个从设备准备单独的片选控制引脚编写基本的发送/4GPIO SPI和接收函数,包括单字节传输和缓冲区传输显示屏驱动OLED连接型显示屏,使用接口通信研究显示屏内部控制器工作原理,理解命令和数据SSD1306OLED SPI区分机制开发基本显示功能,包括像素点控制、字符显示和简单图形绘制实现显示缓冲区管理,优化刷新效率操作SPI Flash连接型芯片,实现读取芯片、扇区擦除、页编程和数据读取等功能设计存W25Q64SPI FlashID Flash储管理层,实现参数存储和恢复功能分析芯片时序要求,使用逻辑分析仪观察总线通信过程,Flash SPI优化传输效率多设备管理在同一总线上挂载多个设备,包括显示屏、存储器和卡等设计合理的设备选择和切SPI OLEDFlash SD换机制,确保无冲突访问分析多设备情况下的时序要求和总线负载,合理安排通信优先级本实验重点锻炼学生对通信协议的深入理解和实际应用能力通过操作实际外设,掌握接口的特点和编程技巧SPI SPI实验中需注意不同设备对时序的特殊要求,以及片选信号的正确控制方式建议使用示波器或逻辑分析仪观察信SPI SPI号波形,加深对通信过程的理解通信接口I²C物理层特点1只需两根信号线时钟线和数据线,均为开漏输出,需上拉电阻SCLSDA地址寻址机制每个设备具有唯一的位或位地址,支持多主设备和多从设备结构710传输速率标准模式,快速模式,高速模式100kbps400kbps
3.4Mbps总线是由飞利浦公司开发的一种简单、双向两线制同步串行总线它广泛应用于微控制器与外围设备之间的近距离通I²CInter-Integrated Circuit信,如、传感器、转换器等总线的每次数据传输都以起始条件开始,以停止条件结束,数据传输以字节为单位,高位在前EEPROM A/D I²C通信过程中,从设备通过发送应答位确认收到数据当主设备发送一个字节后,释放线,从设备将拉低表示应答如果从设备不应答I²C ACKSDA SDA,可能表示设备不存在、忙或无法处理更多数据多主机环境下,总线通过仲裁机制解决冲突,各主机监视总线状态,一旦检测到预期输出NACK I²C与实际总线状态不符,立即放弃总线控制权实验八设备控制I²C存储实验EEPROM使用系列,实现数据的页写入和随机读取开发一个简单的参数管理系统,将系AT24Cxx EEPROM统配置数据存储到并在启动时恢复测试的写入速度和耐久性,理解页写入和随EEPROM EEPROM机写入的区别数据采集MPU6050通过接口读取加速度计和陀螺仪数据配置传感器采样率和滤波参数,实现姿态数据实I²C MPU6050时采集计算俯仰角和滚转角,并在显示器上可视化显示尝试实现简单的运动检测功能OLED错误处理策略设计健壮的通信错误处理机制,包括总线超时检测、应答失败处理和总线复位流程模拟各种错误I²C情况,测试错误恢复能力使用软件实现硬件的备份方案,提高系统可靠性I²C I²C总线分析调试使用逻辑分析仪捕获总线通信波形,分析通信时序和协议细节观察起始停止条件、地址帧、数I²C/据帧和应答位,加深对协议的理解优化通信时序,提高传输效率I²C本实验重点培养学生对总线的理解和应用能力协议虽然简单,但实际应用中需要注意许多细节,如时I²C I²C序要求、地址冲突处理和错误恢复等通过操作实际设备,学生可以深入理解通信的原理和技巧,为后续I²C更复杂的总线应用打下基础总线通信CAN总线特点报文格式与标识符CAN控制器局域网是一种高可靠性的串行通信总线,最初为汽车电子系统设总线采用无源设定帧优先级的通信方式,通过标识符确定报文优先级CAN CANID计,现已广泛应用于工业控制和医疗设备等领域和内容类型•物理层采用差分信号传输,抗干扰能力强标准帧•最高通信速率短距离,长距离可达数百1Mbpskbps•位标识符11•多主控制,无需中央控制器•最多字节数据8•支持多达个节点扩展帧格式2^29•位区分数据帧和远程帧RTR•采用非破坏性总线仲裁机制扩展帧•位标识符位2911+18•向下兼容标准帧•优先级低于标准帧总线采用基于载波侦听多路访问冲突检测无损仲裁的访问技术仲裁机制基于位优先原则显性位逻辑优先于隐性位逻辑当多个CAN CSMA/CD+AMP/+01节点同时发送时,较小的报文更多显性位将获得总线控制权,其他节点自动转为接收模式ID总线具有强大的错误检测和处理能力,包括位错误检测、校验、帧格式检查等五种错误检测机制每个节点具有错误计数器,可根据错误频率自动进入错CAN CRC误被动或总线关闭状态,防止单个故障节点干扰整个网络,保证系统高可靠性实验九网络通信CAN节点配置数据收发实现过滤器应用CAN配置控制器开发标准帧和扩展帧发送函数,配置接收过滤器,实现按STM32bxCAN CAN参数,包括波特率、重同步跳实现数据的打包和发送设计标识符或标识符掩码过滤接收跃宽度和采样点位置正确设接收处理流程,基于中断或轮数据分析过滤器的工作原理,置位时序参数,确保网络中所询方式获取接收数据建立简优化过滤器配置提高接收效率有节点时序匹配初始化单的通信协议,定义不同和准确性测试不同过滤设置CAN CAN过滤器,配置工作模式和中断标识符的用途和数据格式下的接收性能多节点网络搭建至少三个节点的网络,CAN模拟分布式控制系统实现节点发现、状态监控和参数同步等功能测试网络在高负载和故障条件下的性能和可靠性本实验要求学生深入理解总线通信原理,掌握控制器配置和编程方法通过构建小型网络,体验分布式控CAN CANCAN制系统的设计和实现过程建议使用分析工具监控总线流量,观察报文传输过程和仲裁机制的实际工作情况CAN在实验中,特别注意总线的物理层连接,确保正确使用终端电阻通常为匹配总线阻抗探索总线在不CAN120ΩCAN同传输速率下的通信距离限制,以及如何提高抗干扰能力这些知识对设计实际工业控制系统和汽车电子系统非常重要接口技术USB应用层特定设备类驱动和应用程序USB传输层2控制、批量、中断和同步四种传输类型协议层3令牌、数据和握手包,事务处理物理层4差分信号传输,电气特性和连接器定义通用串行总线是一种广泛应用的外设连接标准,支持热插拔和即插即用支持功能,可配置为设备模式、主机模式或模式USBSTM32F4USB OTGOn-The-Go OTGUSB采用主从架构,主机负责总线调度和资源分配,设备响应主机请求设备描述符是一组按层次组织的数据结构,用于向主机描述设备的特性和功能包括设备描述符、配置描述符、接口描述符和端点描述符等实现功能时,需正USB STM32USB确定义这些描述符,确保主机能够识别设备类型和功能枚举过程是主机识别和配置新连接设备的过程,包括复位总线、读取设备描述符、分配地址、选择配置等步骤枚举完成后,设备进入配置状态,可以开始正常数据传输USB通过外设和相应的固件库,可以实现各种设备功能STM32USB USB实验十设备开发USB本实验目标是掌握设备开发的基本方法和技术,实现常用的设备类型实验分为三个部分虚拟串口实现、设备开STM32USB USBCDC HID发和数据传输性能测试学生将学习协议基础知识,理解描述符的定义和配置,掌握数据传输的编程方法USB USB USB通信设备类虚拟串口是最常用的应用之一,可以让模拟一个串口设备,通过标准驱动与计算机通信,无需特殊驱动程序CDCUSB STM32人机接口设备类用于实现键盘、鼠标等输入设备,具有简单的协议和免驱特性实验中将基于库或生成的框HIDSTM32HAL CubeMXUSB架,完成设备固件开发和测试数据传输性能是应用的关键指标实验将测试不同传输模式控制、中断、批量的数据吞吐量和延迟特性,分析影响性能的因素,优化传USB输效率使用协议分析工具观察设备枚举过程和数据包交换,深入理解通信机制USBUSB基础知识RTOS实时操作系统概念任务调度算法实时操作系统是一种特殊的操作系统,专为采用不同的调度算法决定任务执行顺序,主RTOS RTOS需要在严格时间约束下运行的应用而设计要包括RTOS的核心特点是确定性响应,即系统能在可预测的时•优先级抢占式高优先级任务可中断低优先级间内响应外部事件任务•硬实时系统必须在指定截止时间内完成任•时间片轮转同优先级任务轮流执行固定时长务,超时将导致系统失效•最早截止时间优先优先执行截止时间最近的•软实时系统允许偶尔错过截止时间,但会降任务低系统质量•速率单调优先级与任务周期成反比常见平台RTOS嵌入式领域常用的包括RTOS•FreeRTOS开源、轻量级、可移植性强•RT-Thread国产实时操作系统,组件丰富•uC/OS商业级RTOS,安全认证完善提供的实现•RTX/RTX5ARM CMSIS-RTOS的内核对象提供任务间的同步和通信机制,常见的包括信号量用于资源访问控制、互斥量防止资源竞RTOS争、消息队列数据传递、事件标志组多事件同步和软件定时器延时执行等理解这些机制对开发可靠的多任务应用至关重要核心概念FreeRTOS任务管理调度策略任务是中的执行单元,每个任务有支持优先级抢占式调度,高优先级FreeRTOS FreeRTOS独立的栈空间和上下文任务状态包括运行任务随时可抢占低优先级任务同优先级任务态、就绪态、阻塞态和挂起态使用可配置为时间片轮转方式执行调度器在时钟创建任务,为其分配优先级、中断和调用时触发,重新评估最高优先级xTaskCreate API栈空间和入口函数就绪任务内存管理时间管理提供多种内存分配方案简单分配无heap_1基于系统时钟节拍进行时间测量,通过tick释放、允许释放但可能碎片化、heap_2和实现任务vTaskDelay vTaskDelayUntil3使用标准、合heap_3malloc/free heap_4延时和周期执行提供软件定时器功能,支持并相邻空闲块和跨多内存区域分heap_5一次性和周期性调用配是一个开源、轻量级的实时操作系统,专为微控制器设计,可移植性强,支持超过种架构它核心代码简洁仅个文件,易于理解和定FreeRTOS353C制,占用资源少,非常适合资源受限的嵌入式系统在平台上,可以与库无缝集成,使用或任何定时器作为系统时钟源通过合理配置文件,可以裁剪STM32FreeRTOS HALSysTick FreeRTOSConfig.h功能、调整性能和内存占用,满足不同应用的需求深入理解的工作原理,对开发可靠的多任务应用至关重要FreeRTOS实验十一任务管理RTOS环境配置将源代码集成到项目中,配置编译选项和头文件路径修改适配FreeRTOS STM32FreeRTOSConfig.h项目需求,配置系统时钟频率、优先级范围和功能选项将配置为系统时钟源,确保SysTick FreeRTOS中断优先级设置正确多任务应用设计创建至少个不同优先级的任务,包括闪烁任务、按键检测任务、传感器采集任务、数据处理任务和5LED通信任务测试任务创建、删除和挂起恢复功能,观察系统行为实现任务间的数据共享和协作,处理/好临界资源访问性能分析启用统计功能,收集任务执行时间和栈使用情况使用串口输出任务统计信息,分析利FreeRTOS CPU用率分布测量任务切换延迟和中断响应时间,评估系统实时性能优化任务设计,提高系统效率和可靠性调试技术使用追踪功能记录任务执行序列,辅助分析任务调度行为设置栈溢出检测钩子函数,及时发现栈配置不足问题实现自定义空闲任务钩子函数,监控系统空闲时间掌握环境下的断点调试和日志收集技RTOS术本实验重点培养学生对实时操作系统的理解和使用能力通过设计并实现基于的多任务应用,体验任务调度FreeRTOS和管理的过程,理解相比裸机编程的优势和挑战实验中需特别注意任务优先级分配、栈空间大小确定和临界区RTOS保护等问题,这些是影响系统稳定性的关键因素任务同步与通信RTOS信号量与互斥量消息队列事件组信号量用于任务同步和共享资源保提供任务间数据传输的缓冲区,支持用于多条件同步,每个事件组包含多护二值信号量类似标志,用于任务先进先出或优先级排序发送任务将个事件位任务可等待一个或多个事间事件通知;计数信号量管理有限资数据复制到队列,接收任务从队列取件位被设置逻辑,适合AND/OR源访问;互斥量是特殊的二值信号出数据可配置固定大小的消息元素实现复杂的同步场景事件组支持自量,具有优先级继承机制,防止优先和队列长度,支持超时机制和阻塞等动清除或手动维护事件状态级反转问题待任务通知轻量级通信机制,比信号量和队列更高效每个任务有一个位通知32值,可用作计数器、事件标志或数据传递支持多种操作模式,如设置位、递增值或直接更新选择合适的同步通信机制是应用设计的关键对于简单的二值同步,任务通知效率最高;数据传输场景,消RTOS息队列提供完善的缓冲机制;复杂的多条件同步,事件组更灵活;共享资源保护,互斥量提供最安全的访问控制所有通信原语都支持可选的阻塞超时,允许任务在等待条件满足时进入阻塞状态,释放资源超时可设RTOS CPU置为具体时间或永久等待中断服务函数可使用版本的安全地与任务通信,但不能进入阻塞状态FromISR API实验十二任务同步实验本实验旨在深入理解任务同步与通信机制,解决多任务环境下的资源竞争和协作问题实验分为四个部分生产者消费者模型实现、资源竞争处理、优先级反转分析和死锁预防策RTOS-略实践生产者消费者是经典的任务协作模型,要求学生使用消息队列或信号量实现数据缓冲区管理生产者任务产生数据如传感器读数并放入缓冲区,消费者任务从缓冲区获取数据进行处理-关键是处理好生产速率与消费速率不匹配的情况,避免缓冲区溢出或饥饿资源竞争是多任务系统的常见问题,实验中使用互斥量保护共享资源如全局数据结构或外设学生需主动创造竞争条件,观察不使用保护机制导致的数据不一致问题,再实现正确的互斥访问解决方案优先级反转是互斥访问中的特殊问题,通过刻意构造场景,让学生理解其危害和使用优先级继承互斥量的解决方法最后,实现资源分配策略,防止死锁发生,包括资源层次化分配和超时释放机制嵌入式系统电源管理低功耗设计原则低功耗模式STM32嵌入式系统低功耗设计是从硬件选型到软件优化的全方位考量,主提供多级低功耗模式,根据唤醒速度和功耗水平分为STM32F4要原则包括•睡眠模式仅停止,外设继续运行,快速唤醒几个时钟CPU•选择适合应用的微控制器系列和型号,避免功能过剩周期•利用外设的低功耗特性,如自动关闭•停止模式和大部分外设时钟停止,保留和寄存器ADC CPUSRAM内容,中等唤醒时间级•合理配置时钟系统,不用外设关闭对应时钟μs•待机模式最低功耗状态,除备份域外所有电路断电,唤醒时•优化代码执行效率,减少处理器工作时间完全重启级ms•最大化使用低功耗模式,保持系统尽可能长时间处于休眠状态动态电压频率调整是一种平衡性能和功耗的先进技术支持动态调整系统时钟频率,根据处理负载需求切换不同的运行模DVFS STM32式在处理密集型任务时使用高频率,空闲时降低频率,显著降低平均功耗实现需要精确测量系统负载并设计合理的频率切换策略DVFS电池供电系统需特别注意电源完整性和电池寿命管理关键技术包括电池电量监测和精确剩余电量估算、低电压保护和安全关机、充电管理和电池保护电路设计、以及电源噪声抑制和去耦电容配置等结合软硬件优化,可显著延长电池设备的工作时间实验十三低功耗应用功耗测量系统搭建电流测量电路,能够精确测量级电流使用分流电阻和运算放大器构建电流放大电路,或采μA用专用功耗分析仪开发测量程序,记录不同运行状态下的功耗数据,建立功耗基准低功耗模式配置分别配置并测试睡眠模式、停止模式和待机模式,比较功耗差异和唤醒延迟实现不同唤醒源的配置,包括外部中断、闹钟和独立看门狗测量各种唤醒方式的响应时间和可靠性RTC周期性唤醒应用开发定时唤醒的数据采集系统,利用在固定时间间隔唤醒系统,完成传感器数据采集并RTC存储,然后重新进入低功耗模式优化唤醒后的操作流程,最小化活动时间电池寿命估算基于实测功耗数据,计算使用不同电池时的理论工作时间考虑电池自放电、温度影响和容量衰减等因素,建立更准确的电池寿命模型开发电池电量监测和低电量预警功能本实验重点培养学生对嵌入式系统功耗管理的理解和实践能力通过实际测量和优化,掌握降低系统功耗的关键技术实验中需注意功耗测量的准确性,考虑测量电路本身的影响同时应分析各功能模块的功耗贡献,有针对性地进行优化传感器接口技术模拟传感器接口模拟传感器输出连续变化的电压或电流信号,需要通过转换为数字量常见的模拟传感器包括热敏电ADC阻、光敏电阻、压力传感器等信号调理电路通常包括滤波、放大和线性化处理,将传感器原始信号调整到输入范围ADC数字传感器接口数字传感器内部集成了信号处理和电路,通过标准数字接口、、等输出数据优点是ADC I²C SPI1-Wire抗干扰能力强、传输距离长、可集成多个传感器功能常见数字传感器包括温湿度传感器系列、加速SHT度计系列、气压计系列等MPUBMP传感器校准技术传感器校准是提高测量精度的关键步骤,常用方法包括多点校准建立查找表或多项式拟合、温度补偿消除温度漂移影响、零点和增益调整线性化处理、自动校准系统自检和周期性校准数字滤波算法传感器数据通常包含噪声和干扰,需要通过滤波算法提高信号质量常用滤波方法有均值滤波简单但有滞后、中值滤波抑制脉冲噪声、卡尔曼滤波动态系统最优估计、数字滤波器频域特性可控IIR/FIR传感器选型需综合考虑多方面因素测量范围、灵敏度、精度、分辨率、线性度、响应时间、工作温度范围、功耗、接口类型、可靠性和成本等对于复杂应用,还需考虑传感器融合技术,结合多个传感器的优势,提高测量的准确性和鲁棒性实验十四多传感器系统温湿度监测运动检测使用或数字温湿度传感器,通使用六轴传感器加速度计陀螺DHT22SHT30MPU6050+过单总线或接口读取环境温湿度数据实仪,通过接口获取运动数据实现基本姿I²CI²C1现周期性采样和数据存储,分析温湿度变化趋态计算,包括俯仰角、滚转角和航向角开发势设计简单的温湿度控制系统,如触发风扇简单的运动识别算法,区分静止、行走和跑步或加热器等状态环境监测数据融合与显示整合气压传感器、光强传感器和噪BMP280实现传感器数据融合算法,提高测量精度和可声传感器,构建综合环境监测系统设计数据靠性开发基于显示屏的用户界面,直观LCD采集和存储方案,实现环境参数的长期监测和显示各项环境参数通过串口或无线方式传输分析开发异常检测算法,对超出正常范围的数据到计算机,实现数据可视化和远程监控参数触发报警本实验综合应用各种传感器接口技术,培养学生设计多传感器系统的能力关注信号处理技术,包括传感器校准、数据滤波和异常值检测等通过设计合理的数据采集策略和处理流程,确保系统测量的准确性和实时性电机控制技术直流电机步进电机直流电机结构简单,控制方便,广泛应用于中小功率场合控制方步进电机以固定步距旋转,适合精确位置控制,无需反馈驱动方法主要包括式包括•基本开关控制通过晶体管或直接开关电机电源•全步进每次通电一个相或两个相MOSFET•调速通过改变占空比调节电机平均电压,实现速•半步进交替使用单相和双相激励,提高分辨率PWM PWM度控制•微步进使用控制相电流,实现更细分的步距PWM•桥驱动使用四个开关器件构成桥,实现电机正反转控制H H•专用驱动器如、等,简化控制电路A4988DRV8825•专用驱动芯片如、等,集成桥和保护电路L298N DRV8833H伺服电机系统由电机、编码器和控制电路组成,具有高精度的位置控制能力控制算法通常采用比例积分微分闭环控制,根据期PID--望位置和实际位置的差值计算输出信号高性能伺服系统可能使用更复杂的控制策略,如前馈控制、自适应控制或模糊控制等电机驱动电路设计需考虑多方面因素电流容量、散热设计、瞬态保护如续流二极管、电磁兼容性和隔离技术等大功率应用可能需要使用桥模块、智能功率模块或专用电机驱动集成电路驱动电路应具备过流保护、过热保护和短路保护功能,确保系统H MOSFETIPM安全可靠运行实验十五电机驱动系统直流电机控制使用或驱动模块控制直流电机L298N DRV8833调速技术PWM通过产生信号,实现转速精确控制TIM PWM闭环控制实现结合编码器反馈,实现转速和位置控制PID性能测试与优化测量系统响应特性,优化控制参数本实验旨在掌握电机驱动和控制的基本原理与实践技术首先设计桥驱动电路或使用集成驱动模块,实现直流电H机的基本控制功能,包括启停、正反转和速度调节使用技术精确控制电机转速,分析频率和死区时间PWM PWM对电机性能的影响实验的核心部分是闭环控制系统实现使用霍尔传感器或光电编码器获取电机转速和位置反馈,设计并调试控PID制算法实验中需探索、、三个参数对系统响应的影响,掌握参数整定方法进阶内容包括位置与速度双P ID PID闭环控制系统设计,通过外环控制位置、内环控制速度,实现更精确的运动控制为进一步提高控制性能,可尝试实现前馈补偿、抗积分饱和措施和自适应参数调整等高级控制策略使用示波器和数据记录工具,分析系统在各种负载条件下的动态响应特性,评估控制算法的鲁棒性和适应性综合项目设计方法需求分析明确系统功能、性能指标和约束条件系统架构设计2确定硬件平台和软件架构模块化实现3分解为子系统并逐一实现测试与优化验证功能和性能,持续改进嵌入式系统设计是一个系统工程,需要平衡功能、性能、成本和开发周期等多方面因素需求分析阶段应充分与用户沟通,明确系统的功能需求、性能指标、可靠性要求、环境约束和成本目标等完善的需求文档是项目成功的基础硬件平台选型需考虑处理能力、外设资源、功耗要求、开发生态和成本等因素软件架构设计应遵循模块化、层次化原则,明确定义模块接口和交互方式采用自顶向下的设计方法,先确定系统总体架构,再逐步细化到具体模块实现测试应贯穿整个开发过程,包括单元测试、集成测试和系统测试,确保系统功能正确、性能达标、稳定可靠综合项目案例一智能家居控制器本项目旨在设计一个基于的智能家居控制中心,集成多种传感器监测家庭环境,并通过无线通信控制各种家电设备系统架构包括四个主要模块传感器网络、控制核心、无线STM32通信接口和用户界面传感器网络采用星型拓扑结构,包括温湿度传感器、光照传感器、气体传感器和人体存在检测等,通过总线或无线方式连接到控制核心控制算法基于实现多任务处理,I²C FreeRTOS包括数据采集任务、状态监控任务、决策控制任务和通信任务系统支持手动控制、定时控制、场景控制和自动化控制等多种模式无线通信采用模块或蓝牙模块,实现与智能手机的连接和控制用户界面包括板载显示和触摸控制,以及手机远程控制两种方式系统采用模块化设计,可根ESP8266WiFi LCDAPP据需求灵活扩展功能项目实现过程中需重点解决多设备协调控制、网络通信可靠性和低功耗运行等技术挑战综合项目案例二无人机飞控系统姿态估计算法2飞行控制算法基于九轴传感器加速度计、陀螺仪、磁力计实现姿态估计设计级联控制器,内环控制角速度,外环控制姿态角优化参数MPU9250PID PID使用互补滤波或扩展卡尔曼滤波融合多传感器数据,计算欧拉角俯仰、整定过程,实现稳定悬停和灵活机动增加高度控制环路,使用气压计或滚转、偏航实现传感器校准和温度补偿,提高姿态估计精度超声波传感器实现定高飞行考虑风扰动补偿和动力学模型优化电机驱动系统遥控通信系统使用专用的无刷电机电子调速器控制四个无刷电机实现信实现无线通信协议,接收遥控器指令并发送飞行状态设计通信ESC PWM
2.4GHz号生成,控制电机转速设计失效保护机制,确保安全着陆优化功率管协议,确保指令传输的实时性和可靠性实现失控保护和自动返航功能理,延长飞行时间可选配数传模块,实现远程监控和参数调整无人机飞控系统是一个典型的复杂嵌入式控制系统,涉及传感器融合、实时控制、无线通信等多个技术领域本项目采用作为主控制器,作为STM32F4FreeRTOS操作系统,确保多任务的实时性和可靠性系统设计需特别注意实时性能、故障安全和电磁兼容性等方面课程总结与未来发展知识点回顾技术发展趋势本课程系统讲解了嵌入式系统设计的理论基础嵌入式系统正向智能化、网络化、低功耗和高和实践技能,从单片机架构到各种外设接口,可靠性方向发展人工智能、边缘计算、物联从基础编程到应用,全面覆盖了嵌入式网和区块链等新技术不断融入嵌入式领域,带RTOS系统开发的核心知识来新的应用场景和技术挑战学习路径建议创新方向建议深入学习特定应用领域知识,如工业控探索嵌入式应用,如本地语音识别、计算机AI制、汽车电子或医疗设备等掌握更多高级编视觉和预测性维护等研究低功耗广域网络程技术,如、和高级特性C++Python RTOS技术在物联网中的应用关注安全LPWAN关注开源硬件社区,参与实际项目,积累实战性设计,应对日益严峻的网络安全挑战经验本课程通过理论与实践相结合的方式,帮助学生建立了嵌入式系统设计的整体认知和实践能力从基础的控制到复杂的应用,从简单的GPIO RTOSLED闪烁到综合性项目开发,循序渐进地培养了解决实际问题的能力嵌入式系统作为信息技术的重要分支,将继续在智能手机、物联网设备、工业控制、汽车电子、医疗设备等领域发挥关键作用希望同学们在掌握基础知识的同时,保持对新技术的关注和学习热情,在未来的学习和工作中不断创新和进步。
个人认证
优秀文档
获得点赞 0