做过单片机产品的朋友都知道,STM32芯片有多组VDD和VSS,如下图:
那么为什么有这么多引脚呢?少一点不好吗?引脚越少,PCB走线越容易。
其实芯片这样设计是有原因的。
1、增加电流供应能力
单片机IO口输出电流的能力是有限的,传统单片机的IO口一般为10mA左右,现在单片机的IO口一般为20-25mA。
多个IO口加起来,相当于增加了很多供电通道,扩大了电流供应能力。相比单个引脚的VDD,增强了可靠性。
如图,假如一个IO口流过的电流是20mA,三个IO口就是60mA。
2、方便就近取电
为了方便描述,我画了一个如下示意图。
假如只有一组VDD,从①处供电,当②处需要用电时,只能沿着箭头所示路径流动,可以看出距离较远。
当负载增大时,VDD电流产生突变,路径距离越长,产生的压降越大,电源波动越明显,从而影响单片机的正常工作。
如果此时,在单片机②处直接外接电源VDD,路径最短,电源最稳定。
关键字:STM32 芯片引脚
引用地址:
STM32芯片引脚为什么有那么多组VDD?
推荐阅读最新更新时间:2024-11-12 07:41
I2C上拉电阻问题分析(基于stm32 HAL库)
在使用stm32读写 ST温湿度hts221时,使用I2C总线,总线上还挂在了别的传感器,发现有时候可以读出数据,有时候读不出数据,一直是0。 首先,stm32 配置I2C IO时,使用的是AF_OD,即使用复用开漏输出,这也是官方I2C所要的方式,电流电压取决于外部电路。同时IO也配置了内部上拉。 /** * @brief I2C MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * -
[单片机]
再造STM32---第九部分:GPIO输出—使用固件库点亮LED
本章参考资料:《STM32F4xx 参考手册》、库帮助文档《stm32f4xx_dsp_stdperiph_lib_um.chm》。 利用库建立好的工程模板,就可以方便地使用 STM32 标准库编写应用程序了,可以说从这一章我们才开始迈入 STM32 开发的大门。 LED 灯的控制使用到 GPIO 外设的基本输出功能,本章中不再赘述 GPIO 外设的概念,如您忘记了,可重读前面“GPIO 框图剖析”小节, STM32 标准库中 GPIO 初始化结构体GPIO_TypeDef 的定义与“定义引脚模式的枚举类型”小节中讲解的相同。 9.1 硬件设计: 本实验板连接了一个 RGB 彩灯, RGB 彩
[单片机]
STM32 清读保护
stm32写错程序了,那么你的程序里面又是自动写读保护的,而且你的管教又是接死,不能更改boot模式,这种情况下,以前我是换一个芯片,后来看到网上有人用ram运行程序方法解决。 keil中,程序 int main(void) { FLASH_Unlock(); FLASH_ReadOutProtection(DISABLE); while(1); } 在Target页面设置rom的地方,有个irom的本来设置指向flash的0x80000000的,改为指向ram,0x20000000。 当然ram的指向也要修改一下,不能0x20000000开始了,改了0x20001000开始吧。 在debug页面下,在init
[单片机]
比较精简的stm32编码器程序
01.#define ROTATE_A PAin(2) 02.#define ROTATE_B PAin(3) 03.s16 DATA=0; 04. 05.void EXti2_IRQHandler(void) 06.{ 07. IF(EXTI_GetITStatus(EXTI_Line2) != RESET) 08. { 09. if(ROTATE_A!=ROTATE_B) 10. { 11. DATA++; 12. } 13. else DATA--; 14. EXTI_ClearITPendingBit(EXTI_Line2); 15. }
[单片机]
stm32 软件复位
根据《CM3权威指南》,软件复位有两种方法: 1、通过置位NVIC中应用程序中断与复位控制寄存器(AIRCR)的VECTRESET位: LDR R0, =0xE000ED0C ; NVIC AIRCR address LDR R1, =0x05FA0001 ; 置位 VECTRESET位,前面的0x05FA是访问钥匙 STR R1, ; 触发复位序列 deadloop B deadloop ; 该死循环保证后面的指令不可能被执行到 这种复位的作用范围覆盖了整个CM3 处理器中,除了调试逻辑之外的所有角落,但是它不会影响到CM3 处理器外部的任何电路,所以单片机上的各片上外设和其它电路都不受 影响。 2、置位同一个寄存器的SYSR
[单片机]
STM32的CAN总线过滤器的配置
stm32的can总线的配置如下: CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISABLE; CAN_InitStructure.CAN_AWUM=DISABLE; CAN_InitStructure.CAN_NART=DISABLE;//CAN报文只被发送1次,不管发送的结果如何(成功、出错或仲裁丢失) CAN_InitStructure.CAN_RFLM=DISABLE; CAN_InitStructure.CAN_TXFP=DISABLE; CAN_InitStructure
[单片机]
STM32io口输入输出的理解
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电
[单片机]
Stm32固件库中关于NART的误解
Stm32 固件库中关于NART的误解 禁止自动重传模式(NART) 该模式主要用于满足CAN标准中,时间触发通信选项的需求。通过对CAN_MCR寄存器的NART位置’1’,来让硬件工作在该模式。 在该模式下,发送操作只会执行一次。如果发送操作失败了,不管是由于仲裁丢失或出错,硬件都不会再自动发送该报文。 网上有很多can的程序在注释的时候有这样的错误: 将 CAN_InitStructure.CAN_NART=DISABLE理解成为失能自动重传 但是NART的英文全称应该是no automatic retransmission,也就是没有自动重传。 那么CAN_InitStructure.CAN_NART=DISABLE的
[单片机]