STM32F103的MCU简介
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F103的MCU简介相关的知识,希望对你有一定的参考价值。
参考技术A --ARM 32位的Cortex-M3
--最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHZ(DhrystONe2.1)
--单周期乘法和硬件除法 --从32K到512K字节的闪存程序存储器(STM32F103XXXX中的第二个X表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K)
--最大64K字节的SRAM --2.0-3.6V供电和I/O引脚
--上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
--4-16MHZ晶振振荡器
--内嵌经出厂调教的8MHz的RC振荡器
--内嵌带校准的40KHz的RC振荡器
--产生CPU时钟的PLL
--带校准的32KHz的RC振荡器 --睡眠、停机和待机模式
--Vbat为RTC和后备寄存器供电 --2个12位模数转换器,1us转换时间(多达16个输入通道)
--转换范围:0至3.6V
--双采样和保持功能
--温度传感器 --2个DMA控制器,共12个DMA通道:DMA1有7个通道,DMA2有5个通道
--支持的外设:定时器、ADC、SPI、USB、IIC和UART
--多达112个快速I/O端口(仅Z系列有超过100个引脚)
--26/37/51/80/112个I/O口,所有I/O口一块映像到16个外部中断;几乎所有的端口均可容忍5V信号 --串行单线调试(SWD)和JTAG接口
--多达8个定时器
--3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
--1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器
--2个看门狗定时器(独立的和窗口型的)
--系统时间定时器:24位自减型计数器
--多达9个通信接口:
2个I2C接口(支持SMBus/PMBus)
3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制)
2个SPI接口(18M位/秒)
CAN接口(2.0B主动)
USB 2.0全速接口 ECOPACK封装
普冉PY32系列 PY32F0系列32位Cortex M0+ MCU简介
目录
PY32F0系列上市其实相当长一段时间了, 样品已经吃灰很久, 因为工作原因11月12月都很忙一直没时间, 最近终于有一点时间把功课做了.
PY32F0 简介
PY32F0 属于 32位 M0 内核的MCU, 配置上有 16KF+2KR, 20KF+3KR, 32KF+4KR, 64KF+8KR 这些组合, 根据外设的丰富程度分成了 PY32F002, PY32F003, PY32F030, PY32F072 这四个系列, 另外还有一家芯岭科技贴牌的 XL32F003 系列. 基础的外设 ADC, TIM, SPI, I2C, UART 都有, 除了002, 其它系列都带DMA支持, 其1元左右的价格在市场上非常有性价比.
开发上, 因为是通用的 32位 M0内核, 可以在Keil5, IAR, VScode 等IDE上开发, 使用 STLink, DAPLink 或 JLink 烧录和调试.
官网产品页: https://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html
从产品页上可以下载最新的资料包, 资料包里包含全部型号的数据手册, 使用手册, 以及代码库, 代码示例, 当前的后缀是 20221117, 里面甚至有页面上没列出来的002A和072的资料.
PY32F0 各系列具体配置对比
零售能见到的是 PY32F002A, PY32F003, PY32F030, 最后一个072还没见到. 每个系列的封装变化很多, 就算一个TSSOP20, 都有三四种引脚布局, 这里不按型号介绍了, 大致看一下各系列的容量和外设区别.
PY32F002 系列
20K Flash, 3K RAM, 这个系列没有见到实物, 只能从启动文件和连接脚本判断一下具体的外设
PY32F002A 系列
- 32-bit ARM® Cortex® - M0+ CPU
- Up to 32 MHz operating frequency
- Internal 8 / 24 MHz RC Oscillator (HSI)
- Internal 32.768 KHz RC oscillator (LSI)
- 4 to 24 MHz crystal oscillator (HSE)
- Maximum 20 Kbytes of flash memory
- Up to 3 Kbytes SRAM
- 1 x 12-bit ADC
- Supports up to 9 external input channels
- 1 x 16bit advanced control timer (TIM1)
- 1 x general purpose 16-bit timers (TIM16)
- 1 x low-power timer (LPTIM), supports wake-up from stop mode
- 1 x Independent Watchdog Timer (IWDT)
- 1 x SysTick timer
- 1 x Serial Peripheral Interface (SPI)
- 1 x Universal Synchronous / Asynchronous Transceivers (USARTs) with automatic baudrate detection
- 1 x I2C interface , supports standard mode (100kHz) , Fast mode (400 kHz) , supports 7-bit addressing mode
- Hardware CRC-32 module
- Comparator * 2
- Unique UID
- Serial wire debug (SWD)
- Operating voltage: 1.7V to 5.5V
- Working temperature: -40℃ to 85℃
- Package: SOP8, SOP16, ESSOP10, TSSOP20, QFN16
和 PY32F002 的区别:
- 增加了比较器
- 少了TIM6? 从启动文件比较看不出区别, 这个不确定
PY32F003 系列
- 32-bit ARM® Cortex® - M0+ CPU
- Up to 32 MHz operating frequency
- Internal 4 /8/16/ 22.12 / 24 MHz RC Oscillator (HSI)
- Internal 32.768 KHz RC oscillator (LSI)
- 4 to 32 MHz crystal oscillator (HSE)
- Maximum 64 Kbytes of flash memory
- Up to 8 Kbytes SRAM
- 3-channel DMA controller
- 1 x 12-bit ADC
- Supports up to 10 external input channels
- 1 x 16bit advanced control timer (TIM1)
- 4 x general purpose 16-bit timers (TIM3/TIM14/TIM16/TIM17)
- 1 x low-power timer (LPTIM), supports wake-up from stop mode
- 1 x Independent Watchdog Timer (IWDT)
- 1 x Window Watchdog Timer (WWDT)
- 1 x SysTick timer
- RTC
- 1 x Serial Peripheral Interface (SPI)
- 2 x Universal Synchronous / Asynchronous Transceivers (USARTs) with automatic baudrate detection
- 1 x I2C interface , supports standard mode (100kHz) , Fast mode (400 kHz) , supports 7-bit addressing mode
- Hardware CRC-32 module
- 2 x comparators
- Unique UID
- Serial wire debug (SWD)
- Operating voltage: 1.7V to 5.5V
- Working temperature: -40℃ to 85℃
- Package: SOP8, SOP16, TSSOP20, QFN20
和 PY32F002A 的区别
- 频率增加到最高 32MHz
- Flash容量增加到最高 64 KBytes
- RAM容量增加到最高 8 KBytes
- 增加了 DMA
- 增加了 WWDG
- 增加了 RTC
- 增加了 TIM3, TIM14, TIM17
- 增加了 USART2
XL32F003 系列
这是芯岭科技出的一个型号系列, 放在这里是因为这个系列本质上和PY003系列是一样的, 但是只有64KF, 8KR的规格, 当前有三种封装:
- TSSOP20: XL32F003TS20, 引脚布局和 PY32F003F2xP 系列一致
- QFN20: XL32F003Q20, 引脚布局和 PY32F003F1xU, PY32F030F2xU 系列一致
- QFN32: XL32F003Q32, 引脚布局和 PY32F030K2xM 系列一致
PY32F030 系列
- 32-bit ARM® Cortex® - M0+
- Up to 48 MHz operating frequency
- Internal 4/8/16/ 22.12/24 MHz RC oscillator (HSI)
- Internal 32.768 KHz RC oscillator (LSI)
- 4 to 32 MHz crystal oscillator (HSE)
- 32.768KHz low speed crystal oscillator (LSE)
- PLL (supports 2 frequency multiplication of HSI or HSE)
- Up to 64 Kbytes flash memory
- Up to 8 Kbytes SRAM
- 3-channel DMA controller
- 1 x 12-bit ADC
- Supports up to 10 external input channels
- 1 x 16bit advanced control timer (TIM1)
- 4 x general purpose 16-bit timers (TIM3/TIM14/TIM16/TIM17)
- 1 x low-power timer (LPTIM), supports wake-up from stop mode
- 1 x Independent Watchdog Timer (IWDT)
- 1 x Window Watchdog Timer (WWDT)
- 1 x SysTick timer
- RTC
- 2 x Serial Peripheral Interface (SPI)
- 2 x Universal Synchronous / Asynchronous Transceivers (USARTs) with automatic baudrate detection
- 1 x I2C interface , supports standard mode (100kHz) , Fast mode (400 kHz) , supports 7-bit addressing mode
- Support 4-bit 7-segment common cathode LED digital tube
- Hardware CRC-32 module
- 2 x comparators
- Unique UID
- Serial wire debug (SWD)
- Operating voltage: 1.7 to 5.5 V
- Working temperature: -40℃ to 85℃
- Package: LQFP32, QFN32, TSSOP24, TSSOP20, QFN20
和 PY32F003 系列的区别
- 频率增加到最高 48MHz
- 支持 两倍PLL
- 增加了 SPI2
- 增加了 4位7段 LED数码管驱动
PY32F072 系列
从数据手册看, 与030系列相比Flash和RAM容量提升, 增加了LCD, CTC, TIM2, TIM6, TIM7, TIM15, I2C2, USB等外设. 因为还为上市, 先不作比较.
文末的彩蛋
PY32F002A标称是3K内存, 但是实际上有4K, 直接修改LD文件就可以用了. 已经在 TSSOP20 封装的 PY32F002AF15P 上验证
相关链接
- PY32F003简评 https://zhuanlan.zhihu.com/p/580281296
- PY32F003Keil5的环境和ISP工具使用说明 https://blog.csdn.net/firseve/article/details/126661827
- Patrick Van Oosterwijck PY32F003 的电压电流曲线 https://silicognition.com/Electronics/PuyaCharge/py32f003-undervoltage-run-mode/
以上是关于STM32F103的MCU简介的主要内容,如果未能解决你的问题,请参考以下文章
灵动微MM32F103R8T6国产32位MCU可替代STM32F103R8T6用于IO-Link模块