SK LABS
CH55x serija mikrokontrolera (1)
Crvene pilule za lilule
D. PETROVIĆ
1. april 2023.

Kada smo prošle godine predstavljali malu, crnu razvojnu pločicu sa CH552G mikrokontrolerom (SK 5/2022, i.sk.rs/31077), rekli smo da postoji podrška i za druge predstavnike CH55x porodice čipova iz WCH kuhinje. Došli smo na ideju da ne jurimo razvojne pločice po svetu, već da se sami upustimo u nepoznato, na osnovu ono malo tehničke dokumentacije dostupne na mreži. U tome smo i uspeli, a u nastavku predstavljamo čak četiri mikrokontrolera koja smo smestili na razvojne pločice i koji mogu da se programiraju kroz Arduino IDE.

CH559L

Priču započinjemo sa CH559L, mikrokontrolerom koji dolazi u LQFP48 pakovanju i po dimenzijama je jako sličan ATmega328p. CH559L je poboljšana verzija E8051, mikrokontrolera kompatibilnih sa MCS51 setom instrukcija. Sam mikrokontroler može da radi na nekoliko radnih taktova, a najviše do 56 megaherca, što može da se odabere u postavkama podrške za CH55x porodicu mikrokontrolera iza koje stoji DeqingSun, a o čemu smo pisali u prethodnom tekstu. Za programiranje su nam na raspolaganju 64 kilobajta fleš memorije, 256 bajta iRAM-a i šest kilobajta xRAM-a. Preko, čak, 45 GPIO na raspolaganju su nam četiri tajmera/PWM, dva UART-a, isto toliko SPI interfejsa i dual-port Root-HUB sa podrškom za USB Host i USB Device režime. USB 2.0 podržava Full Speed (12 megabita po sekundi) i Low Speed (1,5 megabita po sekundi), a zanimljivo je i to da u USB Host režimu CH559L može da upravlja sa čak dva USB 2.0 uređaja istovremeno.

CH559L ima ADC na osam GPIO i to u 10-bitnoj ili 11-bitnoj rezoluciji. Uz nekoliko izuzetaka, skoro svi pinovi su tolerantni na peto-voltnu naponsku logiku, tako da ovaj mikrokontroler može da radi na naponu od 3,3 i od pet volti. Prilikom konstruisanja pločice, treba voditi računa o tome na koliko će MCU raditi, jer u slučaju kada se koristi napon od pet volti, sam mikrokontroler može da proizvede 3,3 volta za manje potrošače, uz primedbu da šema za ova dva slučaja neće biti ista. Od zanimljivosti treba reći da svaki čip ima svoj jedinstveni ID. Ostaje i dalje nedostatak I2C interfejsa, koji se može rešiti softverskim putem.

REDBoard je malo većih dimenzija, zato što smo razveli sve GPIO uz naponske, te pinova ima čak 50. Na našu REDBoard pločicu postavili smo USB-C, preko kog programiramo mikrokontroler, ali i jedan ženski USB koji omogućava USB Host opcije. Tu su dva tastera: ’Reset’ na odgovarajućem pinu i ’Boot’ na pinu P4.6. Možda je bolje da smo ovaj poslednji pin pre nazvali ’Download’. Tu su PWR i ugrađena LED na pinu P2.5. Od pratećih komponenata za sam mikrokontroler, tu je samo par kondenzatora. Prilikom prvog spuštanja korisničkog programa na ovaj mikrokontroler, koristeći Arduino IDE, nismo imali potrebe da bilo šta pritiskamo, kao, uostalom, ni za jedan od mikrokontrolera koje predstavljamo ovom prilikom.

CH559T

CH559T je mlađi rođak gorepomenute varijante L. Varijanta T dolazi u SSOP20 pakovanju i dosta je lakša za lemljenje, čak i običnom lemilicom. Između L i T ne postoji razlika u smislu tehničkih karakteristika, a što se tiče memorije i radnog takta, razlika se odnosi samo na broj dostupnih GPIO. Kod CH559T dostupno je ukupno 13 GPIO, uz manje interfejsa, analognih pinova i drugog. Funkcionisanje samog mikrokontrolera je identično.

Naša REDBoard za ovaj manji čip je osetno manja. Jedan razlog tome je manji broj GPIO, a drugi je što smo izostavili ženski USB i time onemogućili USB funkcije direktno, ali im je i dalje moguće pristupiti preko GPIO. Pločica, pored USB-C priključka za programiranje, još sadrži taster ’Boot’, kao i dve LED sa istim funkcijama kao i na L varijanti iznad. Taster ’Reset’ nismo izveli, ali je dostupan RST pin.

CH549F

U QFN28 pakovanju nam dolazi jedan od najmanjih mikrokontrolera koji nam stavlja na raspolaganje prilično toga. CH549F je iste arhitekture kao i prethodna dva (iako nije CH55x, već CH54x), jer u pitanju je, naprosto, naredni član porodice, tako da tu nema šta da se doda. Radni takt je ovde umanjen, te se CH549F može poterati do 48 megaherca, iako podrška za Arduino IDE takt limitira na 24 megaherca maksimalno, kako za interni, tako i za eksterni. Kapacitet fleša od 64 kilobajta je zadržan, uz 256 bajta iRAM, ali i samo dva kilobajta xRAM-a. Od interfejsa, preko 25 GPIO, na raspolaganju nam je pet kanala PWM, čak četiri UART i jedan SPI. Od I2C i ovde ni traga, ni glasa. Funkcionalnosti vezane za USB su zadržane.

CH549F ima neke druge kečeve u rukavu: čak 10 ADC u 12-bitnoj rezoluciji, uz kapacitivnu detekciju dodira na svih 10 kanala - za ovako mali mikrokontroler nije mala stvar. Temperaturni senzor na ovom MCU je bonus i može dobro da dođe pri nadgledanju temperature cele PCB, kao i MCU uopšte. Sve što smo rekli za naponsku logiku važi i ovde.

Naša REDBoard za CH549F donosi kompletan pinout, USB-C i ženski USB, tip A. Dva tastera ’Reset’ i ’BOOT’ na pinu P4.6 takođe su tu, kao i dve LED, od kojih je jedna ugrađena na pinu P2.7. Kada se pogleda ova pločica, CH549F čip na njoj deluje kao malecki patuljak koji je ovde zalutao, a ne kao prilično moćno parče silicijuma.

CH552E

Možda ne najmanji od ovih koje vam sada predstavljamo, ali svakako sa najmanje mogućnosti jeste CH552E, koji je manji brat CH552G o kom smo pisali prošle godine. Ovaj mikrokontroler dolazi u malenom MSOP10 pakovanju i može da ima maksimalni radni takt od 24 megaherca, uz 16 kilobajta fleš memorije, 256 bajta iRAM-a i jedan kilobajta xRAM-a. Memorija je ovde manji problem. Kažemo manji, jer uzimajući u obzir veličinu i broj dostupnih GPIO, jasno je da CH552E nije predviđen za kompleksnije projekte. Broj dostupnih GPIO je sedam, a preko njih nam je na raspolaganju po jedan UART, SPI, USB funkcije koje smo već pominjali iznad. Jasno je da na ovom mikrokontroleru može da se koristi samo jedan od UART i SPI interfejsa. Dva 8-bitna ADC ujedno mogu da se koriste i kao kapacitivni pinovi, osetljivi na dodir. I ovde važi sve već rečeno u vezi sa naponskom logikom.

Naša najmanja REDBoard pločica donosi dve LED, od kojih jednu ugrađenu na pinu P1.4, kao i taster za ulazak u ’Boot mode’, ovog puta preko 20K otpornika, povezanog sa DP. Na pločici smo izvukli pet od dostupnih GPIO. Dimenzije pločice su mogle biti i manje, ali ostavili smo je malo većom da bismo uopšte imali osećaj da nešto držimo u ruci. Za projekte koji ne zahtevaju mnogo fleš memorije, a kompaktnost je ono što se traži, CH552E je pravi izbor.

Arduino IDE

Da se ponovimo, podršku za CH55x mikrokontrolere u Arduino IDE unosimo dodavanjem linije „https://raw.githubusercontent.com/DeqingSun/ch55xduino/ch55xduino/package_ch55xduino_mcs51_index.json” u URL polje pod Preferences. Nakon toga se ploče, kroz Boards Manager, instaliraju, što je postupak kao i za svaku drugu podršku MCU u Arduino IDE. U slučaju da računar ne prepozna CH55x mikrokontrolere, drajveri se najlakše mogu instalirati koristeći Zadig alat. Spuštanje korisničkog programa na CH55x odvija se jako brzo, bez potrebe za menjanjem predefinisanih postavki. Zapravo, možemo da se poigramo vrednostima radnog takta, a u vezi sa ostalim parametrima sve može da ostane kako jeste.

S obzirom na to da ne postoji slobodan C++ kompajler za MCS51 mikrokontrolere, ne mogu da se koriste polimorfne funkcije, baš kao što je to slučaj sa STM8. Prostim rečima, potrebno je tačku pri pozivanju na funkciju ili objekat zameniti donjom crticom, ako posmatramo programiranje kroz prizmu klasičnog Una. Standardni Serial.println() bi se u ovom slučaju pisao Serial_println(). Ovde ćemo napomenuti da na našim pločicama UART nije izveden, te očitavanja možemo da pratimo koristeći USBSerial_println(). Mapiranje pinova, takođe, nije kao na Arduinu. Kod CH55x oznake pinova (P1.1, recimo) se odnose na port i pin tog porta, u ovom slučaju, pin broj jedan, porta broj jedan. U mapiranju, ovaj pin se adresira kao 11. Recimo, ugrađena LED gore iznad na pinu P2.7 se adresira sa 27. Za analogne pinove nije potrebno dodavati „A” ispred pina, dovoljno je ostaviti broj. Postoji još razlika koje nema smisla ovde opisivati i jasno je da CH55x nisu jednostavne zamene za jednu Atmega328p, pogotovo kada dođemo do biblioteka, gde bi celu biblioteku trebalo pretresti, pa ako ništa drugo, izmenjati tačke u donje crte.

Paket podrške donosi i priličan broj primera, kako onih laganijih, poput Blink, tako i onih kompleksnijih, koji se tiču SPI, SoftI2C, USB i drugih primera. Tu su još primeri EEPROM, Touch funkcije, pa čak i primer za WS2182 Neopixel LED. Početna podrška samog paketa je i više nego dovoljna i za više od osnovnih stvari.

Ponavljamo, ne treba se zavaravati da će sve ići kao podmazano, razlike, naprosto, postoje. Ipak, ne možemo da osporimo cenu, jednostavnost minimalnog dizajna projekta, pa čak i programiranja, ako zanemarimo navedene nedostatke. Na adresi i.sk.rs/358980 možete da preuzmete šeme i drugu dokumentaciju, ako se odlučite da napravite nešto slično. U narednom periodu ćemo da predstavimo jedan naš manji projekt koji će vam, nadamo se, biti zanimljiv. Takođe, čekamo dodatnu isporuku pločica i mikrokontrolera, jer želimo da vam predstavimo CH55x u većoj meri.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama