WCH32v003 RISC-V MCU

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 11 Feb 2024, 13:53

Ako som písal pred nedávnom v tomto vlákne, dal som sa na novú platformu MCU a to RISC-V a na mikrokontrolér od https://www.wch-ic.com/
Prvý projekt s týmto MCU je na svete. Ide o jednoduchý tester LED a V, A, P meter. Má 16. výstupov cez posuvný register ktorý spína pripojené LED svietidlá. Spínať sa dajú výstupy jednotlivo, alebo v rade všetky za sebou. Dá sa nastaviť aj konkrétny výstup alebo stĺpec a ten zapínať a vypínať.
Meranie I, U, P svietidiel je riešené cez I2C s modulom INA226 (fw. je pripravený, čakám na dodanie modulu) . Výstup 16x cez posuvný register HC595 a mosfet spínač. Zobrazenie LCD 1602 v 4bit. režime. Vstup je rotačný enkodér s tlačítkom.
Program je napísaný v C, je to môj prvý pokus (komentovaný zdroják je na konci videa). Keďže k tejto platforme je zatial málo info ovládanie LCD, posuvného registra, INA226 som písal z nuly podľa datasheetov. Na ovládanie enkodéra má tento MCU vlastnú vstavanú perifériu, tiež má HW I2C to pomohlo dosť.
Musím povedať , že prechod z ASM a Basicu na C nie je až tak desivý ako sa mi zdal pred časom, myslím že som práve konvertoval z PIC na RISC-V platformu :mrgreen:
Tu je krátke video z vrabčieho hniezda a na konci videa strihnutý komentovaný zdroják v C ak by niekoho zaujímalo ako vyzerá program v HAL MOUNRIVER Studio.
https://www.youtube.com/watch?v=VN_YoBXX40w
ps. zdatní programátori v C nech video pred koncom vypnú aby ich nedrblo.
3
Obrázok 3

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1079
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Atlan » 11 Feb 2024, 14:11

Azbude vysledny bin subor mat 250k, tak sa nedostanes na koniec stranky.

Dobra rada zacni pouzivat h a c lebo sa v tom uschrolujes k smrti, navyse napr lcd. C a lcd. H mozes potom len skopirovat do dalsieho projektu a vyuzivat. Ptom je aj jednoduchsie sa prepinat cez karty.

Kazda premena by mala byt okomentovana aj v prioade ze je to jasne z jej nazvu. Premene by mali byt rozdelene donskupin podla pouzitie. Napr premene pre dispej potom premene pre tlacidla a podobne.

Pelrogram v C jenprenosny na ine uP bez problemov, jedine co musis vytiesit je zakladne nastavenie uP a jeho preriferii. V case roznych HAL uz ani to nemusi byt problem.

Hlavne ze to funguje, dobra praca. Beztak sa programator neustale zlepsuje.
1
Obrázok 1

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 11 Feb 2024, 14:30

To je dobrá rada. Pre mňa je C úplne iný svet. Info čerpám z netu a snažím sa hneď v začiatkoch nenachytať zlé návyky. Študujem zdrojáky písané v C pre STM32, čo je "skoro rovnaké" ako tieto WCH s tým, že WCH má 32. bitové jadro ale periférie aj zápis je podobný.
Dosť som bojoval s prechodom z neštruktúrovaného zápisu na štruktúrovaný aby som zabudol na GOTO z ASM a GOTO, GOSUB z Basicu, ale keď človek pochopí o čom to je tak to potom ide.
0

Používateľov profilový obrázok
Miko6005
Stály člen
Stály člen
Príspevky: 108
Dátum registrácie: 15 Dec 2018, 00:35

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Miko6005 » 11 Feb 2024, 14:42

čakám na dodanie modulu
Odkial si ho objednaval?
0
Nuclear battery for electric cars !!!

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 11 Feb 2024, 14:49

Aliexpress.
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 12 Feb 2024, 21:40

Podarilo sa mi úspešne preportovať OneWire knižnicu z STM32F103 na CH32V003. Čítam teplotu zo štyroch čidiel Dallas 18d20+ v 12.bitovom rozlíšení (žiaľ mám len jeden kus čidla).
Pripojil som aj RTC 3231 (pôvodne bol plánovaný do Fnirsi s Atlanovým fw ale pokusne išiel sem).
Tiež som naklepal jednoduché ovládanie pre OLED SSD1306.
Že ja som roky žil pod kameňom, čo som sa skôr nedokopal k tomu C -čku. No neskutočne jednoducho sa v tom pracuje.
Prílohy
CH32V003.jpg
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2319
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa peterple » 12 Feb 2024, 22:12

Tak tu trochu nesúhlasím s tým čo hovoríš. Jednoducho sa Ti pracuje preto, lebo presne vieš čo je čo a ako to funguje. Keby si rovno začal s C, tak by si mal obrovský problém pochopiť napríklad čo je to ukazateľ. Preto vlastne z dnešných jazykov zmizli aj tie. Základy skrátka vedieť musíš ak to chceš robiť na profi úrovni. Inak to dopadne zle nedobre. Ale možno sa mýlim. Na ZŠ sa informatika vyučuje na Emilovi a Pythone 6 rokov a všade je plno odborníkov čo tomu rozumejú.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 12 Feb 2024, 22:28

Niečo na tom bude čo hovoríš. Zo začiatku som tiež čumel do RM na tie 32. bitové registre jak "bacil do lekárničky". Ale to isté bolo keď som začínal s PIC pred x rokmi tiež som sa pasoval s datasheetom.
Programovať len tak bez aspoň základných znalostí periférií kontroléra moc nejde to je pravda. Ja som mal to šťastie, že som začínal v dobe kamennej kde si musel poznať čo a ako funguje aby si to mohol programovať :mrgreen:
0

raki
Okoloidúci
Okoloidúci
Príspevky: 46
Dátum registrácie: 05 Jan 2009, 00:00
Bydlisko: Bratislava
Vek: 57

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa raki » 13 Feb 2024, 12:07

Ahoj,

aký software používaš na programovanie týchto MCU ? Odporúčajú MounRiver Studio, ale je podpora aj do Arduino IDE - len tam som to zatiaľ nerozchodil.
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 13 Feb 2024, 13:02

Používam ich MOUNRIVER Studio.
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3009
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa dan21 » 13 Feb 2024, 13:06

0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 13 Feb 2024, 13:50

Určité áno, pôjde to. Je toho viacej napr. celkom dobre rozrastajúca sa komunita okolo: https://github.com/cnlohr/ch32v003fun
Ja zatiaľ ostávam pri Mounriver Studio a ich HAL. Nepripadá mi to nijak zložité a tých pár bajtov naviac pri vygenerovanom kóde mi pri mojich pokusoch zatiaľ nevadí.
Dnes mi kuriér priniesol vývojovú dosku s CH32V203 ide na 144MHz a má 20KB SRAM, 64KB Flash. Tam sa toho "bloatu" zmestí ažaž. Jedine čo mi chýba oproti PIC je absencia integrovanej EEPROM. Jasne dá sa emulovať softvérovo, kde sa alokuje časť Flash-ky a tú používa ako storage dát po vypnutí napájania.
0

Používateľov profilový obrázok
burizon
Pokročilý člen
Pokročilý člen
Príspevky: 569
Dátum registrácie: 07 Nov 2007, 00:00
Bydlisko: Vranov nad Topľou

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa burizon » 13 Feb 2024, 16:04

Lennox, prečo si nezostal pri PIC?
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 13 Feb 2024, 16:15

burizon napísal:
13 Feb 2024, 16:04
Lennox, prečo si nezostal pri PIC?
Ako som už viac krát spomínal elektroniku mám iba ako hobby a programovanie keď sa to vôbec dá tak nazvať mám na udržiavanie mentálneho zdravia. Pri PIC som sa nikam neposúval z vlastnej lenivosti, lebo čokoľvek som potreboval zbastliť som mal naprogramované bez vynaloženia väčšej námahy v Basicu, alebo ASM. Pri tomto MCU ma to donútilo opustiť túto komfortnú zónu. Išiel som do nového jadra a nového programovacieho jazyku. Takže odpoveď na tvoju otázku je, lebo som sa chcel naučiť niečo nové a staré hádam nezabudnem.
0

Používateľov profilový obrázok
burizon
Pokročilý člen
Pokročilý člen
Príspevky: 569
Dátum registrácie: 07 Nov 2007, 00:00
Bydlisko: Vranov nad Topľou

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa burizon » 13 Feb 2024, 17:11

Však C-čko si kľudne mohol aplikovať aj na PICOCH a vybrať si aký potrebuješ.. Mne ASM veľmi nešlo, tak som prešiel na C, ale PICKA ostali.
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 18 Feb 2024, 18:37

Dnes som si našiel čas a hodil tester skúšobne dokopy. Zdá sa, že všetko funguje ako má. Procák má využité komplet všetky piny. Tento zlozvyk mi zostal z mladosti, kedy som sa vždy snažil do aplikácie osadiť procák, ktorý nemal viac IO ako bolo potrebné. Nie ako dnes na blikanie jednou LED-kou tam tresnú 48. pinový procák, no to za mojej mladosti sa šetrilo na IO oveľa viac :mrgreen:

Funkcií tam postupne doprogramujem čo budem potrebovať, procák má stále viac ako polovicu fleshky prázdnu.

Aktuálne to vie:
- 24 nezávislých výstupov pre LED
- Indikácia na veľkom 1602B znakovom LCD
- ovládanie enkodérom
- meranie napätia
- meranie odoberaného prúdu
- vypnutie výstupu pri nadprúde/skrate
- výpočet výkonu
- prepínanie testovacieho napätia
- 12V - 150W
- 24V - 70W
- spínanie LED jednotlivo
- spínanie LED v stĺpci
- regulácia jasu 10kHz PWM 0 - 100%
Už to "iba tresnúť" do krabice a používať.
Ak niekoho zaujíma schéma zapojenia tak tu:
LED Spider Meter-Tester.jpg
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1079
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Atlan » 18 Feb 2024, 20:33

C1 je naco? Tonspinaie mosfetu, nic moc ak tam chces pwm prerob to. Preco nemas osetrebe tlacidla kondikmi? Enkoder tiez nema velmi katalogove zapojenie...

https://images.app.goo.gl/fpjUBhnEWWur1cALA
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 18 Feb 2024, 21:06

Je to takto zapojene na Čínskom module:
https://techfun.sk/produkt/mosfet-modul ... 5EQAvD_BwE
Tlačidlo je tam iba jedno a to v enkodery, zákmity sú ošetrené v sw. Enkodér je modul a malo by to byť zapojené hádam OK.
https://techfun.sk/produkt/rotacny-enko ... lgQAvD_BwE
Tie MOSFET moduly sú ozaj nič moc čo sa zapojenia týka, ale plánované je to iba ako skúšobná konzola nie na trvalú prevádzku v PWM režime.
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1079
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Atlan » 18 Feb 2024, 22:11

uP sa nema co zaoberat zakmitmi ale ma robit nieco uzitocne. To ze cinan nieco vyprodukuje, neznamena ze je to dobre.
0

Lennox
Stály člen
Stály člen
Príspevky: 236
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: WCH32v003 RISC-V MCU

Príspevok od používateľa Lennox » 18 Feb 2024, 23:15

Atlan napísal:
18 Feb 2024, 20:33
C1 je naco? Tonspinaie mosfetu, nic moc ak tam chces pwm prerob to. Preco nemas osetrebe tlacidla kondikmi? Enkoder tiez nema velmi katalogove zapojenie...
Mrkol som na ten enkodér modul a mal si pravdu. Zapojené dosť "progresívne" tak som to prekreslil. Z tých
MOSFET modulov odstránim tie kondenzátory na vstupoch optočlenov.
LED Spider Meter-Tester_004.jpg
Atlan napísal:
18 Feb 2024, 22:11
uP sa nema co zaoberat zakmitmi ale ma robit nieco uzitocne. To ze cinan nieco vyprodukuje, neznamena ze je to dobre.
Tento sa popri ošetrovaní zákmitov dokonca nudí, má kopec voľného času.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok