ppt文档 智慧冬奥场馆温控系统解决方案(74页 PPT) VIP文档

5.87 MB 74 页 0 下载 4 浏览 0 评论 0 收藏
语言 格式 评分
中文(简体)
.pptx
3
概览
智慧冬奥会场馆温控系统 物联网嵌入式技术 项目引导案例 北京冬奥会期间,一面是 对冰雪温度控制极严的赛场, 一面是在赛场边一坐就是数 小时的观众,北京冬奥会采 用了大量的科技手段。举例 来说,从“水立方”变为“冰立 方”的国家游泳中心就给出了 “聪明”的解决方案——同室不 同温。 项目引导案例 所谓“同室不同温”,是指比 赛场地在不同的区域有不同的 温度,既符合冬奥竞赛项目对 低温的要求,又能保证现场观 众“温暖舒适”的观赛体验。 项目引导案例 那么,类似东奥会这种赛事场馆具体是如何实现温度上报和控温的呢? 滑冰场温度 上报 任务一 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报  了解 STM32 系列单片机串口结构  了解串口发送的参数设置  了解串口发送的基本流程  能根据异步串口通信协议,设计合理的通信参数  能根据 MCU 的编程手册,利用 STM32CubeMX 准确配置 STM32 串口发送功能  能根据功能需求,正确添加串口处理代码,实现字符串的发送 职业能力目标 01 知识目标 技能目标 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 一大学生创业团队为国内某家滑冰运动场提供场地温度管理解决方案。 任务是设计一个温度监控设备完成场地冰面温度和场馆各区域温度数据的采 集以及与管理室的通信功能。该项目共分为四个阶段进行,第一阶段完成温 度数据的上报,为便于验证,此阶段发送内容为固定格式数据,在计算机端 使用串口调试助手观察接收数据以达到验证的效果。 任务描述 任务要求  配置串口发送模式;  发送固定格式数据;  在计算机上使用串口调试助手观察数据; 任务描述与要求 02 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 STM32 串口 基本功能 常见串口驱动电路 1 2 知识链接 03 串口发送步骤分析 查看接收数据 3 4 5 发送数据函数 STM32 串口基本功能 03 小组讨论: 大家了解哪些串口的知识?讨论一下 03 串口是各类电子产品中最常见的通信接口之一 ○ 线路简单 22% ○ 开发、调试工具丰富 40% ○ 连接方便 38% 串口优点: STM32 串口基本功能 03 ○ UART ( Universal Asynchronous Receiver/Transmitter ) 01 02 03 04 串口的范 畴: ○ SPI ( Synchronous Peripheral Interface ) ○ USB ( Universal Serial Bus ) ○ I2C ( Inter-Intergrated Circuit ) STM32 串口基本功能 03 数据要一位一位的在线 路中传输,故名串行通 信 串口特点 UART 是全双工(数据收 发可同时进行)串口,使 用 TxD 、 RxD 、 GND 三根信号线进行数据传输, 其中 TxD 称为发送信号 线, RxD 称为接收信号 线, GND 为共地信号线 串口介绍 STM32 串口基本功能 1 波特率控制 收发控制 2 数据存储转移 3 STM32 串口基本功能 波特率控制 波特率,即每秒传输的二进制位数,用 b/s ( bps )表示,通过对时钟的 控制可以改变波特率。在配置波特率时,向波特比率寄存器 USART_BRR 写 入参数,修改串口时钟的分频值 USARTDIV 。 03 STM32 的波特率是否可调? 波特率具体是怎么调整的? 思考、提问 03 思考一下 1 波特率控制 收发控制 2 3 数据存储转移 STM32 串口基本功能 收发控制部分结构框图 03 收发控制 三个寄存 器完成了串 口通信的收 发控制 CR1 是最 经常打交道 的 STM32 的串口除了 UART 之外 还有 USART/SPI 等功能 STM32 的控制器部分 有哪几个寄存器? 03 思考一下 收发控制 3 波特率控制 收发控制 2 数据存储转移 1 STM32 串口基本功能 数据存储转移 数据存储转移部分结构框图 03 串行发 送 / 接收需 要将 1 个字 节拆成位处 理 -- 移位寄 存器 思考一下,按位发送从高位还是从低位刚开始? 数据存储转移 03 1 内核或 DMA 外设把数据从内存(变量)写 入到发送数据寄存器 TDR 发 送 数 据 流 程 2 发送控制器将自动把数据从 TDR 加载 到发送移位寄存器 3 通过串口线 TxD ,把数据一位一 位地发送出去 4 当数据从 TDR 转移到移位寄存器时, 会产生发送寄存器 TDR 已空事件 TXE 5 当数据从移位寄存器全部发送出去时, 会产生数据发送完成事件 TC 。 数据存储转移 03 1 接收数据则是一个逆过程 接 收 数 据 流 程 2 数据从串口线 RxD 一位一 位地输入到接收移位寄存器 3 自动地转移到接收数据寄存 器 RDR 4 最后用内核指令或 DMA 读取到 内存(变量)中 数据存储转移 STM32 的数据存储转 发部分有几个寄存器? 03 思考一下 STM32 串口 基本功能 常见串口驱动电路 1 2 知识链接 串口发送步骤分析 查看接收数据 3 4 5 发送数据函数 03 常见串口驱动电路 两台设备之间连接方式 电平转换电路 03 小知识: RS232-C 的电平 TTL RS232 RS232-C 电平的是 负逻辑。是以 -3 至 -15V 表示逻辑 1 ;以 3 至 15V 表 示逻辑 0 单片机使用 TTL/ CMOS 电平,且为正 逻辑。及以 5V/3.3V 表示逻辑 1 ; 0V 表 示逻辑 0 。 常见串口驱动电路 03 RS232 标准采用的接口 是 9 针或 25 针的 D 型插 头 常用的一般是 9 针插头, 称之为 DB9 接口。 接口又分为公头(插针 式)和母头(插孔式)。 串口通信时一般使用 2 、 3 、 5 号引脚即可正常通 信 这三个引脚在公头中分别 定义为 RxD 、 TxD 、 GND 而在母头中则分别定义为 TxD 、 RxD 、 GND 小知识: RS232-C 的电平 常见串口驱动电路 03 STM32 串口 基本功能 常见串口驱动电路 1 2 知识链接 串口发送步骤分析 查看接收数据 3 4 5 发送数据函数 03 ( 1 )通信速率 思考:波特率寄 存器中的数值为 什么会有小数? 通信速率,一般也称之为波特率,也就是每秒传送的字节数 9.6kbps-115.2kbps 是最经常选用的 思考一下 串口发送步骤分析 常 见 波 特 率 03 ( 2 )字长 STM32 的串口支 持 8 、 9 位字长。 01 有时我们也会选择 9 位数据,其中 8 位是我 们要传送的 1 个字节数据,额外加的 1 位用 来检验传送过程有没有发生错误。 03 常情况下选择数 据长度选择 8 位。 02 01 02 03 串口发送步骤分析 03 ( 3 )校验模式 ○ 为了能够了解通信 过程中是否发生错 误,在传送数据之 外额外增加 1 位用 于检验 A 校验位: ○ STM32 支持奇校 验、偶校验和无校 验三种模式。 ○ 奇 / 偶校验是将待 传送数据中“ 1” 的 位数补为奇 / 偶数 位 B 校验模式: 串口发送步骤分析 03 有效数据( 8 位) 奇校验 ( Odd ) 偶校验( Even ) 0000 0000 0000 0000 1 0000 0000 0 0101 0101 0101 0101 1 0101 0101 0 0100 1100 0100 1100 0 0100 1100 1 1111 1111 1111 1111 1 1111 1111 0 注意: 在传送 8 位有效数据时,如果要对数据进行奇 / 偶校验, 则相应的数据长度应设为 9 位。反之,如果不进行校验, 则字长选择 8 位即可。 ( 3 )校验模式 串口发送步骤分析 03 串口为了区分停止状态和数据传输状态还设置的 起始位、停止位的概念。一般情况下采用默认值 1 位 起始位, 1 位停止位即可。 ( 4 )起始位、停止位 串口发送步骤分析 03 ( 5 )硬件流控 标准串口除了之前描述三个引脚 之外还有 RTS 、 CTS 等引脚用于硬 件流控制,我们不使用。 设定了以上参数之后,还有诸如 STM32 相应的引脚状态也需要作相 应设置,这里选择第二功能即可。 串口发送步骤分析 03 STM32 串口 基本功能 常见串口驱动电路 1 2 知识链接 串口发送步骤分析 查看接收数据 3 4 5 发送数据函数 03 串口发送数据函数 ( 1 ) HAL_UART_Transmit ()函数 函数原型 HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) 功能描述 串口查询模式发送数据 入口参数 *huart :串口句柄; *pData :待发送数据存储首地址; Size :待发送数据字节数; Timeout :最大发送时长 返回值 HAL_StatusTypeDef :固定返回 HAL_OK 表示发送成功 注意事项 发送完成立即返回;发送未完成, Timeout 时间后返回 03 ( 2 ) HAL_UART_Transmit_IT ()函数 函数原型 HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Sizet) 功能描述 串口中断模式发送数据 入口参数 *huart :串口句柄; *pData :待发送数据存储首地址; Size : 待发送数据字节数 返回值 HAL_StatusTypeDef :固定返回 HAL_OK 表示发送成功 注意事项 中断模式发送数据,没有等待时间 串口发送数据函数 03 ( 3 ) HAL_UART_Transmit_DMA ()函数 函数原型 HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) 功能描述 串口 DMA 模式发送数据 入口参数 *huart :串口句柄; *pData :待发送数据存储首地址; Size :待发 送数据字节数 返回值 HAL_StatusTypeDef :固定返回 HAL_OK 表示发送成功 注意事项 DMA 模式发送数据,没有等待时间 串口发送数据函数 03 STM32 串口 基本功能 常见串口驱动电路 1 2 知识链接 串口发送步骤分析 查看接收数据 3 4 5 发送数据函数 03 使用 USB 转串口的注意串口号; 串口通信收、发端参数设置一 致即可进行通信 查看接收数据 03 注意: 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 设备资源: 序号 设备 / 资源名称 数量 是否准备到位 (√) 1 M3 主控模块 1 2 USB 转串口线 1 3 配书资源 1 思考一下,此次任务会用到哪些设备资源呢? 任务准备 04 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 烧写程序 2 任务实施 添加代码 1 05 添加代码 1 进行 STM32Cube MX 配置 添加代码程序 2 3 编译代码 进行 STM32CubeMX 配置 1 参考前面的项目新建 STM32CubeMX 工程 2 调试接口、时钟基础配置 1 .新建 STM32CubeMX 工程 新建工程后第一步需要对单片机的基本工作状态做一个基本 配置,包括所使用的晶体以及调试接口。晶体配置根据硬件 设计,选择 8MHz 外部高速晶体( HSE ),以及 32KHz 外 部低速晶体( LSE );配置单片机的工作主频为 72MHz 。 05 进行 STM32CubeMX 配置 时钟配置 05 进行 STM32CubeMX 配置 完成以上基本配置后将工程保存到相应的文件夹中,并命令为 “ Task4-1-UART_Tx” 。这里需要强调,路径中不能用中文! 注意: 然后使能 2 线调试模式 05 进行 STM32CubeMX 配置 1 打开 UART 配置界面 2 配置 UART 参数 3 配置数据 / 指令控制端口 2 .在工程中配 置 UART 相关资 源参数 串口参数在“ connectivity” 中配 置,根据硬件设计,这里使用 USART1 。 05 进行 STM32CubeMX 配置 在 Mode 中选择“ Asynchronous” 硬件流控选择“ disable” 按照图示配置串口发送参数 速率: 115200bps 字长: 8bit 校验: None 方向:只发送 05 进行 STM32CubeMX 配置 1 配置代码生成参数 2 生成基础工程 3 . 使用 STM32CubeMX 生成基础工程 完成单片机的基本配置与 FSMC 配置后,就可以准备生成工程了。 首先,将工程名保存为“ Task4-1-UART_Tx” 。 接着,可以参考项目 1 中的任务 1 任务实施部分,完成 c 代码的 生成操作。 05 添加代码 进行 STM32Cube MX 配置 添加代码程序 3 编译代码 2 1 打开工程后,先要对工程进行编译,若编译通过, 则表示工程可用,若编译失败请参照”开发环境搭建”先 完成开发环境搭建及测试。 单击编译按钮开始编译,若 0 个错误表示编译通过。 添加代码程序 检查工程是否可用 05 编译、没有警告与错误后,下载实测 添加代码程序 发送数据代码 05 添加代码程序 1 第五行 HAL_UART_Transmit() 用法 1 2 第六行 HAL_UART_Transmit() 用法 2 3 第八行 HAL_Delay() ,必须要加延时 程序的第 3-5 行 即能完成图片的 显示。 如需对以上代码调用函数进行深入研究,可在函 数上右键单击,在弹出菜单上左键点选“ go to definition of ..” 即可进入相应函数的函数定义部分。 05 添加代码 进行 STM32Cube MX 配置 添加代码程序 2 编译代码 3 1 编译代码 代码添加完成后,单击 “重新编译”按钮 完成 编译,确保编译准确无错误。 05 烧写程序 2 任务实施 添加代码 1 05 烧写程序 1 硬件环境搭建 固件下载 2 3 结果验证 硬件环境搭建 使用设备参考连接 05 烧写程序 1 硬件环境搭建 固件下载 2 3 结果验证 固件下载 (1) 烧写前的硬件准备 STEP 03 STEP 01 STEP 02 确保 NEWLab 接线正常,并 将旋钮旋到通 讯模 将 M3 核心模 块 JP1 从 NC 拨到 Boot 端 NEWLab 平台上 电,并按击下 M3 核心模块上 的复位键 05 固件下载 打开 STMFlashLoader Demo 软件,将编译好的 .hex 文件进行烧录 等待下载完毕 将 M3 模块的 JP1 从 BOOT 切换到 NC 按下复位键 重新上电即可使用(或按下复位键),至此 M3 模块准备完毕; (3) 烧写后启动 M3 模块 (2) 烧写 05 烧写程序 1 硬件环境搭建 固件下载 2 3 结果验证 结果验证 (1) 查看串口号 右键单击“我的电脑” - >“ 管理” ->“ 设备管理 器” ->“ 端口” 05 结果验证 (2) 配置串口助手参数 实验结果 05 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 任务小结 07 职业能力目标 01 任务描述与要求 02 知识链接 03 任务准备 04 任务实施 05 任务小结 06 任务拓展 07 任务一 滑冰场温度上报 任务拓展 07 1 重定向使用 printf ()函数实 现数据发送 1. 在“ usart.c” 中对 fputc ()函 数进行重定向 2. 在“ usart.h” 文件中增加 头文件 解 题 思 路 提示 修改功能代码,实现以下功能: 任务要求 谢谢大家学习
下载文档到本地,方便使用
共 74 页, 还有 4 页可预览, 继续阅读
文档评分
请文明评论,理性发言.