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
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.