[ RMAN @ 24.09.2011. 00:13 ] @
Pozdrav ljudi. Cujem od ujaka da bi trebalo da naucim da isprogramiram atmel.
Sta je tacno atmel i sta bih ja u stvari mogao da radim sa tim?

Znam da je pitanje glupo
[ bogdan.kecman @ 24.09.2011. 00:20 ] @
pogledaj ovaj film: http://www.youtube.com/watch?v=4eHorRLm87Q i bice ti vise manje sve jasno :)

Onda pogledaj www.atmel.com

ATMEL je firma koja izmedju ostalog pravi i mikrokontrolere (verovatno je covek na to mislio) .. imaju nekoliko familija, pored popularnih ATTINY i ATMEGA imaju i razne 8051 i 8052 kompatibilce, 32bitni mcu i jos mnogo sta a pored mikrokontrolera prave i flasheve i svasta jos .. oni su pored microchip-a najjaci proizvodjac mikrokontrolera u hobi svrhe (daleko od toga da je bilo ko od njih najbolji ili najjeftiniji, samo su popularni u hobi krugovima iz abitno kojih razloga). Skoro svi alati su im besplatni i otvoreni, imaju ogroman community ljudi koji ih koriste. Najjaci forum je http://www.avrfreaks.net/

[ bogdan.kecman @ 24.09.2011. 00:24 ] @
da btw, ako ne znas sta je mikrokontroler i sta bi mogao da radis sa njim kreni odavde:
http://en.wikipedia.org/wiki/Microcontroller (citaj originalnu englesku verziju, srpska verzija ima dosta netacnih informacija u sebi)

pa nastavi ovde: http://www.elitesecurity.org/t72345-mikrokontroleri-od-do-Sh
[ RMAN @ 24.09.2011. 00:25 ] @
Aha, a sta tacno vi radite sa tim? Odnosno sta bih mogao da radim kada bi znao da programiram?

Skinuo sam WinAVR cisto da vidim sta je to i ne deluje mi nesto komplikovano. Sve mi je manje-vise poznato...
[ RMAN @ 24.09.2011. 00:26 ] @
@bogdan.kecman

Hvala ti, pogledacu
[ Sherif Gile @ 24.09.2011. 01:14 ] @
Citat:
RMAN: Aha, a sta tacno vi radite sa tim? Odnosno sta bih mogao da radim kada bi znao da programiram?

Sve i svašta, na mikrokontroler možeš da povežeš neki senzor pa da meriš šta god hoćeš, možeš da upravljaš osvetljenjem i svim mogućim mašinama, možeš da povežeš displej pa da ti izbacuje podatke koje si izmerio ili izračunao, možeš da ga povežeš na komp, možeš da kombinuješ sve šta sam nabrojao i da radiš još nešto. Za početak, treba da nateraš kontroler da ti pali i gasi jednu diodu kad pritisneš taster, posle toga će ti sve biti mnogo jasnije. Za rad sa mikrokontrolerima je potrebno da znaš neke osnove programiranja.

Jedna bitna stvar, mikrokontroleri mogu da podnesu vro malu struju, ako hoćeš da koristiš kontroler da bi upravljao na primer motorom moraš da upravljaš motorom preko nekog tranzistora a tranzistor upravljaš mikrokontrolerom.


Mikrokontroler može da izgleda ovako:

[ korak @ 25.09.2011. 07:20 ] @
Vidim da si po profesiji čovek koji se ne bi bavio mikrokontrolerima samo iz hobija. Zato ću ti proširiti informacije sa još jednim proizvođačem.

To je Freescale - ćerka firma Motorole, kako se to kod nas kaže. Ja sam izgleda jedini na forumu koji koristim njihove proizvode. Kod njih možeš naći:

1. 8-o bitne mikrokontrolere više familija, od 6805, 68HC11 pa do aktuelnih HC08, R08 i najnovije S08. Ovi najnoviji, za sada ih ima oko 200 tipova za sve moguće aplikacije. Od 8-pinskih do 80-pinskih, specijalnih za frekventnu regulacija AC i BLDC motora za radnu temperaturu od 150C, USB, CAN i svašta još. Postoji potpuno kompatibilni tipovi mikrokontrolera a ovim S08 koji imaju samo drukcije CPU jezgro sa V1 ColdFire i V2-V4 ColdFire koje je 32-o bitno i slično kao mikroprocesor MC68000, ako si čuo za njega.

Za njih imaš basplatan C kompajler koji se može skinuti sa njihovog sajta. On j ograničen na 64kB za S08 i V1 ColdFire, a na 128 kilobajta za V2-V4 ColdFire.

2. Imaš i 16-to bitne mikrokontrolere S12

3. Nekoliko 32-o bitih familija mikrokontrolera među kojima je naj interesantniji Kinetis sa ARM jezgrom K10, K20, K30, K40, K50, K60 i K70 sa jednim i dva jezgra, gde je drugo jezgro DSP procesor

4. Jedan broj familija DSP mikrokontrolera, gde je intereantan MPC65xx.

I za njih imaš besplatan C kompajler sa ograničenjem: za Kinetis na 128kB a za MPC65xx na 512kB.

Osim toga proizvode i sve moguće senzore koji idu uz mikrokontrolere, počevši od senzora: kapacitivne na dodir, pritiska, temperature, ubrzanja, magneto senzore (kompas), žiroskope u čipu i još mnogo čega.

FreeScale je najveći svetski proizvođač mikrokontrolera sa najboljim odnosom performanse/cena. Nekada je bilo teško hobistima da nabavljaju njihove komponente, ali to sada nije slučaj.

Ovo ti je samo da kompletiraš sliku o današnjoj ponudi.

Pozdrav.
[ Odin D. @ 25.09.2011. 17:38 ] @
Pozdrav @korak!
Dugo te ne vidjasmo ovdje...

Ako ti nije problem, mozes li da ukazes na neke od pratecih 'alata' (programeri, debuggeri, IDE...) koji su dostupni sirim narodnim masama (recimo hobistima i "poluprofesionalcima") za Freescale mikrokontrolere.
Znam da je ranije to bilo malo zaguljenije za njih, ali nisam odavno pratio sta se sa njima zbiva, pa reko da priupitam da li se u medjuvremenu nesto promjenilo na bolje?

Pozdrav!
[ korak @ 26.09.2011. 10:12 ] @
Promenilo se na bolje to što sada besplatna verzija njihovog C/C++ kompajlera CodeWarrior podigo granicu ograničenja veličine prevedenog koda na 64kB, što je za hobiste dovoljno. Takođe imaš besplatan kompajler za Kinetis (Sa arm7 KORTEKS 4) OGRANIČEN NA 128Kb i DSP MIKROKONTROLER OGRANIČEN NA 512Kb.

MC9s08, 8-o bitni imaju vezu za dibagiranje i programiranje 1 žičnu vezu koja je specifična već decenijama za Motorolu i zovu je BDM. Svaki ovaj MCU ima pozadinski dibag kontroler (BDC) koji u toku rada MCU-a, ne usporavajući ga nadgleda magistrale i može da vrati vrednosti varijabli ili da izazove zaustavljanje programa kada se ispuni neki uslov. Postoji desetak uslova koja mogu da se postave. Recimo neka varijabla dobija nedozvoljenu vrednost, a ti ne znaš gde. To možeš da postaviš kao uslov i BDC će ti pronaći to mesto tokom izvršenja programa. Vrlo korisna stvar za dibagiranje. Interesantno je i to da neki tipovi MC9S08 imaju potpuno isti MCU (isti raspored pinova isti interni hardver, iste adrese registara) samo imaju 32-o bitno CPU jezgro slično mikroprocesoru MC68000. Kompajler za NC9S08 podržava i ove MCU-ove.

E sada šta je problem. Između PC-ja i MCU-a treba BDM interfejs. On je vezan USB-om sa PC-jem a jednožičnom vezom sa MCU-om. Naravno tu nije samo jedna žica, ide masa, reset i napajanje. E, taj BDM interfejs pravi firma PE micro i on je i za ovaj MCU i za 16-o bitni HCS12. Ali on košta 99$. Ali nije samo to problem, potreban je i dll koji omogućuje da on radi i on košta 199$. E sada šta sam ja uradio. Kupio sam 3 komada sa softverom i instalirao. Onda mi se desilo da sam menjao računare i zaboravio gde sam koji instalirao. I opet našao rešenje jer šifru za aktivaciju možeš da skineš sa sajta PE micro, tako da ubuduće ne moram da kupujem softver.

Osim toga, za svoj razvojni sistem napravio sam svoj BDM interfejs koji me ne košta ni upola od PE micro cene, i ne zahteva prateći softver jer koristim HID PC drajver. On, međutim, ne može da radi sa CodeWarrior kompajlerom već samo sa mojim razvojnim sistemom.

Moj kolega koji adi nešto za strance kupio je Kinetis sa dva jezgra ARM i DSP i skinuo je RTOS za njega s sajta FreeScale u kojem je podržano sve. Moj posao ne zahteva tako nešto pa se još uvek držim 8-bitnih MCU-ova.

Možeš skinuti CodeWarrior i igrati se sa njim jer ima simulator. Možeš videti kako mu radi procesor expert kojim grafički i popunjavanjem tabela konfigurišeš MCU, moše da ti generiše kostur interrupt procedura i tome slično. Ako imaš vremena interesantno je za igranje.

Pozdrav.

Sad se setih. Meni je trebao dll jer sam BDM od PE koristio u prvoj verziji svog razvojnog sistema. Za CodeWarrior on nije potreban.
[ bogdan.kecman @ 26.09.2011. 11:39 ] @
i dalje su ti limiti prilicno nisko :( ... to sto neko koristi za hobi ne znaci da mu je kod malecni, cak naprotiv, vecina hobi projekata zahteva vise flash-a nego vecina komercijalnih proizvoda, a ne vidim da ima foss verzija kompajlera za freescale sto je sramota :( .. znam da ima gcc 3.4.3 koji radi za PA familiju baziranu na e500 jezgru i 3.3.2 gcc koji radi sa e300 jezgorm

za malisane (68HC11 i 68HC12) ima relativno lepo odrzavan gnu toolchain no ja nikako nisam neki veliki ljubitelj 8bitnih mcu-a kada za iste ili manje pare mogu da kupim 16bitne ili cak 32bitne mcu-e sa mnogo vise hw-a i mnogo vise flash-a u isto mm2 ..

[ Odin D. @ 26.09.2011. 15:28 ] @
Dobro, sve u svemu, izgleda da su jos uvijek koncentrisani na industrijsku populaciju, a to sto se nudi meni vise izgleda kao neki "free-preview" za potencijalne industrijske korisnike nego bas za hobiste. To je bas steta, jer Motorola/Freescale je uvijek imala procesore sa izvrsnom debug podrskom i cesto sa neuobicajeno vise flasha i RAM-a.
I Bogdan je u pravu sa velicinom koda - hobisticki i 'poluprofesionalni' projekti su obicno veci po kodu nego industrijske aplikacije.

Tako da, steta... hobisti i plici dzepovi ce izgleda jos neko vreme cekati na Freescale...
[ bogdan.kecman @ 26.09.2011. 15:35 ] @
Pazi to se lako vidi na netu .. freescale hobi projekti gotovo da uopste ne postoje, community ne postoji uopste .. cak i na specijalizovanim forumima gde vecina ljudi koristi freescale i slicne high end uredjaje "primere" pisu za atmel i pic a onda posle to lokalno implementiraju na svojim drnd zvrc uredjajima sa srmr pcr alatima ... ja ne kapiram zasto bi proizvodjac hw-a naplacivao razvojni alat umesto da ga deli dzaba .. al verovatno imaju svoje razloge ... no pogledaj samo i samo mcu-e, cene na komad uopste nisu niske a uglavnom ih nigde nema na lageru, to je varijanta oces freescale sta ce ti manje od 1000 komada
[ korak @ 26.09.2011. 18:11 ] @
Svakako da ste u pravu. Hobista obično sa skromnim MCU-om želi i kompleksne funkcije da kontroliše.

Međutim, 8-o bitni MCU-ovi su sve više u neposrednoj vezi sa raznim senzorima i umreženi sa jednim jačim MCU-om koji komunicira sa čovekom koji upravlja tom mašinom ili vozilom i t. d.

Naravno postoje jednostavni uređaji gde oni sami mogu da obave sav posao.

Trenutno radim na elektronici lifta sa nelimitiranim brojem spratova, simpleks i dupleks, sve vrste vrata kabine, sve vrste pogona i sve to sa 8-o bitnim MCU-om i kodom koji je nešto veći od 40kB. Do sada je ugrađeno stotinak bez ikakvih problema. Dakle može se.

Uopšte uzev lepeza aplikacija 8-o bitni MCU-ova je za sada šira od višebitnih. Mislim da će tako i ostati, jer se distribuirana obrada podataka u mreži pokazala kao ekonomski najbolja.

Da vas podsetim da je MC9S08 CISC MCU i da njegova prosečna naredba ima dužinu od 1.9 bajta, ali izvršava kompleksniju radnju od RISC MCU-a, pa zato ima primetno kraći kod. Što se brzine tiče tu su negde, sve zavisi od konkretnog slučaja. To je razlog što do sada nisam naišao na barijeru od 64kB. Kada budem došao, onda moram da izdvojim kilo dolara za CodeWarrior, ili da doradim svoj razvojni sistem da podrži veću memoriju. Inače kako je u ovoj krizi stao svaki posao čini se da ću imati vremena za to.

Dobro ste primetili da je, za razliku od ostalih MCU-ova, osetna razlika u ceni između 1 kom i 25 i više komada. Šta ćeš to je politika firme, ali mi ne smeta jer uvek kupujem po 50 kom. Kupujem direktno od MAUSER-a, pošalju mi fedex-om i to stigne za nedelju dana računajući i carinjenje u Beogradu.

Kod MAUSER-a pregledah prvih 17 starna, mrzelo me dalje da gledam, i ne nađoh među tih oko 300 tipova da nemaju ni jedan. Ne znam kako je dalje, ali nikada nisam imao problem da nabavim bilo koji tip.

U suštini nije bitno sa kojim MCU-om radiš, ako znaš, sigurno ćeš završiti posao.

Pozdrav.
[ bogdan.kecman @ 26.09.2011. 20:32 ] @
osnovna razlika izmedju hobiste i komercijalnog developera je kolicina. Ja sam 100 komada 16F690 trosio preko godinu dana .. u cemu je fora, ja kad kupujem mcu, razlika od dolar mi ne znaci nista, razlika od 5$ mi ne znaci nista ... zato sto pravim jedan komad, mozda dva - toga necega, i super mi je jeftino da uzmem mcu od 15$ za ono za sta mcu od 2$ moze da mi zavrsi posao posto me bas briga sto sam "bacio" 13$ kada sam dosao do cilja za 10 dana krace..

kada pravis komercijalni proizvod on se pravi u stotinama hiljada komada .. razlika od 1$ znaci stotine hiljada dolara "ustede" ili "troska" razlike .. tako da to sto ce za tih 1$ "manji" mcu da se potrosi mesec dana na razvoj je vise nego isplativo ... tu je osnovna razlika, zato je jako bitno to sto motorolin mcu moze da spakuje "vise posla u manje flash-a" a zasto je to abitno za neki pic koji se svejedno trosi "na komad" ..

zato je verovatno nebitno sto debager kosta 200$ i sto kompajler kosta 1000$ jer je to za jedan projekat vec otplaceno .. dok je to za hobistu cist (i povelik) trosak
[ korak @ 27.09.2011. 14:50 ] @
Potpuno se slažem sa tobom.

Pozdrav.