svetelektro.com
Hlavná stránka download Galéria obrázkov Fórum Bazár Vývoj elektro. zariadení Upload súborov Web odkazy eShop
iDo == TMS320DM357 - Spojení ARM9 s H.264 kodekem == Programátory Elnec == DigiMesh - jednodušší bezdrátová síť podobná ZigBee == USB 3.0 == Avizované stanice v CQWW Conteste == Zesilovač 2x10W s STK436 == Jednoduchá bezdrátová pojítka 315/434 MHz == Leonidy 2008 == Zimní QRP závod ==
Hlavné menu
Úvod (Správy) :
· Archív Článkov
· Vyhľadať článok
· Top 10
· Naše, vaše bannery
· Všetky príspevky
· O Autoroch
·  A-Rádio databáza

Elektronika:
· Audio technika
· Blikače a optika
· Elektrónky
· Merače a testery
· Mikroprocesory
· Oscilátory, časovače
· PC príslušenstvo
· Meranie, teória
Vf technika
· ---> Prijímače
· ---> Vysielače
· ---> Ostatné
Silové časti
· ---> Zdroje
· ---> Meniče
· ---> Nabíjačky
· ---> Ostatné
· Nezaraditeľné
HAM:
· Contesting
· Technika

Počítače:
· PC - Hardware
· PC - Software
Členovia:
· Osobné konto
·  FTP server
· Calculator
· Zaslať Príspevok
· Web linky
· Download
· Fórum
· Galéria obrázkov
·  Odhlásenie
KV podmienky
Slnečné vyžarovanie:
Slnečné vyžarovanie

Geomagnetické pole: Geomagnetické pole
VKV podmienky
Aurora:
Aurora

Es vrstva:
Aurora
Kto je online?
Členstvo:
Najnovšie: chlapcisko
Nových užívateľov dnes: 3
Nových užívateľov včera: 5
Celkom zaregistrovaných užívateľov: 3805

Online návštevníkov:
Návštevníkov: 63
Užívateľov: 12
Spolu: 75

Online:
01: Jose206
02: chlapcisko
03: TAZ
04: Lurtz
05: fikfik
06: datam
07: zdendo
08: Ragnol
09: sento
10: delfin
11: pocitujlasku
12: stanleyv
 Benchmark mikrokontrolérov s jadrom 8051

MikroprocesoryV tomto článku si porovnáme výkon 42 mikrokontrolérov s jadrom 8051 od troch firiem ATMEL, DALLAS a INTEL. Výkon budeme porovnávať na ich maximálnej pracovnej frekvencii.

ATMEL (20 mikrokontrolérov) -> AT89C1051, AT89C2051, AT89C4051, AT89C51, AT89C52, AT89C55, AT89F51, AT89F52, AT89LP2052, AT89LP4052, AT89S2051, AT89S4051, AT89S51, AT89S52, AT89LS51, AT89LS52, AT89LS53, AT89LV51, AT89LV52, AT89LV55
DALLAS (14 mikrokontrolérov) -> DS80C310, DS80C320, DS80C323, DS80C390, DS80C400, DS80C410, DS80C411, DS87C520, DS87C530, DS87C550, DS89C420, DS89C430, DS89C440, DS89C450
INTEL (8 mikrokontrolérov) -> 80/87C52, 80/87C54, 80/87C58, 80/87L52, 80/87L54, 80/87L58, 8051AH, 8052AH


Väčšina z týchto mikrokontrolérov, pracuje na určitej deličke napätia. U AT89C2051 to je 1/12, čiže ak mikrokontrolér pracuje na 12MHz znamená to, že dokáže spracovať 1 milión strojových cyklov za sekundu (Pri 24MHz to je 2 milióny). Jeden z najvýkonnejších mikrokontrolérov firmy ATMEL AT89LP2052 pracuje na technológii rozšíreného jadra a jeho výkon je zrovnateľný s mikrokontrolérmi s technológiou RISC a jeho delička pracuje 1/1 čiže pri jeho maximálnej frekvencii dokáže vykonať až 20 miliónov strojových cyklov za sekundu. 17% príkazov dokáže na AT89LP2052 pracovať až 12 krát rýchlejšie ako na AT89C2051. Ostatné príkazy dokážu pracovať len 6 krát rýchlejšie ako u AT89C2051. Na svete nie je len jeden výrobca mikrokontrolérov s jadrom 8051. Ja som vybral vybral len 3 najznámejšie. ATMEL najobľúbenejší a najpredávenjší v strednej Európe. DALLAS sa vyznačuje tým, že u ich produktov prevažujú výkonne mikrokontroléry podobné ako AT89LP2052. INTEL ten to všetko začal tým svojim legendárnym obvodom 8051. V tento benchmark sa bude skladať z troch testov. Prvý test bude vykonávanie cyklov. V druhom teste zase aritmetické operácie. V tretom teste sériový kanál. Pre jednoduchosť programu a väčšie zaťaženie mikrokontroléra som si zvolil prehľadný programovací jazyk C, čiže každý z mikrokontrolérov bude programovaný v jazyku C.

Test č.1 -> Cykly:
    unsigned int a;
    for (a=0;a<65535U;a++);

Tento program vytvorí cyklus o 65535 opakovaní. Pri tomto programe prevládaju viac bajtové príkazy. Čiže napríklad u AT89LP2052 nevyužijeme plné 12 násobné zrýchlenie ako u AT89C2051, ale len niečo vyše 6 násobné. Toto zrýchlenie porovnávam pri rovnakej pracovnej frekvencii (12 MHz).


Test 2 -> Aritmetické operácie

   double a=1;
   while (a<65535U)
     {
        a=a*2000/1999;
     }
Tento program bude toľko krát násobiť premennú "a" (na začiatku má hodnotu 1) zlomkom 2000/1999, až do vtedy pokým nebude mať premenná "a" vyššiu hodnotu ako 65535. Tento program využíva jak jedno bajtové tak aj viac bajtové príkazy. V tomto programe prevládajú príkazy jedno bajtové, čiže zrýchlenie programu na AT89LP2052 oproti AT89C2051, bude výraznejšie ako v predchádzajúcom teste. Zrýchlenie programu dosiahneme takmer až 10 násobné. Aj toto zrýchlenie porovnávam pri rovnakej pracovnej frekvencii (12 MHz).

Test č.3 -> Sériový kanál

  typedef unsigned int bajt;

  int dekdata(unsigned int i)
    {
      unsigned char a;
      code bajt tab[] = {132,155,25,65,78,110,51,155,125};
      a=i%8;
      return tab[i];
    }

  void main ()
    {
      unsigned int i;
      for(i=0;i<65535U;i++)
        {
          SCON=0;
          while(!TI)
            {
               SBUF=dekdata(i);
               TI=~TI;
            }
         }
     }

Tento program postupne odosiela sériovým kanálom čísla z databáze tab[], ktorý odošle 65535 čísiel opakujúcich sa v databáze, čiže 132 ...155,125 a od tohoto bodu začne odznova pokračuje 132 ...125,132...125 atď. Tento program mali problém vykonávať mikrokontroléry DALLAS, pri ktorých nebol program plne kompatibilný. U obvodoch DS87C550 DS80C310, DS80C320, DS80C323, DS80C390, DS80C400, DS80C410, DS80C411, DS87C520, DS87C530 sa program nikdy nedokončil. Problém nastal pri vykonávaní cyklu príkazom for, ktorej premenná "i" stúpala maximálne na hodnotu 155 a potom sa premenná i vynulovala, čím vznikla nekonečná šmyčka. U ostatných obvodoch firmy DALLAS dokázal pracovať. Pri týchto mikrokontroléroch sme museli upravit vyvolávané registre SBUF a SCON. U mikrokontroléroch firmy DALLAS som si všimol, že majú 2 sériové kanály, keďže som si vybral prvý, tak som registre vyvolávané registre zmenil na SCON0 a SBUF0. Podobné to bolo aj s bitom TI, ktorý som zmenil na TI_0.

A tu je výsledok benchmarku -> zobrazit výsledok

Zhrnutie:

Ako ste si všimli frekvencia mikrokontroléra nie je všetko napríklad program na obvode AT89LP2052, ktorý pracuje na maximálnej frekvencii 20 MHz, dokázal pracovať o niečo  rýchlejšie ako na obvode DS80C400, ktorý pracuje až na frekvencii o hodnote 75 MHz. Bolo to spôsobené výpočetným výkonom. A zoberme si to takto ak by obidva mikrokontroléry pracovali na tej istej frekvencii povedzme 12 MHz a vykonávajú program testu č.2. AT89LP2052 dokázal tento program spracovať za 2,438 sekundy čo na DS80C400 to spracuje za 9,813 sekundy. A pritom pri ich maximálnej možnej frekvencii boli na tom takmer vyrovnane. Takisto neznamená, že keď prvom programe dokázal  mikrokontrolér pracovať povedzme 2x rýchlejšie a v druhom programe to bude tiež 2x rýchlejšie. Porovnáme si mikrokotroléry AT89LP2052 a AT89C2051 (pracujú na frekvencii 12MHz / maximálne frekvencia). V prvom teste u AT89LP2052 dokázal program pracovať 6,67x / 5,56x rýchlejšie ako u AT89C2051 v druhom teste to bolo 9,66x / 8,05x a v treťom 7,51x / 6,27x rýchlejšie. Takisto neznamená, že keď program pracuje na mikrokontoléroch ATMEL, že bude pracovať aj na mikrokontréloch vyrábanej druhej firmy "i" keď sú s jadrom 8051. Príkladom je DS80C310, zatiaľ čo program bol kontaktibilný u firiem ATMEL a INTEL tak u DALLAS to nie je pravidlo. DS80C400 je dobrý rýchly obvod, ale neprešiel všetkými testami. Nech už používate akýkoľvek mikrokontrolér nestačí vedieť, len programovať, ale musíte dokonale znať aj ten obvod. Lebo, čo jeden program pracuje na dvoch mikrokontroléroch efektifita využitia ich výkonu je rôzna.

Výsledok testu:

Test dopadol jednoznačným víťazom obvodu firmy DALLAS DS89C420. Tento obvod z tohto zoznamu testu považujem za najlepší ale jeho cena príliš veľká cca 1000 SK , na to aby sa bežne využíval. Za najlepší obvod v porovnaní cena/výkon považujem mikrokontrolér AT89LP2052 / AT89LP4052. Cena tohoto mikrokontroléru by nemala prekročit 100SK. Ale na bežne využívanie by som odporučil obvod AT89C2051, ktorého jeho cena je cca 35SK. Ak máte problémy s malým počtom vstupno-výstupných liniek tak na bežné používanie by som odporučil AT89C51. A tu je tabuľka mojich obľúbených mikrokontrolérov ATMEL.

TYP IN - OUT FLASH [kB]
AT89LP2052 15 2
AT89C1051 15 1
AT89C2051 15 2
AT89C4051 15 4
AT89C51 32 4
AT89C52 32 8
AT89C55 32 20

Dúfam, že vám tento článok páčil. A veľa štatia pri využívani mikrokontrolérov. Ešte posledná vec ako vývojový program pre tieto mikrokontroléry by som odporúčil program KEIL. Je to program jak kompilačný (pri chybách upozorní akú chybu ste spravili aj na ktorom riadku) tak aj simulačný (dokáže nasimulovať program ako by pracoval na mikrokontroléry), dalej ak podporuje váš program k programátory štandartné argumenty (argumentami ovládať program), tak dokáže aj priamo uložiť program do mikrokontroléra. Ja tento program považujem za najlepši vývojový program pre mikrokontroléry s jadrom 8051.



 
Súvisiace odkazy
· Viac o Mikroprocesory
· Ďalšie články od autora: BgDestroy


Najčítanejší článok na tému Mikroprocesory:
Kódový zámok

Hodnotenie článku
Priemerné hodnotenie: 5
Hlasov: 1

Vynikajúci

Zvoľte počet hviezdičiek:

Vynikajúci
Veľmi dobrý
Dobrý
Priemerný
Zlý

Možnosti

 Vytlačiť článok Vytlačiť článok

"Benchmark mikrokontrolérov s jadrom 8051" | Prihlásiť/Registrovať | 1 Komentár | Hľadať v diskusii
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.

Re: Benchmark mikrokontrolérov s jadrom 8051 (Hodnotenie: 1)
Od: Kado (jkbalvan@post.sk) - Monday, 19.11. 2007 - 18:52:52
(O užívateľovi | Poslať súkromú správu)
Pekne si sa s tym pohral:D




Partneri:
Autori stránky sú Milan Ondrka (BgDestroy) a Ondrej Závodský(zawin), o graficky desing sa stará Ľuboš Fabo(BUFU).
Pri informovaní adminov je použitie čohokoľvek z tejto stránky pre osobné alebo obchodné účely 100% povolené.
TOPlist

Powered by Copyright © UNITED-NUKE. All Rights Reserved.
Čas potrebný k spracovaniu stránky 0.04 sekúnd
Magic SEO URL - Optimalizácia pre vyhľadávače
Poznajte dalšie produkty Magic SEO URL
osCommerce SEO | ZenCart SEO | CRE Loaded SEO | phpBB SEO | phpBB3 SEO