Jste zde

Novinky od ATMELu - AT89C55WD

Díky pokroku v oblasti technologie výroby polovodičů dochází k integraci stále většího počtu

periferií na vlastním čipu procesoru. Díky novým periferiím a zvětšující se rychlosti vlastního procesoru si stále

drží svoji pozici i procesory, jejichž první verze spatřily ?světlo světa? před více jak dvěma desítkami let, jako

je například řada procesorů x51.

Jedním z těchto procesorů je procesor firmy ATMEL AT89C55WD jehož vnitřní blokové schéma vidíme na obrázku.

Nová rozšíření oproti klasickému procesoru Intel 80C52  či AT89C52 lze shrnout takto :

Doplnění 89C55WD o druhý DPTR :
Implementace druhého registru DPTR (data pointeru) je velmi důležitá. I když by se to nemuselo na první pohled zdát,  použití druhého registru podstatně urychluje přesuny bloků dat v externí datové paměti. Pro větší názornost si uvěďme příklady přesunu dat pro oba případy:

; Přesun 512byte dat z adresy SOURCE na adresu DEST
; v případě jednoho DPTR

   mov dptr,#Source     ;Odkud
   mov r3,#Low(DEST)    ;Kam
   mov r4,#High(DEST)
   mov r6,#2            ;Kolik
   mov r5,#00

MOVE:
   movx a,@DPTR
   mov r1,dpl
   mov r2,dph
   mov dpl,r3
   mov dph,r4

  movx @DPTR,a
  inc DPTR
  mov r3,dpl
  mov r4,dph
  mov dpl,r1
  mov dph,r2
  inc DPTR
  djnz r5,MOVE
  djnz r6,MOVE

 


; Přesun 512byte dat z adresy SOURCE na adresu DEST
; v případě dvou DPTR

   mov dptr,#DEST
   inc DPS
   mov dptr,#SOURCE
   mov r6,#2         ;Kolik
   mov r5,#00
MOVE:
   movx a,@DPTR
   inc DPS           ;Přepni DPTR
   movx @DPTR,a
   inc DPTR
   inc DPS           ;DPS je na adrese 0A2h
   inc DPTR
   djnz r5,MOVE
   djnz r6,MOVE




Z výše uvedených dvou příkladů vidíme, že v případě jednoho DPTR zabere přenos 1byte (smyčka Move) 312 hodinových cyklů, kdežto v případě dvou DPTR zabere jeden cyklus pouhých 144hodinových cyklů, tj. přenos je více než dvakrát rychlejší (2,16x), nehledě na kratší kód programu.
 

Watchdog  WDT
Obvod hlídání programu procesoru typu musel být u předchůdců 89C55WD řešen pomocí externího obvodu. Implementací obvodu WDT do procesoru se uvolní jeden či dva I/O piny procesoru, jednak se ušetří i místo na desce plošných spojů. Pro nastavení funkce obvodu WDT byl procesoru přidán nový SFR registr AUXR.
Vlastní inicializace obvodu WDT spočívá v zapsání dvou hodnot 01Eh a 0E1h na do registru WDTRST , který je v adresovém prostoru SFR registrů na adrese 0A6h. Nutnost zapsání dvou různých hodnot minimalizuje možnost restartu WDT v momentu „havárie“ programu, kdy program tzv. „zabloudí“ a úkolem obvodu WDT je resetovat procesor a tím ho uvést do správného stavu. V případě jednoduchých externích obvodů WDT, kdy se inicializace tohoto obvodu realizuje pouhou změnou úrovně na jednom I/O, je pravděpodobnost selhání interního WDT v procesoru AT89C52WD nesrovnatelně menší.

Kontrola ALE
Procesor má další novinku, o které bych se rád zmínil.  Jedná se o možnost „redukce“ pulzů jdoucích na pin ALE. Konstruktér má možnost volit mezi standardním módem a „redukovaným“ módem, kdy pin je aktivní pouze v případě instrukcí MOVX nebo MOVC. Omezení množství změn na tomto pinu vede ke snížení emise rušivých signálů z procesorů (tzv. redukce EMI).

Trendy vývoje
O tom, že cesta integrace různých periferií na jednom čipu spolu s vlastním procesorem je tou správnou, potvrdí snad každý z konstruktérů. Potěšující je to, že i výrobci reagují na tento požadavek. Hitem posledních dní je nabídka procesorů, které mají spolu s vlastním procesorem integrován programovatelný logický obvod typu FPGA, který umožňuje konstruktérovi si nakonfiguravat (naprogramovat) periferie dle své potřeby a konkrétního požadavku. Někteří výrobci jdou ještě dále dále a přidávají na čip kromě programovatelných logických obvodů též některé analogové obvody, vesměs A/D převodníky. Ale o těchto obvodech někdy  příště.

DOWNLOAD


Hodnocení článku: