Mikrokontroléry Zilog ZNEO Z16F Family

 

Semestrální práce z předmětu 31SCS

Ondřej Šlechta

 

e-mail: slechta.ondrej@seznam.cz

 

 

 

 

 

 

 

Obsah:

*    Přehled základních údajů

*    Architektura jádra ZNEO

*    Vybrané prostředky procesoru

*    Tabulka vybraných specifikací

*    Vývojové prostředí

*    Literatura

 

 

 

 

 

 

 

    Základní údaje


 

Firma Zilog byla založena roku 1974 a rázem se stala jedním z důležitých hráčů na trhu v oblasti architektury mikroprocesorů a průmyslu s mikrokontroléry. Dnes je v čele s nabídkou 8-bitových mikrokontrolérů na světě. Její design, výroba a prodej širokého portfolia zařízení pro kontrolu aplikací v oblasti komunikace, v konzumní elektronice, bezpečnostních systémech, v perifejích počítačů a automobilových aplikacích, znamená vývoj rychlejších a užitkově přijatelnějších procesorů. Do praxe tak firma uvedla v září roku 2006 nové 16-bitové rozšíření svých stávajících 8-bitových procesorů Z8 Encore. ZiLOG sídlí v San Jose v Kalifornii a zaměstnává kolem 500 lidí po celém světě pro své vývojové pracoviště. Její prodejní politika sahá napříč Asií, Evropou a Severní Amerikou.

 

Šestnáctibitové mikrořadiče Z16 ZNEO jsou odvozeny od osvědčené řady Z8 Encore. Šestnáctibitové jádro s výpočetním výkonem až 20MIPS výrazně rozšiřuje oblast použití mikrořadičů. Mají až 128KB paměti Flash, 4kB paměti RAM, 10 bitový rychlý SAR AD převodník, násobičku 32x32 bitů, komparátor. Pro řízení motorů mají 6 kanálů PWM.


Jádrem mikrořadičů Z16F je 16 bitový procesor s architekturou Harvard, bez střadače, vykonávající všechny instrukce programu přímo nad registry RAM. Instrukční soubor umožňuje lineární adresování paměti RAM ve 4 bitovém, 8 bitovém a 12 bitovém adresním módu. Pro snadný vývoj aplikací jsou mikrořadiče vybaveny hardwarovým debuggerem na čipu a sériovým rozhraním ZDI (ZiLOG Developer Interface).

 

Procesor ZNEO CPU, 20MHz

*    128KB paměti Flash s 16-ti bitovým přístupem a možností programování na čipu (in-circuit programming)

*    4KB paměti RAMs 16-ti bitovým přístupem

*    Vnější sběrnice pro připojení vnější paměti a periferií

    - šest výstupů pro výběr periferie (Chip Select) s programovatelnou dobou odezvy (Wait State)

    - 24 bitová adresa pro přístup do paměti až 16 MB

    - výběr datové sběrnice o šířce 8 bitů nebo 16 bitů

    - programovatelná polarita signálu Chip Select

    - komunikační protokol ISA

*    12-ti kanálový, 10-ti bitový analogový-číslicový převodník (ADC)

*    Operační zesilovač

*    Analogový komparátor

*    4 kanálový DMA (Direct Memory Access) pro přenos vnitřních i vnějších dat

*    Dva duplexní 9-ti bitové obvody UARTs podporou protokolu LIN a IrDA

*    Vnitřní přesný oscilátor

*    Sériový komunikační obvod I2C (Inter-Integrated Circuit) v módu Master a Slave

*    Sériový komunikační obvod ESPI (Enhanced Serial Peripheral Interface)

*    12 bitový modul PWM s třemi komplementárními nebo šesti samostatnými výstupy a vstupem pro poruchový signál

*    Tři 16-bitové čítače

*    Watch-Dog (WDT) s RC oscilátorem

*    Až 76 vstupů / výstupů

*    24 přerušení s nastavitelnou prioritou

*    Hardwarový debugger (OCD, On-Chip Debugger)

*    Ochrana při poklesu napájecího napětí (VBO, Voltage BrownOut))

*    RESET při zapnutí napájení (POR, Power-On Reset)

*    Rozsah napájecího napìtí 2.7 až 3.6 V, vstupy až do 5V

*    Pracovní teploty 0°C až +70°C standardní, -40°C až +105°C rozšířené

 

 

 

Přehled základních typů rodiny Z16F

 

 

Vnitřní blokové schéma mikrokontroléru Z16F

 

Vnější rozhraní

Vnější rozhraní dovoluje připojení vnější paměti a periferií. 24 bitová adresní sběrnice a volitelná 8 bitová nebo 16 bitová datová sběrnice, umožňují paralelní přístup až do 16 MB. Programovatelné vlastnosti vnějšího rozhraní umožňují připojení k různým sběrnicím. Bitově orientované řízení adresy a řídící signály šetří vstupy / výstupy pro všeobecné použití (GPIO)

Flash kontroler

Řada Z16F obsahuje až 128 KB vnitřní paměti Flash. Flash kontroler zapisuje do paměti a maže paměti Flash se šířkou 16 bitů. Ochrana sektorů paměti umožňuje ochranu uživatelského programu.

Paměť RAM

Až 4 KB paměti RAM se šířkou 16 bitů je určeno pro uložení dat, proměnných a pro operace se zásobníkem.

10 bitový AD převodník se zesilovačem s programovatelným ziskem

AD převodník převádí analogový vstupní signál na 10 bitové binární číslo. AD převodník má až 12 analogových vstupů.

Analogový komparátor

Na čipu je analogový komparátor s vyvedenými vstupy.

Operační zesilovač

Na čipu je operační zesilovač se dvěma vstupy a jedním výstupem.

Vstupy / výstupy pro všeobecné použití

ZNEO má až 76 vstupů / výstupů pro všeobecné použití (GPIO). Každý pin je samostatně programovatelný.

UART

Na čipu jsou dva kanály UART s podporou protokolu LIN. Každý UART je plně duplexní pro asynchronní přenos dat. Přenáší 9 bitů dat nebo 8 bitů dat a 1 paritní bit. Podporuje sběrnici RS-485.

Infračervené kodéry / dekodéry

Každý kanál UART má kodér / dekodér UART / IrDA (Endec) verze 1.3 pro komunikaci s infračervenými periferiemi.

I2C

Dvě obousměrné linky, datová (SDA) a taktovací (SCL), kompatibilní s protokolem I2C v módu Master nebo Slave.

SPI

Pro přenos dat mezi jinými periferiemi jako paměti EEPROM, A/D převodníky apod., SPI je plně duplexní, synchronní čtyřdrátová linka.

Řadič DMA

Řadič má čtyři kanály DMA pro přenos dat mezi periferiemi a pamětí. Podporuje přenos z / do vnitřních i vnějších periférií.

Šířkově - impulzní modulace (PWM, Pulse Width Modulator)

Modul PWM má tři komplementární páry výstupů nebo šest nezávislých výstupů pro řízení různých typů motorů. Vstup poruchového

signálu umožnuje okamžité odpojení výstupů PWM při přetížení nebo poruše.

Čítače

Tři 16 bitové čítače s předvolbou mohou být použity pro generaci časových intervalů a pro počítání událostí. Mohou pracovat v režimu jednorázového nebo opakovaného čítání, v hradlovaném a porovnávacím režimu a v módu PWM se dvěma komplementárními výstupy.

Řadič přerušení

ZNEO podporuje přerušení s programovatelnou prioritou ve třech úrovních. Zdrojem přerušení mohou být vnitřní periferie, GPIO piny a

nedovolené stavy systému.

Krystalový oscilátor

Oscilátor může být řízen vnějším krystalem a keramickým rezonátorem s kmitočtem od 32 kHz do 20 MHz. Může být řízen i vnějším RC článkem. Jako taktovací signál může sloužit i vnější oscilátor.

RESET

ZNEO může být uveden do výchozího stavu signálem na pinu /RESET, zapnutím napájecího napětí (POR), časovačem Watch-Dog, výstupem z režimu STOP nebo poklesem napájecího napětí (VBO). Obousměrný pin /RESET může být využit i jako výstupní indikátor stavu RESET.

On-chip debugger

Debugger integrovaný na čipu umožňuje čtení a zápis do paměti, programování paměti Flash, nastavení zarážek (break pointů) do programu a spuštění programu. Komunikace s vývojovým prostředím je vedena po jednom vodiči.

 

 

 

 

 

 

    Architektura jádra ZNEO


 

Jádrem mikrořadičů Z16F je 16 bitový procesor s architekturou Harvard, bez střadače, vykonávající všechny instrukce programu přímo nad registry RAM. Instrukční soubor umožňuje lineární adresování paměti RAM ve 4 bitovém, 8 bitovém a 12 bitovém adresním módu. Pro snadný vývoj aplikací jsou mikrořadiče vybaveny hardwarovým debuggerem na čipu a sériovým rozhraním ZDI (ZiLOG Developer Interface). Procesor ZNEO (Zee-No) byl navržen s požadavkem na rychlejší a výkonnější mikrořadiče.

 

*    Základní vlastnosti procesoru jsou:

*    Adresní prostor 16 MB pro program a data s délkou 8 nebo 16 bitů

*    8 bitové, 16 bitové a 32 bitové operace

*    24 bitový zásobník s ochranou proti přeplnění

*    Přímé operace registr - registr, při kterých může každý registr plnit funkci střadače. Výsledkem je rychlejší chod programu a menší požadavky na velikost paměti pro program.

*    Nové instrukce pro vyšší účinnost programů napsaných ve vyšších jazycích včetně C

*    Vyzvednutí instrukce z paměti při současném vykonání předchozí instrukce

*    Lineární adresování paměti Flash i paměti RAM

*    Všechny operace nad registry RAM bez střadače

*    24 vektorů přerušení s programovatelnou prioritou

*    Operace násobení 32 x 32 bitů, dělění 64 / 32 bitů

*    Úsporné režimy HALT, STOP

*    Programovatelný 16 bitový Watch-Dog časovač

*    Sériové programování (ICSP)

*    Hardwarový debugger na čipu

*    Napájecí napětí 2.7 až 3.6 V

*    Taktovací kmitočet 20MHz

 

 

Blokové schéma CPU Z16F

 

 

 

Paměťový prostor

Procesor ZNEO může vytvářet 24 bitové adresy v jednom adresním prostoru, rozděleném do čtyř oblastí:

*    Vnitřní trvalá paměť , typicky Flash

*    Vnitřní RAM

*    Vnitřní I/O paměť (vnitřní periferie)

*    Vnější paměť (vnější paměť a/nebo vnější periferie)

 

ZNEO má přístup ke kterýmkoliv dvěma oblastem dat paralelně.

ZNEO také podporuje tři různé šířky dat:

*    Byte (8 bitů)

*    Word (16 bitů)

*    Quad (32 bitů)

Adresovaná paměť může mít různou šířku:

*    8 bitovápaměť

*    16 bitová paměť

Velikost vnitřní RAM a vnitřní Flash paměti je specifikována pro konkrétní typ mikrořadiče ZNEO. Vnější paměť je na adresách, které nejsou obsazeny vnitřní pamětí.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Vnitřní RAM

Vnitřní RAM je obvykle využívána pro uložení dat a pro zásobník. Může obsahovat i program. Vrchol (nejvyšší adresa) paměti RAM je vždy na adrese FF_BFFFH, spodek (nejnižší adresa) je určena velikostí paměti RAM pro konkrétní verzi ZNEO.

 

Vnitřní I/O paměť

ZNEO podporuje 8KB I/O paměti na adresách FF_E000H až FF_FFFFH. Paměť je určena pro řízení periferií na čipu a I/O portů. Některé řídící registry ve vnitřní I/O paměti jsou určeny pouze pro čtení nebo pouze pro zápis. Při přístupu k těmto registrům je nutné zajistit, aby instrukce neprováděla čtení z registrů pro zápis ani zápis do registrů pro čtení.

Uvnitř 8 KB vnitřní I/O paměti jsou registry pro řízení ZNEO CPU.

 

Vnější paměť

Adresy vnější paměti jsou určeny pro uložení programu, dat, konstant, zásobníku atd. Čtení z nepoužitých adres a zápis na nepoužité adresy není definován.

 

Šířka sběrnice

ZNEO může adresovat paměť o šířce 8 bitů nebo 16 bitů. Vnitřní paměť Flash a vnitřní RAM mají šířku 16 bitů. Některé vnitřní periferie jsou 8 bitové a některé jsou 16 bitové. Vnější paměť může být konfigurována jako 8 bitová nebo 16 bitová.

Jestliže data o šířce Word nebo Quad jsou uložena v 16 bitové paměti, počet přístupů do paměti závisí na hodnotě adresy. Jestliže adresa je sudá, Word vyžaduje jeden přístup do paměti a Quad vyžaduje dva přístupy do paměti. Jestliže adresa je lichá, Word vyžaduje dva přístupy do paměti a Quad vyžaduje tři přístupy do paměti.

 

 

 

 

 

 

 

 

 

      Vybrané prostředky procesoru ZNEO


 

Reset a výstup z režimu STOP

ZNEO obsahuje RESET řadič, který řídí signál RESET a výstup z režimu STOP. Signál RESET může být vydán, nastane-li:

*    Zapnutí napájecího napětí (POR = Power On Reset)

*    Pokles napájecího napětí pod hodnotu, při které nepracuje procesor, sada registrů ale pracuje (VBO = Voltage Brown-Out)

*    Uplynutí intervalu časovače Watch-Dog (pokud je konfigurační bit WDT_RES nastaven tak, aby způsobil RESET)

*    Signál na pinu /RESET

*    On-chip Debugger vyvolá Reset (OCDCTL[ 0 ] =1)

*    Elektromagnetické rušení

       Je-li procesor ZNEO v režimu STOP, výstup z režimu STOP může být způsoben:

*    Uplynutím intervalu časovače Watch-Dog

*    Signálem na vstupním pinu, který je nastaven jako vnější signál pro výstup z režimu STOP

 

 

 

Úsporné režimy

Možnosti pro uvedení ZNEO do úsporného režimu jsou děleny do tří kategorií - operační módy CPU, řízení příkonu periferií a programovatelné konfigurační bity. Nejúspornější režimy jsou dosahovány kombinací všech funkcí.

 

REŽIM STOP

Do režimu STOP je ZNEO uveden instrukcí STOP, parametry režimu jsou:

*    Vnitřní přesný oscilátor je zastaven, piny XIN a XOUT jsou připojeny na úroveň VSS

*    Signál SCLK je zastaven

*    Procesor ZNEO je v klidu

*    Čítač programu (PC) je zastaven

*    Pokud je povolen v re_imu STOP, časovač WDT a jeho vnitřní RC oscilátor zůstává v činnosti

*    Pokud je povolen v re_imu STOP, obvod VBO zůstává v činnosti

*    Všechny ostatní periferie na čipu jsou v klidu

 

Ke snížní spotřeby v režmu STOP na minimum je nutné, aby všechny piny konfigurované jako vstupy byly připojeny buď na úroveň 0V (VSS) nebo 3.3V (VDD). Časovač WDT a obvod VBO musí být zakázány pro režim STOP. Při použití vnějšího taktovacího signálu musí být tento signál odpojen.

 

REŽIM HALT

Do režimu HALT je ZNEO uveden instrukcí HALT, parametry režimu jsou:

*    Krystalový oscilátor zůstává v činnosti, signál SCLK je funkční

*    Obsah čítače programu (PC) se nemění

*    Procesor ZNEO je v klidu

*    Oscilátor časovače Watch-Dog zůstává v činnosti

*    Pokud je povolen, časovač WDT zůstává v činnosti

*    Všechny ostatní periferie zůstávají v činnosti

Z režimu HALT vystoupí ZNEO některým z následujících způsobů:

*    Přerušení nebo nedovolený stav

*    Uplynutí intervalu časovače Watch-Dog (WDT)

*    Vypnutí a zapnutí napájení (POR)

*    Pokles napájecího napětí pod úroveň VBO a následný POR

*    Aktivace pinu /RESET

*    Okamžité vystoupení z režimu HALT

Ke snížení spotřeby v režimu HALT na minimum je nutné, aby všechny piny konfigurované jako vstupy byly připojeny buď na úroveň 0V (VSS) nebo 3.3V (VDD).

 

ŘÍZENÍ SPOTŘEBY PERIFERIÍ

Periferie na čipu ZNEO jsou automaticky uvedeny do režimu nízké spotřeby ve stavu Reset. Nepoužívané periferie musí být zakázány.

 

KONFIGURAČNÍ BITY PRO ŘÍZENÍ SPOTŘEBY

Některé verze ZNEO obsahují konfigurační bity pro nastavení velmi nízké spotřeby v režimu STOP zákazem obvodu VBO a oscilátoru WDT.

 

 

 

Vstupy / výstupy pro všeobecné použití

Mikrořadiče ZNEO mají vstupy/ výstupy pro všeobecé použití (GPIO) obsažené v portech A až K. Každý port obsahuje řídící a datový registr. Řídící registry určují směr přenosu dat, nastavují výstup jako otevřený kolektor, omezují výstupní proud a určují speciální funkce pinu. Každý port je samostatně programovatelný.

 

 

Zjednodušené schéma obvodů pinu

 

SPECIÁLNÍ FUNKCE I / O PINŮ

Většina I / O pinů může být nakonfigurována v registrech speciálních funkcí jako vstup / výstup pro všeobecné použití nebo pro přístup k periferním obvodům na čipu (čítače, sériové komunikační obvody, vnější rozhraní). Je-li pin konfigurován pro speciální funkci, je řízení směru dat (vstup / výstup) předáno z registru směru dat do registru speciální funkce pro tento pin.

 

Čítače

Mikrořadiče ZNEO mají na čipu tři 16 bitové čítače s předvolbou, které mohou být využity pro měření času, počítání událostí nebo vytváření signálů s pulzně šířkovou modulací (PWM).

Vlastnosti čítačů:

*    16 bitový čítač s předvolbou

*    programovatelná předdělička s dělícím poměrem od 1 do 128

*    výstup PWM (impulzně šířková modulace)

*    čtení obsahu čítače a porovnání

*    vstup vnějšího signálu pro počítání událostí, měření času a kmitočtu, vzorkování obsahu čítače

*    výstup čítače na vnější pin

*    čítač jako zdroj přerušení

*    několik funkčních režimů (průběžný, PWM, hradlový, vzorkovací…)

 

Zjednodušené schéma čítače/časovače

 

 

Vícekanálový časovač PWM

ZNEO obsahuje vícekanálový časovač PWM pro řízení elektrických motorů.

Vlastnosti PWM:

*    6 nezávislých kanálů PWM nebo 3 komplementární kanály PWM

*    programovatelné zpoždění (deadband) otevírání komplementárních kanálů

*    vyrovnání signálů PWM na hranu nebo na střed periody

*    vypnutí PWM konfiguračním bitem¨

*    vypnutí PWM signálem Reset

*    asynchronní vypnutí PWM chybovým signálem

*    12 bitový čítač s nastavitelnou předděličkou 1, 2, 4, 8

*    vysoká proudová zatižitelnost výstupů

*    použití PWM výstupů jako vstupy pro všeobecné použití

*    synchronizace AD převodníku s periodou PWM

*    synchronizace proudového čidla

*    potlačení krátkých rušivých impulzů

 

Blok PWM obsahuje hlavní čítač jako časovou základnu a šest nezávislých registrů pro nastavení PWM. Šest výstupů je navrženo pro řízení invertujících budičů. Výstupy jsou sestaveny do párů pro buzení výkonového půlmůstku (high-side, low-side). Výstupní signály mohou být naprogramovány jako samostatné výstupy nebo jako komplementární výstupy. V komplementárním režimu může být mezi rozepnutí sepnutého výstupu a sepnutí rozepnutého výstupu vloženo zpoždění (deadband) aby bylo zabráněno současnému sepnutí "horního" a "dolního" spínače v můstku. Polarita a klidové úrovně výstupních signálů mohou být programově nastaveny do bezpečných stavů při chybě výkonových obvodů.

 

Struktura PWM generátoru

 

 

Analogové funkce

ZNEO obsahuje 12-kanálový AD převodník, operační zesilovač a komparátor.

Vlastnosti :

*    AD převodník s 12 analogovými vstupy přístupnými na I / O pinech jako speciální funkce

*    operační zesilovač s výstupem připojeným na AD převodník

*    komparátor se vstupem samostatným nebo společným s operačním zesilovačem

 

Schéma AD převodníku ZNEO

 

AD PŘEVODNÍK

ZNEO osahuje 12-kanálový aproximační AD převodník, který převádí analogové vstupní signály na 10-bitové binární číslo.

Vlastnosti převodníku:

*    12 analogových vstupů přístupných na I / O pinech jako speciální funkce

*    doba převodu kratší než 5μs

*    přerušení po dokončení převodu

*    vnitřní zdroj referenčního napětí použitelný i pro vnější obvody, Vref=2V

*    možnost současného nebo nezávislého převodu

 

AD převodník se skládá z 10-bitového aproximačního převodníku, 12-vstupového analogového multiplexeru a vzorkovacího zesilovače. AD převodník převádí vstupní analogové signály na binární čísla a ukládá je do registrů AD převodníku. V rušivém prostředí musí být na vstupní piny připojen vnější RC filtr.

 

DMA (Direct Memory Access)

ZNEO obsahuje čtyři nezávislé DMA kanály pro přenos dat z paměti do paměti, z paměti do periferie, z periferie do paměti nebo z periferie do periferie.

Vlastnosti :

*    čtyři nezávislé kanály

*    přenos dat paměť <=> paměť, paměť <=> periferie, periferie <=> paměť , priferie <=> periferie

*    přenos přímý nebo přenos podle seznamu

*    přenos bytů, slov (Word) nebo 32-bitů (Quad)

*    programovatelné využití sběrnice pro DMA

*    až 64K přenosů (64KByte, 64KWord, 64KQuad)

*    vnější požadavek na přidělení DMA a potvrzení

 

Zjednodušené schéma DMA

 

DMA se používá pro odlehčení procesoru od výkonu opakovaných činností. DMA přenáší data z jedné adresy paměti na jinou adresu. Protože všechny periferie jsou mapovány do paměti, DMA přenáší data do nebo z periferií. DMA přenáší data ze zdrojové adresy na cílovou adresu. To vyžaduje cyklus čtení a / nebo zápisu, který vytváří řadič DMA. Každý DMA přenos vyžaduje nejméně 2 cykly SCLK.

DMA pracuje v přímém režimu nebo v režimu přenosu podle seznamu. Oba režimy jsou téměř shodné. V přímém režimu uživatelský program zapisuje do registrů DMA přímo. Při přenosu podle seznamu se do registrů DMA zapisuje z paměti.

 

 

Oscilátor

Mikrořadiče ZNEO obsahují na čipu oscilátor pro použití s vnějším krystalem 32kHz až 20MHz. Oscilátor může být řízen i vnějším RC členem pro kmitočty do 4MHz nebo keramickým rezonátorem do 20MHz. Oscilátor je zdrojem taktovacího signálu SCLK pro ZNEO CPU a většinu periferií na čipu. Na pin XIN může být přiveden vnější signál s úrovněmi CMOS s kmitočtem 32kHz až 20MHz. Jestliže je přiveden vnější signál, pin XOUT musí zůstat volný. Je-li oscilátor řízen krystalem, není zařazena žádná dělička signálu SCLK, kmitočet na pinu XIN je kmitočtem signálu SCLK. Je-li oscilátor řízen RC členem, je zařazena dělička 2 pro zajištění střídy 1:1 signálu SCLK.

 

Režimy oscilátoru nastavitelné pomocí konfiguračních bitů:

*    oscilátor řízený vnějším RC členem pro f<4MHz

*    nízkopříkonový oscilátor řízený krystalem pro velmi nízké frekvence 32kHz až 1.0MHz

*    oscilátor řízený krystalem nebo keramickým rezonátorem pro frekvence 0.5MHz až 10MHz

*    oscilátor řízený krystalem nebo keramickým rezonátorem pro frekvence 8MHz až 20MHz

 

 

Stejnosměrné hodnoty:

 

Základní parametry ZNEO

 

Vlastnosti AD převodníku

 

 

 

 

Vývojové prostředí:

Vývojový kit Z16F28 001 00ZCOG

 

*    Vývojová deska s mikrořadičem Z16F 28

*    USB Smart kabel

*    Napájecí zdroj

*    ZDS II (ZiLOG Developer Studio), integrované vývojové prostředí včetně C překladače

*    Dokumentace včetně vzorových programů v jazyku C a assembleru

*    Podpora pro 100 pinové Z16F

 

Blokové schéma vývojové desky Z16F

 

 

Literatura: