Úvod

Mikroprocesory SH7014/16/17 jsou CMOS jednočipové mikroprocesory s originální architekturou Hitachi a velmi rychlým CPU s dalšími vnějšími funkcemi. CPU má RISC instrukční soubor. Většina instrukcí může být vykonána během jednoho hodinového cyklu, což výrazným způsobem zvyšuje rychlost zpracování instrukce. Navíc 32-bitová architektura zlepšuje výkon zpracování dat. S těmito procesory je možné vytvořit levný, vysoce výkonný systém pro aplikace jako např. řízení v reálném čase, kde to předtím právě výkon mikroprocesorů nedovoloval. Konkrétně tyto LSI mají přímo na čipu paměť cache o velikosti 1 kB, což umožňuje zvýšení výkonu CPU v přístupu do vnější paměti. Kromě toho jsou na čipu vnější funkce, nezbytné pro konfiguraci systému jako např. paměť ROM (kromě SH7014), a RAM, časovače, rozhraní sériové komunikace (SCI), A/D převodník, řízení přerušení a I/O porty. To vše vede ke snižování ceny.

 

 

 

Hlavní rysy SH7014/16/17

 

CPU:

·        32-bitová interní datová sběrnice

·        registry:

o       šestnáct 32-bitových všeobecných registrů

o       tři 32-bitové řídící registry

o       čtyři 32-bitové systémové registry

·        RISC instrukční sada:

o       instrukční délka: fixní 16-bitová délka pro větší efektivitu kódu

o       load-store architektura (základní operace jsou prováděny mezi registry)

o       instrukční sada založená na jazyku C

o       doba zpracování instrukce: instrukce/cyklus (35 ns/instrukce při 28,7 MHz)

o       adresovatelný prostor až 4 GB

o       zpoždění instrukcí větvení omezuje přetržení řetězce během větvení

o       „on-chip“ násobení: operace násobení (32 bitů x 32 bitů ® 64 bitů) a operace násobení/akumulace (32 bitů x 32 bitů + 64 bitů ® 64 bitů) s dobou zpracování 2 až 4 cykly

o       5 úrovní „pipeline“

 

 Cache paměť:

·        1 kB instrukční cache

·        kešování instrukčního kódu a čtených PC příbuzných dat

·        4 B délka řádky

·        přímá metoda mapování

·        „on-chip“ ROM/RAM a I/O

·        použití společně s „on-chip“ RAM, užití 2 kB RAM jako adresového/datového pole

 

Řadič přerušení (INTC):

·        7 pinů pro externí přerušení (NMI, )

·        28 interních zdrojů přerušení

·        16 programovatelných úrovní priority

 

Řadič sběrnice (BSC):

·        podpora přístupu externí rozšířené paměti

o       8 bitů nebo 16 bitů externí datové sběrnice

·        paměťový adresový prostor je rozdělen do 5 oblastí (4 oblasti SRAM, 1 oblast DRAM) s následujícími nastavitelnými vlastnostmi:

o       počet čekacích cyklů

o       výstupy signálů „chip-select“ pro každou oblast

o       v průběhu přístupu k prostoru DRAM:

§         výstupní signály a

·        DRAM přístupové funkce

o       podpora režimu rychlého přístupu k DRAM

·        DRAM obnovovací funkce

o       programovatelný obnovovací interval

o       podpora CAS před RAS obnovení a samoobnovovacího režimu

·        možnost vložení čekacích cyklů externím signálem WAIT

·        lze zpřístupnit data adresový multiplex I/O zařízení

 

Řadič přímého přístupu do paměti (DMAC (2 kanály)):

·        podpora režimu jedno a duálního adresového přenosu

·        pořadí priorit: fixně na kanál 0 > kanál 1

·        přenosový čítač: 16 bitů

·        zdroje požadavku přenosu: externí vstup DREQ, autopožadavek a na čipu podporující moduly

·        adresový prostor: 4 GB

·        výběr z 8, 16 a 32 bitového přenosu dat

 

Multifunkční časovač/pulsní jednotka (MTU (3 kanály)):

·        maximálně 8 typů průběhů nebo maximálně 16 typů pulsů I/O založených, na 16 bitovém časovači, 3 kanály

·        8 duálních výstupů porovnání/vstup

·        8 nezávislých komparátorů

·        8 typů vstupních hodin čítače

·        režim pulsního výstupu:

o       jeden puls, překlápění, PWM

·        režim výpočtu fáze

 

Watchdog časovač (WDT (1 kanál)):

·        watchdog časovač nebo interval časovač

·        přetečení může generovat interní reset, externí signál nebo přerušení

 

Rozhraní sériové komunikace SCI(2 kanály)):

na každý kanál:

·        volba asynchronního nebo hodinově synchronního režimu

·        možnost současně vysílat a přijímat (full duplex)

·        na čipu vyhrazený generátor přenosové rychlosti

·        funkce multiprocesorové komunikace

 

I/O porty:

·        SH7014:

o       vstup/výstup: 35

o       vstup: 8

o       celkem: 43

·        SH7016/17:

o       vstup/výstup: 74

o       vstup: 8

o       celkem: 82

 

A/D převodník:

·        10 bitů x 8 kanálů

·        SH7014 má velmi rychlý a SH7016/17 středně rychlý A/D převodník

 

Paměť na čipu:

·        ROM:

o       SH7014: bez paměti ROM

o       SH7016: 64 kB (mask ROM)

o       SH7017: 128 kB (flash ROM)

·        RAM:

o       SH7014/16: 3 kB (1 kB, je-li požívána cache)

o       SH7017: 4 kB (2 kB, je-li požívána cache)

 

Provozní režimy:

·        provozní režim:

o       bez rozšířené ROM (SH7014/16/17)

o       rozšířená ROM (SH7016/17)

o       jednočipový režim (SH 7016/17)

·        procesní stavy:

o       provádění programu

o       stav výjimky

·        energetické režimy:

o       „sleep“

o       „standby“

 

Generátor hodinových pulsů (CPG):

·        generátor hodinových pulsů na čipu:

o       na čipu  PLL obvod zdvojování hodin

 

 

 

tabulka produktů:

 

 

 

 

 

Blokové schéma

 

·        SH7014

 

 

·        SH7016/17

 

 

 

 

Konfigurace registrů

 

16 x 32 bitový všeobecný registr

3 x 32 bitový řídicí registr

4 x 32 bitový systémový registr

 

Všeobecné registry (Rn)

Tyto registry jsou využívány zpravidla pro zpracování dat a k výpočtu adres. R0 je také používán jako indexový registr a R15 jako hardwarový stack pointer.

 

 

 

 

Řídící registry

Mezi tyto registry patří status registry SR, globální bázové registry GBR a vektor bázové registry VBR.  

 

 

SR – indikují status procesu.

 

 

 

GBR – indikují bázovou adresu při nepřímém GBR adresování.

 

 

 

VBR – slouží k uložení bázové adresy v režimu výjimky.

 

 

Systémové registry

 

 

„Multiply and accumulate“ MAC registry „low“ a „high“ (MACL, MACH) – ukládají výsledek operací multiply a accumulate.

 

 

 

Procedure registr – ukládá návratovou adresu podprogramu

 

 

 

Programový čítač – indikuje čtvrtý Byte (druhou instrukci) po aktuální instrukci.

 

 

 

počáteční natavení registrů:

 

 

 

 

 

Formát dat

 

Formát dat v registrech

Operandy registrů jsou 32-bitové (longword). Je-li operand pouze 8 nebo 16 bitový, je prodloužen na 32 bitů.

 

 

 

Formát dat v paměti

Formát dat v paměti lze rozdělit na byte, word a longword. K datům typu byte můžeme přistupovat z jakékoliv adresy. Jestliže však přistupujeme k datům typu word, začínajících na adrese jiné než 2n nebo typu longword z adresy jiné než 4n, může dojít k chybě.

 

 

 

 

 

 

Provozní stavy

 

Provozní stavy  a přechody mezi nimi popisuje následující obrázek

 

 

Cpu má celkem 4 provozní stavy: reset, stav výjimky, běh programu a vypínání.

 

Stav výjimky – je přechodný stav, který nastává po výjimečné události jako reset nebo přerušení.

Stav vypínání – při přechodu do tohoto stavu pomocí instrukce SLEEP CPU přeruší práci a jeho spotřeba poklesne. Tento stav má dva módy: „sleep“ a „standby“.

 

Sleep mode

Přejde-li bit SBY (standby řídicího registru SBYCR) do logické nuly, pak po provedení instrukce SLEEP přejde CPU z režimu provádění programu do „sleep“ módu. V tomto módu se CPU zastaví a obsah interních registrů a data v paměti cache na čipu (nebo RAM na čipu) se uloží. Ostatní periferní moduly na čipu se v tomto módu nezastaví.

 

Standby mode

Naopak je-li bit SBY (opět registru SBYCR) nastaven do logické jedničky a je provedena instrukce SLEEP, přejde CPU do „standby“ módu. Všechny CPU, periferní moduly na čipu a oscilátor zastaví činnost. Avšak při přechodu do tohoto módu je třeba, aby bit DMA z DMAC byl nastaven do logické nuly.

 

 

Shrnutí přináší následující tabulka

 

 

 

 

 

Řadič přerušení (INTC)

 

Řadič přerušení (INTC) zjišťuje prioritu přerušení a řídí požadavek přerušení.

Blokové schéma řadiče přerušení je na následujícím obrázku.

 

 

 

Zdroje přerušení

Existují tři zdroje přerušení: NMI, IRQ a přerušení periferních modulů na čipu. Každé přerušení má prioritu vyjádřenou číslem 0 až 16, přičemž 0 je priorita nejnižší a 16 nejvyšší. Přerušení NMI má  prioritu 16 a je vždy akceptováno. IRQ přerušení jsou vyžádána prostřednictvím pinů  s prioritou 0 až 15. Přerušení periferních zařízení na čipu jsou přerušení, která generují výše citované moduly jako: DMAC, MTU CMT, SCI, A/D, WDT a BSC.

 

 

 

 

Řadič sběrnice (BSC)

 

Řadič sběrnice rozděluje adresový prostor pro různé typy paměti. Paměti jako DRAM, SRAM a ROM je možné propojit s LSI bez dalších obvodů.

 

Adresový prostor je rozdělen do 5 oblastí:

·        lineárně maximálně 2 MB adresového prostoru pro CS0 v režimu s povolenou ROM na čipu a lineárně maximálně 4MB v režimu zakázané ROM na čipu

·        lineárně maximálně 4 MB pro každý z adresových prostorů CS1, CS2 a CS3

·        lineárně maximálně 16 MB pro DRAM vyhrazený prostor

·        pro každý prostor je možné zvolit šířku sběrnice (8 nebo 16 bitů)

·        stav „wait“ je možné vložit softwarově pro každý prostor

·        stav „wait“ je možné vložit prostřednictvím pinu  v přístupu k externímu adresovému prostoru

·        výstupní řídicí signály závisí na typu připojené paměti

 

Rozhraní RAM přímo na čipu:

·        32 bitový přístup k RAM

·        32 bitový přístup k ROM

 

Přímé propojení k DRAM:

·        multiplex adresy řádek/sloupec v závislosti na kapacitě DRAM

 

Řízení přístupu pro každý typ paměti, periferní LSI:

·        funkce adresového/datového multiplexu

 

 

blokové schéma řadiče sběrnice (BSC)

 

 

 

 

 

Řadič přímého přístupu do paměti (DMAC)

 

SH7014 zahrnuje na čipu dvoukanálový řadič DMAC. DMAC je možné použít místo CPU k rychlému přenosu dat mezi externími zařízeními vybavenými signálem DACK (signál potvrzení požadavku přenosu), externí pamětí, paměťově mapovanými externími zařízeními a periferními moduly na čipu (kromě DMAC a BSC). Použití DMAC snižuje vytížení CPU a zvyšuje efektivitu operací LSI jako celku.

 

DMAC:

·        2 kanály

·        4 GB adresovatelného prostoru

·        volitelná přenosová jednotka 8, 16 a 32 bitů

·        jedno nebo duální adresový režim:

o       jednoadresový režim: každý z dvojice zdroj přenosu, cíl přenosu je zpřístupněn signálem DACK, dokud je ten druhý přístupný adresou. V každém cyklu sběrnice je přenesena jedna přenosová jednotka dat.

o       duální adresový režim: ke zdroji přenosu i k cíli přenosu je přistupováno adresou. Tyto adresy jsou indikovány v interním registru DMAC. K přenosu je zapotřebí dvou cyklů sběrnice.

·        aktivace požadavku přenosu lze rozdělit do tří skupin:

o       externí požadavek (dva piny DREQ)

o       požadavek od periferních modulů (např. SCI, A/D)

o       autopožadavek: je generován automaticky uvnitř DMAC

 

 

blokové schéma řadiče přímého přístupu do paměti (DMAC)

 

 

 

 

 

„Watchdog“ časovač (WDT)

 

Jedná se o jednokanálový časovač, který slouží k monitorování systémových operací. Dojde-li v systému k nějakému problému (např. zhroucení) a čítač časovače přeteče, aniž by byl prostřednictvím CPU korektně přepsán, objeví se na externím výstupu  signál o přetečení. WDT může současně generovat interní signál reset pro celý čip. Není-li funkce WDT potřebná, lze WDT využít jako časovač intervalů. V tomto režimu časovače je vždy po přetečení generováno přerušení čítače. WDT je také používán k návratu ze „stadnby“ módu.

 

 

Blokové schéma „watchdog“ časovače

 

 

 

 

 

Rozhraní sériové komunikace (SCI)

 

LSI disponuje sériovým komunikačním rozhraním se dvěma nezávislými kanály, přičemž oba mají tutéž funkci. SCI podporuje asynchronní a hodinově synchronní komunikaci a také funkce multiprocesorové komunikace pro sériovou komunikaci mezi dvěma a více procesory. 

 

Vlastnosti:

·        volba asynchronní nebo hodinově synchronní sériové komunikace:

o       asynchronní režim: data jsou identifikována signálem start-stop. SCI může komunikovat s univerzálním asynchronním přijímačem/vysílačem (UART), asynchronním komunikačním adaptérem (ACIA) nebo jiným zařízením, které používá standardní asynchronní sériovou komunikaci. Použitím multiprocesorových komunikačních funkcí je také možné komunikovat se dvěma nebo více jinými procesory. K dispozici je 12 volitelných sériových datových komunikačních formátů.

o       délka dat: 7 nebo 8 bitů

o       délka stop bitu: 1 nebo 2 bity

o       parita: sudá, lichá nebo bez parity

o       multiprocesor bit: 1 nebo žádný

o       detekce příjmu chyby: parita, přeplnění a chyby rámce

o       detekce zastavení: čtením RxD hned při výskytu chyby rámce

o       hodinově synchronní režim: sériová datová komunikace je synchronizována s hodinovým signálem. SCI může komunikovat s jinými zařízeními, která podporují hodinově synchronní režim komunikace. K dispozici je jediný datový komunikační formát.

o       délka dat: 8 bitů

o       detekce příjmu chyby: chyby přeplnění

·        plně duplexní komunikace: protože jsou přijímač a vysílač nezávislé, je možné současně přijímat i vysílat. Navíc oba používají dvojí vyrovnávání, což umožňuje kontinuální přenos dat v obou směrech.

·        generátor přenosové rychlosti na čipu s volitelnou rychlostí přenosu.

·        interní nebo externí vysílací/přijímací zdroj hodinových pulsů: generátor přenosové rychlosti (interní) nebo SCK pin (externí)

·        4 typy přerušení: vysílání – data prázdná, vysílání – konec, příjem – data plná a vysílání – chyba. Přerušení jsou žádána nezávisle. První a třetí přerušení může nastartovat DMAC k přenosu dat.

 

 

Blokové schéma rozhraní sériové komunikace (SCI)

 

 

 

 

 

Rychlý A/D převodník (SH7014)

 

Tento převodník má rozlišení 10 bitů a je možné vybírat z 8 kanálů vstupního analogového signálu.

 

Vlastnosti:

·        rozlišení 10 bitů

·        8 vstupních kanálů

·        rychlý převod: minimální doba převodu 2,9 ms na kanál (při 28 MHz)

·        převodní režimy:

o       výběr/skupina

o       jednoduchý/prohledat

o       možnost střádání operací

o       možnost současného vzorkování 2 kanálů

·        dva typy startu převodu:

o       softwarové nebo volba časovaného spouštění

·        8 datových registrů:

o       výsledky převodu pro každý kanál jsou uloženy v 16-bitových datových registrech

·        funkce „sample and hold“

·        možnost generace požadavku o přerušení po dokončení převodu.

 

 

Blokové schéma „rychlého“ A/D převodníku

 

 

 

 

 

Středně rychlý A/D převodník (SH7016/7)

 

Rozdíly oproti výše uvedenému „rychlému“ A/D převodníku:

·        minimální doba převodu: 6,7 ms na kanál (20 MHz)

·        převodní režimy: jednoduchý/prohledat

o       jednoduchý režim: 1 kanálový A/D převodník

o       1 až 4 převody současně

·        4x  16-bitový datový registr:

o       výsledky převodu jsou u podstatného kanálu předány do datového registru a uchovány

 

 

blokové schéma „středně rychlého“ A/D převodníku

 

 

 

 

 

Flash paměť 128 kB (F-ZTAT)

 

SH7017 má na čipu flash paměť o velikosti 128 kB.

 

Vlastnosti:

·        4 pracovní režimy:

o       programování

o       mazání

o       programování – verifikace

o       mazání – verifikace

·        metody programování/mazání

o       paměť flash je programována 32-bity najednou. Mazání celé paměti vyžaduje mazání postupně každého bloku. Mazání je možné po blocích o velikosti 1 kB, 28 kB a 32 kB.

·        doba programování/mazání:

o       doba programování je typicky 10 ms pro současné 32 B programování nebo ekvivalentně 300 ms/na 1 B.

o       doba mazání jednoho bloku je typicky 100 ms.

·        Možnost přeprogramování:

o       Přeprogramování je možné až 100 krát

·        Režimy programování na desce (jsou možné dva režimy, kdy je možné flash paměť programovat/mazat/verifikovat přímo na desce):

o       Startovací režim

o       Uživatelský programovací režim

·        Automatické nastavení přenosové rychlosti:

o       S přenosem dat ve startovacím režimu může SH7017 automaticky nastavit přenosovou rychlost

·        Emulace flash paměti v RAM

·        Režimy ochrany:

o       Hardwarový a softwarový – umožňuje status ochrany flash paměti při procedurách programování/mazání/verifikace.

·        Režimy programování:

o       Flash paměť je možné programovat/mazat jak v režimu programování,

 za použití PROM programátoru, tak i v režimu programování na desce.

 

 

Blokové schéma flash paměti

 

  

 

 

možné režimy flash paměti a přechody mezi nimi jsou na následujícím obrázku

 

 

 

 

 

Elektrické parametry

 

 

 

 

 

 

 

 

 

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

 

Vypracoval:     Miroslav Švrček

Datum: 9.6.2003