LGT8F328p kot napredni nadomestek ATmega328

Arduino je pojav za katerega bi težko rekli, da opisuje samo HW ali samo SW, zato mu tu namenajm poseben prostor.

Moderator: tilz0R

LGT8F328p kot napredni nadomestek ATmega328

OdgovorNapisal/-a reber » 18 Jan 2025, 08:16

Kitajci so naredili svojo verzijo AVR uC, ki naj bi bili kompatibilni z arduino IDE in so lahko nadomestek arduino platkam in klonom teh platk. Še več, na platkah nameščen uC je celo boljši in cenejši od ATmega328 (32MHz, 12bit ADC, 80mA izhodi, ...)

Gre za LGT8F328p ki se pojavlja v več različicah, uC so tako v 32pinski verziji kot v 48 pinski verziji. Platke so lahko z ali brez USB, oziroma vgrajenega USB/UART oziroma USB <-> TTL vmesnika.

Najbolj osnovna platka (brez USB) je nadomestek arduino pro mini, enaka velikost, enak razpored pinov. Programiranje preko UART deluje, vendar s prvim USB <-> TTL ni šlo brez težav.

Na omenjeni platki, ki sem jo kupil tukaj: https://www.aliexpress.com/item/1005007654761676.html
je na uC že naložen blink, očitno tudi bootloader, ker je programiranje preko UART možno.
Pri poskusu programiranja je bil ciljni uC neodziven, zato sem poskusil z ročno metodo... držal sem reset tipko na platki, dokler se na arduino IDE ni pojavilo "Uploading", na ta način je programiranje, oziroma vpis programa uspelo.
Videti je, da je nekaj narobe z avtomatičnim resetom, nisem še gledal kaj je vzrok, ali manjka kondenzator iz DTR na reset ali je ta premajhne kapacitete... zaenkrat me to ne moti in bom to raziskoval kasneje.

LGT8F328p platke, ki imajo USB že vgrajen, npr tale: https://www.aliexpress.com/item/1005004234919226.html
je normalno odzivna na USB, gor je CH340 zato ni potrebe za USB gonilnike, ker jih imamo na PC že nameščene zaradi kitajskih klonov arduino platk.

Seveda je potrebno namestiti ustrezne "boards" v arduino IDE, da se pojavijo v meniju, tako kot je potrebno naložiti boards za npr ESP32
Jaz sem v Aditional Boards Manager URL dodal tole:
https://raw.githubusercontent.com/dbuez ... index.json

Vprašanje ki me muči je, kako za vraga naložit program v uC LGT8F328p preko ISP, za primer, če bootloader ni naložen ali če se ta nekako pokvari, izbriše, ...
Programiranje preko USBasp programatorja ne gre, prav tako v arduino IDE tega programatorja za ta uC ne ponudi. Ponuja mi samo "AVR ISP" in "LGTSWD mkII as ISP" kar pa žal nimam pri roki, za slednje sploh še nisem raziskal kaj točno to je.

Torej, nekaj dni že iščem rešitev, kako programirati LGT8F328p preko ISP konektorja.

Ima kdo že kaj izkušenj s tem uC in/ali s platkami na katerih je ta uC :?:



.
Sporočila sprejemam na e-mail objavljen na www.reber.si
Uporabniški avatar
reber
 
Prispevkov: 2187
Pridružen: 17 Mar 2015, 20:30
Kraj: Bled
Zahvalil se je: 247 krat
Prejel zahvalo: 826 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 255

Re: LGT8F328p kot napredni nadomestek ATmega328

OdgovorNapisal/-a Lovro7 » 18 Jan 2025, 12:07

Mogoče bo kaj pisalo v datasheetu. Link za prenos je spodaj.

Tukaj je še link do githuba za te same plošče https://github.com/RalphBacon/LGT8F328P-Arduino-Clone-Chip-ATMega328P z navodili za uporabo z arduino ide.

V datasheetu piše, da so pini namenjeni za programiranje in tukaj se tudi konča. Gledena ceno se bolj splača kupiti novo ploščico kot pa iskati bootloader…
Vse je lahko žarnica, če je dovolj toka. http://lovro7.eu/index.html
Uporabniški avatar
Lovro7
 
Prispevkov: 323
Pridružen: 11 Feb 2024, 20:19
Kraj: Velenje (Šmartno ob Paki)
Zahvalil se je: 128 krat
Prejel zahvalo: 103 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 8

Re: LGT8F328p kot napredni nadomestek ATmega328

OdgovorNapisal/-a VolkD » 18 Jan 2025, 12:38

Mojih 5 centov!

Na zadevo je treba gledati z dveh različnih zornih kotov:
- če je izziv obvladati še enega od klonov ATMxxxxx, potem je to prava stvar. Obilo veselja pri tem početju, upam samo, da ne bo preveč kletvic pri učenju novih prijemov, načinov, programiranja,...

- če je želja nadomestiti ATMxxxxx s čim drugim je pa način razmišljanja nekoliko drugačen. Vsak prehod ne nekaj novega povzroči frustracije, ker so stvari pač drugačne od pričakovanj in predstavljajo oviro na poti do cilja. In če že moram iti preko tega frustrirajočega učenja, potem si za ciljni procesor vzamem raje nekaj, kar ima dovolj velik potencial, da mi ne bo treba že naslednje leto ponovno doživljati frustracijo. Pri meni je zato bila izbira nekaj, kar vsaj diši na 32 bitno arhitekturo in nekaj kar verjamem, da mi bo dosegljivo če dovolj časa, ter podprto tudi softversko do te mere, da si ne bom želel umreti še prej kot mi je dano.

Že nekaj let nazaj sem v živo pokazal migracijo z ATmega 328 na ST-jev procesor (prikazovalnik za uro). Danes pa ti ST-jevi procesorji dobesedno padajo z neba (vremenske sonde). Vsak dan v Sloveniji spustijo vsaj eno, od tistih, ki priletijo do nas pa je treba upoštevati še tiste iz Italije ( vsaj dve ali tri so kandidati za naše kraje) tiste iz Austrije in seveda tudi tiste s Hrvaške, čeprav so te aktualne izven zimskega obdobja, saj jih burja odnese stran od nas.
Glede na število ljudi, ki karkoli skonstruirajo in naredijo je teh sond, ki nam padajo na glavo odločno preveč.
Dokler bodo ljudje mislili, da živali ne čutijo bolečine, bodo živali čutile, da ljudje ne mislijowww.S5tech.net
Uporabniški avatar
VolkD
Administratorji strani
 
Prispevkov: 66428
Pridružen: 29 Dec 2014, 19:49
Kraj: Kačiče (Divača)
Zahvalil se je: 19754 krat
Prejel zahvalo: 10138 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: LGT8F328p kot napredni nadomestek ATmega328

OdgovorNapisal/-a reber » 18 Jan 2025, 21:59

Takole je, vsekakor obe točki, izziv obvladati še en klon in s tem vsaj delno, če ne celo v večji meri nadomestiti ATmega328. Razlog je preprost, nižja cena in večja zmogljivost kitajca v primerjavi z omenjenim atmelom... čeprav tudi te delajo kitajci. ST je vsaj zame zaenkrat še prehud zalogaj, še pri arduinotu sem bolj švoh, bo treba več delat na tem in potem počasi napredovat, na 32 bitnike.
Za vremenskimi baloni se nimam namena podit, pod črto tudi to ni zastonj, je ceneje poklikat in kupit klone, ki so za preproste naprave več kot dovolj zmogljivi.
Videti je, da je na internetu podpora za kitajske klone boljša kot za ST, sem nemočno opazoval sina lansko leto, ko je za faks delal vaje in naloge na ST-jevih razvojnih platah :_seeingstars pomagal sem mu lahko samo s hardware dodatki, na mehkem delu sem bil popolnoma nemočen, no, vseeno mu je uspelo po dolgih mukah :_bow

Projekt je medtem uspel, vsaj videti je tako... za začetek sem pogledal nekaj predlogov, najprej sem bil zmeden, ker se omenja arduino uno, larduino uno in LGT, ... prebiral vse mogoče, še najbolj logično mi je bilo potem tole:
https://ceptimus.co.uk/index.php/2022/0 ... ogramming/
sketch od dbuezas ni deloval, so bile napake že pri compilling, ni šlo skozi, ne glede na izbran board: arduino uno ali LGT8F328

Šele pri zelo natančnem branju članka od ceptimus (gornji link) sem dojel, da za izdelavo programatorja rabim LGT8F328 board in ne arduino uno, nano, ...
Uporabim program, ki ga je popravil ceptimus in v ZIP priložil v članku.

OK, probam compilling, gre skozi, to je dobro, nič ne joka, čeprav priznam, da sem delal bolj na slepo in nisem bil prepričan točno kaj delam.

Vzamem platko LGT8F328p Mini EVB https://www.aliexpress.com/item/1005004234919226.html
in probam, zajoka nekaj okoli bufferja, popravim na 250 in potem gre, nanjo vpišem program, gre skozi brez napak, ok, videti je dobro. Buffer popravim nazaj na 64 ...

Hmm, kaj pa sedaj? hja, naredim kabelček, 5 žičk prispajkam direktno na pade platke: 5V, GND, 10, 12, 13 po tabeli in po drugih shemah najdenih na internetu, pinov 7, 8 in 9 za LED nisem uporabil sploh. Na drugi konec žičk stisnem DuPont female connector in jih vtaknem po vrstnem redu v 5 pinsko plastiko.

Na obeh verzijah LGT8F328p platkah je ob strani 5 pinski vrstni red padov za konektor za SWD programiranje: GND, 5V, SWD, RST, SWC

OK, sedaj pa zares, vzamem Mini EVB brez USB in nanjo priklopim pravkar narejen programator, pošljem gor blink... nič, hja, kaj pa sedaj, kot programmer imam na voljo samo LGTSWD mgII as ISP in AVR ISP, nikjer ni Arduino as ISP. Probam prvega, ne dela, probam drugega, dela.

Blink je sedaj naložen na platki, po resetu takoj začne z blinkom, videti je, da bootloaderja ni več. Če je na LGT8F328p naložen bootloader, takoj po resetu LED hitro utripne 2x ali 3x, se ne vidi dobro ker je res hitro. Originalno naložen blink je po 2 utripa zaporedno.

Naložim malo drugačen blink ponovno, dela. OK, zdaj pa probam če res ni bootloaderja gor. Odklopim programator in platko priklopim nazaj na USB<->TTL in pošljem gor blink, ... ni odziva, nič, ok, res nima bootloaderja.

Priklopim nazaj na programator, pošljem gor bootloader, v arduinotu spodaj neka rdeča opozorila, ampak na platki je začel delat dvojni blink, očitno je bootloader sedaj gor. Ponovno priklopim na USB<->TTL in pošljem gor blink, vpis gre normalno ampak kot je že na začetku te teme omenjeno, moram ročno stisnit reset in počakat na "uploading" ... sedaj vpis preko UART deluje normalno, bootloader je bil prej uspešno naložen.

Zaključek:
- programator sem uspešno naredil iz LGT8F328p Mini EVB platke z vgrajenim USB (link zgoraj), dodal sem mu žičke in konektor
- s programatorjem sem poslal program preko SWD na ciljno platko in povozil bootloader
- s programatorjem sem uspešno naložil bootloader ponovno, tako da je ciljna platka spet odzivna na UART programiranje

Ni bilo tako zelo težko, čeprav so informacije na internetu precej konfuzne, zato sem na začetku imel kar nekaj težav, ker je moje znanje na tem področju bolj slabo. V tem trenutku mi še ni popolnoma jasno kaj točno sem naredil, zato bom moje početje sedaj počasi analiziral in si zabeležil, shranil, opisal, ... da bo to (upam) potem še komu prav prišlo.
Sporočila sprejemam na e-mail objavljen na www.reber.si
Uporabniški avatar
reber
 
Prispevkov: 2187
Pridružen: 17 Mar 2015, 20:30
Kraj: Bled
Zahvalil se je: 247 krat
Prejel zahvalo: 826 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 255


Vrni se na Arduino

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost