Forum: Mikrocontroller und Digitale Elektronik CH32V006 und CH32V007 von WCH


von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

In dem Beitrag "CH32V003F4P6 Breakout Platine mit Port Expander und Extras" wurde bereits 2023 
eine eigene Breakout Platine für den CH32V003 vorgestellt.
Inzwischen gibt es einige weitere Prozessortypen von WCH, die vom 
Preis-/Leistungsverhältnis noch interessanter sind.
Dazu gehören vor allem der CH32V006 und CH32V007 (siehe Vergleich.pdf).

Dabei sticht vor allem ein Flash-Speicher von 62 KB und 8 KB RAM zu 
einem Preis von unter 30 Cent pro Stück heraus. Dies ist im Vergleich 
von 20 Cent für einen CH32V003F4P6 zwar deutlich teurer, aber dafür 
entfallen sehr viele Limits hinsichtlich der Programmierung und Nutzung.

Die Timer und ein 12-Bit AD-Wandler bieten neben einer echten 32-Bit CPU 
und DMA eine deutlich bessere Funktionsvielfalt gegenüber den 
Atmel-MCU's.
Die Timer wurden von der Funktion her von den STM-MCU's übernommen / 
gecloned, so daß es sich empfiehlt auf die Beschreibung von STM zurück 
zu greifen (Timer1_STM32f446xx.pdf), in der die Timer viel besser 
beschrieben werden.

Der CH32V006F8P6 ist sogar Pin-kompatibel mit dem CH32V003F4P6, so daß 
die gleiche Breakout Platine verwendet werden kann.

Das TSSOP20 Gehäuse ist recht gut zu löten, jedoch limitiert die Anzahl 
der Pins recht stark, so daß es sich angeboten hat den Sprung auf die 
Version CH32V006K8U7 und CH32V007K8U6 mit einem QFN32-Gehäuse zu wagen.
Insbesondere da der Preisunterschied zwischen der Version mit TSSOP20 zu 
einem QFN32 je nach Angebot noch nicht einmal vorhanden ist (26 Cent) 
und ein CH32V007K8U6 für ca. 30 Cent bestellt werden konnte.
Der vorhandene Schaltplan und das Layout konnte entsprechend erweitert 
werden, so daß eine weitere Breakout Platine keine vollständige 
Neuentwicklung gewesen ist (siehe Bild).

Damit ist nun eine zufriedenstellende Vielfalt an MCU's vorhanden, die 
sehr viele Anwendungsbereiche abdecken und dabei wirklich Low-Cost sind.
: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Ich habe schon die CH32 programmiert (Led), aber ich finde das muss 
alles noch reifen. Die Unterstützung ist für mich nicht so ganz klar.
Bis die das richtig im Griff haben, will ich mich nicht damit rum 
quälen.
von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Es ist schon klar was Du meinst, aber wer soll was unterstützen?

Dies ist halt das chinesische Low-Cost-Segment und man hat mit dem 
QingKe 32-bit RISC-V core sogar die Lizenzkosten für ARM umgangen.
Da der QingKeV2 auf einem Opensource-Befehlssatz beruht ist diese 
Entwicklung sogar begrüßenswert. 
https://docs.riscv.org/reference/isa/v20260120/unpriv/rv32.html

Es wird von WCH ein Support geleistet, allerdings sprechen wir hier von 
dem "Bastler-Segment" und dieses folgt halt anderen Regeln, insbesondere 
mit dem Fun-Projekt https://github.com/cnlohr/ch32fun, welches einen 
hardwarenahen Zugriff so wie bei den Atmel-MCU's erlaubt.
: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Du hast natürlich recht. Aber mir ist dieser Kampf, bis man das richtig 
drauf hat heute zu anstrengend.
Früher OS2 und was es alles gab. Alles probiert, bis man wirklich jedes 
Bit und Byte kannte. Das hatte damlas viel Zeit und Energie gekostet.
Das nur als Beispiel.
Da ist nicht weiß wie lange ich noch habe, war es zwar den Versuch wert 
und hat auch nicht so viel gekostet, aber es gibt genug Sachen die ich 
schon kann und da liegt auch genug Material rum.
Ich hätte dir ja sicher nicht ausprobiert, wenn ich die nicht auch 
grundsätzlich gut gefunden hätte und der Preis ist sowieso unschlagbar.
Außerdem habe ich das geschrieben, weil grundsätzlich niemand diese 
Seite anspricht.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Frank O. schrieb:
> Du hast natürlich recht. Aber mir ist dieser Kampf, bis man das richtig
> drauf hat heute zu anstrengend.

War dieser Kampf für die anderen MCU's nicht der Gleiche?
Dies ist im Prinzip einfach nur ein zeitgemäßer Technologiesprung.

> Früher OS2 und was es alles gab. Alles probiert, bis man wirklich jedes
> Bit und Byte kannte. Das hatte damlas viel Zeit und Energie gekostet.
> Das nur als Beispiel.
> Da ist nicht weiß wie lange ich noch habe, war es zwar den Versuch wert
> und hat auch nicht so viel gekostet, aber es gibt genug Sachen die ich
> schon kann und da liegt auch genug Material rum.

Keine Frage - das ist hier genauso.

> Ich hätte dir ja sicher nicht ausprobiert, wenn ich die nicht auch
> grundsätzlich gut gefunden hätte und der Preis ist sowieso unschlagbar.

Wer es klassisch im Arduino-Style oder als PatformIO mag wird dafür 
fündig,
z.B. https://github.com/AlexanderMandera/arduino-wch32v003
oder https://github.com/Community-PIO-CH32V/platform-ch32v
: Bearbeitet durch User
von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Der Übersichtlichkeit wegen 
Beitrag "Re: CH32V003F4P6 Breakout Platine mit Port Expander und Extras" noch einmal hier:

Wer nach wie vor eine sehr preiswerte Variante sucht, der kann nun den
CH32V002 mit einbeziehen, der über einen 12-Bit AD-Wandler und 16 KB
Flash und 4 KB RAM verfügt, bei einem Preis von unter 19 Cent pro Stück 
(bei einer Bestellung von 50 Stück 
https://de.aliexpress.com/item/1005008493381343.html).
: Bearbeitet durch User
von Richard (user1234567890)


Angehängte Dateien:

Lesenswert?

Ich habe mich gleich für einen kaum teureren und deutlich 
leistungsfähigeren WCH Controller, den CH320x33, entschieden. Letztes 
Jahr habe ich weniger als 30cent pro Stück bezahlt.

Der hat gleich mehrere Vorteile:

- deutlich verbesserter RISC-V Kern (QingKe V4C)
- RV32IMAC anstelle von RV32EC (also unter anderem 32 anstelle von 16 
Registern)
- 3 stufige Pipeline
- HPE 3 Level anstelle von 2
- verbesserte Sprungvorhersage (BHT, BTB, RAS)
- 4 Memory Protection Zonen
- deutlich mehr RAM (20K)
- mehr Peripherie (doppelt so viele USART, mehr ADC, mehr Touchkey, mehr 
Timer) sowie zusätzlich einen Analog Comparator
- USB Device

Der auch nicht viel teurere Brude CH320x35 hat dann noch USB Host 
zusätzlich.
Das Ganze gibt es dann von TSSOP20/QFN20 bis hin zu LQFP64M.

Wenn man also in die "Billig-"Controller von WCH reinschnuppern möchte, 
empfehle ich den ch320x33/35.
Höchstens ein paar Cent mehr aber ungleich besser und mit mehr 
Peripherie (USB).
von Mi N. (msx)


Lesenswert?

Karsten W. schrieb:
> Flash und 4 KB RAM verfügt, bei einem Preis von unter 19 Cent pro Stück
> (bei einer Bestellung von 50 Stück

Mal ganz böse gefragt: Wieviel Rollen verbrauchst Du pro Jahr?

Ich verstehe Dich, daß Du gerne 'spielen' möchtest, aber für eine 
'ernsthafte' Anwendung würde ich mir STM32C... oder STM32G... auf die 
Platine setzen - völlig egal, wer da wem Lizenzgebühren zahlt.
Die kosten wohl das 5- bis 10-fache, sparen aber eine Menge 
Entwicklungszeit.
von Harald K. (kirnbichler)


Lesenswert?

Mi N. schrieb:
> sparen aber eine Menge Entwicklungszeit.

So irre viel Forschung muss man in die CH32 auch nicht stecken, die sind 
recht brauchbar dokumentiert, und mit ch32fun gibt es auch eine 
tragfähige Softwareunterstützung als Alternative zum vom Hersteller 
angebotetenem "mounriver studio".

https://github.com/cnlohr/ch32fun

Und dann gibt es noch Stefan Wagner (Wagiminator), der auch ein paar 
nette Beispiele hat:

https://github.com/wagiminator/CH32V003-GameConsole

https://github.com/wagiminator/CH32X035-USB-PD-Tester

https://github.com/wagiminator/CH32V003-FM-Receiver

... um nur einige zu nennen.
von Norbert (der_norbert)


Lesenswert?

Mounriver Studio (die dicke IDE) ist meiner Meinung nach overkill

* MRS_Toolchain_Linux_X64_V2.4.0.tar.xz
* RISC-V2A - CH32V003EVT - v2.1.zip
* RISC-V2A - CH32V003 Datasheet - v1.8.pdf
* RISC-V2A - CH32V003 Reference Manual - v1.9.pdf

und für die ›tiefer Einsteiger‹

* RISC-V Compressed Instruction Set Manual - v 1.9.pdf
* RISC-V Instruction Set Manual Volume I: Unprivileged ISA.pdf
* RISC-V Instruction Set Manual Volume II: Privileged Architecture.pdf

Mehr braucht man doch gar nicht um glücklich zu sein.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Richard schrieb:
> Ich habe mich gleich für einen kaum teureren und deutlich
> leistungsfähigeren WCH Controller, den CH320x33, entschieden. Letztes
> Jahr habe ich weniger als 30cent pro Stück bezahlt.

Das ist interessant, denn zu diesen Controllern ist irgendwie auf Anhieb 
nichts zu finden. Kannst Du bitte ein paar URL's dazu geben?

Die "größeren Modelle" von WCH aus der CH32Vx Serie waren irgendwie in 
Relation zu anderen MCU's aus der eigenen Sicht nicht so interessant.
von Karsten W. (lsmod)


Lesenswert?

Mi N. schrieb:
> Karsten W. schrieb:
> Mal ganz böse gefragt: Wieviel Rollen verbrauchst Du pro Jahr?

Braucht man diese "Hobby" überhaupt?

> Ich verstehe Dich, daß Du gerne 'spielen' möchtest, aber für eine
> 'ernsthafte' Anwendung würde ich mir STM32C... oder STM32G... auf die
> Platine setzen - völlig egal, wer da wem Lizenzgebühren zahlt.
> Die kosten wohl das 5- bis 10-fache, sparen aber eine Menge
> Entwicklungszeit.

Es hält Dich doch keiner davon ab das zu tun was Dir am besten zusagt.
In diesem Thread geht es jedoch um die CH32Vx mit einem QingKe RISC-V 
core!
: Bearbeitet durch User
von Hans W. (hanswieland)


Lesenswert?

Mi N. schrieb:
> Die kosten wohl das 5- bis 10-fache, sparen aber eine Menge
> Entwicklungszeit.

So teuer sind sie nicht. STM32C0 gibt es schon für etwa 50 Cent.
von Karsten W. (lsmod)


Lesenswert?

Der Preis ist bei den MCU's nur ein Anreiz mit einer größeren Anzahl zu 
experimentieren.
Interessant ist das Gesamtpaket an Funktionalität insbesondere im 
Vergleich zu den älteren Atmel MCU's. Dieses ist halt vergleichbar, 
insbesondere in Verbindung mit dem CH32Fun Projekt.

@Mi N. Was ist denn von der Entwicklung so viel einfacher bei einem ARM 
Core?
: Bearbeitet durch User
von Hans W. (hanswieland)


Lesenswert?

Karsten W. schrieb:
> Was ist denn bei denn von der Entwicklung so viel einfacher bei einem
> ARM Core?

Zugriffe auf 32 Bit Variablen sind atomar.

Und ISR können durch höher priorisierte Interrupts unterbrochen werden. 
Die Prio ist wiederum konfigurierbar.

Sonst fällt mir nichts großartiges ein. AVR sind so schön einfach, viel 
leichter zu überblicken.
von Karsten W. (lsmod)


Lesenswert?

Nett zu wissen, aber ehrlich gesagt ist dies bislang weder aufgefallen 
noch wurde es vermißt.
Das liegt wahrscheinlich daran das keine ernsten Anwendungen verfolgt 
werden. :-D
Es ist in erster Linie einfach nur Spaß mit etwas neuerer Technik.

> Sonst fällt mir nichts großartiges ein. AVR sind so schön einfach, viel
leichter zu überblicken.

Dieser Eindruck ist bei den CH32V00X ebenfalls vorhanden, auch wenn die 
Dokumentation zu diesen nicht so gut ist wie bei Atmel oder STM.
: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Karsten W. schrieb:
> Es ist in erster Linie einfach nur Spaß mit etwas neuerer Technik.

Das ist ja auch voll in Ordnung.
Nur sehe ich bei den Teilen nichts, was mich vom Hocker haut, auch dann 
nicht, wenn ich sie geschenkt bekäme.
von Norbert (der_norbert)


Lesenswert?

Hans W. schrieb:
> Zugriffe auf 32 Bit Variablen sind (bei ARM) atomar.

Und bei diesem RISC-V nicht?
Also kann C.LWSP mitten im 32bit Zugriff unterbrochen werden?
Da finde ich keine Referenz.

Hans W. schrieb:
> Und ISR können durch höher priorisierte Interrupts unterbrochen werden.
> Die Prio ist wiederum konfigurierbar.

Zwar nicht ganz so leistungsfähig, jedoch:
… and supports 2 levels of interrupt nesting.
von Hans W. (hanswieland)


Lesenswert?

Norbert schrieb:
> Und bei diesem RISC-V nicht?

Klar, bei dem wohl auch.
: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Karsten W. schrieb:
> Das ist interessant, denn zu diesen Controllern ist irgendwie auf Anhieb
> nichts zu finden. Kannst Du bitte ein paar URL's dazu geben?

Zum CH32X035 habe ich vorhin ein Beispielprojekt verlinkt - und unter 
den Repositories des Autors gibts noch ein zweites.

Der hat auch ein Beispiel für den CH32X033:
https://github.com/wagiminator/CH32X033-USB-Knob



Für den x035 gibts hier ein USB-Composite-Device:
https://github.com/NoNamedCat/CH32X035_USBComposite

Hier eine CDC-Implementierung:
https://github.com/jobitjoseph/CH32X035_USBSerial

Hier gibts Dinge von WCH selbst dazu:

https://github.com/openwch/ch32x035

(und entsprechend in anderen Repositories von openwch auch)
von Frank O. (frank_o)


Lesenswert?

Harald K. schrieb:
> Hier gibts Dinge von WCH selbst dazu:
>
> https://github.com/openwch/ch32x035

Das ist ein schönes Beispiel dafür, was ich meinte.
Schaut man ins Readme vom Snake Game findet, man außer der Überschrift 
nichts.
: Bearbeitet durch User
von Mehmet K. (mkmk)


Lesenswert?

In unserer Firma werden die meisten neuen Projekte mit den WCH-Chips in 
Angriff genommen. Auch wurden drei alte Geräte neu mit CH32-MUCs 
designed.
Da wäre zum einen der CH32V006, durch den ich den AT42QT1110 (Touch 
Sensor IC) und eines mit dem STM32F070 ersetzen konnte.
Beim anderen Gerät wurde ebenfalls ein STM32 durch den CH32V303 ersetzt.
Woran ich mich aber nicht heranwage: einen STM32U5 durch einen 
CH32-was-auch-immer zu ersetzen.
Die Software-Entwicklung verläuft anfänglich recht harzig. Aber es macht 
Spass. Vielleicht weil es was Neues ist.
von Harald K. (kirnbichler)


Lesenswert?

Frank O. schrieb:
> Das ist ein schönes Beispiel dafür, was ich meinte.

Das ist bei anderer Leute Sourcecode halt oft so.

Man kann sich aber den Sourcecode selbst ansehen und daraus Erkenntnisse 
gewinnen - hier z.B. auf welche Art und Weise mit den üblichen 
WS2812-LEDs umgegangen wird, und vor allem, wie die dazu verwendete 
Peripherie angesteuert wird.

Daß man an die Hand genommen wird und ein didaktisch ausgearbeitetes 
Lernerlebnis vorgesetzt bekommt, das ist eher unüblich, denn die 
Kapazitäten, um so etwas zu erstellen, die hat niemand.

In erster Linie aber hatte ich dieses Repository verlinkt, weil dort 
Datenblatt und andere Downloads gesammelt zu finden sind.

Die eigentlichen Demos für die Peripherieansteuerung sind unter evt zu 
finden, hier in ch32x05_list_en.txt reingucken.

Was cnlohr und wagiminator abliefern, hat aber eine andere Qualität.
von Frank O. (frank_o)


Lesenswert?

Harald K. schrieb:
> Das ist bei anderer Leute Sourcecode halt oft so.

Aber wenn der Hersteller so etwas einstellt,  dann sind die, zu 
mindestens für mich, noch nicht weit genug.
von Mi N. (msx)


Lesenswert?

Mehmet K. schrieb:
> In unserer Firma werden die meisten neuen Projekte mit den WCH-Chips in
> Angriff genommen. Auch wurden drei alte Geräte neu mit CH32-MUCs
> designed.

Warum? Welche Stückzahl?
Wenn ich die Datenblätter überschlägig lese, sind die STM32 wohl eher 
die "Edel-µCs", die mit Feinheiten punkten. Gut, wenn man die nicht 
braucht, fällt das nicht auf.

> Aber es macht Spass. Vielleicht weil es was Neues ist.

Das ist natürlich auch ein Argument.
von Maximilian (maxclaus)


Lesenswert?

Auch ich habe im Moment 2 Projekte mit dem CH32V006 am laufen. Für heute 
sind die Leiterplatten von DHL angekündigt. Der Prog/Debug-Adapter ist 
billig und Riverstudio ist selbsterklärend. Nur die Umstellung auf C++ 
bedarf manueller Nacharbeit bei den Dateipfaden und dem Aufruf der 
Constructoren von globalen Objekten in der main(). Die Docu ist nicht 
schlecht, wenn man schon Erfahrung mit anderen Controllern hat.
von Karsten W. (lsmod)


Lesenswert?

Mi N. schrieb:
> Nur sehe ich bei den Teilen nichts, was mich vom Hocker haut, auch dann
> nicht, wenn ich sie geschenkt bekäme.

Na immerhin sorgen diese doch hier schon bereits für Deine Unterhaltung 
und vielleicht sogar für Spaß. ;-)
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Zwar nicht ganz so leistungsfähig, jedoch:
> … and supports 2 levels of interrupt nesting.

Es spielt zwar keine Rolle ob wesentlich preisgünstigere MCU's mit einem 
alternativen Core besser oder schlechter sind, jedoch gibt es einen 
Hinweis darauf, daß diese noch nicht einmal schlechter als ein ARM sind.

https://learn.pimoroni.com/article/overclocking-the-pico-2

"I found that CoreMark actually gave a slightly higher performance per 
MHz using the RISC-V cores - just under 5% faster.
So if you have an integer-only use for the RP2350 it is definitely worth 
checking if the RISC-V cores might give better performance!"
: Bearbeitet durch User
von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Harald K. schrieb:
> Karsten W. schrieb:
>> Das ist interessant, denn zu diesen Controllern ist irgendwie auf Anhieb
>> nichts zu finden. Kannst Du bitte ein paar URL's dazu geben?
>
> Zum CH32X035 habe ich vorhin ein Beispielprojekt verlinkt - und unter
> den Repositories des Autors gibts noch ein zweites.

Danke!
Aktuell kosten diese MCU's im Vergleich 40 bis 49 Cent, je nach Version.
https://de.aliexpress.com/item/1005006033143072.html
Das ist schon teurer als CH32V00X, allerdings gibt es dafür wirklich 
fortschrittlichere Technik. Die 20 KB RAM sind attraktiv, der Rest 
unterscheidet sich nicht so sehr von einem CH32V006 / 7.
Die Taktfrequenz (HSI) für den Core scheint mit 48 MHz identisch zu 
sein, außer das bei den CH32V00X mit 24 MHz getacktet wird und die 
Frequenz über eine PLL intern verdoppelt wird.

Kannst Du bitte etwas dazu schreiben was den Unterschied von dem QingKe 
32-bit RISC-V4C praktisch ausmacht?

RISC-V4C supports the IMAC subset of the RISC-V instruction set. The 
processor is managed internally in a modular fashion and contains units 
such as a programmable fast interrupt controller (PFIC), memory 
protection, branch prediction mode and extended instruction support. 
Externally multiple buses are connected to external unit modules, 
enabling interaction between external function modules and the core.
The processor with its minimal instruction set, multiple operating 
modes, and modular custom extensions can be flexibly applied to 
different scenarios of microcontroller design, such as small area 
low-power embedded scenarios, high performance application operating 
system scenarios, etc.
* Support machine and user privileged modes
* Programmable Fast Interrupt Controller (PFIC)
* Multi-level hardware interrupt stack
* 2-wire serial debug interface (SDI)
* Standard memory protection design
* Static or dynamic branch prediction, efficient jumping, conflict 
detection mechanisms
* Custom extension instructions
: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Wenn man das gewerblich nutzt, dann muss man wohl zehntausende 
herstellen,  damit es ein echten Kostenvorteil bringt.
Außer uns interessieren sich die Menschen nicht dafür was für ein 
Mikrocontroller in ihrem Gerät werkelt. Die meisten wissen nicht einmal 
was win Mikrocontroller ist.
Und selbst für uns ist auch nur sichtbar was das Gerät tut und nicht 
welcher Code, mit welcher Sprache geschrieben und wie viel Speicher der 
belegt.
Wirklich interessant sind diese günstigen Preise nur in einem hart 
umkämpften Markt, wo Millionen Geräte gegen eben so große Konkurrenten 
antreten.
Der Satz, weil es Spaß macht etwas Neues auszuprobieren, hat meiner 
Meinung nach das größte Gewicht.
von Karsten W. (lsmod)


Lesenswert?

Frank O. schrieb:
>> https://github.com/openwch/ch32x035
>
> Das ist ein schönes Beispiel dafür, was ich meinte.

Nun - manche lösen gerne Kreuzworträtsel, manche die Aufgaben beim 
Geocaching und manche Leute möchten gerne chinesische "secrets" lösen, 
denn die chinesischen Hersteller glauben wirklich das diese "secrets" 
notwendig sind!

> Wenn man das gewerblich nutzt, dann muss man wohl zehntausende
herstellen,  damit es ein echten Kostenvorteil bringt.

Das kommt doch ganz auf das Produkt an.
So etwas dürfte wohl in Espressomaschinen und anderen Haushaltsgeräten 
zu finden sein.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Mehmet K. schrieb:
> In unserer Firma werden die meisten neuen Projekte mit den WCH-Chips in
> Angriff genommen.

Würdest Du verraten um welche Art von Geräten es sich handelt, oder 
zumindest in welcher Preisregion die Produkte angesiedelt sind?

> Die Software-Entwicklung verläuft anfänglich recht harzig. Aber es macht
Spass. Vielleicht weil es was Neues ist.

Harzig ist ein wirklich schönes und passendes Wort. :-D
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Maximilian schrieb:
> Auch ich habe im Moment 2 Projekte mit dem CH32V006 am laufen.

Danke für die (mehreren) Erfahrungsberichte aus dem bereits 
professionellen Umfeld!
: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Karsten W. schrieb:
> I found that CoreMark actually gave a slightly higher performance per
> MHz using the RISC-V cores - just under 5% faster.

Da hat er wohl die Temperaturdrift des HSI gemessen ;-)
von Karsten W. (lsmod)


Lesenswert?

Mi N. schrieb:
> Da hat er wohl die Temperaturdrift des HSI gemessen ;-)

Wir können ja Mal einen eigenen Vergleichstest machen und hier 
dokumentieren ...
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> So if you have an integer-only use for the RP2350 it is definitely worth
> checking if the RISC-V cores might give better performance!"

Und das ist das hüpfende Komma. Wenn man den RISC-V Kernen ebenfalls 
zwei FPUs gespendet hätte, wäre ich schon lange von ARM auf RISC 
umgestiegen.
Aber das hätte wohl den ARM-Machern so gar nicht geschmeckt. ;-)
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Wenn man den RISC-V Kernen ebenfalls zwei FPUs gespendet hätte, wäre ich schon 
lange von ARM auf RISC umgestiegen.

MCU's mit einer FPU sind doch wohl generell eine andere Preisklasse.
Kannst Du bitte erklären warum eine Berechnung ohne FPU ungenauer ist?
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> MCU's mit einer FPU sind doch wohl generell eine andere Preisklasse.

Der RP2350 besitzt bereits ZWEI FPUs. Aber die sind nur von den beiden 
ARM-Kernen zugänglich. Ein Schelm wer Böses dabei denkt.

> Kannst Du bitte erklären warum eine Berechnung ohne FPU ungenauer ist?
Habe ich nie behauptet, sehe daher auch keine Veranlassung.
Aber der Dynamikumfang ist um zig Größenordnungen besser.
von Harald K. (kirnbichler)


Lesenswert?

Norbert schrieb:
> Der RP2350 besitzt bereits ZWEI FPUs. Aber die sind nur von den beiden
> ARM-Kernen zugänglich. Ein Schelm wer Böses dabei denkt.

Die sind nicht "von den ARM-Kernen zugänglich", die sind schlichtweg 
Bestandteil der ARM-Kerne (Cortex-M33F).
von Norbert (der_norbert)


Lesenswert?

Harald K. schrieb:
> Die sind nicht "von den ARM-Kernen zugänglich", die sind schlichtweg
> Bestandteil der ARM-Kerne (Cortex-M33F).

Dann formuliere ich gerne um, damit klar wird was ich – offensichtlich 
erfolglos – zu vermitteln versuchte: Wenn ich mich in der ARM-Domäne 
bewege, dann sind FPUs zugänglich, wenn nich' dann nich'.

Kleine Anmerkung am Rande: Es ist NICHT bei Todesstrafe verboten, auf 
der RISC-V Seite ebenfalls FPUs zur Verfügung zu stellen. Gerüchten 
zufolge soll dies sogar schon verschiedenen Ingenieuren gelungen sein. 
Diese gerissenen Burschen…
von Harald K. (kirnbichler)


Lesenswert?

Norbert schrieb:
> Gerüchten
> zufolge soll dies sogar schon verschiedenen Ingenieuren gelungen sein.
> Diese gerissenen Burschen…

Ja, die Leute bei Raspberry, die sind schon ganz schön fies, gemein und 
unfähig, wie, daß sie keinen RISC-V-Kern mit FPU verwenden.

Meine Güte, was für ein Anspruchsdenken. Der Vorgänger des RP2350 hatte 
gar keine FPU, und keine RISC-V-Kerne, der 2350 hat als erstes Produkt 
von denen überhaupt RISC-V-Kerne, und Du heulst rum.
von Norbert (der_norbert)


Lesenswert?

Harald K. schrieb:
> und Du heulst rum.

Hast du gesoffen?

Ich nutze RP2350 praktisch täglich, nur eben notwendigerweise die ARM 
Kerne.
von Harald K. (kirnbichler)


Lesenswert?

Norbert schrieb:
> Hast du gesoffen?

Wie soll ich dein Gegreine denn sonst interpretieren?

Natürlich wäre es schicker, wenn die RISC-V-Kerne auch eine FPU hätte, 
und natürlich wäre es noch schicker, wenn man alle vier Kerne 
gleichzeitig oder in beliebigen Mischungen nutzen könnte, aber ...
von Norbert (der_norbert)


Lesenswert?

Harald K. schrieb:
> Wie soll ich dein Gegreine denn sonst interpretieren?

Am besten gar nicht, da du dazu offensichtlich nicht in der Lage bist.
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Aber der Dynamikumfang ist um zig Größenordnungen besser.

Das kommt doch auf die Anforderungen an.
Wenn diese gegeben sind spricht doch nichts dagegen einfach einen RP2350 
zu nehmen.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Wenn ich mich in der ARM-Domäne bewege, dann sind FPUs zugänglich, wenn nich' 
dann nich'.

Da gibt es noch diese 6 Jahre alte Diskussion 
Beitrag "Neue MCU APM32F103"
Selbstverständlich im Zusammenhang mit einem ARM Core und am Ende hat es 
sich mit der FPU als Fake erwiesen.

> Kleine Anmerkung am Rande: Es ist NICHT bei Todesstrafe verboten, auf
der RISC-V Seite ebenfalls FPUs zur Verfügung zu stellen.

Die Frage ist warum die Chinesen sich damit so schwer tun?
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Harald K. schrieb:
> Ja, die Leute bei Raspberry, die sind schon ganz schön fies, gemein und
> unfähig, wie, daß sie keinen RISC-V-Kern mit FPU verwenden.

Unter Lizenz zu produzieren ist doch mit viel weniger Aufwand verbunden.
Außerdem finden es doch alle so schön und innovativ auf einen fahrenden 
Zug aufzuspringen ...
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> Das kommt doch auf die Anforderungen an.

Der Dynamikumfang einer Fließkomma-Variablen ist eine intrinsische 
Eigenschaft derselben und niemals von den Anforderungen abhängig.

Einzig die Anforderung diktiert, ob man float, int oder fixpoint zum 
Einsatz bringt.

Karsten W. schrieb:
> spricht doch nichts dagegen einfach einen RP2350
> zu nehmen.

Worauf willst du eigentlich hinaus? Deine Einwände scheinen mir wenig 
zielgerichtet und etwas wirr zu sein.
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> Die Frage ist warum die Chinesen sich damit so schwer tun?

Die tun sich nicht schwer, die wollen billich-willich. Und eine FPU 
braucht nun mal ein zehntel Quadratmillimeter auf dem die und macht 
diesen um einen Cent teurer.

PS. Es wäre sehr hilfreich, wenn du die rp2350 Subdiskussion vom 
eigentlichen Hauptthema trennen würdest. Nur des Verständnisses wegen.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Der Dynamikumfang einer Fließkomma-Variablen ist eine intrinsische
> Eigenschaft derselben und niemals von den Anforderungen abhängig.

Das bedeutet?

> Einzig die Anforderung diktiert, ob man float, int oder fixpoint zum
> Einsatz bringt.

Das ist logisch.

> Worauf willst du eigentlich hinaus? Deine Einwände scheinen mir wenig
> zielgerichtet und etwas wirr zu sein.

Welche Einwände?
Es ist einfach nicht möglich Eurem Kreuzzug für ARM zu folgen ...

Hier werden einfach nur Meinungen diskutiert und Erfahrungen mit einer 
neuen MCU ausgetauscht!
Wenn Du ARM diskutieren und loben willst dann mache doch einen eigenen 
Thread auf!

Viel interessanter wäre Mal ein Thread in dem die unterschiedlichen 
Cores und Eigenschaften Mal verglichen und diskutiert werden.
Vielleicht gibt es den hier sogar schon, weil noch nicht danach gesucht, 
da es aus der eigenen Sicht eher unbedeutend ist.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Die tun sich nicht schwer, die wollen billich-willich. Und eine FPU
> braucht nun mal ein zehntel Quadratmillimeter auf dem die und macht
> diesen um einen Cent teurer.

Es ist halt ein anderes Produkt-Segment.
Eine Espresso-Maschine benötigt halt keine FPU, da man guten Kaffee auch 
mit einer Integer-Berechnung hinbekommt, oder es auf die Berechnungszeit 
ohne FPU einfach nicht ankommt.

>
> PS. Es wäre sehr hilfreich, wenn du die rp2350 Subdiskussion vom
> eigentlichen Hauptthema trennen würdest. Nur des Verständnisses wegen.

Wie geht das?
Es wäre ohnehin schön die sinnlosen Posts mit Anfeindungen einfach zu 
löschen.
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> Das bedeutet?

Das bedeutet, dass sich ein float einen Dreck um deine Anforderungen 
kümmert.

Karsten W. schrieb:
> Wenn Du ARM diskutieren und loben willst dann mache doch einen eigenen
> Thread auf!

Ich sehe, auch du bist völlig unfähig einen thread zu lesen und zu 
VERSTEHEN.

Es verhält sich nämlich genau umgekehrt, es geht um: weg von ARM, hin zu 
RISC-V. Sollte sich aus den Beiträgen wirklich mehr als deutlich heraus 
lesen lassen.
: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Ich sehe, auch du bist völlig unfähig einen thread zu lesen und zu
> VERSTEHEN.

Warum nun die Anfeindungen?
Willst Du Dich den anderen Forentrollen anschließen?

Verzeihe wenn Dein Beitrag leider mit denen verwechselt worden ist.

> Es verhält sich nämlich genau umgekehrt, es geht um: weg von ARM, hin zu
> RISC-V. Sollte sich aus den Beiträgen wirklich mehr als deutlich heraus
> lesen lassen.

Warum soll nicht beides parallel existieren.
Vielfalt ist immer besser als ein Monopol und ARM ist dabei eines 
aufzubauen.
: Bearbeitet durch User
von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Offtopic:

Karsten W. schrieb:
> Es ist halt ein anderes Produkt-Segment.
> Eine Espresso-Maschine benötigt halt keine FPU, da man guten Kaffee auch
> mit einer Integer-Berechnung hinbekommt, oder es auf die Berechnungszeit
> ohne FPU einfach nicht ankommt.

Die Espresso-Maschine wird deshalb immer wieder gerne genannt, da in 
einer Siebträger-Maschine die sich nicht mehr wirtschaftlich reparieren 
ließ diese MCU zu finden war.
Bei dem SH79F084AL handelt es sich um einen "2.8V~5.5V 51 Family 8KB 
FLASH SOP-16 Microcontroller"
: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Karsten W. schrieb:
> Warum soll nicht beides parallel existieren.
> Vielfalt ist immer besser als ein Monopol und ARM ist dabei eines
> aufzubauen.

Nochmal: Ich bin ein vehementer RISC-V Befürworter. Wie oft muss ich es 
noch zum Ausdruck bringen?

Daher vielleicht noch Folgendes:

Ein CH32 ist nicht gut, nur weil er einen RISC-V Kern hat.
Aber es ist sehr gut, dass er einen RISC-V Kern hat. Der 003 den ich 
einsetze ist ein recht netter Chip.

Ein RP2350 ist nicht gut, nur weil er zwei ARM und zwei RISC-V Kerne 
hat. Aber es ist gut, dass er die zwei RISC-V Kerne hat. Weniger gut ist 
dass genau diese Domäne künstlich eingeschränkt wird (keine FPUs). Also 
wird man in sehr vielen Fällen gezwungen sein mit der ARM Seite zu 
arbeiten, da sonst die Fließkomma-Operationen auf der Strecke bleiben.

Wieso eine solche Entscheidung getroffen wurde? Wer kann das schon 
sagen? Möglicherweise weil die 'Berries' sehr eng mit Broadcom zusammen 
arbeiten und diese sehr eng mit ARM. Und mit dieser Einschränkung sieht 
die proprietäre ARM Seite nicht urplötzlich schlechter aus als die freie 
RISC-V Seite.
von Karsten W. (lsmod)


Lesenswert?

Dann sind wir doch ähnlicher Meinung.
Diese ganze Produkt-Politik dient immer nur einseitigen Interessen und 
niemals uns.

> Der 003 den ich einsetze ist ein recht netter Chip.

In der Tat ist diese ganze Linie von MCU's wirklich interessant und sehr 
brauchbar.
: Bearbeitet durch User
von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

Eine Übersicht über die verschiedenen QingKe Prozessoren findet man 
hier:
https://www.wch-ic.com/products/QingKe.html

Zum Thema floating point:

"QingKe V4 series microprocessors are self-developed 32-bit 
general-purpose MCU microprocessors based on standard RISC-V instruction 
set architecture. According to different application scenarios and 
instruction set combinations, this series includes V4A, V4B, V4C, V4J, 
V4F. The V4 series all support RV32IMAC instruction set extensions, of 
which V4F supports single-precision hardware floating-point, i.e., it 
supports RV32IMACF extensions.

...

The RISC-V instruction set has a simple architecture and supports a 
modular design, allowing for flexible combinations based on different 
needs, and
the V4 series supports the following instruction set extensions.
* RV32: 32-bit architecture, general-purpose register bit width of 32 
bits
* I: Supports shaping operation, with 32 shaping registers
* M: Supports shaping multiplication and division instructions
* A: Support atomic instructions, simplify lr and sc instructions, and 
only execute them as LW and SW,
and the return of sc results is always successful.
* C: Supports 16-bit compression instruction
* F: Support single-precision floating-point operation, with 32 
floating-point registers.
* XW: 16-bit compression instruction for self-expanding byte and 
halfword operations."

Ein V4F ist zum Beispiel in einem CH32V307 gegeben, der ohnehin schon 
mit 144 MHz läuft und auf Grund seiner Ausstattung nicht mehr in das 
untere Preissegment einzuordnen ist.
: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Mein Senf zur FPU:
Das sehe ich nicht als Kritikpunkt bei diesen kleinen Teilen. Selbst per 
Software dürfte eine FDIV bei 48 MHz im unteren µs-Bereich fertig sein.

Norbert schrieb:
> Nochmal: Ich bin ein vehementer RISC-V Befürworter.

Warum eigentlich? Gibt es denn irgendeinen gravierenden Vorteil 
gegenüber Cortex-Kernen?
Wenn ich in C programmiere, kann mir der Kern doch egal sein. Und wenn 
jemand Arduino draufsetzt, ist eh alles zu spät.
von Norbert (der_norbert)


Lesenswert?

Mi N. schrieb:
> Mein Senf zur FPU:
> Das sehe ich nicht als Kritikpunkt bei diesen kleinen Teilen.

Um die CH32 geht es bei der Betrachtung bzgl. FPU auch gar nicht.
Ü-Ber-Haupt nicht! Irgendwie scheine ich das ja wohl nicht besonders gut 
rüber bringen zu können.

Und dass man eine offene und vor allem freie Architektur voran bringen 
möchte, muss das tatsächlich erklärt werden?
von Karsten W. (lsmod)


Lesenswert?

Norbert schrieb:
> Und dass man eine offene und vor allem freie Architektur voran bringen
> möchte, muss das tatsächlich erklärt werden?

Offenbar schon, denn die Angriffe proprietärer Lösungen erfolgen prompt.

Ist es nicht interessant, daß selbst bei RISC-V im Zusammenhang mit 
Linux direkt Intel mitmischt?
https://www.linux-magazin.de/ausgaben/2023/04/risc-v-hardware/

Seit 2023 kommt das Thema nicht mehr so recht voran ...

Immerhin unterstützt Debian RISC-V:
https://wiki.debian.org/RISC-V
: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Karsten W. schrieb:
> Die Frage ist warum die Chinesen sich damit so schwer tun?

Tun sie es?
Im CH32V307 beispielsweise steckt eine FPU. Der nutzt einen 
RISC-V4F-Kern.

Gut, "single-precision", aber das ist beim Cortex-M33F auch nicht 
anders.
von Maximilian (maxclaus)


Lesenswert?

Statt nur auf Geschwindigkeit zu schauen, sollte man auch die kleinen 
Dinge nicht übersehen. Bei einem meiner Projekte nutze ich den im 
CH32V006 enthaltenen OPA um das Signal eines analogen Hallsensors um den 
Faktor 7 zu verstärken. Extern wird nur eine R/C-Kombination zur 
Einstellung der Wechselspannungsverstärkung benötigt. Sehr praktisch, 
wenn die Leiterplatte sehr gedrängt ist. Der CH32V007 enthält zusätzlich 
sogar 2 Komparatoren. Es gibt nicht viele kleine MC die das beinhalten.
von Frank O. (frank_o)


Lesenswert?

Karsten W. schrieb:
> Bei dem SH79F084AL handelt es sich um einen "2.8V~5.5V 51 Family 8KB
> FLASH SOP-16 Microcontroller"

Auch keiner dieser Mikrocontroller.
Hier wird immer so viel über die Geräte gesprochen, aber wenn ich 
irgendwelche Microcontroller sehe, dann sind das in Weißware vorwiegend 
Renesas. Der Batteriewassercontroller war nach dem ich den aufgeprokelt 
hatte ein mit dem Tiny10 vergleichbarer PIC.
Vielleicht habe ich nur Pech und sehe immer den falschen Dinge, aber das 
Meiste was hier besprochen wird, findet sich nicht auf meinem Weg.
von Karsten W. (lsmod)


Lesenswert?

Maximilian schrieb:
> Statt nur auf Geschwindigkeit zu schauen, sollte man auch die kleinen
> Dinge nicht übersehen. Bei einem meiner Projekte nutze ich den im
> CH32V006 enthaltenen OPA um das Signal eines analogen Hallsensors um den
> Faktor 7 zu verstärken.

In der Tat wurden in diese MCU-Serie einige sinnvolle Extras eingebaut.
Bei dem CH32V007 ist mit dem OPA sogar schon ein PGA realisiert, mit dem 
Kleinspannungen direkt ein stellbar mit dem Faktor 2, 4, 8, 16 verstärkt 
werden können und mit dem AD-Wandler konvertiert werden können, ohne daß 
zusätzliche externe Bauteile notwendig sind.
von Karsten W. (lsmod)


Lesenswert?

Frank O. schrieb:
> Vielleicht habe ich nur Pech und sehe immer den falschen Dinge, aber das
> Meiste was hier besprochen wird, findet sich nicht auf meinem Weg.

Was vermisst Du denn?
von Harald K. (kirnbichler)


Lesenswert?

Frank O. schrieb:
> aber wenn ich
> irgendwelche Microcontroller sehe, dann sind das in Weißware vorwiegend
> Renesas.

In meiner Liebherr-Kühl-Gefrierkombi sind (mindestens) zwei Atmel AVRs 
verbaut. Ein Atmega48 und ein Atmega88, wenn ich mich recht erinnere. 
Galvanisch getrennt, auf einer Platine. Ein weiterer könnte noch hinter 
dem Display in der Tür stecken.
von Karsten W. (lsmod)


Lesenswert?

Es bestimmt sowas wie der Multimedia-Hotspot der Küche der nebenbei auch 
kühlen kann. :-D
Vielleicht sogar besonders leistungsfähig wegen der gekühlten CPU's.
: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Karsten W. schrieb:
> Es bestimmt sowas wie der Multimedia-Hotspot der Küche der nebenbei auch
> kühlen kann.

Multimedia? Mit einem Atmega88?

Nee. Das ist einfach nur eine etwas bessere Kühl-Gefrierkombi, die auch 
den Gefrierteil selbst abtaut und mit einem Kompressor zwei Kühlkreise 
versorgt. Das Display zeigt nur die beiden Temperaturen an (primitives 
passives LC-Display mit ein paar vorgegebenen Segmenten, nix Punktmatrix 
oder so).

Das Gerät ist jetzt auch gute 15 Jahre alt.
von Karsten W. (lsmod)


Lesenswert?

Harald K. schrieb:
> Multimedia? Mit einem Atmega88?

Es entstand ein Bild im Kopf mit so einem großen Touch-Screen auf der 
Front, wobei die Mikrocontroller selbstverständlich nur die Zuarbeit 
leisten. :-)

> Das Gerät ist jetzt auch gute 15 Jahre alt.

Da war Atmel noch modern.
In einem Induktions-Kochfeld mit Touch-Steuerung fand sich ein Atmega 
328.
von Frank O. (frank_o)


Lesenswert?

Karsten W. schrieb:
> Was vermisst Du denn?

Gerade im Anfang (viele Jahre her) dachte ich immer, dass ich doch viel 
öfter Atmel sehen müsste, aber da waren keine. Einzig ein 
Ladegerätehersteller fing dann mit Atmel an.
Jetzt sollte gefühlt überall STM drin sein. Gut, einen habe ich mal 
gesehen, war aber kein 32ger.

Harald K. schrieb:
> In meiner Liebherr-Kühl-Gefrierkombi sind (mindestens) zwei Atmel AVRs
> verbaut.

Das wäre dann mal was.

Wenn man hier so liest und von den Unmengen produzierten µCs liest, dann 
müsste dir quasi jeden Tag einer der bekannten über den Weg laufen. 
Statt dessen eher ziemlich alte Controller oder halt Renesas. Und 
insbesondere nachdem ich mir seinerzeit das Datenblatt vom ersten dieser 
Sorte angesehen hatte, war mir klar wieso die da drin waren. Gut, heute 
haben auch andere direkte Motortreiber eingebaut. Aber zu dem Zeitpunkt 
(ist auch lange her) hatte ich noch nie was von Renesas gehört.
Deshalb frage ich mich schon bei jedem neuen Hype, diskutieren wir in 
unserer Blase völlig am Markt vorbei?
von Karsten W. (lsmod)


Lesenswert?

Frank O. schrieb:
> Deshalb frage ich mich schon bei jedem neuen Hype, diskutieren wir in
> unserer Blase völlig am Markt vorbei?

Das kann schon sein - macht das einen Unterschied?
Der eigene Betrachtungswinkel ist hier nach wie vor Hobby, da man hier 
in der EU ohnehin lebensmüde ist, wenn man Produkte produziert und 
anbietet.
Das kann nur mit Entwicklungen funktionieren die eine exorbitante 
Gewinnspanne haben, oder indirekt durch die Beratung und den Service den 
Gewinn einspielen.
von Frank O. (frank_o)


Lesenswert?

Karsten W. schrieb:
> da man hier
> in der EU ohnehin lebensmüde ist,

Der war gut!
Übrigens, danke für deine interessanten Beiträge hier!
Du hast dir schon sehr viel Wissen zu diesen Mikrocontrollern 
angeeignet.
: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Frank O. schrieb:
> Statt dessen eher ziemlich alte Controller oder halt Renesas.

Könnte auch damit zu tun haben, was einem so an Hardware begegnet. Wer 
in erster Linie Unterhaltungselektronik zerlegt, wird andere Erfahrungen 
machen, als jemand, der Eisenbahntechnik verschrottet, und der wiederum 
andere Erfahrungen, als jemand, der Weiße Ware von anderen Herstellern 
als BSG auseinandernimmt. Und der wiederum andere, als jemand, der in 
Autoelektronik herumstochert.

Und so weiter ...
von Frank O. (frank_o)


Lesenswert?

Harald K. schrieb:
> Und so weiter ...

Mag tatsächlich so sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.