普冉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/
普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介的更多相关文章
- HC32L110 系列 M0 MCU 的介绍和Win10下DAP-Link, ST-Link, J-Link的烧录
HC32L110 系列 Cortex M0 MCU Hackaday 在三月份的时候介绍了一款最小的MCU NEW PART DAY: SMALLEST ARM MCU UPROOTS COMPETI ...
- ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现
ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现 承接 http://www.wowotech.net/pm_subsystem/suspend_and_re ...
- openstack安装系列问题:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装
个人原创,转载请注明作者,出处,否则依法追究法律责任 2017-10-03-12:22:22 现象:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装 ...
- SSE图像算法优化系列四:图像转置的SSE优化(支持8位、24位、32位),提速4-6倍
一.前言 转置操作在很多算法上都有着广泛的应用,在数学上矩阵转置更有着特殊的意义.而在图像处理上,如果说图像数据本身的转置,除了显示外,本身并无特殊含义,但是在某些情况下,确能有效的提高算法效率,比如 ...
- NRF52840相对于之前的NRF52系列、NRF51系列增加了什么功能
现在广大客户的蓝牙采用NORDIC越来越多了,NORDIC一直在不断进行技术改进更好的满足市场需求 推出了新款NRF52840.NRF52840更为先进些,支持的功能也多点,比如IEEE802.15. ...
- Linux Shell系列教程之(十五) Shell函数简介
本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...
- DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数
DAX/PowerBI系列 - 关于时间系列 - 时间相关数值比较 - 用非自带函数 文末有彩蛋,解决蛋疼问题 难度: ★★☆☆☆(2星) 适用范围: ★★★☆☆(3星) 概况: 基于时间的汇总可能是 ...
- openssl之EVP系列之13---EVP_Open系列函数介绍
openssl之EVP系列之13---EVP_Open系列函数介绍 ---依据openssl doc/crypto/EVP_OpenInit.pod翻译和自己的理解写成 (作者:Dra ...
- openssl之EVP系列之9---EVP_Digest系列函数的一个样例
openssl之EVP系列之9---EVP_Digest系列函数的一个样例 ---依据openssl doc/crypto/EVP_DigestInit.pod翻译 (作者:Drago ...
随机推荐
- Silky微服务框架之服务引擎
构建服务引擎 在注册Silky微服务应用一节中,我们了解到在ConfigureServices阶段,通过IServiceCollection的扩展方法AddSilkyServices<T> ...
- 快读《ASP.NET Core技术内幕与项目实战》WebApi3.1:WebApi最佳实践
本节内容,涉及到6.1-6.6(P155-182),以WebApi说明为主.主要NuGet包:无 一.创建WebApi的最佳实践,综合了RPC和Restful两种风格的特点 1 //定义Person类 ...
- Python基础部分:8、for循环和range的使用
目录 一.while循环补充说明 1.死循环 2.嵌套及全局标志位 二.for...循环 1.for...循环特点 2.for...循环语法结构 三.range方法 1.什么是range 2.不同版本 ...
- JS常见问题总结
1. 什么是 JavaScript ? JavaScript 是一种具有面向对象的.解释型的.基于对象和事件驱动的.跨平台的.弱类型的程序设计语言 2. JavaScript 与 ECMAScript ...
- 如何在 Inno Setup 中关联多种文件格式
问题描述 Inno Setup 是一款十分强大的 Windows 安装程序制作软件,可以通过编写并编译 iss 脚本来创建安装包.之前都是直接将 Pyinstaller 生成的文件夹压缩为 zip 格 ...
- 如何通过free看懂内存的真实使用
之前有位同事问过Linux系统内存free命令下各参数的区别与关系,自己也没太明白,有点尴尬.今天整理一下,供了解. free命令是Liunx操作系统中对内存进行查看和监控的一个常用命令.我们可以直接 ...
- Java自定义排序:继承Comparable接口,重写compareTo方法(排序规则)
代码: 1 import java.util.*; 2 3 /** 4 * 学习自定义排序:继承Comparable接口,重写compareTo方法(排序规则). 5 * TreeMap容器的Key是 ...
- java查询三级树(三级目录)
背景: 三级树实现效果 这里只介绍,查询数据库,构建三级目录的后端业务逻辑 1.创建查询类(对应数据库需要查出的字段) @Data @AllArgsConstructor @NoArgsConstru ...
- SpringBoot启动流程源码分析
前言 SpringBoot项目的启动流程是很多面试官面试中高级Java程序员喜欢问的问题.这个问题的答案涉及到了SpringBoot工程中的源码,也许我们之前看过别的大牛写过的有关SpringBoot ...
- chronyd为隔离网络设置时间同步
参考链接:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic ...