Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

mikrokontroleri od A do Sh

[es] :: Elektronika :: Mikrokontroleri :: mikrokontroleri od A do Sh
(TOP topic, by veselinovic)
Strane: 1 2 3 4 5 6 ... Dalje > >>

[ Pregleda: 64863 | Odgovora: 150 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

branko_g
Merna tehnika i elektronika

Član broj: 159227
Poruke: 756
84.119.26.*



+9 Profil

icon Re: mikrokontroleri od A do Sh21.12.2007. u 22:42 - pre 151 meseci
Pa evo da i ja nešto kažem o mojim iskustvima sa mikrokontrolerima.
S obzirom da živim i radim na nemačkom govornom području pokušaću da
opičem kako "živi" jedan jako dobar forum sa isključivom temom
elektronika, mikrokontroleri, programiranje, DSP, dizajn i izrada štamnih pločica...
Strana je www.mikrocontroller.net
To je amaterski forum sa puno pitanja totalnih početnika ali i onih
naprednijih, na koje se vrlo brzo dobije kompetentan odgovor od iskusnih "vukova".
Što se tiče mikrokontrolera i pitanja vezanih sa njima, Atmel AVR je zastuplen sa
otprilike 80%, a ostatak dele Texas Istruments MSP430, ARM, pa PIC što govori za sebe.
Postoji i podforum "zbirka Source kodova" gde programeri prezentuju svoje projekte i programe
koje mogu i drugi koristiti.
Programi su preko 95% !!! pisani na jeziku C, zatim sledi Basic, a udeo programa pisanih na Assembler-u
je zanemarljiv.
Sve to me je i usmerilo da i dalje ostanem pri Atmel AVR procesoroma koje sam
na početku(pre 7-8 godina) programirao na Assembler-u, a od pre 3 godine sam
počeo da koristim WinAVR, "Open Source" integrisano razvojno okruženje
sa GCC C kompajlerom. Moram priznati da je prelazak na C otvorio sasvim novi Horizont
mogućnosti o kojima sam kao programer u Assembler-u mogao samo da sanjam.
Jednostavno umesto da "točak" ponovo otkrivam, uzeo sam da "Source Code" koji stoji
na raspolaganju na mreži, jednostavno analiziram i eventualno prilagodim mom Hardware-u.
Prerađeni Software sam ponovo postavio drugima na raspolaganju da ga mogu koristiti
za svoje potrebe.
Naravno poznavanje Hardware-a procesora koji programiraš je nešto što se MORA
ali sada čitav instrukcioni set i rukovanje Stack-om više nije problem programera
neko C kompajlera što veoma olakšava prve korake u programiranju.
Atmel je razvio za svoj AVR mikrokontroler jedno ibesplatno razvojno okruženje
AVRStudio koje pored Assembler-a ima mogućnost da mu se implementira i C-kompajler(GCC).
Debbuging preko JTAG interface-a je takođe moguć kao i čista Softverska simulacija koda
bez hardvera.

P.S. Još nešto oko dileme za početnike. AVR, PIC ili neki drugi procesor?
Imam utisak da je na našem govornom području uobičajeno generalizovanje kao
Kaladont- a misli se na zubnu pastu.
Tako ist i kod Mikrokontrolera, Ljudi imaju negde u podsvesti da su čuli nešto o
PIC-u pa kad im kažeš automatizacija, oni se odmah uhvate PIC-a, ko da ništa drugo ne postoji.
A alternativa ima taaaako puno, i boljih i savremenijih, sa boljom podrškom i na kraju jeftinijih.


 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh22.12.2007. u 06:02 - pre 151 meseci
Zamolio bih da mi branko_g da neki statisticki podatak.
Sa AVR-om sam radio samo malo, onoliko koliko mi je bilo potrebno da napisem PASCAL kompajler, a nisam napisao dovoljno koda da bih mogao da izvucem neku statistiku. Ono sto sam primetio je da dosta trosi flash.

Zamolio bih te, ako je moguce, da za neki netrivijalni program duzine 3 do 4 KB izvrsnog koda izvuces koliko ciklusa ima prosecna asemblerska instrukcija (MC908 ima 3) i koliko bajta flasha trosi prosecna instrukcija (MC908 trosi 1.95). Dakle, interesuje me kolicnik broja ciklusa i broja izvrsenih asemblerskih instrukcija, kao i kolicnik broja bajtova programa i broja asemblerskih instrukcija. Ovo su uvek interesantni podaci.

Unapred hvala.

Pozdrav.
 
Odgovor na temu

Struja01
Beograd

Član broj: 166347
Poruke: 190



Profil

icon Re: mikrokontroleri od A do Sh22.12.2007. u 16:46 - pre 151 meseci
PIC je firme Microchip, AVR je firme Atmel. E sad mene zanima je li MCU isto mikrokontroler i koje je firme?
 
Odgovor na temu

branko_g
Merna tehnika i elektronika

Član broj: 159227
Poruke: 756
84.119.23.*



+9 Profil

icon Re: mikrokontroleri od A do Sh23.12.2007. u 02:02 - pre 151 meseci
Citat:
Zamolio bih da mi branko_g da neki statisticki podatak.

Pa ovako, Atmel AVR, Logičke i aritmetiške operacije kao i data transfer traju 1 ciklus(ADD, ADC, MOV...) izuzev
multiplikacije(MUL, MULS....) koje traju 2 ciklusa.
Branch instrukcije(BREQ, BRNE...) traju 1 ili 2 ciklusa u zavisnosti da li je uslov ispunjen ili ne.
Data Transfer instrukcije koje operišu sa internim RAM-om traju 2 ciklusa(LD, ST..).
Bit i Bit-Test instrukcije(ROL, ROR, LSR...) traju 1 ciklus.
Ja mislim da je to strašno brzo i da malo koji 8-bitni MCU može da im konkuriše po brzini, s obzirom
da nova generacija radi na 20MHz.
Uostalom pogledaj aktuelne Datasheets.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh23.12.2007. u 13:59 - pre 151 meseci
MCU je mikrokontrolerska jedinica, dakle mikrokontroler - bilo koji. Tako mi je lakse da pisem.

Tacno je sto kaze branko_g,
MCU-ovi koje spominje imaju Harvard strukturu, a to znaci jednu magistarlu za flash, a drugi za RAM. (Fon Nojmanova ima jednu magistralu za sve memorijske resurse). Cilj je da dok se jedna naredba izvrsava (a tada se uglavnom radi sa RAM-om) slobodno moze da cita i dekodira sledecu naredbu iz flash-a tako da svaka naredba traji 1 ciklus. Da bi to zaista bilo tako potrebno je da sirina flash-a bude bar 24 bita (bajt za kod naredbe i dva bajta za adresu). Kako bi to mnogo trosilo flash, a 8-o bitni MCU-ovi ne mogu da podnesu taj luksuz, pribeglo se nekom medjuresenju sa sirinom flash-a od 16 bita. Ali postoji niz naredbi (implicitnih) koje zahtevaju samo kod naredbe, dakle 1 bajt, pa ispada da se uludo trosi jos jedan. Naravno da konstruktori MCU-a mogu da iskoriste taj bajt i da naprave slozeniju implicitnu naredbu. To je uradjeno kod AVR-a, kod koga implicitne naredbe obuhvataju 2 registra. Tako je AVR sampion u brzini sve dok je moguce varijable cuvati u njegovih 32 registra. Ako to nije moguce, onda AVR drasticno gubi na performansama. Pocinje da prosto guta flash, a i brzina se smanjuje. Na primer da bi inkrementirali neku varijablu koja je u memoriji, AVR ce za tu prostu operaciju potrositi 10 bajtova flash-a. Kod PIC-a se pribeglo drugom resenju, on stranici memoriju, i dok radite sa podacima koji su na istoj stranici, imate maksimalne performanse. Cim pocnete da radite sa podacima koji su razbacani po razlicitim stranicama RAM-a onda stalno morate da preklapate stranice i da za to gubite bajtove flash-a i MCU cikluse.

Kod Fon Nojmanove strukture (MC908) ovih problema nema. Ali zato nema ni paralelnog izvrsenja i citanja sledece naredbe. Izuzetak su samo implicitne naredbe koje u izvrsenju ne zauzimaju transverzalu, pa se tada cita sledeca naredba. Zapravo, svaka naredba koja kada se izvrsava oslobadja u nekom ciklusu magistralu, koristi se taj ciklus za citanje kodova sledece naredbe. Ovo ne moze da bude efikasno kao kod Harvard strukture, ali smanjuje broj ciklusa prosecne naredbe. Najveca dobit Fon Nojmanove strukture je sto najoptimalnije trosi flash, tacno onoliko koliko je potrebno i ni bajt vise. Bogatstvo nacina adresiranja (8 kod MC908) cini da se realizacija jedne naredbe MC908 realizuje sa dve ili vise naredbi PIC-a ili AVR-a, sto u krajnjoj liniji cini da su performanse sva ova tri MCU-a priblizno iste, uz napomenu da ce MCU MC908 potrositi, za isti netrivijalni program, najmanje flash-a, ako je to nekome vazno. Meni jeste, uvek optimizujem program na duzinu (potrosnju flash-a) jer brzine danasnjih MSU-ova su dovoljne za sve aplikacije.

Pozdrav.

 
Odgovor na temu

olico11
Oliver Koteski
makedonija

Član broj: 150928
Poruke: 61
79.126.217.*



Profil

icon Re: mikrokontroleri od A do Sh26.12.2007. u 18:02 - pre 151 meseci
Zdravo. malku da ja smenam temata.
dali mozi nekoj da mi najdi DUMP ili HEX ne e vazno za Lovato auto gas LCS A/1 V05 ER koj koristo PIC16F874A. Programator imam samo mi fali programa t.e. PIC-ot mi se izbrisa.
fala decki.
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.smin-1.sezampro.yu.



Profil

icon Re: mikrokontroleri od A do Sh28.12.2007. u 09:05 - pre 151 meseci
Razlike izmedju pojedinih kontrolera su realno minimalne osim ako nismo "ludaci" da merimo koliko ce kojih cilkusa pojedni MCU program brze da izvrsi. Ne znam da li je slucajno ali kod poredjenja kontrolera uvek se uhvatite PIC iz 16F serije i nalazite stvari koje nisu "pametno" uradjene. Nove serije PIC mokrokontrolera osim u perfomansama su dobile i na ceni tako da za bolji i jaci kontroler cak i pin kompatibilan sa starim dobijate za neretko i duplo manje para. Recimo 18F serija ima mogucnost da se pristupa ram-u preko selekcije "strane" ili kao jednom prostoru ako se tako selektuje (doduse onda se nema kontrola celog memoriskog prostora ali u 90% slucajeva je dovoljno). Kod 24F serije su isli i dalje tako da osim jedinstvene ram memorije mozete dodeliti deo programske memorije kojim ce se pristipati kao ram-u. Sto se broja ciklusa pojedinih instrukcija tice kod PIC-a je slicno kao kod AVR-a stim sto ima veliki broj kontrolera sa taktom od 40Mhz (48Mhz usb varijante) i internil PLL-om. Ono sto mi je ponekad smetalo je kontrola interapta, 1 interapt vektor kod 16F serije, 2 interapt vektora kod 18F serije (veci i manji prioritet), sto je kod 24F serije za svaki interapt poseban vektor.

Sto se popularnosti kontrolera tice, mislim da su kod nas Microchip-ovi kontroleri najzastupljeniji prevashodno zbog dobre distribucije i zbog dobre podrska od strane Microchip-a i podrske drugih firmi (Mikroelektronika). Recimo, za koji dan dobijam razvojno okruzenje PIC32bit start kit po ceni od ~50$. Konkurencija bi trebalo da se ugleda na Microchip, kada su objavili da su izbaciji PIC32bit seriju ponudili su i kompajlere, razvojno okruzenje i application notes, tako da je nov proizvod vec spreman za koriscenje, da li je tako i sa konkurencijom?
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh28.12.2007. u 13:18 - pre 151 meseci
sander, dobre su ti konstatacije.

Ja jedini, izgleda, na ovom nasem malom podrucju radim sa Motorolom. Sve sto si rekao za PIC, dogadja se i sa Motorolom. Familija MC908 je dobila podfamiliju 9S08 koja ima bolje performanse i dosta je jeftinija. U krajnjoj liniji cena obradjenog kvadratnog milimetra silicijuma je svuda ista, dobijes koliko platis. Razlike proisticu samo iz toga sto Motoroa ima Fon Nojmanovu arhitekturu, a svi ostali Harvard. O tome sam pisao, i oni koji to znaju, znaju i koje razlike iz toga proisticu.

Inace i Motorola ima odlicnu i kvalitetnu podrsku. Cak mi se cini (jer sam upoznao podrsku za neke druge MCU-ove) da je ona najkvalitetnija, ali je skupa.

Sto se tice nadgradnje, postoji MC9S08QE128 (128K flash, 8K RAM 70 I/O, 24 kanala 12bita ADC...) i MCF51QE128 sa kojim je pin to pin kompatibilan i ima sve iste unutrasnje resurse, osim sto je CPU 32 bitni slican kao MC68000. Pa ko voli nek izvoli, ali ne znam zasto bi?

Pozdrav.
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.dialup.neobee.net.



+10 Profil

icon Re: mikrokontroleri od A do Sh28.12.2007. u 17:41 - pre 151 meseci
Od gore pomenutih proizvođača jedino motorola nema besplatan asembler kompajler? Poređenje frekvencije nije merodavno jer AVR na 16MHz radi brže od PIC-a na 24MHz ili slične motorole, kod brzine je najbitnija koncepcija programa i upotrebljeni kompajler.
__*__
*___*
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.adsl-1.sezampro.yu.



Profil

icon Re: mikrokontroleri od A do Sh28.12.2007. u 21:29 - pre 151 meseci
Citat:
_str_: Od gore pomenutih proizvođača jedino motorola nema besplatan asembler kompajler? Poređenje frekvencije nije merodavno jer AVR na 16MHz radi brže od PIC-a na 24MHz ili slične motorole, kod brzine je najbitnija koncepcija programa i upotrebljeni kompajler.


Mozes li mi reci na koje kontrolere si mislio pod AVR 16Mhz i PIC 24Mhz?

Sto se tice PIC-a ako ne gresim:

16F serija do 6 Mips
18F serija do 12 Mips
24F serija do 16 Mips
24H serija do 40 Mips
dsPIC30F serija do 30 Mips
dsPIC33F serija do 40 Mips

za PIC32bit ???

Za Koraka:

Koji je epilog onog uredjaja za kotrolu 2-brzinskog motora i kocnice?
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.dialup.neobee.net.



+10 Profil

icon Re: mikrokontroleri od A do Sh28.12.2007. u 22:53 - pre 151 meseci
Mislio sam na 16F ali sustina je u deljenju osnovne frekvencije, 16F osnovnu deli na 4 a AVR tera direkt (broj ciklusa po komandi je opisao branko_g), tako da se ne moze reci da je PIC na 24MHz brzi od AVR na 16MHz i broj megaherca nije merodavan za odredjivanje realne "snage" kontrolera (to je skontao i Intel).
__*__
*___*
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8367 Profil

icon Re: mikrokontroleri od A do Sh29.12.2007. u 00:01 - pre 151 meseci
Citat:
_str_: ... Poređenje frekvencije nije merodavno jer AVR na 16MHz radi brže od PIC-a na 24MHz ili slične motorole,...


Na ovoj stranici se mogu naci neki rezultati uporedjivanja nekih mikrokontrolera.
http://www.freertos.org/PC/
Samo sam letimicno bacio pogled, tako da nisam detaljno zagledao kako je vrseno testiranje, ali rezultati pokazuju da su npr. AVR i MSP430 na 8MHz brzi od PIC-a na 20MHz i to podosta.
Davno sam jednom bio izjavio u nekom postu da MSP430 ima za klasu bolju arhitekturu od PIC-a, a to je bilo nakon sto sam poslije iskustava sa PIC-om poceo da radim sa MSP430. To iskustvo je bilo pravo osvjezenje. I danas ostajem pri toj izjavi. Izgleda da od svih "performansi" koje se uzimaju u obzir, PIC ima najbolju reklamu, i to bas najvise kod potrosaca hobista, a profi korisnici (mislim npr. na firme koje razvijaju neke uredjaje) skoro da su imuni na to reklamiranje.
Ja nisam nesto istrazivao koliko se koji mikrokontroleri koriste, ali na osnovu mog licnog iskustva, PIC se najvise koristi kod hobista i za raznorazne kucne radinosti. Ne sjecam se da sam ijednom u mom iskustvu sreo PIC na nekom mjestu gdje je trebalo nesto "ozbiljno" da se obavi. Kad u knjizarama naletim na knjige koje se bave PIC-evima, 95% tih knjiga su nivoa "PIC for Dummies" ili za "neupucene" kako se ta edicija obicno prevodi kod nas), sto bas i nije slucaj sa ostalim proizvodjacima. Mislim da i to nesto govori. Isto tako, stekao sam tokom vremena utisak da i ovoj oblasti vazi "koliko para toliko muzike", odnosno, moze neki razvojni sistem za PIC da kosta i 100E, a recimo slican takav za InfineonXC167 i 300E, ali na kraju ipak ispadne da se znanje koje je steceno sa XC167 moze 3x vise naplatiti od onog sa PIC-om. Dakle, nije samo u pitanju koliko fizickog materijala dobijete za te pare kad kupite neki razvojni sistem vec ima tu i drugih faktora.
Ja bih savjetovao svima koji misle da zive od toga da im prvo mjerilo ne bude to da li se nesto lakse ili teze nabavlja po domacim prodavnicama, vec sta se i u kojoj mjeri trosi i trazi u industriji.
U svakom slucaju, PIC nije los za pocetak, moze brzo i jeftino da se zakoraci u svijet mikrokontrolera, i kad se nauce neke univerzalne osnove koje vaze svuda, bolje je preci na neki drugi mikrokontroler, ne zadrzavajuci se dugo na PIC-u. Bar bih ja tako bio radio da mi je bila ova pamet kad sam pocinjao, ili da je bilo nekog da me posavjetuje.

Sto se tice ovih MIPS-ova (Million Instruction per Second), to bas i nije najbolji pokazatelj koliko je neki procesor "brz". Popularna interpretacija ove skracenice je "Misleading Information to Promote Sales".

Evo primjera iz jedne skripte koju sam jos uvijek sacuavao:

6502, 68000 i /370 treba da premjeste 16 bajtova sa jednog mjesta u memoriji na neko drugo.
Za tu operaciju oni potrose ovoliko vremena:

6502 treba 10us
68000 treba 5 us
/370 treba 1us

Kod za 6502 je:

6502: LDX #\$0f
LOOP LDA source, X
STA dest, X
DEX
BPL LOOP; branch if plus (neg flag not set)

Kod za 68000 je:

68000: MOVE \$source, A0
MOVE \$dest, A1
MOVEQ #\$0f, Do ; move quick (immediate)
LOOP MOVE.B (A0)+, (A1)+ ; move byte and inc addr.
DBF D0, LOOP ; decrement and branche if false

Kod za /370 je:

/370: MVC dest(16), source

Kad se sumiraju instrukcije za ovaj posao:
6502: 1+4*16 = 65 instrukcija
68000: 3+2*16 = 35 instrukcija
/370: samo 1 instrukcija

I na kraju kad se racunaju MIPS-evi:

6502: 65/10us = 6,5 MIPS
68000: 35/5us = 7 MIPS
/370: 1/1us = 1 MIPS

Znaci, /370 koji je 10 puta brze obavio isti posao od 6502 ima 1 MIPS dok 6502 ima 6,5 MIPS. Nema smisla razgovarati o MIPS-evima ako se ne uzima u obzir i arhitektura procesora i njene specificnosti. FLOPS-ovi su nesto bolji ali ni oni ne garantuju mnogo kod poredjenja razlicitih arhitektura. MIPS-ove obicno navode proizvodjaci i prodavci cipova kad treba da ih prodaju, ali za bilo kakvo poredjenje izmedju razlicitih arhitektura jedino su mjerodavni specificni Benchmark-ovi koji pokazuju koliko posla odradi neki cip u odnosu na drugi za neko vreme, a ne koliko on internih instrukcija izvrsi za to vreme.


Pozdrav.
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.adsl-1.sezampro.yu.



Profil

icon Re: mikrokontroleri od A do Sh29.12.2007. u 00:14 - pre 151 meseci
Da ali tu svako "krade" od konkurencije i trudi se da ono sto izbaci novo bude za neko vreme bolje od ostalih. Recimo, microchip je ubacio u 18F seriju PLL tako da ako koristis 10Mhz oscilator preko PLL interno podignes clok za 4 puta i dobijes da imas 1 mips po 1Mhz oscilatora pa tako da ovakav kontroler bude brz kao i AVR na 10 Mhz (teoretski).
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh29.12.2007. u 13:54 - pre 151 meseci
Sander,
resen je problem sa DC-DC konvertorom za napajanje REC-123.3 (9V..18V -> 3.3V) uz filtrom na ulazu trafoa. Uzgred MIPS-ovi nista ne znace, treba uzeti netrivijalni program i izmeriti cikluse koje ce MCU potrositi (puta trajanje ciklusa je vreme). RISC ima puno MIPS-ova ali malo nacina adresiranja, pa neke operacije ce izvrsiti sa vise instrukcija, zato MIPS-ovi nisu merodavni.

Pricamo samo o 8-o bitnim MCU-ovima, slazem se da MSP430 ima dobre performanse CPU-a koji je 16-to bitni.

Niko, medjutim ne iznosi koliko bajta trosi njegov MCU za prosecnu instrukciju, i koliko ciklusa ona treje (lako je to preracunati u vreme). Po drugi put iznosim podatke za MCU koji koristim (MC9S08): 1.95 bajta po prosecnoj instrukciji i 3 ciklusa po prosecnoj instrukciji, sto na 20MHz daje 6.7MIPS-a. Ali treba imati u vidu da zbor obilja adresnih modova ovaj MCU moze da se meri sa ostali. Test sam izvrsio (pre par godina) za DES, TDES i MAC algoritam, pisan na C-u, za vise mikrokontrolera, rezultat je bio da je MC9S08 potrosio najmanje flash-a, i da je bio za nijansu najbrzi. Naravno to zavisi i od C kompajlera.

Cesto proizvodjaci daju testove u kojima favorizuju svoj MCU. Biraju primere koji odgovaraju njihovim MCU-ovima, pa zato verujem samo svojim analizama.
Odin D je dao jedan primer u kojem MC68000, iako 32 bitni mikroprocesoe prenosi bajt po bajt, a mogao bi po 4 bajta, pa bi njegovo vreme bilo priblizno 4 puta krace, dakle uporedivo sa 370.

Ali, prica o brzini nije vise aktuelna. Svi danasnji 8-o bitni MSU-ovi zadovoljavaju 99% svih potreba. Najvaznije je koliko trose flash, jer vise flash-a veca cena, a da ne pricam o tome ako program ne moze da stane u raspolozivi flash, tada mu je brzina 0 MIPS-a.

Pozdrav.
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8367 Profil

icon Re: mikrokontroleri od A do Sh29.12.2007. u 23:05 - pre 151 meseci
Tacno je da 68000 jeste 32-bitni, i da ima 32-bitnu internu magistralu, ali ne poznajem najbolje tu familiju, ali iz iskustva sa ostalim procesorima znam da uvijek (ili gotovo uvijek) postoje neka ogranicenja u pogledu smjestanja word-ova (ili double word-ova) u memoriji, npr. da moraju da pocinju od parne ili neparne adrese i tome slicno. Tako da u opstem slucaju vjerovatno ne bi 16 bajtova moglo da se prenese u 4 puta po 4 bajta, izuzev ako se njihov raspored u memoriji slucajno ne poklapa sa gornjim ogranicenjima, a isto tako i odredisne destinacije. Mada mozda i gresim, kao sto rekoh, ne poznam tu familiju. U svakom slucaju, primjer koji sam naveo sluzi samo da prikaze kako MIPS-ovi u stvari ne govore mnogo o performansama i da mogu cak da prikazu potpuno lazne informacije.

Evo trenutno mi je pri ruci jedan Evaluation Board za XC167-32 familiju, pa cu drmnuti samo copy-paste iz datasheet-a. Konkretan mikrokontroler je SAF-XC167CI-32F40F BB - A.

Dakle, evo ga copy-paste:

1 Summary of Features
• High Performance 16-bit CPU with 5-Stage Pipeline
– 25 ns Instruction Cycle Time at 40 MHz CPU Clock (Single-Cycle Execution)
– 1-Cycle Multiplication (16 × 16 bit), Background Division (32 / 16 bit) in 21 Cycles
– 1-Cycle Multiply-and-Accumulate (MAC) Instructions
– Enhanced Boolean Bit Manipulation Facilities
– Zero-Cycle Jump Execution
– Additional Instructions to Support HLL and Operating Systems
– Register-Based Design with Multiple Variable Register Banks
– Fast Context Switching Support with Two Additional Local Register Banks
– 16 Mbytes Total Linear Address Space for Code and Data
– 1024 bytes On-Chip Special Function Register Area (C166 Family Compatible)
• 16-Priority-Level Interrupt System with 77 Sources, Sample-Rate down to 50 ns
• 8-Channel Interrupt-Driven Single-Cycle Data Transfer Facilities via
Peripheral Event Controller (PEC), 24-Bit Pointers Cover Total Address Space
• Clock Generation via on-chip PLL (factors 1:0.15 … 1:10), or
via Prescaler (factors 1:1 … 60:1)
• On-Chip Memory Modules
– 2 Kbytes On-Chip Dual-Port RAM (DPRAM)
– 4 Kbytes On-Chip Data SRAM (DSRAM)
– 6 Kbytes On-Chip Program/Data SRAM (PSRAM)
– 256 Kbytes On-Chip Program Memory (Flash Memory)
• On-Chip Peripheral Modules
– 16-Channel A/D Converter with Programmable Resolution (10-bit or 8-bit) and
Conversion Time (down to 2.55 μs or 2.15 μs)
– Two 16-Channel General Purpose Capture/Compare Units (32 Input/Output Pins)
– Capture/Compare Unit for flexible PWM Signal Generation (CAPCOM6)
(3/6 Capture/Compare Channels and 1 Compare Channel)
– Multi-Functional General Purpose Timer Unit with 5 Timers
– Two Synchronous/Asynchronous Serial Channels (USARTs)
– Two High-Speed-Synchronous Serial Channels
– On-Chip TwinCAN Interface (Rev. 2.0B active) with 32 Message Objects
(Full CAN/Basic CAN) on Two CAN Nodes, and Gateway Functionality
– IIC Bus Interface (10-bit addressing, 400 kbit/s) with 3 Channels (multiplexed)
– On-Chip Real Time Clock, Driven by Dedicated Oscillator
• Idle, Sleep, and Power Down Modes with Flexible Power Management
• Programmable Watchdog Timer and Oscillator Watchdog
• Up to 12 Mbytes External Address Space for Code and Data
– Programmable External Bus Characteristics for Different Address Ranges
– Multiplexed or Demultiplexed External Address/Data Buses
– Selectable Address Bus Width
– 16-bit or 8-bit Data Bus Width
– Five Programmable Chip-Select Signals
– Hold- and Hold-Acknowledge Bus Arbitration Support
• Up to 103 General Purpose I/O Lines,
partly with Selectable Input Thresholds and Hysteresis
• On-Chip Bootstrap Loader
• Supported by a Large Range of Development Tools like C-Compilers, Macro-
Assembler Packages, Emulators, Evaluation Boards, HLL-Debuggers, Simulators,
Logic Analyzer Disassemblers, Programming Boards
• On-Chip Debug Support via JTAG Interface
• 144-Pin Green TQFP Package, 0.5 mm (19.7 mil) pitch (RoHS compliant)

Znaci, instrukcija se izvrsi za 1 takt, tj. za 25ns (za takt od 40MHz). Medjutim, taj podatak vazi za SKORO sve instrukcije, jer ima i nekih koje traju vise od jednog ciklusa. Za postignutu gustinu koda nisam siguran, ali mislim da je prilicno dobra. Arhitektura je Von Neumanova, RISC tipa, ali ne bas cisti RISC, nesto je izmedju RISC i CISC, ali vise RISC nego CISC. Ovaj procesor ima niz razno-raznih optimizacija, koje ubrzavaju izvrsavanje programa, npr. u slucaju instrukcija skakanja ili u slucaju petlji. Ima dosta nekih modula (MAC = Multiply and Accumulate Unit (32/40-bitna jedinica za DSP Data Processing, drasticno ubrzava mnozenje i dijeljenje, realizuje algoritme za digitalne filtre,...), ADU = Addres Data Unit,...) koje prilicno ubrzavaju stvari. Jedna od interesantnih stvari je i PEC (Peripheral Event Controller) koja automatski odgovara na interrupt-ove od periferija i vrsi npr. prenos podataka izmedju periferija ili periferije i memorije, oslobadjajuci time CPU od tih "trivijalnih" poslova. Npr. ako treba da se sempluju podaci sa ADC, moze da se podesi da svaki put kad ADC obavi konverziju, PEC uzme taj rezultat i smjesti ga negdje u memoriju, i da npr. nakon svakih 1000 takvih transfera pozove procesor i obavjesti ga o tome. Za sve to vreme procesor moze neometano nesto drugo da radi, npr. da vrsi neka izracunavanja sa prethodnih 1000 rezultata konverzije. PEC ima 8 kanala. Interrupt sistem je izvrstan, svaka periferija ima jedan ili vise interrupt vektora i odziv na interrupt je prilicno brz. Interrupt sistem ima 16 nivoa prioriteta i 4 nivoa grupisanja. Spoljni interrupt-i se sempluju i detektuju na svaki takt, tj. na svakih 25ns.
Ukratko, ovaj procesor je iz novijih vremena i nije opterecen nekim kompatibilnostima iz davnijih vremena. Sve je projektovano prema industrijskim zahtjevima bez ikakvih rezervi. Npr. prva generacija (jezgro C166 oko 1996. god) je imala PWM unit sa 4 kanala zato sto automobil ima 4 tocka i trebala su 4 kanala za ABS kocnice. Danasnji cipovi imaju nesto vise kanala :). Danas je aktuelna 4 generacija (XC), a sledece godine dolazi 5 generacija.


[Ovu poruku je menjao Odin D. dana 30.12.2007. u 01:18 GMT+1]
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh30.12.2007. u 12:33 - pre 151 meseci
Odin D.,
delim tvoje misljenje, i u pravu si da seve vise ima mikrokontrolera koji imaju osobine DSP-a. Oni su po prvilu vrlo brzi, narociti im je brz interrupt mehanizam. Ima i drugih, a ne samo ovaj koji si opisao. Po pravilu su 32-o bitni, a neki imaju i floating point (16 bita eksponent i 16 bita mantisa).

Ali je interesantnija prica o 8-o bitnim MCU-ovima. Na primer, trenutno radim na projektu koji ima 3 MCU-a (50KB, 30KB i 10KB programskog koda) i 90% varijabli su obicni neoznaceni bajtovi. Pri tome se 70% programa odvija u interrupt-u na 1 ms. Ovim hocu, po drugi put da kazem, da svi savremeni 8-o bitni mikrokontroleri zadovoljavaju sve primene (osim digitalne obrade signala) po brzini. Svaki proces ima minimalno vreme za koje treba da se obrade svi podaci i generise ispravan odziv, nista se ne dobija ako imas brzi MCU kojim ces to brze obradjivati. Ostaje, dakle, samo pitanje koliko ce se potrositi bajtova koda. Kada pisem softver, upravo o tome vodim racuna.

Da bi bila konkretna prica, interesantno bi bilo da napisemo neki kratak test program na C-u i da ga kompajliramo za svoj MCU. Voleo bih da znam koliko su efikasni razliciti MCU-ovi i po brzini i po duzini generisanog koda. Ja sam nesto radio pre dve godine, ali se do sada situacija promenila. Ko nema C moze tekst C programa rucno prevesti u asembler, pa bi videli i koliko je neki C kompajler kvalitetan.

Sada bas razmisljam koje bi to operacije trablao da sadrzi test program. Prvo, mislim da ne bi trebalo da sadrzi nesto sto je vezano za interni hardver, i drugo trebao bi da sadrzi ono sto se najcesce koristi.

Pozdrav.

Nadjoh cene za MC9S08QE128 i MCF51QE128 oba su pin to pin kompatibilna sa istim internim hardverom (32 do 80 I/O zavisno od kucista, 128KB flash 8KB RAM, 24 kanala 12bitni ADC...) osim sto drugi ima 32 bitni CPU slican mikroprocesoru MC68000. Cena prvog na kolicinu od 1 do 25 je 7.17$, a drugog na istu kolicinu 7.55$.

[Ovu poruku je menjao korak dana 30.12.2007. u 14:00 GMT+1]
 
Odgovor na temu

sander
Aleksandar Golovic
Beograd

Član broj: 21336
Poruke: 211
*.smin-1.sezampro.yu.



Profil

icon Re: mikrokontroleri od A do Sh30.12.2007. u 13:06 - pre 151 meseci
Nisam imao nameru da velicam ovog ili onog proizvodjaca mikrokontrolera nego sam reagovao na poredjenja AVR naspram PIC zbog toga sto takva "globalna" poredjenja niju realna. Ni mips-i ne prikazuju realno brzinu, recimo isti program ce PIC18F serija izvrsiti brze nego PIC16F serija iako su deklarisani kao isto snazni u mips-ima. Svaki proizvodjac na veliko reklamira svoje adute dok nedostatke vesto precutkuje, zato sam i u neku ruku i veran Microchip-u sto oni uglavnom sve dokumentuju i izbacuju redovno errata dokumente. Recimo sto bi neko bio u prednosti ako koristi Atmela (AVR) za neki posao od mene koji cu taj isti posao uraditi sa PIC-om. Zbog brzine?
Zbog upotrebljenog flash-a? Ako mi je potrebna brzina i kolicina flash-a odabracu kontroler koji to zadovoljava, recimo umesto 16F ili 18F serije koristicu 24F ili 24H seriju sa potrebnom kolicinom memorije. Ako je i to malo koristicu dsPic33F ili PIC32bit. Ono sto je bitno da koristim iste razvojne alate (ICD2+MPLAB) i da svaki odabrani kontroler mogu nabaviti preko Microchip-ovog dilera za ove prostore za vreme ne duze od 15 dana (cesto ih imaju na lageru pa je moguce dobiti ih odmah). Jos nesto, nikada nisam imao slucaj da mi je za neki program zafalilo malo memorije i da jeste uvek imam pin kompatibilan sa vecom memorijom, hvala bogu Microchip ima varijanti i varijanti. A koliko mi je svaki mips i bajt flash-a u mojim projektima bio potreban dovoljno govori podatak da sam u svojim projektima do sada koristio samo 10F, 12F, 16F i 18F serije kontrolera.

Sto se tice poredjenja na linku koji je dao Odin takodje nije realno, za druge ne znam ali PIC18F452 microchip ne preporucuje za nove projekte jer ga izbacuje iz proizvodnje zamena mu je 18F4520 cini mi se. Jos je dato konkretno da AVR radi na 8Mhz koja je i maksimalna brzina na kojoj moze raditi dok je kod PIC-a 20Mhz odnosno polovina od maksimalne. To mi nije realno poredjenje, ako je microchip dao da je potrebno 4 cilkusa oscilatora ja jedan instrukciski ciklus dok je kod AVR-a jedan ciklus oscilatora 1 instrukcijski ciklus a pri tome maksimalne brzine rada su 40Mhz i 8Mhz, prvog vozimo upola manjom brzinom dok drugi punom. Da li bi bilo pravednije da su poredili zamenu za 18F452 (18F4520) na 8Mhz sa ukljucenim internim PLL (4x)? Po dobijenim rezultatima po meni dobijamo da je AVR i PIC pod istim uslovima podjednake "snage".
 
Odgovor na temu

ujkaco

Član broj: 99919
Poruke: 9
212.200.216.*



Profil

icon Re: mikrokontroleri od A do Sh30.12.2007. u 22:04 - pre 151 meseci
'Ajde da probam i ovde!
Imam PIC12c508a, imam hex file skinut sa interneta, imam AllPic programator, imam IcProg software za programiranje. Moze li neko da mi objasni sta sve treba da uradim da bih isprogramirao ovaj PIC? Hvala na pomoci!
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8367 Profil

icon Re: mikrokontroleri od A do Sh30.12.2007. u 23:09 - pre 151 meseci
sander,
dobro si rekao da ta globalna poredjenja nisu realna, ali nisam bas najbolje razumio sta pokusavas da kazes sa ovim megaherzima. U testu stoji da neki uC rade brze na 8MHz nego PIC na 20MHz. To sto taj PIC moze da radi i na 40MHz opet ne znaci nista u njegovu korist. Taj AVR iz te serije moze na max. 8MHz, ali ima i drugih varijanti iz te serije koji rade i na 16MHz. Znaci da su stavili taj drugi, PIC-u ne bi pomoglo ni tih 40MHz. Medjutim, ni to na kraju krajeva ne znaci nista ako se ne stavi u neki kontekst.
Mozda je bolji primjer kada se postmatra ista stvar realizovana na razlicitim platformama. Npr. Apple-ovi racunari na 600MHz su bili istih ili boljih performansi od Intel-ovih na 1,5GHz. Znaci radi se o istoj stvari - kucnom racunaru, i tu ima smisla da se kaze da je jedna arhitektura bolja od druge.
U navedenom testu radi se o istom RTOS-u koji je pokrenut na razlicitim platformama i dao je razlicite rezultate. Znaci, razlike postoje. Tebi i meni moze biti svejedno koji mikrokontroler cemo da upotrebimo za podizanje i spustanje garaznih vrata ili upravljanje ves masinom, ali nekome ko treba da napravi npr. dzepni navigacioni sistem ce to biti vrlo vazno. Tada vidis da postoji velika razlika izmedju 8MHz i 16MHz, jer potrosnja cipa raste sa kvadratom frekvencije (ako se dobro sjecam, a cini mi se da je tako). Tako ce ona realizacija sa 16MHz da potrosi baterije 4 puta brze od one na 8MHz.
MSP430 je i pravljen namjenski za upotrebu u portabilnim uredjajima i optimizovan je na malu potrosnju. U mom kalkulatoru je ARM procesor koji moze da radi na 203MHz ali je fabricki podesen na oko 75MHz zato sto mu baterije na 203MHz ne bi trajale ni 2 dana. On moze da mi na 203MHz izracuna neki integral za 1ms i potrosi bateriju za 2 dana, a moze da ga izracuna i na 75MHz za 3ms i da mu traje baterija 15 dana. Meni te 2ms ne znace nista jer ionako to ne mogu da primjetim, ali ako mi baterije traju 13 dana vise, to primjetim itekako. Ali ako bi na 75MHz racunao integral 5s i iscrtavao display 10s, to bih takodje primjetio. Znaci, negdje je vazno da procesor radi na sto manje megaherca, a da ipak na toj brzini sto vise posla obavi.
U nekom drugom slucaju, gdje potrosnja nije limitirajuci faktor, neke druge performanse ce da presude, ali koje, to zavisi od slucaja do slucaja i ne moze se uopsteno tvrditi sta je bolje ili gore, bez stavljanja u odredjeni kontest.
Dakle, PIC moze za tebe, shodno tvojim potrebama i mjerilima biti najbolji izbor, i ja to ne sporim, niti bih mogao sve i da hocu.
Jedino sto ja mogu, ali i to sa rezervama, da iznesem, je da u poslednje vreme trend ide ka koriscenju "jacih" procesora cak i za vrlo jednostavne aplikacije. Razlog tome je sto cijene cipova idu konstantno na dolje, a cijena programerskog rada na gore. Poslodavcima je isplativije da plate cip 50$, a da jedan programer zavrsi programiranje istog za 2 dana u C++, nego da kupe cip od 5$ a da deset programera zbijaju kod 10 dana u asembleru, jer ce ga tih 9 dana razlike u programiranju kostati mnogo mnogo vise nego 45$ razlike u cipu. A kad dodje do debagovanja onda se tek vidi koliko para i vremena kosta debagovanje u asembleru illi C-u, a koliko u C++ ili Java-i. Isto tako je skuplji programer koji programira u asembleru i koji je u stanju da razumije sta pise u datasheet-u nego onaj ko programira u Java-i i bleji u datasheet ko ja u zakon o poreskim obveznicima.
Kada se radi o velikim serijama, gdje ce uredjaj biti proizveden u npr. 10 hiljada ili 100 000 primjeraka, ili vise, onda se vodi racuna o cijenama cipova, jer na tu kolicinu to moze imati znatnu ulogu. Medjutim, cak i tada, ako uredjaj nije trivijalan, mora se uzeti u obzir ispravljanje gresaka, nadogradnja, nove verzije i tome slicno, a sve je to mnogo lakse raditi ako je cip dovoljno jak tako da postoji dovoljno preostalog slobodnog prostora za te manipulacije. A ako je upotrebljeni cip iskoriscen do maksimuma, onda se ne moze iskoristiti prethodni rad i nadograditi stara verzija, nego se mora opet poceti ispocetka, a to sve opet kosta. Kao primjer za to moze da posluzi informacija od jednog mog poznanika koji radi u jednoj firmi sto pravi liftove. Oni naravno rade liftove raznih velicina, "visina" i ostalih performansi, ali je mikrokontrolerski sistem u osnovi isti za sve liftove, bez obzira da li je to mali spori lift sa jednim vratima u stambenoj zgradi od 4 sprata ili 3 velika brza lifta sa po dvoja vrata u velikim poslovnim zgradama od 15 spratova. Jednostavno im se ne isplati da za svaku zgradu ispocetka projektuju kontrolni sistem sa minimalnim hardverom koji zadovoljava potrebe te zgrade. Jednostavnije, brze i jeftinije im je da ukucaju potrebne parametre u postojeci sistem, nego da svaki put projektuju sve iz pocetka. A posto su im svi sistemi isti, i odrzavanje je kudikamo lakse i jeftinije nego da imaju vise razlicitih platformi.
Dakle, kvalitet arhitekture i svega ostalog sto nama kao projektantima nesto znaci, nije jedini, pa cak nije ni najvazniji faktor kod izbora platforme. U IT industriji kolo vode menadzeri a ne inzinjeri, kako mnogi pogresno misle.
Ako ste imali iskustva sa neispravnom tehnickom robom elektronske prirode koja je pod garancijom, sigurno ste primjetili da ce proizvodjac radije da vam posalje odmah novi uredjaj nego da i pokusa da servisira stari. To je zato sto je obicno sam uredjaj jeftiniji nego rad strucnog lica koji ce da popravlja stari.
Korak je rekao da su mu interesantniji 8-bitni mikrokontroleri, ali ja bih rekao da su upravo 16-bitni, da ne kazem i 32-bitni danas interesantniji. Razlog, kao sto rekoh, sve nize cijene i sve vece mogucnosti. Ako se dobro sjecam, Korak je nekad ranije pitao da li ima smisla da implementira floating point u svoj prevodilac za 8-bitne uC. Za mene, to pitanje bi imalo smisla prije 15-tak godina, ali danas mislim da nema smisla. Svuda ima 16-bitnih uC-ova sa DSP podrskom, po cijenama koje se katkad i ne razlikuju od ostalih 16-bitnih ili 8-bitnih uC-ova. Zasto bi neko trosio vreme na citanje pratece dokumentacije koja ide uz sve to i vodio racuna o posljedicama toga, kad mogu da prodjem bez svega toga za par centi vise? Dobre namjere su jedna, ali zakoni trzista sasvim druga stvar.
Ako se malo zainteresujete da otkrijete sta je najskuplje u racunaru, vidjecete da je to elektro-mehanika, dakle konektori, prekidaci, kablovi i njihovo montiranje i ostale zezancije na koje se malo misli, a da su sami cipovi ustvari najjeftiniji. Znaci, jeftiniji i manji procesor obicno ne znaci da se sve na kraju da ispadne jeftinije, ako jeftiniji procesor podrazumjeva i jos neke elektromehanicke dodatke kojih ne bi bilo da je koriscen jaci procesor.
Ja sam se nekad davno registrovao na Texas Instruments sajtu, pa mi i dan danas redovno stizu mail-ovi koji me obavjestavaju o novim cipovima: mp3 koder/dekoder cija se cijena vec izrazava ne u dolarima, nego u centima, sijaset cipova za obradu slike, wireless itd, da ne nabrajam dalje. Jednostavno, izgleda da je danas najgluplje sto covjek moze uraditi je sjesti za racunar i poceti sve "izmisljati" ispocetka. Dakle, poznavanje i pracenje STANJA TEHNIKE je vrlo vazna stavka, moze vam ustedjeti mnogo vremena, a time i para.
Ja kad pocnem da razmisljam o realizaciji necega, uvijek probam da vidim da li to vec negdje postoji, ako ne onda krecem "odozgo", tj. od nekog objektno orjentisanog jezika visokog nivoa, u mom slucaju C++, i nekog procesora pogodnog za njega. Ako tako ne moze, onda idem na C i skromniji procesor, a asembler samo u "nuznoj samoodbrani" sto bi se reklo (a to se, zaista, odavno nije desilo). Meni licno na prvom mjestu po znacaju je "preostalo vreme nakon rada za namirivanje zivotnih potreba". Na kraju krajeva, ima i ljepsih stvari u zivotu od citanja datasheetova i kuckanja po tastaturi, sto se ne bi reklo, gledajuci koliko sam sada teksta otkucao :). No, vreme je dakle i za druge stvari....
Pozdrav narode, citamo se za par dana. Sve najbolje u novoj 16-bitnoj (2008) godini!
2016-te cemo valjda pricati o 32-bitnim uC-ovima....

 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 562
*.dynamic.sbb.co.yu.



+6 Profil

icon Re: mikrokontroleri od A do Sh31.12.2007. u 16:01 - pre 151 meseci
Odin D.
Ne kazem da nisi u pravu, mada si naveo jedan pogresan podatak. Potrosnja MCU-a (i svakog digitalnog kola) raste linearno sa frekvencijom, cak su u tehnickoj dokumentaciji dati i podaci da se ona moze sracunati za svaku frekvenciju.

Kada sam forsirao 8-o bitne MCU-ove, mislio sam pre svega na trenutnu situaciju kod nas. Oni su u centru interesovanja najveceg broja ljudi.
Spomenuo si primer liftova, sticajem okolnosti poznajem tu materiju. U softveru za njnih 90% je jednobajtnih varijabli. Od MCU-a za ovu primenu, trazim da ima puno I/O linija, makar dve komunikacione linije i dovoljnu brzinu kako bi se znacajan deo programa mogao obaviti u interrupt-ima. Naravno bitno je da ima dovoljno flash-a. Ali opste je poznato da 8-o bitni MCU trosi manje flash-a nego 16-to bitni ili 32-o bitni. Ovde su izuzetak 8-o bitni MCU-ovi sa Harvard strukturom koji trose vise flash-a nego sto bi trebalo. Ako pratis proizvodjace 8-o bitnih MCU-ova videces da stalno izbacuju nove sa sve bogatijim internim hardverom, sto smanjuje potrebu za spoljnim. Ocito je da proizvodjaci MCU-ova (a oni proizvode kako 8-o bitne, tako i 16-to bitne i 32-o bitne) ne misle da je proslo vreme 8-o bitnih MCU-ova. Znas da na silicijumu najvise prostora trose: RAM, flash, veze pa tek onda ostalo. Sa sadasnjom tehnologijom problem je da se napravi jeftim MCU sa puno flash-a i RAM-a. Ovo je preduslov da 32-o bitni (ali i 16-to bitni) mikrokontroleri razviju svoju punu snagu. DSP su posebna klasa, za njima postoji velika potreba u telekomunikacijama i tu nema drugog resenja osim onih koje si naveo.

16-to bitni MCU koji si naveo ima skroman interni hardver, a upravo to je glavna osobina i razlika MCU-a od mikroprocesora. Pri tome vidim da je on duplo skuplji od najsnaznijih 8-o bitnih MCU-ova.

Kada sam napustao HC11 MCU, dvoumio sam se izmedju MC908 i MC912 (16-to bitni MCU) i zakljucio sam da je isplativije raditi sa MC908 (iako je MC912 potekao od HC11). Presudili su prakticni razlozi, ja znam da je vise bolja, a ako je manje dovoljno onda je to najbolje. Neka neko kaze da li mu je, i u koliko posto slucajeva, bilo nedovoljno 60 KB flash-a.

Jednom sam citao nesto kao tehnicki zahtevi za projektante prvog 16-to bitnog mikroprocesora 8086. Tada se mislilo da je za program vise nego dovoljno 64KB, pa uz 4 segmentna registra rezonovali su ovako: jedan segment za podatke, jedan za kod, jedan za stek i jedan ekstra segment za svaki slucaj. Setite se da je Iskara imala racunar (valjda se zvao Partner, ne zamerite ako sam zaboravio ime) koji je sa Z80 i 128KB memorije pod CPM-om (mislim da se tako zvao taj operativni sistem) vodio kompletno saltersko poslovanje mnogih banaka. Slazem se, tada su racunari bili skupi, dugo je trajao razvoj softvera, ali je i sam hardver bio skup. Imam utisak, da se na racun sve snaznijeg hardvera, pise sve losiji softver. Kada kazem losiji mislim na obavezne bagove i sve manju efikasnost. Glad za profitom cini svoje. Medjutim kada se radi o uredjajima za vojsku i druge potrebe raznih vlada, stvar se menja iz korena, ne zali se vreme za razvoj dobrog softvera. Sudbina nas ostalih je da prihvatimo C kao glavni alat (iako se oslanja na linkere razvijene 50-tih godina proslog veka), da nikad neznamo da li je generisani kod ispravan (jer to nije moguce dokazati za C poznatim naucnim metodama) i da se mucimo sa greskama, narocito onim koje prijavljuje linker. Ja na to kazem: ne hvala.

Inace mislim da je AVR ipak bolji MCU od PIC-a. Da bi bili objektivni probajte, na primer da sortirate niz od 200 bajtova po rastucem nizu (on neka je inicijalno po opadajucem), pa dajte rezultat: broj bajtova programa, broj bajtova zauzetih u RAM-u i broj ciklusa. Neka sortiranje bude po najprostijem bubble sort algoritmu. Ovo ce vise vredeti od 1000 napisanih reci.

Pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: mikrokontroleri od A do Sh
(TOP topic, by veselinovic)
Strane: 1 2 3 4 5 6 ... Dalje > >>

[ Pregleda: 64863 | Odgovora: 150 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.