stm32f103引脚功能分类
stm32f103引脚功能分类
好的,STM32F103系列微控制器(基于ARM Cortex-M3内核)的引脚功能非常丰富且可复用。根据其核心功能,可以将其引脚大致分为以下几类(以常见的LQFP48, LQFP64, LQFP100, BGA100等封装为例,具体功能取决于封装和具体型号):
核心提示:
- 复用功能: 绝大多数GPIO引脚都具有多种复用功能(Alternate Functions),需要配置对应的寄存器来选择当前使用的功能(输入、输出、模拟、复用功能)。
- 封装差异: 不同引脚数的封装,部分功能(如FSMC、部分定时器通道、额外的ADC通道、额外的UART/I2C/SPI等)只在引脚数较多的封装上可用。
- 电源分组: VDD/VSS通常成对出现,需要为每一组都提供电源和接地。
1. 电源引脚
- VDD / VSS:
VDD:主电源正极引脚 (通常为2.0V - 3.6V)。根据封装不同,有多个引脚(如VDD1, VDD2, VDD3...)。VSS:主电源地引脚。根据封装不同,有多个引脚(如VSS1, VSS2, VSS3...)。- 必须连接: 所有VDD引脚都要连接到正电源,所有VSS引脚都要连接到地,并且就近放置去耦电容(通常0.1uF)。
- VBAT:
- 备份域电源引脚。当主电源VDD掉电时,用于给备份寄存器(RTC、闹钟、唤醒逻辑)和(可选)RTC振荡器供电。可以连接到电池或超级电容。
- VDDA / VSSA:
VDDA:模拟部分电源正极引脚(ADC, DAC, 复位模块、PLL、温度传感器等)。VSSA:模拟部分电源地引脚。- 重要: VDDA必须独立供电或与VDD连接良好,但电源纹波要小。VSSA必须连接到低噪声的地平面。需要额外的去耦电容。
- VREF+ / VREF- (仅限某些封装):
VREF+:ADC/DAC的外部高精度参考电压正输入。VREF-:ADC/DAC的外部高精度参考电压负输入(通常连接到VSSA)。- 注意: 如果不使用外部参考,内部参考源会连接到VDDA和VSSA。
2. 时钟引脚
- OSC_IN / OSC_OUT:
- 高速外部时钟引脚。用于连接外部4-16MHz晶体/陶瓷谐振器或外部时钟源。
- OSC32_IN / OSC32_OUT:
- 低速外部时钟引脚。用于连接外部32.768KHz晶体(主要用于RTC)或外部时钟源。
- PC14 / PC15 (作为OSC32备用):
- 在LSE不使用时,PC14可配置为外部低速时钟输入(
OSC32_IN替代),PC15可配置为外部低速时钟输出(OSC32_OUT替代)。
- 在LSE不使用时,PC14可配置为外部低速时钟输入(
3. 复位引脚
- NRST:
- 低电平有效的外部复位引脚。需要外部上拉电阻(通常10K欧姆)。当拉低时,芯片复位。
4. 启动配置引脚
- BOOT0 / BOOT1:
- 用于选择芯片启动模式:
BOOT1=0, BOOT0=0: 从主Flash启动(最常见)。BOOT1=0, BOOT0=1: 从系统存储器启动(内置Bootloader,用于串口/USB DFU下载)。BOOT1=1, BOOT0=0: 从嵌入式SRAM启动(用于调试)。
- 通常BOOT1没有独立引脚,映射到某个GPIO(如PB2),需要在芯片复位前配置该GPIO的状态。BOOT0有独立引脚。
- 必须连接: BOOT0引脚需要外部上拉或下拉电阻(通常10K欧姆)来确保稳定状态。
- 用于选择芯片启动模式:
5. 调试/编程接口引脚
- SWD (Serial Wire Debug):
SWCLK(PA14): 串行线时钟。SWDIO(PA13): 串行线数据输入/输出。- 主流调试接口: 只需要2根线,占用资源少。
- JTAG (Joint Test Action Group):
JTMS(PA13):等同于SWDIO。JTCK(PA14):等同于SWCLK。JTDI(PA15):数据输入。JTDO(PB3):数据输出。NJTRST(PB4):复位(可选)。- 较旧标准: 需要4-5根线。通常使用SWD替代。
- 注意: PA13, PA14, PA15, PB3, PB4在用作调试引脚时,启动后会被调试器占用,不能作为普通GPIO使用,除非禁用调试接口(不推荐)。SWD模式下通常只用PA13和PA14。
6. 通用输入/输出引脚 (GPIOs)
- 概述: 这是数量最多的引脚类别。标记为
PA0-PA15,PB0-PB15,PC0-PC15,PD0-PD15,PE0-PE15(具体范围取决于封装)。 - 核心功能:
- 数字输入:读取外部高低电平(浮空、上拉、下拉输入模式)。
- 数字输出:驱动外部电路(推挽、开漏输出模式)。部分引脚(带FT标志)具有5V容忍能力(输入或开漏输出时能承受5V电压)。
- 模拟输入:连接到ADC或DAC。
- 复用功能输入/输出: 作为片上外设(如UART, SPI, I2C, PWM, TIM捕获/比较等)的输入或输出端。这是STM32引脚强大灵活性的关键。
- 分组: GPIO端口分为A, B, C, D, E等组(Port)。每组最多16个引脚(PA0-PA15)。同一组的引脚共享部分控制寄存器。
7. 外设功能引脚 (复用功能)
这些功能是通过配置GPIO为复用功能模式来实现的。同一个物理引脚,在不同时刻可以承载不同的外设信号。以下列出主要复用功能对应的引脚(注意:具体可用性取决于封装和型号!):
- 定时器 (TIM1, TIM2, TIM3, TIM4, TIM5, TIM8 - 具体可用性差异大):
TIMx_CHy: 通道y (y=1,2,3,4) - 可用于PWM输出、输入捕获、输出比较。TIMx_BKIN: 刹车输入。TIMx_ETR: 外部触发输入。- (
TIMx_CH1N,TIMx_CH2N,TIMx_CH3N: 高级定时器TIM1/TIM8的互补通道输出,用于驱动电机/电源等)。
- 串行通信:
- USART/UART (USART1, USART2, USART3):
USARTx_TX: 串行数据发送。USARTx_RX: 串行数据接收。USARTx_CK: 同步模式下的时钟(可选)。USARTx_CTS: 清除发送(硬件流控)。USARTx_RTS: 请求发送(硬件流控)。
- SPI (SPI1, SPI2, SPI3):
SPIx_SCK: 串行时钟。SPIx_MISO: 主设备输入/从设备输出。SPIx_MOSI: 主设备输出/从设备输入。SPIx_NSS: 从设备选择(硬件片选)。
- I2C (I2C1, I2C2):
I2Cx_SCL: 串行时钟线。I2Cx_SDA: 串行数据线。- 注意: I2C引脚通常具有开漏输出能力,即使没有FT标志,通常也能通过外接上拉电阻兼容5V设备。
- USART/UART (USART1, USART2, USART3):
- 模数转换器 (ADC1, ADC2):
ADCx_INy(y=0-15): 模拟输入通道。通常对应GPIO引脚配置为模拟输入模式。通道数取决于封装。ADC12_IN18/TEMP_VREF: 内部温度传感器和VREFINT通道(连接到内部参考电压),用于校准(通常不映射到外部引脚)。
- 数模转换器 (DAC - 仅某些型号有,如STM32F103xC/D/E):
DAC_OUT1: DAC通道1输出。DAC_OUT2: DAC通道2输出。
- USB (USB全速设备接口 - 仅某些型号有,如STM32F103xC/D/E):
USB_DP: USB数据线正端(D+)。USB_DM: USB数据线负端(D-)。
- CAN (CAN1, CAN2 - CAN2仅存在于引脚较多型号):
CANx_RX: CAN接收引脚。CANx_TX: CAN发送引脚。
- 灵活的静态存储器控制器 (FSMC - 仅存在于引脚较多型号,如LQFP100/BGA100):
- 大量地址线(
FSMC_A[0:23])、数据线(FSMC_D[0:15])、控制线(FSMC_NBL[0:1],FSMC_NOE,FSMC_NWE,FSMC_NE[1:4],FSMC_NWAIT,FSMC_NCE[2:3],FSMC_CLK,FSMC_NIORD,FSMC_NIOWR)。用于连接NOR FLASH, PSRAM, SRAM, LCD控制器(8080/6800接口)等。
- 大量地址线(
- SDIO (仅存在于引脚较多型号):
SDIO_CK: SDIO时钟。SDIO_CMD: SDIO命令/响应。SDIO_D[0:3]: SDIO数据线。
- 外部中断/事件控制器 (EXTI):
- 所有GPIO引脚都可以配置为外部中断/事件源。每个GPIO引脚都可以映射到对应的EXTI线(PAx, PBx, PCx...都映射到EXTIx)。
- 事件输出:
- 某些定时器或外设可以产生事件信号
TIMx_ETR(或其他内部信号),并通过配置输出到特定的GPIO引脚(AFIO_EVCR寄存器)。
- 某些定时器或外设可以产生事件信号
重要总结
- 复用是核心: GPIO引脚是载体,其上运行的具体功能(基本IO、ADC、UART TX、PWM输出等)需要通过配置GPIO模式和复用功能选择器(
GPIOx_CRL/CRH+AFIO_MAPR等)来选择确定。 - 查阅数据手册: 最重要! STM32F103有多个子系列和封装。具体某个封装上的某个引脚能做什么,必须查阅该型号的官方数据手册(Datasheet) 中的"Pinouts and pin description"章节和"Alternate function I/O and debug configuration"章节。
- Remap功能: 对于某些复用功能(如部分定时器通道、USART、SPI),可以使用
AFIO_MAPR寄存器进行功能重映射,改变它们默认对应的物理引脚,提高PCB布线的灵活性。 - 电源完整性: 务必正确连接所有电源(VDD, VDDA, VSS, VSSA, VBAT)并添加足够的去耦电容。模拟部分(VDDA/VSSA)的电源处理对ADC/DAC精度至关重要。
- 调试接口: SWD(PA13, PA14)是最常用最节省引脚的调试/下载方式。设计时注意不要将这些引脚用于普通GPIO输出强驱动信号或连接到可能拉低它们的电路。
务必以你所使用的具体STM32F103型号和封装对应的官方数据手册为准进行设计和开发。
学习STM32F103的ADC功能
三勺最近在学习STM32F103的ADC功能,居然连最简单的独立模式的单通道的电压采集都不能实现,这就不能忍了,这是对智商的侮辱。
2023-10-24 16:06:03
stm32f103c8t6引脚功能图以及在arduino IDE编程环境下引脚调用
stm32f103c8t6引脚功能图以及在arduino IDE编程环境下引脚
资料下载
佚名
2021-12-28 20:05:43
STM32F103芯片 LQFP100封装引脚分布
在《STM32F103xCDE_DS_CH_V5(带有引脚定义)》手册中第18页有这个100脚芯片的
资料下载
而无返还
2021-12-07 21:06:09
基于STM32F103 RET6芯片点亮LED灯
博客内容基于STM32F103 RET6芯片,点亮PC3引脚LED灯,程序主要参考B站:STM32F103开发课程视频。主程序(Main.c):
按键电路在系统中SW1按键与STM32F103的PB3引脚相连接
1、按键电路在系统中SW1按键与STM32F103的PB3引脚相连接,SW2按键与STM32F103的PA15
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机