跳转到主要内容

STM32

意法半导体与Biricha数字电源合作,在STM32 MCU中部署数字电源

judy /

<font color="#FD8900">为期4天的首期实战培训研习班将于2018年11月27日- 30日在慕尼黑开班</font>

面向智能电源解决方案的低成本、高性能微控制器(MCU)技术经过不断发展,创造了新的设计可能。意法半导体与专注开关电源设计和EMC的市场领先行业培训顾问公司Biricha Digital Power一起,利用微控制器的技术进步,合作开发出一套面向电源工程师的研习课程,讲解为何以及如何快速升级到数字电源。

受众瞄准需要构建高性能、稳定数字电源和数字PFC(功率因数校正)的模拟电源单元设计人员和嵌入式系统工程师,该实战培训班将使用量身定制的互补性硬件产品组合、软件、工具、实验室和详细的培训文档,其中包括STM32F334 产品线(内置高分辨率定时器 - 217ps)和Biricha的电源和PFC设计软件。STM32F334属于意法半导体领先业界的STM32产品家族,STM32有800多款从超低功耗到高性能的微控制器以及配套的生态系统。

主要培训课将演示如何从零开始快速设计数字电源和功率因数校正,以及如何为电压和电流模式DC / DC和PFC应用设计稳定的数字控制环路。培训学员将有机会设计、实现和测试多个数字电源以及编写相关代码。

STM32内存管理以及堆和栈的理解

judy /

今天仔细读了一下内存管理的代码,然后还有看了堆栈的相关知识,把以前不太明白的一些东西想通了,写下来,方便以后查看,也想大家看了能指出哪里不对,然后修改。

<center><img src="http://mcu.eetrend.com/files/2018-09/wen_zhang_/100014185-48358-11.png&…; alt="STM32内存管理以及堆和栈的理解"></center>

首先,先看一下stm32的存储器结构。

​Flash,SRAM寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。可访问的存储器空间被分成8个主要块,每个块为512MB。

FLASH存储下载的程序。

SRAM是存储运行程序中的数据。

所以,只要你不外扩存储器,写完的程序中的所有东西也就会出现在这两个存储器中。

这是一个前提!

STM32定时器功能和用法详解

demi /

<strong>1. STM32的Timer简介</strong>

STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的8个定时器。

<center><img src="http://mcu.eetrend.com/files/2018-08/wen_zhang_/100013872-47328-po.jpg&…; alt="STM32定时器功能和用法详解"></center>

浅析stm32复位电路方法

demi /

说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类有很多:上电复位、掉电复位、复位引脚复位、看门狗复位、软件复位等。本文探讨的就是在stm32中复位电路如何设计。

<strong>STM32介绍</strong>

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex®-M0,M0+,M3, M4和M7内核在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。

新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。

<strong>stm32复位电路设计</strong>

复位电路的作用是为了是系统恢复到初始状态的,单片机的复位方式也是存在好几种的:上电复位,系统复位,备份区域复位

单片机STM32——中断与事件的区别

demi /

<strong>1、简述</strong>

下面这张图是一条外部中断线或外部事件线的示意图。图中的蓝色虚线箭头,标出了外部中断信号的传输路径;图中红色虚线箭头,标出了外部事件信号的传输路径。

<center><img width="600" src="http://mcu.eetrend.com/files/2018-08/wen_zhang_/100013097-46156-225.png…; alt="单片机STM32——中断与事件的区别"></center>

图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套。

<strong>2、概念</strong>

事件:是表示检测到某一动作(电平边沿)触发事件发生了。

中断:有某个事件发生并产生中断,并跳转到对应的中断处理程序中。

中断有可能被更优先的中断屏蔽,事件不会。

stm32中断初识与实践(下)

demi /

这一部分我们将使用按键作为触发源,在产生中断时,实现控制LED灯的亮灭状态切换。

在具体应用前,我们还需先认识认识EXTI。

<strong>EXTI</strong>

全称为External interrupt/event controller,即外部中断/事件控制器。其管理了20个中断/事件线,每条线都有对应的一个边沿检测器,用于输入信号上升沿和下降沿的检测。如图6-1为stm32参考手册里的EXTI框图。
<center><img width="600" src="http://mcu.eetrend.com/files/2018-07/wen_zhang_/100012632-45092-111.jpg…; alt="stm32中断初识与实践(下)"></center><center>图6-1</center>

stm32中断初识与实践(上)

demi /

stm32中断的讲解我分为两部分,即两篇文章,上半部分做一个总结性的概览,有一个初步认识,下半部分会通过一个实例来讲解中断的应用。本文即为上半部分的总结性概览。
所谓“中断”,通俗地讲,就是CPU在遇到一个需要即时处理的情况时,暂时中止当前程序的执行,转而处理新情况。

在stm32参考手册中的中断和异常向量表里可查阅到,其内核的异常响应系统里有10个系统异常(含Reset和HardFault),60个外部中断。具体的定义可在库文件stm32f10x.h头文件的IRQn_Type枚举里查到。如图5-1。

<center><img width="600" src="http://mcu.eetrend.com/files/2018-07/wen_zhang_/100012614-45036-1.jpg&q…; alt="stm32中断初识与实践(上)"></center><center>图5-1</center>

意法半导体全新高性能及超高性能的STM32超值产品线,推动实时物联网设备创新

judy /

作为意法半导体的STM32 *产品家族最新成员,<a href="https://www.st.com/en/microcontrollers/stm32-high-performance-mcus.html…(Value Lines) 微控制器(MCU)</a>将为开发人员提供更高的灵活性。该系列产品适用于开发价格亲民、以性能为导向的实时物联网设备应用系统,同时不会影响目标应用的功能或网络安全性。

STM32学习笔记——RCC外设的学习和理解

judy /

RCC时钟模块并不好理解,初次接触我也是一头雾水,而且我真正掌握它的时候也比较晚,是我在学习uC/os-II,需要分析时钟时才有了深刻认识。但在学习中我却一定要把放在了前列,因为这是整个嵌入式最重要的基础之一,可以说是M3芯片的心脏。初学者理解是比较困难,但是掌握清晰对于嵌入式操作系统特别是Timer定时器以及通讯领域具有重大意义。

下面进入正题,先上一张RCC模块的结构图:
<center><img width="600" src="http://mcu.eetrend.com/files/2018-07/wen_zhang_/100012338-43841-72.png&…; alt="STM32学习笔记——RCC外设的学习和理解"></center>

初看此图是不是感觉太复杂了,事实上我第一次看这张图的时候也是的,完全理不清结构,不过不用担心,下面我就分层带你来理解这幅图。

STM32之时钟

judy /

<strong>一、RCC是什么?</strong>

RCC: Reset Clock Control,时钟和复位控制器

<strong>二、RCC的主要作用</strong>

1、设置系统时钟SYSCLK

2、设置AHB分频因子(决定HCLK等于多少)

3、设置APB2分频因子(决定PCLK2等于多少)

4、设置APB1分频因子(决定PCLK1等于多少)

5、设置各个外设的分频因子

6、控制AHB、APB2和APB1三条总线时钟的开启、控制每个外设时钟的开启。

注意:STM32库函数中时钟的标准配置为PCLK2=HCLK=SYSCLK=PLLCLK=72M,PCLK1=HCLK/2=36M

<strong>三、系统时钟库函数</strong>