首页 - 通讯 - STM32内核中的中断管理设备叫什么名字 - (stm32内部中断)

STM32内核中的中断管理设备叫什么名字 - (stm32内部中断)

2023-10-04 04:56

STM32内核中的中断管理设备叫什么名字? (stm32内部中断)

stm32嵌套向量中断控制器nvic有多少个可编程优先级等等

16 件。
经查询相关资料,stm32嵌套向量中断控制器nvic有16个可编程优先级。 stm32内核支持256个中断,其中16个内核中断和240个外部中断,并具有256级可编程中断设置。
STM32是意法半导体(ST)推出的32位微控制器。 STM32具有价格超低、外设众多、模型丰富、实时性能优良、开发成本极低等优点。

stm32中断寄存器EXTI_IMR和NVIC_ISER有什么区别

是的,一个是芯片的外设,即STM32。一是内核,就是ARM。两者必须同时打开

stm32里面最厉害的丁奇是

1。位带操作
学习51单片机时,用到了位操作,通过关键字sbit来定义单片机的IO口。然而stm32没有这样的关键字。而是通过访问位带别名区来实现,即将每一位扩展为32位字,位带别名区指针指向位带区内容。
支持位带操作的两个存储区域的范围为:
0x2000_0000‐0x200F_FFFF(SRAM 区域中的最低 1MB)
0x4000_0000‐0x400F_FFFF(片上外设区域中的最低 1MB) 位别名区域地址 = (A&0xF0000000)+0x2000000+(A&0xFFFFF)
其中 A 是位带地址,n 是字节数。
这是一个不太冗长的示例:
1。在地址 0x20000000
2 写入 0x3355AACC。读取地址0x22000008。此读取访问将读取 0x20000000 并提取值为 1 的位 2。
3。将 0 写入地址 0x22000008。此操作将映射到地址 0x20000000 上的“读取-修改-写入”操作(原子),将位 2 清除为 0。
4。现在读取0x20000000,它将返回0x3355AAC8(位[2]已被清除)。
注:如果使用bitband操作,可以为每个管脚定义bitband宏,封装在头文件中,方便管脚的使用。
2. 中断
中断实际上是指CPU在执行程序时,由于某种随机事件(外部或内部),CPU暂时中断正在运行的程序,转入特殊的服务程序(中间子程序) 。下图是中断图。

有些中断可以屏蔽,有些中断不能屏蔽。每个中断通道都有自己的中断优先级控制字,分别控制抢占优先级和响应优先级。只有抢占优先级相同时,才由响应优先级决定处理哪一个中断(响应优先级不能打断正在执行的中断程序)。
stm32中的NVIC(嵌套向量中断控制器)是内核的外设,控制芯片的中断相关功能。
注:中断和事件的区别:
可以简单地认为事件机制提供了一个从触发到产生结果完全由硬件自动化的通道,不需要软件的参与,减少了CPU的负载并省钱。它消除了中断资源并提高了响应速度(硬件总是比软件快)。它是利用硬件提高CPU芯片事件处理能力的有效途径。
3. printf 重定向
我们知道,C 语言中 printf 函数的默认输出设备是显示器。如果想在串口或者LCD上显示,就必须重新定义标准库函数来调用与输出设备相关的函数。一般在fputc函数中将输出对象改为指向串口或者LCD。这个过程称为重定向。
4。随机数生成器 RNG
STM32F4 芯片包含一个硬件随机数生成器 (RNG)。 RNG处理器是一个基于连续模拟噪声的随机数发生器,提供32位随机数。使能后需要检查标志位判断是否稳定,稳定后才能使用。RNG结构图如下所示:

5. AD/DA
STM32 ADC模块,请允许我用这样通俗的语言:普通话来介绍一下STM32ADC模块的特点
1 ,1MHz转换速率,12位转换结果(12位,记住这个12位,因为2^12=4096,也请记住4096)
STM32F103系列:
56MHz时的转换时间为:1μs
72MHz 下的转换时间为:1.17μs
2。转换范围:0~3.3V(3.3v---->需要将采集到的数据显示为电压时:将您采集到的数据设置为:x[0~4095],此时的计算公式为:(x / 4096) * 3.3))
3。 ADC供电要求:2.4V~3.6V(不要接5V石榴裙底)
4. ADC 输入范围:VREF-≤ VIN ≤VREF+(VREF+ 和 VREF- 仅适用于 LQFP100 封装)
5。双模式(具有 2 个 ADC 的设备):8 种转换模式
6。最多 18 个通道:16 个外部通道,2 个内部通道:连接到温度传感器和内部参考电压(VREFINT = 1.2V)。通道可分为常规通道和注入通道。常规频道组最多有16个频道。它是具有DMA功能的常规通道,而注入通道组最多有4个通道。可以在转换过程中中断,也可以在常规通道转换时进行队列切割。
转换步骤如下:
• 使能端口时钟和ADC时钟
• 设置ADC通道控制器CCR(ADC模式(独立、双路、三路)、输入时钟分频等)
• 初始化ADC(分辨率、转换模式(单次、连续)、数据对齐等)
• 打开ADC
• 读取ADC 转换值
测量交流信号时,交流电压必须为5V以内分压,然后将负半周升到零以上,用运放做加法器(交流电源检测有高精度运放,好像是MCP的),把零点升到2.5V ,使得最低点也大于零,最高点不超过5V,然后用单片机采集交流电一个周期内的40个点,存储在存储器中,并计算均方根每个离散值,即为交流功率的有效值。
或者将交流信号经过(电压跟随器+全波整流),将负半周信号反相到正半轴,得到半波交流信号,然后用ADC进行测量。
我们看一下STM32 DAC的Resume:

● 2个DAC转换器:每个转换器对应1个输出通道
● 8位或12位单调输出
● 12 位模式下数据左对齐或右对齐
● 同步更新功能
● 噪声波形生成
● 三角波形生成
● 双 DAC 通道可同时或单独转换
● 每个通道通道具有 DMA 功能
● 外部触发转换
● 输入参考电压 VREF+
注:PWM+RC 滤波可以模拟 DAC 的输出模式。
  当DAC的输出频率要求不是太高时,我们一般可以采用PWM+二阶RC滤波来模拟DAC进行输出。 PWM 的
占空比用于模拟幅度。二阶RC低通滤波器电路用于滤除谐波(一般只考虑基波)并通过直流。具体如下:
8 位分辨率条件下 下面,我们一般要求 1 次谐波对输出电压的影响不能超过 1 位精度,即 3.3/256=0.01289V。假设VH为3.3V,VL为0V,则一次谐波的最大值为2*3.3/π=2.1V,这就要求我们的RC滤波电路至少提供-20lg(2.1/0.01289)=-44dB的衰减。 STM32定时器最快的计数频率为168Mhz,有的定时器只有84MHz。以84M为例,当分辨率为8时,PWM频率为84M/256=328.125Khz。如果是一阶RC滤波器,则要求截止频率为2.07Khz。如果是二阶RC滤波器,则要求截止频率为26.14Khz。
1。 PWM频率为328.125Khz,则一次谐波频率为328.125Khz;
2。一阶RC滤波器,幅频特性为:-10lg[1+(f/fp)^2]; fp 是截止频率。
所以对于一阶滤波,要实现-44dB衰减,必须是-10lg[1+(f/fp)^2]=-44;得到f/fp=158.486,即fp=328.125/158.486=2.07Khz。
3,二阶RC滤波器,幅频特性为:-20lg[1+(f/fp)^2]; fp 是截止频率。
所以对于二阶滤波,要实现-44dB衰减,必须是-20lg[1+(f/fp)^2]=-44;得到f/fp=12.549,即fp=328.125/12.549=26.14Khz。
得到截止频率后,我们就可以求出R和C的值,如下图所示,R35*C68=R36*C69,fp=1/2πRC。

6.DMA 
DMA,全称是:Direct Memory Access,即直接内存访问。 DMA传输方式不需要CPU直接控制传输,也没有像中断处理方式那样保留和恢复场景的过程。硬件为RAM和I/O设备开辟了直接的数据传输路径,可以大大提高CPU的效率。
STM32F4中有两个DMA。每个DMA控制器对应8个数据流,每个数据流对应8个通道。映射图如下图所示。 DMA挂载的时钟是AHB总线,其时钟为72Mhz,因此可以实现高速数据传输。

DMA的结构框图如下图所示。可以看到,DMA的每个数据流都需要仲裁优先级,并具有FIFO先进先出缓冲区(解决目标地址与原地址数据宽度不一致的问题)。

7.高性能计算能力
如下图所示,stm32F4有自己的DSP处理器。我们可以使用DSP库函数来执行浮点运算和其他计算问题。

我们平时使用的CPU是定点CPU,指的是进行整数数值运算的CPU。定点CPU在遇到1.1+1.1等浮点运算时会遇到很大的问题。对于32位微控制器来说,使用Q处理可以发挥出自身的性能,但是精度和速度仍然不会有太大的提升。
现在设计出了一种新的CPU,称为FPU。该芯片专门处理浮点数。这样,处理器就分别处理整数和浮点数。整数由定点CPU处理,浮点数由FPU处理。我们看到了TI的DSP以及带有DSP功能的STM32F4系列单片机。笔者没有使用过前者,不予评论,但如果后者需要使用FPU的浮点运算功能,则必须进行一些必要的设置。
8. 加密
使用加密处理器 CRYP。以下是CRYP的结构框图。

加密算法包括AES加解密算法、DES/TDES加解密算法等。
9. ART加速
由于生产工艺的限制,当CPU主频大幅提升时,Flash访问速度只能处于较低水平。
STM32F4 具有内存加速器 (ART),可在高达 168 MHz 的 CPU 频率下以 0 等待周期在闪存中执行程序。秘密是我记得STM32内部的Flash是128位的。这样,ART每次读取时都会将接下来的3条指令放入队列中。如果Flash等待时间为5WS,则每执行4条指令就必须停止一次,然后继续执行接下来的4条指令。反正性能差不多是同频X86的70%(指Dothan处理器,纯逻辑运算)。我测试过超频到250MHz,比较稳定,结果正确。任何更高的结果都是错误的。

stm32的nvic是什么意思

  NVIC是什么?它是嵌套向量中断控制器。 STM32中有一个强大且方便的NVIC。它是属于Cortex核心的设备。不可屏蔽中断(NMI)和外部中断由它处理,但 SYSTICK 不受 NVIC 控制。
  特点:
  ● 60个可屏蔽中断通道(不包括16条Cortex?-M3中断线);
  ● 16个可编程优先级(使用4位中断优先级);
  ● 低延迟异常和中断处理;
  ● 电源管理控制;
  ● 系统控制寄存器的实现;

以上就是小编对STM32内核中的中断管理设备是什么? (stm32内部中断)及相关问题。我希望它对你有用。 STM32内核中的中断管理设备是什么? (stm32内部中断)。 !