网站大量收购闲置独家精品文档,联系QQ:2885784924

基于STM32的嵌入式系统原理与设计第四篇章.ppt

基于STM32的嵌入式系统原理与设计第四篇章.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于STM32的嵌入式系统原理与设计第四篇章.ppt

基于STM32的嵌入式系统原理与设计 第四章工程项目实例 主讲教师: EMAL: 博客:/u/2630123921 交流论坛:/bp 开发板和教程: PPT原作者:卢有亮 有修改请发修改稿到论坛以更有利于其他人教学! 要点 需求分析 工程设计 软件开发 设计题 第四章 工程项目实例 学到的知识要转化为成果,就要开发工程项目。 将学到的知识应用于实际,才能转化为价值。在工程项目中克服困难解决问题,才能将知识转化为能力。 本书的工程实例应用于实际的多电源检测系统工程。由于基于STM32的μC/OS和μC/GUI部分在亮点嵌入式后续的书籍中,因此,本章完成不需要μC/OS和μC/GUI的从机部分,主机部分需要μC/OS和μC/GUI,在后续书籍中给出。 本章引领读者,如何去分析和开始做一个工程。 既然是工程,就要从需求分析开始。 4.1 需求分析 4.1.1 需求 MDK KEIL 需求,是用户想要达到的目标。目标没搞清楚,技术再先进也达不到理想的结果。因此,项目的开发都是从需求开始的。 1.用户是“上帝”,但不一定是专家。需求没搞清楚需要返工的时候,多批评自己而不是责怪用户。 2.与用户友好沟通,多接触多学习。 3.立下字据让用户签字确认。项目的开发应以协议或合同为准,可以满足用户额外的部分需求,有的时候用户看到产品才觉得需要做需求的改进。 4.1 需求分析 4.1.1 需求 MDK KEIL 该工程项目的被测控设备如下表: 1.电源A: 被检测信号:电压,电流,过流 控制信号: 开关 2.电源B: 被检测信号:电压,电流,过流 控制信号: 开关 3.电源C: 被检测信号:电压,电流,过流 控制信号: 开关 4.电源D: 被检测信号:电压 控制信号: 开关,发射 5.功率设备: 被检测信号:电压(表示功率) 控制信号:数字量5根,根据功率查表进行设置。 4.1 需求分析 4.1.1 需求 MDK KEIL 需要以图形的方式在480X272的屏幕上显示各电源电压电流值,需要以触摸的方式按键控制各电源及功率设备的开关,需要输入功率值以5根数字信号控制功率设备。 功率设备与电源之间需要隔离。 4.1 需求分析 4.1.2 分析 MDK KEIL 需要检测7路模拟电压,由于功率设备和电源之间去要隔离,因此需要采用主从机的模式,主机和从机之间需进行高压隔离。 主机应具备带触摸液晶屏,需要的接口如下: 1. 1路RS232接口,通过隔离电路与从机通过RS232相连,发送命令和接收数据。 2. 1路模拟输入,检测功率信号。 3.10根GPIO输出,其中5根设置功率,4根设置4个电源的开关,1根用来设置电源4的发射。 4.2 工程设计 4.2.2 硬件端口设计(分配) 从第2章的硬件设计来看,亮点STM32开发板的功能完全满足了项目的需要,有独立的模拟和数字接口,因此使用该开发板就可以实现项目的需要,对应的问题转化为分配具体的管脚功能。有多路的串口,因为串口1已经转为USB接口输出,工程中采用串口4就可以满足项目的需要。 亮点STM32开发板的模拟接口(附录A,P234 表A-4)还提供了4路的GPIO,因此不需要采用其他接口了。 端口功能分配见P224表4-1 4.2 工程设计 4.2.3 从机软件设计 采集7路模拟量,并将其值通过串口发送给主机 在主循环中实现即可。注意对7路模拟量都需要通过一个积分滤波的方式进行滤波,然后周期性的发送给主机。考虑采用DMA方式采集AD数据, 设计软件流程图4-2 4.2 工程设计 4.2.3 从机软件设计 发送数据格式(简单协议) 4.3 软件开发 4.3.1 宏和变量定义 为方便系统修改,增强系统的可读性,定义了AD采集次数和AD通道数,过流信号的管脚和通道等宏,这些定义在bp_config.h中。 4.3 软件开发 4.3.1 宏和变量定义 全局变量在主程序main.c中定义,定义了一个二维数据AD_Value用来存储每个通道一次DMA采集缓存的采集数据,一维数组After_filter用来存放滤波后的数据。 4.3 软件开发 4.3.2 主程序编程 初始化变量,时钟使能,初始化串口,初始化ADC和DMA,启动DMA 4.3 软件开发 4.3.2 主程序编程 启动AD转换,延时等待转换完成后暂停转换,这时缓冲区中为采集到的数据。调用函数对缓冲区的采集数据进行处理,将滤波后的数值存储到全局数组CJDY中 4.3 软件开发 4.3.2 主程序编程 主循环下半部分,读

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档