普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU簡介

来源:https://www.cnblogs.com/milton/archive/2023/01/14/17051864.html
-Advertisement-
Play Games

PY32F0 屬於 32位 M0 內核的MCU, 配置上有 16KF+2KR, 20KF+3KR, 32KF+4KR, 64KF+8KR 這些組合, 根據外設的豐富程度分成了 PY32F002, PY32F003, PY32F030, PY32F072 這四個系列, 另外還有一家芯嶺科技貼牌的 XL... ...


目錄

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 上驗證

相關鏈接


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在 Lua 或者 Python 中可以使用多值賦值語句來交換兩個數。例如:a, b = b, a。在 C++ 中有沒有類似的操作? 先解析一下多值賦值的原理,a, b = b, a 等價於 t1, t2 = b, a a, b = t1, t2 可以看到多值賦值還是用到了中間變數,而且還是兩個。想到 ...
  • 2023-01-12 一、Mybatis中緩存機制 1、一級緩存 (1)概述:一級緩存(即本地緩存或SqlSession級別緩存) (2)特點: ①一級緩存預設開啟 ②不能關閉 ③可以清空 (3)緩存原理 ①當第一次獲取數據時,需要先從資料庫中載入數據,將數據緩衝到Mybatis一級緩存中(緩存底層 ...
  • 1 簡介 為了更好的版本控制和問題定位,我們需要知道正在運行的應用是什麼版本,什麼時候打包的,Git的相關信息等。通過/actuator/info可以幫助我們獲取這些信息。 2 配置 首先要有actuator的依賴: <dependency> <groupId>org.springframework ...
  • .Net6中想實現對某個網址截屏,可通過Selenium模擬訪問網址並實現截圖。 實現 安裝Nuget包 <PackageReference Include="Selenium.Chrome.WebDriver" Version="85.0.0" /> <PackageReference Inclu ...
  • ABP Framework 在架構上有四大目標:模塊化、DDD、多租戶和微服務。從 `7.0` 更新的功能來看,其側重點轉向微服務場景的實現,比如:Dapr 集成、動態許可權和功能、外部本地化、分散式實體緩存服務,都是對微服務和分散式架構所提出的解決方案。 ...
  • public class SerializeHelper { #region 二進位格式 /// <summary> /// Binary 序列化使用前需要標記類可序列化 /// </summary> /// <param name="fileName">序列化到指定的文件</param> /// ...
  • Helix 解碼庫提供了MP3內容的MPEG相容解碼, 支持可變比特率, 恆定比特率以及立體聲和單聲道音頻格式. Helix 的定點解碼庫專門針對ARM處理器進行了優化. Helix 解碼庫是以幀為解碼單位的, 一次解碼一幀, 運行需要占用的資源很少, 可以在任何能夠執行長整數乘法運算(兩個32位輸... ...
  • 以下介紹PY32F0系列在Ubuntu下如何使用GCC Arm Embedded Toolchain環境進行開發和燒錄. GitHub 倉庫地址: https://github.com/IOsetting/py32f0-template ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...