Forum: Projekte & Code Splinter - Padauk Programmer mit CH32V003


von Tim  . (cpldcpu)


Lesenswert?

Ich habe mich einmal damit auseinander gesetzt, wie man einen sehr 
einfacher Programmer für Padauk Microcontroller mit einem CH32V003 
umsetzen kann:

https://github.com/cpldcpu/Splinter

Aktuell ist das eher als Test zu verstehen, eine komplette Toolchain 
gibt es noch nicht. Immerhin funktioniert das schreiben und auslesen.

Die Hauptherausforderung war die minimalistische Generierung der nötigen 
Spannungen.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Tim  . schrieb:
> Ich habe mich einmal damit auseinander gesetzt, wie man einen sehr
> einfacher Programmer für Padauk Microcontroller mit einem CH32V003
> umsetzen kann:
>
> https://github.com/cpldcpu/Splinter
>
> Aktuell ist das eher als test zu verstehen, eine komplette Toolchain
> gibt es noch nicht. Immer funktioniert das schreiben und auslesen.
>
> Die Hauptherausforderung war die minimalistische Generierung der nötigen
> Spannungen.

Schön!

Mal ne Frage: Du machst die Boost-Regelung im uC. Kommt es da nicht zu 
Spitzen, wenn die abgehenden „Lasten“ geschaltet werden?

von Tim  . (cpldcpu)


Lesenswert?

Harald A. schrieb:

> Mal ne Frage: Du machst die Boost-Regelung im uC. Kommt es da nicht zu
> Spitzen, wenn die abgehenden „Lasten“ geschaltet werden?

Ja klar, das muss man mit einer Regelung des Boosters und genug Overhead 
abfangen. Der Opamp kann mit Schwankungen der Versorgungsspannung 
umgehen.

: Bearbeitet durch User
von Harald A. (embedded)


Lesenswert?

Und die Motivation dahinter war vermutlich die Verwendung von möglichst 
Standard-Bauteilen? Ich meine so ein TLV61046 kostet bei LCSC ja auch 
nur 17ct, ne China-Version vermutlich nochmal die Hälte.

von Tim  . (cpldcpu)


Lesenswert?

Harald A. schrieb:
> Und die Motivation dahinter war vermutlich die Verwendung von
> möglichst
> Standard-Bauteilen? Ich meine so ein TLV61046 kostet bei LCSC ja auch
> nur 17ct, ne China-Version vermutlich nochmal die Hälte.

Der 2N7002 clone kostet 1ct und ist bei JLCPCB als basic component 
verfügbar. D.h. 5ct vs. 5$ für einen Assembly-run. (ok, 11ct mit Diode)

Was mich aber eher genervt hat, ist die wechselnde Verfügbarkeit von 
Booster-ICs. Der aus dem vorherigen Minimalprogrammer war zwischendurch 
nicht mehr verfügbar. 
(https://github.com/free-pdk/easy-pdk-programmer-lite-hardware)

... und natürlich war das Projekt so viel Interessanter :)

von Ralph S. (jjflash)


Lesenswert?

Tim  . schrieb:
> Was mich aber eher genervt hat, ist die wechselnde Verfügbarkeit von
> Booster-ICs. Der aus dem vorherigen Minimalprogrammer war zwischendurch
> nicht mehr verfügbar.
> (https://github.com/free-pdk/easy-pdk-programmer-lite-hardware)
>
> ... und natürlich war das Projekt so viel Interessanter :)

Smile, ich habe mir das ganze einmal angesehen und bin gespannt, was 
daraus werden wird. Ich hatte ja vor einiger Zeit (in der Pandemie) 
einen Programmer gemacht gehabt mit Arduino, sogar mit einem 
Startausgangspunkt von dir und hatte auch zuerst versucht gehabt, 
Spannungen für den Padauk direkt über den Arduino zu erzeugen und war 
gescheitert (ohne Operationsverstärker).

Dann hatte ich schlichtweg einen uralten MC34063 genommen gehabt. Ich 
glaube die Kombination mit Boost aus dem Controller und OP habe ich 
nicht versucht.

Ich bin sehr gespannt, was aus deinem Projekt werden wird, wobei mein 
"innerer Hype" um den PFS154 deutlich abgenommen hat und umso stärker 
jetzt mit CH32V003 ein Hype zurück gekommen ist.

Von daher hoch faszinierend, wenn dir hier ein Programmer glückt. Für 
mich verwende ich, wie du wohl auch, einen eigenen EASY-PDK-Programmer 
bei dem ich die Programmierspannungen und Datenleitungen mit 
Schiebeschalter umschalten kann, so dass ich einen Programmiersockel in 
ein Steckbrett oder auf ein entsprechend gerouetetes Board stecke kann.

Auf github gibst du an, dass "rvusb as a later step" angedacht ist, auch 
darauf bin ich sehr gespannt. :-) auch wenn ich da mittlerweile meinem 
Clone des EASY-PDK verhaftet bin (einfach weil in der Handhabung 
pragmatischer).

Vllt. wird dein Programmer ja so gut, dass ich da noch einmal eine 
kleinere Schaltung hinbekomme.

Gespannt bin ich wie das mit den Programmierspannungen für den PFS 
hinhauen wird. Ich weiß aus Erfahrung, dass das bei diesen Chips 
hochkritisch ist und ich habe es bspw. nicht geschaft, diese Spannung 
mittels Analogschalter an den Chip zu führen so, dass diese zwischen 
Programmiermodus und Runmodus umschaltbar sind.

Viel Erfolg !

von Tim  . (cpldcpu)


Lesenswert?

Ralph S. schrieb:
> Gespannt bin ich wie das mit den Programmierspannungen für den PFS
> hinhauen wird. Ich weiß aus Erfahrung, dass das bei diesen Chips
> hochkritisch ist und ich habe es bspw. nicht geschaft, diese Spannung
> mittels Analogschalter an den Chip zu führen so, dass diese zwischen
> Programmiermodus und Runmodus umschaltbar sind.

Das programmieren usw funktioniert schon:

https://github.com/cpldcpu/Splinter/blob/master/Design/README.md

Ralph S. schrieb:
> Ich bin sehr gespannt, was aus deinem Projekt werden wird, wobei mein
> "innerer Hype" um den PFS154 deutlich abgenommen hat und umso stärker
> jetzt mit CH32V003 ein Hype zurück gekommen ist.

Ja, ich bin auch etwas hin- und hergerissen. Eigentlich wollte ich den 
programmer nutzen, um mit dem PML100 herumzuspielen. Allerdings scheint 
der einen sehr merkwürdigen Programmieralgorithmus zu verwenden, für den 
man Pegelwandler braucht...

Mal schauen, wann ich wieder dazu komme.

von Andreas M. (amesser)


Lesenswert?

Man kann die Spannung auch mit Kapazitiver Ladungspumpe vervielfachen Da 
braucht man keine Regelung. Es reichen dazu zwei PWM Ausgänge die genau 
invertiert zueinander arbeiten. Ich nutze das in meinem PIC/AVR 
Programmer auf Basis vom CH552.

Schlagwort Dickson Charge Pump

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.