logo elektroda
logo elektroda
X
logo elektroda

PY32F002 - chinesische ARM für 8 Cent von PUYA

piotr_go 
Zwei violette Module mit PUYA ARM Cortex M0+ Mikrocontrollern. Drei PUYA-PY32F-Serie-Mikrocontroller auf lila Entwicklungsplatinen mit grünen und schwarzen Anschlüssen.

Es gab schon einen ARM für 16 Cent, jetzt haben wir ARM für 8 Cent. Ja, acht. :)
PY32F002/PY32F003 von PUYA sind Mikrocontroller mit ARM Cortex M0+ Kern, der mit 24/32 MHz getaktet wird.
PY32F002 haben 20 kB FLASH, 3 kB RAM, SPI, USART, I2C, ADC, Timer... nichts zu meckern.
PY32F003 zusätzlich DMA und ein paar Timer mehr, außerdem gibt es eine größere Speicherauswahl.
Es gibt eine SWD-Schnittstelle, man braucht also keinen exotischen Programmierer.
Stromversorgung 1,7 V...5,5 V.
Gehäuse von Standard-SOPs über TSSOPs bis hin zu kleinen QFNs oder DFNs.

PDFs zum Herunterladen auf der chinesischen Version der Website:
https://www.puyasemi.com/cpzx3/info_267_aid_242_kid_235.html
Wir Klicken auf den orangefarbenen Ordner. Jeder hat das gleiche RAR mit einer Reihe von PDFs und anderen Hilfsmitteln. Manche auf Chinesisch, manche auf Englisch.

PY32F002:
Blockdiagramm des ARM Cortex M0+ Mikrocontrollers.
PY32F003:
Blockdiagramm des ARM Cortex M0+ Mikrocontrollers PY32F002/PY32F003.

Beispiele für Gehäuse:
Pindiagramme für PY32F002- und PY32F003-Mikrocontroller in SOP8-, ESSOP10-, SOP16- und TSSOP20-Gehäusen. Pinbelegung des PY32F002AW15U-Mikrocontrollers im QFN16-Gehäuse. Pinbelegungsschema des PY32F003W1XS-Mikrocontrollers im SOP16-Gehäuse Draufsicht auf den DFN8 PY32F003L2XD-Chip mit beschrifteten Pins

Hello world (Quellen beigefügt):
Violettes Modulboard mit Mikrocontroller und angeschlossenen Kabeln.
Blinkende LEDs und Text auf UART (9600 bps)

Tests:
Soweit mir aufgefallen ist, gibt es ein paar Probleme mit dem Zurücksetzen.
1. Beim Anschließen einer Taste an den RESET-Pin erscheint manchmal ein HardFault-Interrupt, wenn er gedrückt wird.
Der externe Reset kann deaktiviert werden, so dass das Problem eher gering ist. Einen externen Reset habe ich schon lange nicht mehr benutzt.
2. Das System kann ca. 2 Mal übertaktet werden, indem der "wait state" des Flashs auf 1 gesetzt und die Kalibrierung des Generators geändert wird.
Das einzige Problem ist, dass das Zurücksetzen "wait state" des Flashs zurücksetzt, und die Generatorkalibrierung wird nicht zurückgesetzt.
Wenn jemand übertakten möchte, nicht zurücksetzen.

Die Stromaufnahme im Schlafmodus liegt bei etwa 5 µA, als 8-Bit-Killer würde ich es also nicht bezeichnen. Obwohl preislich... :)

Programmierung:
Um Unterstützung für PUYA-Chips zu J-Link hinzuzufügen, muss man die ,,.FLM"-Dateien aus dem Anhang in das Verzeichnis ,,/opt/SEGGER/JLink/Devices/Puya/" hochladen und Folgendes zur Datei ,,JLinkDevices.xml" hinzufügen:
Zitat:
<!-- -->
<!-- Puya -->
<!-- -->
<Device>
<ChipInfo Vendor="ST" Name="PY32F002Ax5" WorkRAMAddr="0x20000000" WorkRAMSize="0xC00" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="FLASH" BaseAddr="0x08000000" MaxSize="0x5000" Loader="Devices/Puya/PY32F0xx_20.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
<FlashBankInfo Name="OPT" BaseAddr="0x1FFF0E80" MaxSize="0x10" Loader="Devices/Puya/PY32F0xx_OPT.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="ST" Name="PY32F003x4" WorkRAMAddr="0x20000000" WorkRAMSize="0x800" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="FLASH" BaseAddr="0x08000000" MaxSize="0x4000" Loader="Devices/Puya/PY32F0xx_16.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
<FlashBankInfo Name="OPT" BaseAddr="0x1FFF0E80" MaxSize="0x10" Loader="Devices/Puya/PY32F0xx_OPT.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="ST" Name="PY32F003x6" WorkRAMAddr="0x20000000" WorkRAMSize="0x1000" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="FLASH" BaseAddr="0x08000000" MaxSize="0x8000" Loader="Devices/Puya/PY32F0xx_32.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
<FlashBankInfo Name="OPT" BaseAddr="0x1FFF0E80" MaxSize="0x10" Loader="Devices/Puya/PY32F0xx_OPT.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="ST" Name="PY32F003x8" WorkRAMAddr="0x20000000" WorkRAMSize="0x2000" Core="JLINK_CORE_CORTEX_M0"/>
<FlashBankInfo Name="FLASH" BaseAddr="0x08000000" MaxSize="0x10000" Loader="Devices/Puya/PY32F0xx_64.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
<FlashBankInfo Name="OPT" BaseAddr="0x1FFF0E80" MaxSize="0x10" Loader="Devices/Puya/PY32F0xx_OPT.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>

Über den Autor
piotr_go
piotr_go hat 2834 Beiträge geschrieben mit der Bewertung 3186 , und dabei 91 Mal geholfen. Er ist seit 2003 bei uns.

Kommentare

Kommentar hinzufügen
xHaKeReK 03 Jan 2023 01:35

Wo kann man sie kaufen? [Mehr erfahren]

piotr_go 03 Jan 2023 01:47

https://www.lcsc.com/products/Microcontroller-Units-MCUs-MPUs-SOCs_11329.html?keyword=py32f0 [Mehr erfahren]

szymon122 03 Jan 2023 06:29

Daher bin ich überrascht, dass alle chinesischen "Spielzeuge" immer noch auf modernen 51er-Versionen sind. Bezüglich chinesischer Schaltungen, weiß vielleicht jemand wie es mit Kompatibilität aussieht,... [Mehr erfahren]

ZbeeGin 03 Jan 2023 07:53

Anscheinend gehen sie davon aus, dass man gegen Spatzen keine Kanonen verwenden soll (Es gab schon mal Aktion mit Spatzen). [Mehr erfahren]

Galareta 03 Jan 2023 09:13

Weil 51er für 4 Cent sind, nicht für 8 ;) und sie haben Programme, die seit Jahren fertig sind. [Mehr erfahren]

interbudtr 03 Jan 2023 09:55

Schade, dass solche Mikrocontroller nicht bei ali erhältlich sind. Wenn ich nur diesen Mikrocontroller mit lscs bestellen würde, wäre es immer noch billiger, etwas auf dem lokalen Markt zu bekommen. [Mehr erfahren]

piotr_go 03 Jan 2023 12:20

Es gibt immer mehr ARM oder RiscV, aber 8-Bit für 2 Cent werden wohl nicht verschwinden. Es gibt PY32F003, nur der Preis ist irrational. Ich bestelle meistens mit Leiterplatten, dann bekomme... [Mehr erfahren]

gulson 03 Jan 2023 16:52

Jemand hat vor 20 Jahren ein Programm für Spielzeug geschrieben und verwendet es einfach weiter. Es ist eine Frage der Zeit und sie werden es auf ARMs tun. Änderungen finden vor unseren Augen statt,... [Mehr erfahren]

Macosmail 03 Jan 2023 19:24

Hoffen wir, obwohl angesichts der letzten Nachrichtenflut, wie ChatGPT Programme auf der Grundlage einer verbalen Beschreibung ausspuckt, verwirrt sein können, ob alles in die gute Richtung geht. In... [Mehr erfahren]

krisRaba 03 Jan 2023 20:22

Das ist ein großer Vorteil. Bei vielen Lösungen sind die Verrenkungen, die zum Ausführen der Umgebung erforderlich sind, ein Hindernis bei begrenzter Zeit. Schön, dass sie diesen Weg gehen :) [Mehr erfahren]

jarekgol 03 Jan 2023 20:23

Wo kann man das kaufen und wie viel? [Mehr erfahren]

l0ud 03 Jan 2023 21:46

Dies ist ,,kostenlos" durch die Verwendung des Cortex M-Kerns. Es hatte keinen Sinn, etwas Eigenes zu erfinden, also haben wir die Kompatibilität kostenlos erhalten. Kürzlich wurde ich Besitzer von... [Mehr erfahren]

piotr_go 03 Jan 2023 23:39

In 20 Jahren diktieren Sie die Beschreibung auf Ihr Smartphone und erhalten nach einer Woche ein fertig montiertes und programmiertes Schaltung. Mir wird übel. [Mehr erfahren]

gulson 04 Jan 2023 09:41

Vielleicht nicht in 20 Jahren, sondern in 10 Jahren. Und zwar nicht nur eine fertig montierte Schaltung, sondern möglicherweise das ganze Gerät mit einem auf einem 3D-Drucker gedruckten Gehäuse ;) ... [Mehr erfahren]

Azbi 04 Jan 2023 21:08

@piotrgo, welche Umgebung oder SDK verwenden Sie, um diese PUYAs zu entwickeln? Ich würde auch gerne mit ihnen spielen :) [Mehr erfahren]

piotr_go 04 Jan 2023 21:26

Einfacher Editor mit Syntaxhervorhebung und mehreren Karten. Es passt zu allem. Ich hatte so viele verschiedene Chips probiert, dass ich mich daran gewöhnt hatte. Außerdem GCC/SDCC oder was auch immer... [Mehr erfahren]

l0ud 04 Jan 2023 21:39

VSCode funktioniert recht gut mit dem Cortex Debug-Plugin, der richtigen Konfiguration und OpenOCD. [Mehr erfahren]

szymon122 05 Jan 2023 06:21

Wie ist die Kompatibilität solcher Programme? Ich verstehe, dass "Hex" nicht funktioniert, aber mit dem Quellcode reicht es aus, ihn mit "chinesischen Tools" zu kompilieren? [Mehr erfahren]

Macosmail 05 Jan 2023 18:47

Ich behalte es jetzt einfach im Auge. Ich habe ein GD32, aber noch keine Zeit es zu testen. Soweit ich weiß, sollte in den meisten Fällen eine für STM32 kompilierte Binärdatei auf einem chinesischen Ersatz... [Mehr erfahren]