• Základy mikroprocesorové techniky. Mikroprocesorové systémy Základy výpočetní a mikroprocesorové techniky

    Nové triky s telefonováním, kterým může napadnout každý

    Mikroprocesorová technologie

    MIKROPROCESOROVÁ TECHNOLOGIE- druh výpočetní techniky, který se stále více uplatňuje v různých prostředcích automatizace a komunikace a především v počítačích.

    Mikroprocesorová technologie je určena pro logické a aritmetické zpracování informací na principu programového řízení. Mikroprocesory založené na velkých integrovaných obvodech obsahují programový čítač pro uložení adresy instrukce, která má být provedena; registr instrukcí, který přijímá instrukci vyzvednutou z paměti programu a ukládá ji během cyklu provádění instrukce; ukazatel na poslední obsazenou paměťovou buňku; univerzální registry, které jsou superrychlou pamětí mikroprocesoru; baterie, která je zdrojem a příjemcem informací; aritmetická logická jednotka určená pro zpracování dat; registr, na kterém se tvoří znaky výsledků operací.

    Možnosti počítačů do značné míry závisí na mikroprocesorech, na úrovni velkých integrovaných obvodů. Jestliže na konci 50. let obsahoval jeden monokrystal jeden obvodový detail, pak se v současnosti realizují obvody se stupněm integrace až 105 prvků na krystal, přičemž limitu ještě nebylo dosaženo.

    Základní definice:

    Elektronický systém- v tomto případě se jedná o jakoukoli elektronickou jednotku, jednotku, zařízení nebo komplex, který zpracovává informace.

    Úloha je soubor funkcí, které musí elektronický systém vykonávat.

    Výkon je měřítkem toho, jak rychle elektronický systém plní své funkce.

    Flexibilita je schopnost systému přizpůsobit se různým úkolům.

    Redundance je ukazatelem míry, do jaké schopnosti systému odpovídají úkolu, který tento systém řeší.

    Rozhraní - dohoda o výměně informací, pravidla pro výměnu informací, z nichž vyplývá elektrická, logická a konstruktivní kompatibilita zařízení účastnících se výměny. Dalším názvem je konjugace.

    Mikroprocesorový systém lze považovat za speciální případ elektronického systému určeného ke zpracování vstupních signálů a vydávání výstupních signálů (obr. 1.1). V tomto případě lze jako vstupní a výstupní signály použít analogové signály, jednotlivé digitální signály, digitální kódy, sekvence digitálních kódů. Uvnitř systému lze signály (nebo informace) ukládat, akumulovat, ale podstata toho se nemění. Pokud je systém digitální (a mikroprocesorové systémy jsou klasifikovány jako digitální), pak jsou vstupní analogové signály převedeny na sekvence vzorových kódů pomocí ADC a výstupní analogové signály jsou tvořeny ze sekvence vzorových kódů pomocí DAC. Zpracování a ukládání informací probíhá v digitální podobě.

    Charakteristickým rysem tradičního digitálního systému je, že algoritmy pro zpracování a ukládání informací v něm jsou přísně propojeny s obvody systému. To znamená, že změna těchto algoritmů je možná pouze změnou struktury systému, výměnou elektronických součástek obsažených v systému a/nebo propojení mezi nimi. Pokud například potřebujeme dodatečnou operaci sčítání, musíme do struktury systému přidat další sčítačku. Nebo pokud potřebujeme doplňkovou funkci ukládání kódu na jeden cyklus, pak musíme do struktury přidat ještě jeden registr. To je přirozeně prakticky nemožné za provozu, je nutný nový výrobní cyklus návrhu, výroby a odladění celého systému. To je důvod, proč je tradiční digitální systém často označován jako systém „tvrdé logiky“.

    Rýže. 1.1. Elektronický systém.

    Jakýkoli systém založený na „tvrdé logice“ je nutně specializovaný systém konfigurovaný výhradně pro jeden úkol nebo (méně často) pro několik blízkých, dříve známých úkolů. To má své nesporné výhody.

    Za prvé, specializovaný systém (na rozdíl od univerzálního) nikdy nemá hardwarovou redundanci, to znamená, že každý jeho prvek nutně pracuje na plnou kapacitu (samozřejmě pokud je tento systém správně navržen).

    Za druhé se jedná o specializovaný systém, který dokáže poskytnout nejvyšší možnou rychlost, neboť rychlost provádění algoritmů zpracování informací je v něm určena pouze rychlostí jednotlivých logických prvků a zvoleným schématem cest toku informací. Logické prvky totiž mají v daný okamžik vždy maximální rychlost.

    Velkou nevýhodou digitálního systému založeného na „tvrdé logice“ je ale zároveň to, že pro každý nový úkol musí být navržen a vyroben nově. Jedná se o dlouhý a nákladný proces, který vyžaduje vysoce kvalifikované umělce. A pokud se řešený problém náhle změní, musí být veškeré vybavení kompletně vyměněno. V našem rychle se měnícím světě je to docela plýtvání.

    Způsob, jak překonat tento nedostatek, je zcela zřejmý: je nutné vybudovat systém, který by se mohl snadno přizpůsobit jakékoli úloze, přestavovat z jednoho provozního algoritmu na druhý bez změny hardwaru. A pak bychom mohli nastavit ten či onen algoritmus tím, že do systému zadáme nějaké další řídicí informace, program systému (obr. 1.2). Pak se systém stane univerzálním, neboli programovatelným, ne rigidním, ale flexibilním. To je přesně to, co mikroprocesorový systém poskytuje.

    Rýže. 1.2. Programovatelný (aka univerzální) elektronický systém.

    Jakákoli univerzálnost ale nutně vede k redundanci. Řešení nejobtížnějšího problému totiž vyžaduje mnohem více peněz než řešení nejjednoduššího problému. Komplexnost univerzálního systému by proto měla být taková, aby zajistila řešení nejobtížnějšího problému a při řešení jednoduchého problému systém nebude pracovat na plný výkon, nevyužije všechny své zdroje. A čím jednodušší je problém řešit, tím větší je redundance a tím méně oprávněná se stává univerzálností. Redundance vede ke zvýšení nákladů na systém, snížení jeho spolehlivosti, zvýšení spotřeby energie atd.

    Všestrannost navíc zpravidla vede k výraznému snížení výkonu. Optimalizovat univerzální systém tak, aby každý nový úkol byl vyřešen co nejrychleji, je prostě nemožné. Obecné pravidlo zní: čím větší všestrannost, flexibilita, tím nižší výkon. Navíc pro univerzální systémy neexistují takové úlohy (ani ty nejjednodušší), které by řešily co nejvyšší rychlostí. Za všechno se musí platit.

    Lze tedy učinit následující závěr. Systémy založené na „tvrdé logice“ jsou dobré tam, kde se řešený problém dlouho nemění, kde je vyžadována nejvyšší rychlost, kde jsou algoritmy zpracování informací extrémně jednoduché. A univerzální, programovatelné systémy jsou dobré tam, kde se řešené úlohy často mění, kde vysoká rychlost není příliš důležitá, kde jsou algoritmy zpracování informací složité. To znamená, že každý systém je dobrý na svém místě.

    V posledních desetiletích však rychlost univerzálních (mikroprocesorových) systémů značně vzrostla (o několik řádů). Kromě toho velký objem výroby mikroobvodů pro tyto systémy vedl k prudkému snížení jejich nákladů. V důsledku toho se rozsah „tvrdých logických“ systémů prudce zúžil. Kromě toho se programovatelné systémy určené k řešení jednoho problému nebo několika souvisejících problémů vyvíjejí vysokým tempem. Úspěšně kombinují jak výhody „hard logic“ systémů, tak programovatelné systémy, poskytující kombinaci dostatečně vysokého výkonu a potřebné flexibility. Potlačování „tvrdé logiky“ tedy pokračuje.

    1.1. Co je to mikroprocesor?

    Jádrem každého mikroprocesorového systému je mikroprocesor nebo jednoduše procesor (z anglického procesor). Nejsprávnější je přeložit toto slovo do ruštiny jako „procesor“, protože je to mikroprocesor, který je uzlem, blokem, který provádí veškeré zpracování informací v mikroprocesorovém systému. Zbývající uzly vykonávají pouze pomocné funkce: ukládání informací (včetně řídicích informací, tedy programů), komunikace s externími zařízeními, komunikace s uživatelem atd. Procesor nahrazuje prakticky veškerou „tvrdou logiku“, která by byla potřeba v tradičním digitálním systému. Provádí aritmetické funkce (sčítání, násobení atd.), logické funkce (posun, porovnávání, maskování kódu atd.), dočasné ukládání kódů (v interních registrech), přenos kódů mezi uzly mikroprocesorového systému a mnoho dalšího. Počet takových elementárních operací prováděných procesorem může dosáhnout několika stovek. Procesor lze přirovnat k mozku systému.

    Zároveň je ale třeba mít na paměti, že procesor provádí všechny své operace sekvenčně, tedy postupně jednu po druhé. Samozřejmě existují procesory s paralelním prováděním některých operací, existují i ​​mikroprocesorové systémy, ve kterých na stejné úloze paralelně pracuje více procesorů, ale to jsou vzácné výjimky. Na jedné straně je nepochybnou výhodou sekvenční provádění operací, protože umožňuje použití pouze jednoho procesoru k provádění libovolných, nejsložitějších algoritmů zpracování informací. Ale na druhou stranu sekvenční provádění operací vede k tomu, že doba provádění algoritmu závisí na jeho složitosti. Jednoduché algoritmy běží rychleji než ty složité. To znamená, že mikroprocesorový systém je schopen dělat vše, ale nepracuje příliš rychle, protože všechny informační toky musí projít jediným uzlem – mikroprocesorem (obr. 1.3). V tradičním digitálním systému je snadné organizovat paralelní zpracování všech informačních toků, avšak za cenu zkomplikování okruhu.

    Rýže. 1.3. Informační toky v mikroprocesorovém systému.

    Mikroprocesor je tedy schopen provádět mnoho operací. Jak ale ví, jakou operaci musí v tuto chvíli provést? To je určeno řídicími informacemi, programem. Program je sada příkazů (instrukcí), tedy digitálních kódů, jejichž rozluštění bude procesor vědět, co má udělat. Program od začátku do konce sestavuje člověk, programátor a procesor se chová jako poslušný vykonavatel tohoto programu, nejeví žádnou iniciativu (pokud ovšem není v pořádku). Srovnávat procesor s mozkem proto není příliš správné. Je jen vykonavatelem algoritmu, který mu člověk předem sestavil. Jakákoli odchylka od tohoto algoritmu může být způsobena pouze špatnou funkcí procesoru nebo některých dalších součástí mikroprocesorového systému.

    Všechny instrukce vykonávané procesorem tvoří sadu instrukcí procesoru. Struktura a objem instrukční sady procesoru určují její rychlost, flexibilitu a snadnost použití. Celkem může mít procesor několik desítek až několik stovek instrukcí. Instrukční systém může být navržen pro úzký okruh úloh k řešení (pro specializované procesory) nebo pro co nejširší okruh úloh (pro univerzální procesory). Příkazové kódy mohou mít různý počet číslic (zabírají od jednoho do několika bajtů). Každý příkaz má svou vlastní dobu provádění, takže doba provádění celého programu závisí nejen na počtu příkazů v programu, ale také na tom, které příkazy jsou použity.

    Pro provádění instrukcí obsahuje struktura procesoru vnitřní registry, aritmetickou logickou jednotku (ALU, ALU - Arithmetic Logic Unit), multiplexery, vyrovnávací paměti, registry a další uzly. Činnost všech uzlů je synchronizována společným externím hodinovým signálem procesoru. To znamená, že procesor je poměrně složité digitální zařízení (obr. 1.4).

    Rýže. 1.4. Příklad struktury nejjednoduššího procesoru.

    Pro vývojáře mikroprocesorových systémů však nejsou informace o spletitosti vnitřní struktury procesoru příliš důležité. Vývojář musí procesor považovat za „černou skříňku“, která v reakci na vstupní a řídicí kódy provádí tu či onu operaci a produkuje výstupní signály. Vývojář potřebuje znát příkazový systém, provozní režimy procesoru a také pravidla pro interakci procesoru s vnějším světem nebo, jak se také říká, protokoly výměny informací. O vnitřní struktuře procesoru potřebujete vědět pouze to, co je nutné k výběru konkrétní instrukce, konkrétního režimu provozu.

    1.2. Struktura autobusového spojení

    Pro dosažení maximální univerzálnosti a zjednodušení protokolů výměny informací v mikroprocesorových systémech je využívána tzv. sběrnicová struktura komunikací mezi jednotlivými zařízeními zahrnutými v systému. Podstata sběrnicové struktury spojů je následující.

    Při klasické struktuře komunikací (obr. 1.5) jsou všechny signály a kódy mezi zařízeními přenášeny po samostatných komunikačních linkách. Každé zařízení, které vstoupí do systému, vysílá své signály a kódy nezávisle na ostatních zařízeních. Současně se v systému získává mnoho komunikačních linek a různých protokolů výměny informací.

    Se sběrnicovou strukturou komunikací (obr. 1.6) jsou všechny signály mezi zařízeními přenášeny po stejných komunikačních linkách, ale v různých časech (toto se nazývá multiplexní přenos). Navíc lze přenos po všech komunikačních linkách provádět v obou směrech (tzv. obousměrný přenos). V důsledku toho se výrazně snižuje počet komunikačních linek a zjednodušují se pravidla výměny (protokoly). Skupina komunikačních linek, kterými jsou přenášeny signály nebo kódy, se nazývá sběrnice.

    Je jasné, že se sběrnicovou strukturou spojů je snadné přenášet všechny informační toky správným směrem, například je lze procházet jedním procesorem, což je pro mikroprocesorový systém velmi důležité. Při sběrnicové struktuře spojení jsou však všechny informace přenášeny komunikačními linkami postupně v čase, což snižuje rychlost systému ve srovnání s klasickou strukturou spojení.

    Rýže. 1.6. Sběrnicová struktura spojů.

    Velkou výhodou sběrnicové struktury komunikací je, že všechna zařízení připojená ke sběrnici musí přijímat a vysílat informace podle stejných pravidel (protokoly pro výměnu informací na sběrnici). V souladu s tím musí být všechny uzly odpovědné za výměnu se sběrnicí v těchto zařízeních jednotné, jednotné.

    Významná nevýhoda struktury sběrnice souvisí se skutečností, že všechna zařízení jsou připojena ke každé komunikační lince paralelně. Jakákoli porucha jakéhokoli zařízení tedy může deaktivovat celý systém, pokud kazí komunikační linku. Ze stejného důvodu je ladění systému s komunikační strukturou založenou na sběrnici poměrně obtížné a obvykle vyžaduje speciální vybavení.

    Typická struktura mikroprocesorového systému je znázorněna na Obr. 1.10. Zahrnuje tři hlavní typy zařízení:

    PROCESOR;

    paměti, včetně paměti s náhodným přístupem (RAM, RAM - Random Access Memory) a paměti pouze pro čtení (ROM, ROM - Read Only Memory), která se používá k ukládání dat a programů;

    vstupní/výstupní zařízení (I/O - Input/Output Devices), která se používají pro propojení mikroprocesorového systému s externími zařízeními, pro příjem (vstup, čtení, čtení) vstupních signálů a vydávání (výstup, zápis, zápis) výstupních signálů.

    Rýže. 1.10. Struktura mikroprocesorového systému.

    Všechna zařízení mikroprocesorového systému jsou spojena společnou systémovou sběrnicí (nazývanou také systémová sběrnice nebo kanál). Páteř systému zahrnuje čtyři hlavní nízkoúrovňové sběrnice:

    adresová sběrnice (Address Bus);

    datová sběrnice (Data Bus);

    řídicí sběrnice (Control Bus);

    napájecí sběrnice (Power Bus).

    Adresová sběrnice slouží k určení adresy (čísla) zařízení, se kterým procesor právě komunikuje. Každému zařízení (kromě procesoru), každé paměťové buňce v mikroprocesorovém systému je přiřazena vlastní adresa. Když je kód nějaké adresy nastaven procesorem na adresové sběrnici, zařízení, kterému je tato adresa přiřazena, chápe, že si musí vyměňovat informace. Adresová sběrnice může být jednosměrná nebo obousměrná.

    Datová sběrnice je hlavní sběrnice, která se používá k přenosu informačních kódů mezi všemi zařízeními mikroprocesorového systému. Obvykle se na přenosu informací podílí procesor, který přenáší datový kód do nějakého zařízení nebo paměťové buňky, nebo přijímá datový kód z nějakého zařízení nebo paměťové buňky. Ale je také možné přenášet informace mezi zařízeními bez účasti procesoru. Datová sběrnice je vždy obousměrná.

    Řídicí sběrnice se na rozdíl od adresové a datové sběrnice skládá ze samostatných řídicích signálů. Každý z těchto signálů při výměně informací má svou vlastní funkci. Některé signály slouží k hradlování vysílaných nebo přijímaných dat (tj. určují časy, kdy je informační kód nastaven na datovou sběrnici). Další řídicí signály lze použít k potvrzení příjmu dat, resetování všech zařízení, hodinám všech zařízení atd. Řídicí sběrnicové linky mohou být jednosměrné nebo obousměrné.

    Nakonec je napájecí sběrnice navržena tak, aby neposílala informační signály, ale aby napájela systém. Skládá se z elektrického vedení a společného vodiče. Mikroprocesorový systém může mít jeden napájecí zdroj (obvykle +5 V) nebo více napájecích zdrojů (typicky také -5 V, +12 V a -12 V). Každé napájecí napětí má svou vlastní komunikační linku. Všechna zařízení jsou k těmto linkám připojena paralelně.

    Pokud je potřeba zadat vstupní kód (nebo vstupní signál) do mikroprocesorového systému, pak procesor přistupuje k požadovanému vstupnímu/výstupnímu zařízení přes adresovou sběrnici a přijímá vstupní informace přes datovou sběrnici. Je-li potřeba vyslat výstupní kód (nebo výstupní signál) z mikroprocesorového systému, pak procesor přistoupí k požadovanému vstupnímu/výstupnímu zařízení přes adresovou sběrnici a předá mu výstupní informace přes datovou sběrnici.

    Pokud musí informace projít složitým vícestupňovým zpracováním, může procesor ukládat mezivýsledky do systémové paměti RAM. Pro přístup k jakékoli paměťové buňce umístí procesor svou adresu na adresovou sběrnici a přenese do ní informační kód prostřednictvím datové sběrnice nebo z ní obdrží informační kód prostřednictvím datové sběrnice. V paměti (provozní i trvalé) jsou i řídicí kódy (příkazy programu vykonávané procesorem), které procesor načítá i na datové sběrnici s adresováním na adresové sběrnici. Paměť pouze pro čtení slouží především k uložení spouštěcího programu mikroprocesorového systému, který se spouští při každém zapnutí napájení. Informace do něj zadává výrobce jednou provždy.

    V mikroprocesorovém systému jsou tedy všechny informační kódy a příkazové kódy přenášeny po sběrnicích postupně. To určuje relativně nízkou rychlost mikroprocesorového systému. Obvykle to není omezeno ani rychlostí procesoru (ta je také velmi důležitá) a ne směnným kurzem na systémové sběrnici (páteř), ale právě sériovým charakterem přenosu informací po systémové sběrnici (páteř).

    Je důležité vzít v úvahu, že I/O zařízení jsou nejčastěji zařízení s „pevnou logikou“. K nim lze přiřadit některé funkce vykonávané mikroprocesorovým systémem. Proto má vývojář vždy možnost optimálním způsobem přerozdělit systémové funkce mezi hardwarové a softwarové implementace. Hardwarová implementace urychluje provádění funkce, ale postrádá flexibilitu. Implementace softwaru je mnohem pomalejší, ale poskytuje velkou flexibilitu. Hardwarová implementace funkcí zvyšuje cenu systému a jeho spotřebu, softwarová implementace nikoli. Nejčastěji se využívá kombinace hardwarových a softwarových funkcí.

    Někdy vstupně/výstupní zařízení obsahují procesor, to znamená, že představují malý specializovaný mikroprocesorový systém. To vám umožní přesunout některé softwarové funkce na vstupní/výstupní zařízení a snížit zátěž centrálního procesoru systému.

    1.3. Režimy činnosti mikroprocesorového systému

    Jak již bylo uvedeno, mikroprocesorový systém poskytuje velkou flexibilitu, lze jej přizpůsobit libovolnému úkolu. Tato flexibilita je dána především tím, že funkce prováděné systémem jsou určeny programem (software, software), který procesor vykonává. Hardware (hardware, hardware) zůstává nezměněn pro jakýkoli úkol. Zapsáním programu do paměti systému můžete mikroprocesorový systém přimět provádět jakoukoli úlohu podporovanou tímto hardwarem. Organizace sběrnicových připojení mikroprocesorového systému navíc umožňuje poměrně snadnou výměnu hardwarových modulů, například výměnu paměti za novou s větší velikostí nebo vyšší rychlostí, přidání nebo upgrade vstupních/výstupních zařízení a nakonec výměnu procesoru za silnější. To také umožňuje zvýšit flexibilitu systému, prodloužit jeho životnost při jakékoli změně požadavků na něj.

    Flexibilita mikroprocesorového systému je však dána nejen tím. K naladění na úkol pomáhá i volba provozního režimu systému, tedy režimu výměny informací po systémové dálnici (sběrnici).

    Téměř každý vyvinutý mikroprocesorový systém (včetně počítače) podporuje tři hlavní způsoby výměny po dálnici:

    výměna informací o programu;

    výměna pomocí přerušení (Interrupts);

    výměna pomocí přímého přístupu do paměti (DMA, DMA - Direct Memory Access).

    Softwarová výměna informací je hlavní v každém mikroprocesorovém systému. Je vždy poskytován, bez něj jsou jiné způsoby směny nemožné. V tomto režimu je procesor jediným vlastníkem (nebo masterem) systémové sběrnice. Všechny operace (cykly) výměny informací jsou v tomto případě iniciovány pouze procesorem, všechny jsou prováděny přísně v pořadí předepsaném spustitelným programem.

    Procesor čte (vybírá) kódy instrukcí z paměti a provádí je čtením dat z paměti nebo z I/O zařízení, jejich zpracováním, zápisem dat do paměti nebo jejich přenosem do I/O zařízení. Cesta procesoru programem může být lineární, cyklická, může obsahovat přechody (skoky), ale vždy je spojitá a zcela pod kontrolou procesoru. Procesor nereaguje na žádné vnější události, které nesouvisejí s programem (obr. 1.11). Všechny signály na dálnici jsou v tomto případě řízeny procesorem.

    Rýže. 1.11. Softwarová výměna informací.

    Výměna přerušení se používá, když mikroprocesorový systém potřebuje reagovat na nějakou vnější událost, na příchod vnějšího signálu. V případě počítače může být externí událostí například stisknutí klávesy na klávesnici nebo příjem datového paketu přes lokální síť. Počítač na to musí reagovat zobrazením znaku na obrazovce nebo přečtením a zpracováním paketu přijatého přes síť.

    Obecně můžete reakci na externí událost organizovat třemi různými způsoby:

    za pomoci neustálého softwarového řízení skutečnosti vzniku události (tzv. metoda flag polling neboli polling);

    s pomocí přerušení, tedy nuceného přesunu procesoru z provádění aktuálního programu do provádění akutně potřebného programu;

    pomocí přímého přístupu do paměti, tedy bez účasti procesoru při jeho odpojení od páteře systému.

    Tyto tři metody lze ilustrovat na následujícím jednoduchém příkladu. Řekněme, že si připravujete vlastní snídani tak, že na sporák dáte vařit mléko. Přirozeně je nutné reagovat na vaření mléka, a to naléhavě. Jak to zorganizovat? První způsob je neustálé sledování mléka, ale pak už nebudete moci dělat nic jiného. Správnější by bylo pravidelně se dívat na mléko a zároveň dělat něco jiného. Toto je programový režim dotazování na příznaky. Druhý způsob je nainstalovat na pánev s mlékem čidlo, které bude pípat, když se mléko uvaří, a klidně dělat další věci. Když uslyšíte signál, mléko vypnete. Pravda, možná budete muset nejdříve dokončit, co jste začali, takže vaše reakce bude pomalejší než v prvním případě. Konečně třetím způsobem je připojení senzoru na pánvi k ovládání sporáku tak, že když se mléko vaří, hořák se vypne bez vaší účasti (přirovnání s RAP zde však není příliš přesné, protože v tomto případě v době akce nejste odvedeni z práce).

    První případ s dotazováním příznaku je v mikroprocesorovém systému implementován neustálým čtením informací procesorem ze vstupního/výstupního zařízení spojeného s externím zařízením, na jehož chování je nutné urychleně reagovat.

    Ve druhém případě, v režimu přerušení, procesor po obdržení požadavku na přerušení od externího zařízení (často nazývaného IRQ - Interrupt ReQuest) ukončí provádění aktuální instrukce a pokračuje k obsluze přerušení. Po dokončení provádění programu služby přerušení se vrátí do přerušeného programu z místa, kde byl přerušen (obr. 1.12).

    Zde je důležité, že veškerou práci, stejně jako v případě programového režimu, vykonává procesor sám, vnější událost jej prostě dočasně odvádí. Odezva na událost externího přerušení je obecně pomalejší než v programovém režimu. Stejně jako v případě softwarové výměny jsou zde všechny signály na sběrnici vystaveny procesoru, to znamená, že sběrnici kompletně řídí. Pro obsluhu přerušení je někdy do systému zaveden speciální modul řadiče přerušení, který se však nepodílí na výměně informací. Jeho účelem je usnadnit procesoru zpracování externích požadavků na přerušení. Tento regulátor je obvykle programově řízen procesorem přes systémovou sběrnici.

    Rýže. 1.12. Přerušit službu.

    Přerušení samozřejmě nepřináší žádné zrychlení systému. Jeho použití umožňuje pouze odmítnout neustálé dotazování externího příznaku události a dočasně, dokud vnější událost nenastane, zaměstnávat procesor některými jinými úkoly.

    Přímý přístup do paměti (DMA, DMA) je režim, který se zásadně liší od dvou dříve uvažovaných režimů tím, že výměna přes systémovou sběrnici probíhá bez účasti procesoru. Externí zařízení vyžadující servis signalizuje procesoru, že je potřeba režim DMA, v reakci na to procesor ukončí provádění aktuální instrukce a odpojí se od všech sběrnic, čímž signalizuje požadujícímu zařízení, že může začít výměna režimu DMA.

    Operace DMA je omezena na přenos informací z I/O zařízení do paměti nebo z paměti do I/O zařízení. Po dokončení přenosu informace se procesor opět vrátí k přerušenému programu a pokračuje v něm od místa, kde byl přerušen (obr. 1.13). Je to podobné režimu služby přerušení, ale v tomto případě se procesor neúčastní výměny. Stejně jako v případě přerušení je reakce na vnější událost v DMA mnohem pomalejší než v programovém režimu.

    Je zřejmé, že v tomto případě je nutné zavést do systému přídavné zařízení (řadič PDP), které provede plnohodnotnou výměnu po systémové dálnici bez jakékoli účasti procesoru. Kromě toho musí zpracovatel nejprve informovat tohoto správce RAP, odkud má informace převzít a/nebo kam by měly být umístěny. Řadič RAP lze považovat za specializovaný procesor, který se liší tím, že se samotné výměny neúčastní, nepřijímá informace a nevydává je (obr. 1.14).

    Rýže. 1.13. Služba PDP.

    Rýže. 1.14. Informace proudí v režimu PDP.

    V zásadě může být řadič DMA součástí I/O zařízení, které potřebuje režim DMA, nebo dokonce součástí několika I/O zařízení. Teoreticky může výměna přímého přístupu do paměti poskytovat vyšší rychlost přenosu informací než softwarová výměna, protože procesor přenáší data pomaleji než vyhrazený řadič DMA. Ne vždy je však tato výhoda v praxi realizována. Směnný kurz v režimu DMA je obvykle omezen schopnostmi páteře. Kromě toho může potřeba programově nastavit režimy řadiče DMA negovat zisk z vyšší rychlosti přenosu dat v režimu DMA. Proto se režim PDP používá jen zřídka.

    Pokud již systém má nezávislý DMA řadič, pak to může v některých případech výrazně zjednodušit vybavení vstupních/výstupních zařízení pracujících v režimu DMA. To je možná jediná nesporná výhoda režimu RAP.

    1.4. Architektura mikroprocesorových systémů

    Doposud jsme uvažovali pouze o jednom typu architektury mikroprocesorových systémů – o architektuře se společnou, jedinou sběrnicí pro data a příkazy (single-bus, neboli Princeton, von Neumannova architektura). Podle toho má systém v tomto případě jednu společnou paměť, jak pro data, tak pro příkazy (obr. 1.15).

    Rýže. 1.15. Architektura se společnou datovou a příkazovou sběrnicí.

    Existuje však i alternativní typ architektury mikroprocesorového systému – architektura s oddělenými datovými a příkazovými sběrnicemi (dvousběrnicová, neboli Harvardská architektura). Tato architektura předpokládá, že systém má samostatnou paměť pro data a samostatnou paměť pro příkazy (obr. 1.16). Výměna procesoru s každým ze dvou typů paměti probíhá na vlastní sběrnici.

    Společná architektura sběrnice je mnohem běžnější a používá se například v osobních počítačích a složitých mikropočítačích. Architektura dělené sběrnice se používá hlavně v jednočipových mikrokontrolérech.

    Zvažte některé výhody a nevýhody obou architektonických řešení.

    Architektura se společnou sběrnicí (Princeton, Von Neumann) je jednodušší, nevyžaduje od procesoru souběžnou obsluhu dvou sběrnic, řízení ústředny na dvou sběrnicích najednou. Přítomnost jediné paměti dat a příkazů umožňuje flexibilně rozdělovat její objem mezi data a kódy příkazů. V některých případech například potřebujete velký a složitý program a nemusíte ukládat příliš mnoho dat do paměti. V jiných případech je naopak vyžadováno, aby byl program jednoduchý, ale vyžaduje se velké množství uložených dat. Realokace paměti nezpůsobuje žádné problémy, hlavní je, že program a data do sebe zapadají v systémové paměti. V systémech s takovou architekturou je paměť zpravidla poměrně velká (až desítky a stovky megabajtů). To vám umožní řešit nejsložitější problémy.

    Rýže. 1.16. Architektura s oddělenými datovými a příkazovými sběrnicemi.

    Architektura s oddělenými datovými a příkazovými sběrnicemi je složitější, nutí procesor pracovat současně se dvěma kódovými toky, obsluhovat ústřednu na dvou sběrnicích současně. Program lze umístit pouze do paměti instrukcí, data lze umístit pouze do datové paměti. Taková úzká specializace omezuje rozsah úloh řešených systémem, protože neposkytuje možnost flexibilní redistribuce paměti. Datová paměť a paměť instrukcí v tomto případě nejsou příliš velké, takže použití systémů s touto architekturou je obvykle omezeno na nepříliš složité úlohy.

    Jaká je výhoda dvousběrnicové (Harvardské) architektury? Především v rychlosti.

    Faktem je, že s jedinou příkazovou a datovou sběrnicí je procesor nucen přijímat data (z paměti nebo I/O zařízení) a vysílat data (do paměti nebo do I/O zařízení) také na této sběrnici. jako příkazy čtení z paměti. Tyto přenosy kódů po kmeni přirozeně nemohou probíhat současně, musí se provádět postupně. Moderní procesory jsou schopny časově kombinovat provádění příkazů a výměnné cykly na systémové sběrnici. Použití technologií potrubí a rychlé vyrovnávací paměti jim umožňuje urychlit proces interakce s relativně pomalou systémovou pamětí. Zvýšení taktovací frekvence a zlepšení struktury procesorů umožňuje zkrátit dobu provádění příkazů. Další zvýšení výkonu systému je ale možné pouze kombinací přenosu dat a čtení příkazů, tedy přechodem na dvousběrnicovou architekturu.

    V případě dvousběrnicové architektury může být ústředna na obou sběrnicích nezávislá, časově paralelní. Sběrnicové struktury (počet bitů kódu adresy a datového kódu, pořadí a rychlost výměny informací atd.) lze tedy optimálně zvolit pro úlohu, kterou každá sběrnice řeší. Proto, za stejných podmínek, přechod na dvousběrnicovou architekturu urychluje provoz mikroprocesorového systému, i když vyžaduje dodatečné náklady na hardware a komplikuje strukturu procesoru. Datová paměť má v tomto případě vlastní distribuci adres a paměť instrukcí má vlastní.

    Nejjednodušší způsob, jak realizovat výhody dvousběrnicové architektury, je v rámci jediného čipu. V tomto případě lze také výrazně snížit dopad nedostatků této architektury. Jeho hlavní uplatnění je proto v mikrokontrolérech, které nejsou vyžadovány pro řešení příliš složitých problémů, ale potřebují maximální výkon při dané taktovací frekvenci.

    1.5. Typy mikroprocesorových systémů

    Rozsah použití mikroprocesorové techniky je nyní velmi široký, požadavky na mikroprocesorové systémy jsou velmi rozdílné. Proto bylo vytvořeno několik typů mikroprocesorových systémů, které se liší výkonem, všestranností, rychlostí a strukturálními rozdíly. Hlavní typy jsou:

    mikrokontroléry - nejjednodušší typ mikroprocesorových systémů, ve kterých jsou všechny nebo většina uzlů systému vyrobeny ve formě jednoho mikroobvodu;

    ovladače - řídicí mikroprocesorové systémy, vyrobené ve formě samostatných modulů;

    mikropočítače - výkonnější mikroprocesorové systémy s pokročilými prostředky pro propojení s externími zařízeními.

    počítače (včetně osobních) jsou nejvýkonnější a nejuniverzálnější mikroprocesorové systémy.

    Někdy je obtížné stanovit jasnou hranici mezi těmito typy. Rychlost všech typů mikroprocesorů neustále roste a není neobvyklé, že nový mikrokontrolér je rychlejší než například zastaralý osobní počítač. Ale stále existují některé zásadní rozdíly.

    Mikrokontroléry jsou univerzální zařízení, která se téměř vždy nepoužívají sama o sobě, ale jako součást složitějších zařízení, včetně ovladačů. Systémová sběrnice mikrokontroléru je před uživatelem skryta uvnitř čipu. Možnosti připojení externích zařízení k mikrokontroléru jsou omezené. Zařízení založená na mikrokontrolérech jsou obvykle navržena tak, aby řešila jeden problém.

    Kontroléry jsou zpravidla vytvářeny pro řešení konkrétní úlohy nebo skupiny souvisejících úloh. Obvykle nemají možnost připojit další uzly a zařízení, například velkou paměť, I/O zařízení. Jejich systémová sběrnice je uživateli nejčastěji nedostupná. Struktura ovladače je jednoduchá a optimalizovaná pro maximální výkon. Ve většině případů jsou spustitelné programy uloženy v trvalé paměti a nemění se. Konstrukčně jsou regulátory vyráběny v jednodeskovém provedení.

    Mikropočítače se od řadičů liší otevřenější strukturou, umožňují připojení několika dalších zařízení na systémovou sběrnici. Mikropočítače jsou vyráběny v rámu, skříni se systémovými konektory, které má uživatel k dispozici. Mikropočítače mohou mít prostředky pro ukládání informací na magnetická média (například magnetické disky) a poměrně pokročilé prostředky komunikace s uživatelem (video monitor, klávesnice). Mikropočítače jsou určeny pro širokou škálu úloh, ale na rozdíl od řadičů se musí pro každou novou úlohu nově přizpůsobovat. Programy spouštěné mikropočítačem lze snadno měnit.

    Konečně, počítače a nejběžnější z nich - osobní počítače - jsou nejuniverzálnějšími mikroprocesorovými systémy. Nezbytně poskytují možnost modernizace a také dostatek příležitostí pro připojení nových zařízení. Jejich systémová sběrnice je samozřejmě uživateli k dispozici. Kromě toho lze k počítači připojit externí zařízení prostřednictvím několika vestavěných komunikačních portů (počet portů někdy dosahuje 10). Počítač má vždy vysoce rozvinuté prostředky komunikace s uživatelem, prostředky pro dlouhodobé uchovávání velkých objemů informací, prostředky komunikace s ostatními počítači prostřednictvím informačních sítí. Oblasti použití počítačů mohou být velmi odlišné: matematické výpočty, údržba přístupu k databázím, řízení provozu složitých elektronických systémů, počítačové hry, příprava dokumentů atd.

    Pomocí každého z uvedených typů mikroprocesorových systémů lze v zásadě provádět jakýkoli úkol. Při volbě typu je ale nutné se co nejvíce vyhnout redundanci a zajistit flexibilitu systému nezbytnou pro daný úkol.

    V současné době se při vývoji nových mikroprocesorových systémů nejčastěji volí cesta využití mikrokontrolérů (cca v 80 % případů). Zároveň se mikrokontroléry používají buď samostatně, s minimálním dodatečným vybavením, nebo jako součást složitějších kontrolérů s pokročilými vstupně/výstupními možnostmi.

    Klasické mikroprocesorové systémy založené na mikroprocesorových čipech a mikroprocesorových sadách jsou dnes již poměrně vzácné, především kvůli složitosti vývoje a odlaďování těchto systémů. Tento typ mikroprocesorových systémů se volí především tam, kde mikrokontroléry nedokážou poskytnout požadované vlastnosti.

    Konečně přední místo nyní zaujímají mikroprocesorové systémy založené na osobním počítači. V tomto případě stačí vývojáři vybavit osobní počítač dalšími zařízeními rozhraní a jádro mikroprocesorového systému je již připraveno. Osobní počítač má pokročilé programovací nástroje, což výrazně zjednodušuje úkol vývojáře. Kromě toho může poskytnout nejsložitější algoritmy zpracování informací. Hlavními nevýhodami osobního počítače jsou velké rozměry skříně a hardwarová redundance pro jednoduché úkony. Nevýhodou je neschopnost většiny osobních počítačů pracovat ve ztížených podmínkách (prašnost, vysoká vlhkost, vibrace, vysoké teploty atd.). Vyrábějí se však i speciální osobní počítače, přizpůsobené různým provozním podmínkám.

    1.1 Definice mikroprocesoru

    Počátkem 70. let vedly pokroky v technologii mikroelektroniky k vytvoření nové elementární základny elektroniky - mikroelektronických velkých integrovaných obvodů (LSI) (modul 1 kapitola 1.6.3). Podle stupně integrace (počet aktivních prvků: diod a tranzistorů) se integrované obvody (IO) konvenčně dělí na IO s nízkým stupněm integrace - do 100 aktivních prvků, průměrný stupeň integrace (SIS) - až 1000 aktivních prvků, LSI - přes 1000 aktivních prvků, VLSI - přes 10 000 položek. Vydání nového LSI na současné úrovni automatizace designu je velmi složitý a nákladný proces vzhledem k velkým počátečním nákladům na vývoj jeho logické struktury a topologie, výrobu fotomasek a technologickou předprodukci. To je 0,5-1 rok práce velkého týmu. Proto je výroba LSI ekonomicky opodstatněná, když se vyrábí, odhadem na desítky či stovky tisíc kusů ročně. Je téměř nemožné vyrobit specializované LSI pro každou konkrétní aplikaci. V důsledku hledání oblastí hromadného použití mikroobvodů s vysokou úrovní integrace jejich vývojáři navrhli myšlenku vytvoření jednoho univerzálního LSI nebo určité sady LSI, jejichž specializace pro každou konkrétní aplikaci není dosažena. pomocí obvodů, ale pomocí softwaru. Tak se objevily standardní univerzální prvky - mikroprocesor LSI se strukturou podobnou počítači.

    Mikroprocesor (MP) je procesní a řídicí zařízení schopné zpracovávat informace, přijímat rozhodnutí, vkládat a vydávat informace pod programovým řízením a je vytvořeno ve formě jednoho nebo více LSI.


    1.2 Technologie výroby MP LSI

    Existují dva typy výrobní technologie LSI: bipolární - založená na použití bipolárních tranzistorů a MOS (kov - oxid - polovodič) - technologie založená na použití tranzistorů s efektem pole.

    LSI vyrobené pomocí bipolární technologie se liší ve schématických způsobech implementace. V zásadě se používá tranzistor-tranzistorová logika se Schottkyho diodami (TTLSh) a emitorově vázaná logika (ECL). Logika TTLSH využívá bipolární tranzistory n-p-n, doplněné Schottkyho diodami (DSh). DS je usměrňovací kontakt na rozhraní Al-nSi kov-polovodič. V kovu a křemíku jsou většinovými nosiči stejného typu elektrony a neexistují žádné menšinové nosiče. LH se otevírají při U=0,1-0,3 V a mají strmou charakteristiku proud-napětí. Jsou zapojeny paralelně s kolektorovým přechodem npn tranzistoru a tvoří Schottkyho tranzistor, vyrobený v jediném technologickém procesu. Použití LH výrazně zvyšuje rychlost tranzistoru, protože je eliminováno saturování kolektorového přechodu a nedochází v něm k absorpci nábojů.

    První generace

    4004 - 1971

    Historie MP začala v roce 1971, kdy INTEL (jeho název pochází ze slov Integrated Electronics) uvedl na trh první MP i4004, vyrobený technologií p-MOS s rozlišením 10 mikronů. Měl šířku dat 4 bity, schopnost adresovat 640 bajtů paměti, taktovací frekvenci f=108 kHz a výkon 60 kop/s. Takový procesor by již mohl fungovat jako výpočetní jádro kalkulačky. Obsahoval 2300 tranzistorů.

    8008 - 1972

    V roce 1972 se objevil první vylepšený osmibitový MP i8008 vyrobený rovněž technologií p-MOS. Byl umístěn v 16pinovém obalu. Provedeno 48 příkazů, adresováno 16 Kb paměti, f=800 KHz. Měl 7 vnitřních 8bitových registrů a 7úrovňový interní zásobník.

    Druhá generace

    8080 - 1974

    V roce 1974 se objevil i8080 MP vyrobený technologií n-MOS s rozlišením 6 mikronů, což umožnilo umístit do krystalu 6000 tranzistorů. Procesor vyžadoval tři zdroje (+5, +12, -5 V) a složitou push-pull synchronizaci na frekvenci 2 MHz. Jeho úplný analog ruské výroby KR580VM80 je podrobně popsán výše. Zároveň Motorola vydala M6800 MP, který se od i8080 lišil tím, že měl jedno napájecí napětí, výkonnější přerušovací systém, obsahoval dvě baterie, ale neměl RON. Data ke zpracování byla načtena z externí paměti a poté tam vrácena. Paměťové příkazy jsou kratší a jednodušší než u BM80, ale přenos trvá déle. Ve vnitřní struktuře M6800 nebyly dosud odhaleny žádné výhody. Zbývají dvě konkurenční rodiny Intel a Motorola. Většinu světového i ruského trhu však zabírají produkty Intel.

    Dalším byl procesor i8085 (f=5 MHz, 6500 tranzistorů, 370 kop/s, technologie 3 mikrony). Zachoval si oblíbenou architekturu registrů i8080 a softwarovou kompatibilitu, ale přidal port sériového rozhraní, generátor hodin a systémový řadič. Napájecí napětí je jedno: + 5V.

    Z80 - 1977

    Někteří z vývojářů Intelu, kteří nesouhlasili s řadou manažerských rozhodnutí, se přestěhovali do Zilog a v roce 1977 vytvořili Z80 MP (ruský analog K1810VM80). Tento MP byl použit v britském počítači "Spectrum" společnosti Sincler, který byl považován za nejlepšího zástupce 8bitového MP 2. generace.

    třetí generace

    8086 - 1978

    Tato generace procesorů Intel MP položila základ pro moderní osobní počítače. V roce 1978 byl vydán 16bitový procesor i8086. Jeho data: f=5 MHz, výkon 330 kop/s, technologie 3µm, 29k tranzistorů. Začalo používat segmentaci paměti a nové schéma kódování instrukcí.

    8088 - 1979

    Příliš komplikovaná a drahá výrobní technologie tohoto procesoru však přiměla Intel vydat od roku 1979 poněkud zjednodušenou verzi s názvem i8088, jejíž datová sběrnice byla pouze 8 bitů. Právě tento procesor si IBM vybrala pro svůj první osobní počítač, model IBM PC / XT.

    80186 - 1980

    V roce 1980 byl vytvořen MP i80186. Oproti i8086 navíc obsahuje dva nezávislé vysokorychlostní kanály DMA, programovatelný řadič přerušení a generují se signály pro výběr 7 periferních zařízení. K dispozici je 16 vnitřních programovatelných časovačů, dva z nich mají výstup ven, zbytek může vytvářet časové prodlevy. Fronta příkazů - 6 bajtů (v i8088 - 4 bajty). Existuje 10 dalších příkazů, které urychlují provádění programů ve srovnání s i8086. Tento procesor se však v počítačích příliš nepoužíval.

    čtvrté generace

    80286 - 1982

    V roce 1982 se objevil procesor i80286, který byl použit společností IBM v počítači PC / AT (AT - Advanced Technology - slibná technologie). Měl již 134 tisíc tranzistorů (technologie 1,5 mikronu) a adresoval až 16 MB fyzické paměti. Mohlo by to fungovat ve dvou režimech: skutečném a chráněném. V reálném režimu funguje i80286 jako i8086 se zvýšeným výkonem (f až 20 MHz). Paměť je považována za určitý počet segmentů, z nichž každý obsahuje 2 16 bajtů. Segmenty začínají na adresách, které jsou násobky 16 (nižší 4 adresové bity jsou vždy 0). Segmenty lze v programech nastavit libovolně. Adresy segmentů jsou uloženy v registrech segmentů. V chráněném režimu se adresa horního segmentu nevypočítává přidáním 4 úvodních nul, ale získává se z tabulek indexovaných pomocí registrů segmentů. To umožňuje pracovat s velkým množstvím informací, jejichž objem přesahuje množství fyzické paměti. Pokud je fyzická paměť plně načtena, pak se data, která se nevejdou, nacházejí na pevném disku. Kromě toho může chráněný režim podporovat multitasking. Pro tento účel byl vytvořen operační systém OS/2.

    V tomto režimu může procesor provádět různé programy v přidělených časových slotech přidělených každému z programů. Uživateli se zdá, že programy běží současně.

    Pátá generace

    80386 - 1985

    Jeho prvním zástupcem byl 32bitový MP i80386DX obsahující 275 tisíc tranzistorů, technologii 1,5 mikronu, 4 GB adresovatelné fyzické paměti. Jsou nové registry, nové 32bitové operace.

    Aby mohl MP spouštět programy napsané pro předchozí generace, má tři provozní režimy.

    Po resetování nebo přivedení napájecího napětí přejde MP do reálného režimu a funguje jako velmi rychlý i8086, ale na žádost programátora s 32 bity. Všechny akce: adresování, přístup do paměti, obsluha přerušení se provádějí jako v i8086. Druhý režim - chráněný, se aktivuje načtením určitého stavového slova do řídicího registru. V tomto případě MP pracuje jako i80286 v chráněném režimu. Implementován multitasking, ochrana paměti pomocí čtyřúrovňového mechanismu oprávnění a jeho stránkování. MP funguje jako více virtuálních procesorů se sdílenou pamětí, z nichž každý může být v režimech i8086, i80286 nebo i80386.

    Ve třetím, virtuálním režimu, se naplno projeví výhody tohoto procesoru. Zde je plně využito všech 32 bitů adresy a je možné pracovat s virtuální pamětí. Teprve s příchodem i80386 začalo rychlé zavádění Windows, protože výkon procesorů předchozích generací byl pro Windows nedostatečný.

    80386SX - 1988

    V roce 1988 se objevil procesor i80386SX, který vyplnil mezeru mezi již zastaralým procesorem i80286 a velmi drahým procesorem i80386DX. Výměna zastaralého procesoru i80286 na základní desce za i80386DX není možná kvůli jeho větší šířce datové sběrnice. Procesor i80386SX takovou náhradu umožňuje. Interní procesy v i80386SX jsou stejné jako v i80386DX, ale komunikace s „externím prostředím“ probíhá pouze přes 16bitovou sběrnici. Komunikace díky tomu probíhá ve 2 krocích po 16 bitech, což zpomaluje práci asi o 10 %. Dalším omezením procesoru i80386SX je 24bitová adresová sběrnice, která omezuje velikost paměti RAM na 16 MB. Po recenzovaném MP i80386SX Intel vytvořil a uvedl na trh procesor i80386SL s taktovací frekvencí 33 MHz, postavený na CMOS strukturách, které poskytují minimální spotřebu energie. Díky tomu se začaly vyvíjet bateriově napájené osobní počítače, jako jsou Notebooky.

    šesté generace

    80486 - 1989

    To se objevilo v roce 1989 jako MP i80486DX. Oproti MP předchozích generací nepředstavuje tento MP něco zásadně nového, v jednom čipu se v něm kopíroval procesor i80386, koprocesor i80387 a primární cache s kapacitou 8 KB.

    Poznámka.

    Navzdory 32bitové architektuře zděděné z i80386 MP, v důsledku kombinace procesoru, koprocesoru a mezipaměti na jednom čipu a dalších vylepšení, i80486 při stejné taktovací frekvenci provádí výpočty 3-4krát rychleji než jeho předchůdce.

    Intel tento procesor neustále vylepšoval a byly vydány i80486DX2 MP, u kterého je externí taktovací frekvence zdvojnásobena vlastním quartzem mikroobvodu, a i80486DX4, u kterého je frekvence násobena 3. V těchto procesorech jsou všechny instrukce, které nevyžadují přenos dat na externí sběrnici, prováděné 2-3x rychleji. Jen čas strávený přístupem k RAM a pomalejší periferie snižují rychlost práce. Kromě toho se v i80486DX4 zvýšila vyrovnávací paměť až na 16 KB.

    Generace Pentií

    Pentium P5 - 1993

    V roce 1993 se objevil i80586, který dostal jméno Pentium (P5). Jednalo se o 32bitový procesor s externí taktovací frekvencí 66 MHz, postavený pomocí submikronové technologie se strukturou CMOS (0,8 mikronu) obsahující 3,1 milionu tranzistorů. Pentium má dva 32bitové adresní prostory (logický a fyzický), 64bitovou datovou sběrnici a 2 paralelně pracující potrubí pro zpracování instrukcí. Současně se provádějí dvě sady příkazů. 16 KB cache je rozdělena na 8 KB instrukční cache a 8 KB datovou cache. Obsahuje novou jednotku s pohyblivou řádovou čárkou, která provádí operace 4-8krát rychleji než i80486.

    P54, Pentium Pro - 1994

    V roce 1994 se objevila druhá generace procesorů Pentium (P54). S téměř stejným počtem tranzistorů byly vyrobeny technologií 0,6 mikronu, což umožnilo snížit spotřebu energie. Napájecí napětí sníženo na 3,3 V. Bylo použito interní násobení frekvence. V tomto případě obvody rozhraní externí systémové sběrnice pracují na frekvencích 50, 60, 66 MHz, zatímco jádro procesoru pracuje na vyšší frekvenci (75, 90, 100, 120, 133, 150, 166 a 200 MHz). Frekvenční oddělení umožňuje realizovat výdobytky výrobní technologie MP, které výrazně předčí možnosti zvýšení výkonu paměti. Násobící faktor (1,5;2;2,5;3) se nastavuje kombinací úrovní signálu na dvou řídicích vstupech. Procesory s různými hodnotami f, uvedenými v označení na pouzdře, jsou vyráběny podle stejných šablon. Frekvenční značení se aplikuje po přísných screeningových testech. V závislosti na frekvenci, při které MP zcela prošel výstupní kontrolou.

    Paralelně s Pentiem se vyvíjel i procesor Pentium Pro. Jeho hlavním rozdílem v principu organizace výpočtu je dynamické provádění. V tomto případě nemusí být uvnitř procesoru instrukce prováděny v pořadí, které program předpokládá. To zlepšuje výkon bez zvýšení f. Kromě toho byla pro zvýšení celkové propustnosti přijata architektura duální nezávislé sběrnice. Jedna sběrnice je systémová sběrnice, používá se ke komunikaci s jádrem hlavní paměti a zařízeními rozhraní. Druhý je určen výhradně pro výměnu se sekundární cache 256 KB (512 KB) integrovanou v pouzdru MP. Pro snížení zahřívání krystalu je možné okamžitě snížit spotřebu energie přibližně 10krát zastavením taktování většiny procesorových uzlů. Do tohoto stavu se MP přepne signálem z vnitřního teplotního čidla a také provedením příkazu HALT.

    Pentium MMX - 1997

    V roce 1997 byl vydán procesor Pentium MMX (P55C). Technologie MMX představuje nejvýznamnější vylepšení architektury procesorů Intel od uvedení i80386. Krystal Pentium MMX má plochu o 50 % větší než klasické Pentium. Vyrovnávací obvody výstupních obvodů mikroobvodu pracují při napětí 3,3 V, vnitřní obvod je 2,8 V pro stolní a 2,45 V pro modely přenosných počítačů.

    Technologie MMX je zaměřena na řešení multimediálních problémů, které vyžadují intenzivní výpočty přes celá čísla. Podobné úlohy řeší herní, komunikační, výukové a další programy, které využívají grafiku, zvuk, trojrozměrný obraz, animaci atd.

    Podstatou technologie MMX je, že se v procesoru objeví 8 nových virtuálních 64bitových registrů a 57 nových instrukcí pro řešení multimediálních problémů. Osm nových registrů je virtuálních, protože tyto registry jsou fyzicky koprocesorové registry. Je tak zachována kompatibilita s předchozími generacemi programů.

    Pentium II - 1997

    V květnu 1997 se na trhu objevilo Pentium II vyrobené technologií 0,3 mikronu. Jde o mírně okleštěnou verzi jádra Pentium Pro s vyšším vnitřním taktem, ve kterém byla zavedena podpora MMX. Tento procesor využívá novou technologii - čip s jádrem procesoru a sadou statických paměťových čipů a přídavné obvody, které implementují sekundární cache, jsou umístěny na malé desce s plošnými spoji - cartridge. Všechny krystaly jsou kryty společným víčkem a jsou chlazeny speciálním ventilátorem.

    Vnitřní taktovací frekvence je 233 266 300 MHz, vnější zůstává 66,6 MHz.

    Procesor má další režimy nízké spotřeby:
    1. Spánek ("režim spánku"), kdy nedochází k taktování svých vnitřních uzlů, kromě obvodu násobiče frekvence.
    2. Hluboký spánek ("Hluboký spánek"). Vyskytuje se, když jsou odstraněny externí hodiny. V tomto režimu procesor nevykonává žádné funkce a spotřebovaný proud je určen pouze svodovými proudy.

    Pentium III - 1999

    V roce 1999 se objevil 600 MHz procesor Pentium III obsahující 9,5 milionu tranzistorů. Podle Intelu vám tento procesor umožní přijímat zvukové a obrazové informace z internetu a také trojrozměrnou grafiku té nejvyšší kvality. Další vývoj technologie výroby MP půjde podle prognóz výrobních podniků směrem ke zvyšování hustoty tranzistorů na čipu, zvyšování počtu metalizačních vrstev a zvyšování taktovacího kmitočtu spolu s poklesem napájecího napětí resp. specifická (na tranzistor) spotřebovaná elektrická a uvolněná tepelná energie. V současné době se vyrábí procesor Pentium IV, jehož taktovací frekvence dosáhla 3000 MHz.

    Technologický limit lineárních rozměrů tranzistorů na čipu je kvůli fyzikálním omezením asi 0,05 mikronu. Na cestě k další minimalizaci jsou kromě fyzických omezení i ta ekonomická. S každou další generací čipů se náklady na technologii zdvojnásobí. V roce 1986 byl i80386 vyroben v továrně za 200 milionů dolarů. Továrna Intelu má v současnosti hodnotu 2,4 miliardy dolarů. Závod vyrábějící čipy využívající technologii 0,25 mikronu proto bude stát 10 miliard dolarů. Doba výroby MP se prodlužuje. Procesor Pentium je tedy vyroben za 6 měsíců a novější Pentium Pro - za 9 měsíců. Generace MP se mění každé 2-3 roky. S každou generací se lineární rozměry prvků zmenšují asi 1,5krát. V roce 2000 byla šířka vodičů 0,2 µm a v roce 2006 dosáhla 0,1 µm, taktovací frekvence již přesáhla 2000 MHz.

    Výše uvedené stručné údaje o vývoji MP na příkladu produktů Intel ukazují, jak rychle se výroba MP vyvíjí a zlepšuje. Žádné jiné odvětví technologie se nevyvíjí tak rychle. Gordon Moore, zakladatel Intelu, to vyjádřil velmi obrazně: „Kdyby se automobilový průmysl rozvíjel rychlostí polovodičového průmyslu, pak by dnes Rolls-Royce stál 3 dolary, mohl ujet půl milionu mil na jeden galon benzínu a bylo by levnější to vyhodit, než platit za parkování.

    V této recenzi jsou brány v úvahu pouze procesory Intel. Nutno podotknout, že podobnou cestou vývoje prochází i technologie dalších společností vyrábějících procesory, jako jsou AMD, Cyrix, Motorola a další. Ale vedoucím „trendsetterem“ v tomto boji o kvalitu zůstává Intel.


    9 Mikroprocesory a mikropočítače v informačních a měřicích zařízeních

    9.1 Hlavní funkce MP v měřicím zařízení

    Nejčastěji používané vestavěné MP a MK. Výrazně zlepšují vlastnosti zařízení (přesnost, spolehlivost, účinnost atd.). Použití vestavěného MP umožňuje přeměnit jednofunkční zařízení na multifunkční spojením několika funkčních celků společně se spínacími zařízeními v jeden celek. MP dělá takové zařízení programovatelné.

    MP zlepšuje přesnost měřicího zařízení automatickou kompenzací nulového nastavení před zahájením měření, automatickým prováděním kalibrace (samokalibrace, provádění samokontroly) a automatickým statistickým zpracováním výsledků měření.

    MT rozšiřuje možnosti měření přístrojů pomocí nepřímých a agregovaných měření. V nepřímých měřeních se neměří požadovaný parametr, ale jiné parametry, s nimiž požadovaný souvisí funkční závislostí. Například výkon lze určit měřením napětí a odporu a vypočítat pomocí vzorce P=U 2 /R. Při použití metody kumulativních měření se současně měří několik stejnojmenných fyzikálních veličin, u kterých se řešením soustavy rovnic zjišťují požadované hodnoty veličin. V tomto případě je MT naprogramován tak, aby implementoval nezbytné analytické závislosti.


    9.2 Příklady použití MP v měřicích zařízeních

    9.2.1 Mikroprocesorový digitální frekvenční čítač

    Pro měření vysokých frekvencí se používá přímá metoda, při které se volí určitý časový interval a počítá se počet period zkoumaného signálu. Přesnost měření se zvyšuje s rostoucím počtem period N. Při nízkých frekvencích by to vyžadovalo příliš mnoho času. Proto se u nízkých frekvencí používá nepřímá metoda. Šířka dočasného hradla je zvolena jako násobek periody sledovaného signálu qTx, hradlo je naplněno pulzy generátoru známé frekvence Fsch a je počítán počet pulzů n. Obě metody jsou znázorněny na obrázku 9-1


    Obr.9-1 Časové diagramy procesu měření frekvence.

    Tady:
    a - měřený signál;
    b - signál převedený na sekvenci impulsů;
    c - časový interval pro nepřímé měření;
    d - plnící impulsy při nepřímém měření;
    e - časový interval pro přímé měření;
    e - shluk pulzů při přímém měření.

    Na obrázku 9-2 je blokové schéma zařízení pro měření frekvence signálu přímými a nepřímými metodami pod řízením MP, ve kterém jsou vyznačeny body odpovídající časovým diagramům.


    Obr.9-2

    přímou metodou

    Když A 0 = 1, je implementována přímá metoda měření. Multiplexory vybírají vstupy x 1 . MP vytvoří dočasné hradlo s dobou trvání T. Pokud čítač napočítal N impulsů v tomto intervalu, pak T=nT x, nebo T=n/F x, tedy F x =n/T.

    nepřímá metoda

    Když A 0 = 0, je vybráno x 0 vstupů multiplexerů a je implementována metoda nepřímého měření. Dočasný hradlový tvarovač obsahuje frekvenční dělič s převodním faktorem q=2 k, kde k je zvoleno tak, aby se získal počet impulsů (graf d), který poskytuje požadovanou přesnost měření F x . Do intervalu qT x se vejde n impulsů qT x =nT střední nebo q/F x =n/F střední, takže F x =qF střední /n.


    9.2.2 Počítadlo širokého rozsahu

    Používá heterodynní metodu pro snížení frekvence měřeného signálu. Smícháte-li měřený signál F meas se signálem lokálního oscilátoru (pomocného generátoru) F 1 , výsledkem jsou signály s frekvencemi F meas +nF 1 a F meas -nF 1 . Pro snížení frekvence se používá varianta F meas -nF 1 =F pr, kde F pr je mezifrekvence přidělená dalším blokem.


    Obr.9-3

    PSCH - programovatelný frekvenční syntezátor (lokální oscilátor).
    UPCH - mezifrekvenční zesilovač.
    TsCH - digitální měřič frekvence typ obr.9-2

    Během provozu MP změní F synth na hodnotu F "synth, při které

    F meas -F "synth \u003d F ave. Potom F meas \u003d F pr + nF "synth.


    9.2.3 Měřicí generátor s MP řízením

    Nejčastěji se používají funkční generátory, které generují signály různých tvarů (trojúhelníkové, obdélníkové, sinusové a další) s normalizovanými metrologickými charakteristikami. Frekvenční rozsah takových generátorů je 10 -6 Hz - 50 * 10 6 Hz. Obrázek 9-4 ukazuje blokové schéma takového generátoru.


    Obr.9-4

    Zde je BS programovatelný blok čítačů, GTI je programovatelný generátor hodin.

    Poté, co operátor zadá funkci f(t) pro generování signálu stejného tvaru, MP vypočítá vzorky f(t ​​i) na intervalu jedné periody s danou vzorkovací frekvencí. Údaje se zapisují do paměti RAM. Výstupní signál GTI jde do BS, kde se vytvoří adresa RAM.


    9.2.4 Digitální filtry

    Digitální filtr je zařízení, které převádí jeden diskrétní signál x n na jiný diskrétní signál y n a samotné signály x n a y n jsou binární digitální kódy.

    Analogový filtr je frekvenčně selektivní obvod, který provádí určitou lineární transformaci ze spojitého vstupního signálu U1(t) na spojitý výstupní signál U2(t). Naproti tomu digitální filtr převádí vstupní digitální sekvenci x(nT) na výstupní digitální sekvenci y(nT). Zvažte převod analogového filtru na digitální s použitím nejjednodušších filtrů jako příkladů.

    Nejjednodušší analogový horní propust je RC obvod (obrázek 9-5).


    Obr.9-5

    Definujme poměr mezi vstupním a výstupním napětím.

    U 2 (t) \u003d i (t) * R \u003d RC * d (U 1 -U 2) / dt (1)

    Představme U 1 (t) a U 2 (t) odpovídajícími číslicovými sekvencemi U 1 =x(nT) a U 2 =y(nT), pak:

    Dosazením (2) za (1) dostaneme:

    Označit

    .

    Výsledný výraz určuje algoritmus pro výpočet výstupního signálu filtru Yn v n-tém kvantovacím kroku v závislosti na jeho hodnotě v předchozím n-1-tém kroku, hodnoty vstupního signálu X n , X n -1 a krok vzorkování τ. Definujme přechodovou odezvu horní propusti.

    Pokud zvolíme vzorkovací krok τ=1, pak dostaneme

    X(nT)=1 pro n>=0, X(nT)=0 pro n<0.

    S menším krokem τ=0,125 máme

    Při použití analogového filtru řešení jeho diferenciální rovnice dává

    Obrázek 90-6 ukazuje hodnoty výstupního signálu vypočítané podle vzorců (3), (4) a (5) a odpovídajících grafů.


    Obr.9-6

    Je vidět, že jak se vzorkovací interval τ snižuje, přechodová odezva digitálního filtru se přibližuje analogovému filtru.

    Nejjednodušší analogový dolní propust je znázorněn na obrázku 9-7.


    Obrázek 9-7

    Je popsána rovnicí:

    Pojďme k přírůstkům:

    a nakonec:

    Lze ukázat, že v tomto případě, jak τ klesá, přechodová odezva digitálního filtru se neomezeně blíží přechodové odezvě analogového filtru.

    V digitálních filtrech to všechno spočívá v operacích násobení nějakými koeficienty a sčítání. Výše uvedené filtry jsou filtry prvního řádu. Nejlepších výsledků dosahují filtry vyšších řádů, ve kterých se pro výpočet výstupní hodnoty Yn použijí hodnoty x a y zpožděné o několik kroků.

    Výpočet takového výrazu je velmi snadné naprogramovat a provést na MP. Zpožděné signály jsou umístěny na zásobníku.


    10 Testování mikroprocesorových systémů

    10.1 Testování statickými signály

    V mikroprocesorových systémech jsou datové toky aperiodické, mění se doby trvání signálů, což způsobuje velké potíže při testování a diagnostice – určení příčiny chyb. Jedním ze způsobů, jak překonat tyto obtíže, je statické testování systému. U MP K580VM80 se to provede následovně. MP není zapájen do desky, ale je instalován v panelu. Při testování je MP odstraněn a je vložen adaptérový blok pro simulaci a indikaci signálů. Přepínače jsou připojeny na piny adresové sběrnice, přepínače jsou připojeny k datové sběrnici prostřednictvím třístavových obvodů a LED pomocí logických prvků s otevřeným kolektorem. Vytočením potřebných adres a výstupních signálů MP pomocí páčkových přepínačů můžete otestovat systém.


    10.2 Autodiagnostika mikroprocesorových systémů

    Autodiagnostika je vestavěná diagnostika založená na využití interních diagnostických programů. Tyto programy mohou být samospouštěcí nebo mohou být vyvolány uživatelem systému. Jsou stanoveny při návrhu mikroprocesorového systému.


    10.3 Logické analyzátory

    Testování se statickými signály je pomalý a ne vždy použitelný proces. Univerzálnější je použití speciálních zařízení - logických analyzátorů.


    10.3.1 Analyzátory logického stavu (synchronní režim)

    Jsou k dispozici v 8-, 12-, 16- a 32bitové verzi. Výstupní informace jsou uvedeny ve formě tabulek jedniček a nul, osmičkových nebo hexadecimálních kódů. Analyzátor je připojen k testované sběrnici a tabulka nebo displej zobrazuje tabulku n stavů sběrnice počínaje specifikovaným stavem nebo n předchozích stavů. Podobné analyzátory jsou sestaveny podle blokového schématu na obr. 10-1.


    Obr.10-1

    K0-K15 - komparátory vstupních signálů;
    R - potenciometr pro nastavení úrovně porovnání;
    KC - srovnávač slov;
    Kl - klávesnice pro zadávání slov;
    FUS - generátor řídicího signálu;
    Rg0-Rg15 - posuvné registry (modul 2 kapitola 7.2) pro záznam 16 hodnot i-tého vstupu;
    f:n - frekvenční dělič; BPR - konverzní blok.

    Na začátku práce logického analyzátoru je na klávesnici napsáno slovo, od kterého se provádí analýza. Pokud se kód na výstupech K0-K15 a zvolený kód shodují, COP vygeneruje impuls, pod jehož vlivem FUS generuje řídicí signály US1 a US2. S příchodem každého hodinového impulsu TI se na výstupu čítače - děliče objeví čítací impuls US1 * TI. Po příchodu n hodinových impulzů se spojka &2 uzavře a zápis do registrů se zastaví. Převodní blok z n výstupních hodnot registrů Rg0-Rg15 tvoří na displeji tabulku obsahující n řádků.


    10.3.2 Logické analyzátory časování (asynchronní režim)

    Takové analyzátory skenují vstupní signály s frekvencí mnohem vyšší, než je frekvence signálů. To umožňuje nejen určit přítomnost nebo nepřítomnost signálu v každé periodě hodin, ale také zkoumat dynamiku změn, detekovat přední zkreslení, krátkodobé špičky, poklesy atd. Analyzátory v asynchronním režimu jsou taktovány na mnohem vyšší vnitřní frekvenci. Zařízení se vyrábí s f=20, 50, 100, 200 MHz. Používají přídavné spouštěcí obvody pro fixaci falešných impulzů do 5 ns, což výrazně usnadňuje detekci takových impulzů.


    10.4 Emulátory v obvodu

    Emulace je proces, ve kterém se jeden systém používá k reprodukci vlastností jiného systému. In-circuit emulátory se používají k organizaci emulace různých komponent vyvinutého mikroprocesorového zařízení. Jsou určeny pro organizaci komplexního ladění vývoje. Průmysl vyrábí emulátory jako samostatná zařízení. Emulují chování mikroprocesoru, paměťových zařízení, periferních zařízení.

    In-circuit emulátor může pracovat v režimech dotazování stavu různých uzlů MPS, krok za krokem provádění uživatelského programu. S jeho pomocí se kontroluje jádro MPS, trunky, provádějí se testy ROM a RAM. Nejlepší možností testování je kombinace metod in-circuit emulace a analýzy signatur.


    10.5 Analýza podpisu

    Podpis je číslo sestávající ze 4 znaků hexadecimálního kódu a podmíněně, ale jednoznačně charakterizující určitý uzel ovládaného zařízení. Signatura je určena u výrobce - výrobce zařízení a je uvedena na jednotlivých bodech obvodu (obr. 10-2) nebo v návodu k zařízení.

    Obr.10-2 Podpisy uvedené na schématu zařízení

    Signatura je vytvořena z testovacího signálu (testovací sekvence) generovaného MP. Na vstup libovolného uzlu je přivedena testovací sekvence obsahující alespoň 16 nul a jedniček. Z výstupu uzlu (řízeného bodu) je již převedená sekvence odstraněna a přivedena na vstup analyzátoru podpisu. Analyzátor signatur obsahuje blok generování signatur BFS (obr. 10-3), který se skládá z 16 spouštěčů propojených pomocí sčítaček modulo 2. Za chodu analyzátoru se provádí operace dělení polynomů. Vstupní sekvence tvoří dělenec, obvod FFS je dělitel a výsledek zaznamenaný ve spouštěčích po skončení testovací sekvence je zbytkem dělení. Pokud jsou testovací sekvence u výrobce a u spotřebitele provádějícího test stejné, stejně jako stejný BFS, pak při kontrole pracovní jednotky výsledný podpis odpovídá podpisu uvedenému v dokumentaci.


    Obr.10-3

    Pravděpodobnost získání stejných signatur pro dvě binární sekvence, které se od sebe liší o jeden bit, je rovna nule a liší se o několik chybných bitů, je 0,00001526. Jinými slovy, spolehlivost detekce chyb >=99,998 %. Kontrola jednotlivých uzlů zařízení je redukována na určení signatury na výstupu uzlu. Pokud odpovídá továrnímu, jednotka funguje.


    11 Zajištění šumové odolnosti mikroprocesorových systémů

    11.1 Potlačení primárního vedení

    Při vývoji mikroprocesorových systémů je nutné věnovat zvláštní pozornost ochraně před rušením, které vede k poruchám. Významná část rušení pochází ze sítě. MPS, který je dobře zaveden v laboratoři, může být v produkčním prostředí zcela nefunkční kvůli rušení. K rušení dochází při náhlých změnách zatížení sítě, například při zapnutí silného elektromotoru, pece, svářečky. Pokud je to možné, měla by být izolace od takových zdrojů rušení provedena prostřednictvím sítě. Obrázek 11-1 ukazuje různé možnosti připojení zařízení, která obsahují mikroprocesor.Nejlepší možností je napájet MPS a spotřebiče, které vytvářejí výkonné proudové impulsy (motory).


    Obr.11-1

    Pro potlačení krátkodobého rušení je instalován síťový filtr obr. 11-2.


    Obr.11-2

    V některých případech je nutné zavést elektrostatický štít (například obyčejná vodovodní trubka připojená k uzemněnému krytu napájecí desky) pro položení síťových vodičů uvnitř.


    11.2 Odrušení sítě v napájecím zdroji

    Přes správné zapojení, elektrostatické stínění a přítomnost přepěťové ochrany stále částečně proniká rušení do síťového vstupu zařízení. V důsledku kapacitní vazby mezi síťovým a sekundárním vinutím prochází impulsní šum přes výkonový transformátor a vstupuje do usměrňovače a dále.

    Způsoby potlačení:
    1. Primární a sekundární vinutí výkonového transformátoru jsou umístěny na různých cívkách. Tím se výrazně sníží kapacitní vazba mezi vinutími, ale sníží se účinnost transformátoru.
    2. Vinutí jsou umístěna na jedné cívce, ale jsou oddělena stíněním z měděné fólie o tloušťce minimálně 0,2 mm, které je spojeno se zemí těla. Štít nesmí být nikdy zkratován!
    3. Primární vinutí je zcela uzavřeno ve stínění (nezkratováno), které je uzemněno.
    4. Primární a sekundární vinutí jsou uzavřeny v samostatných stíněních a mezi nimi je umístěno oddělovací stínění. Všechny obrazovky jsou uzemněné. Paralelně s primárním vinutím je v době vypnutí připojen řetězec sériově zapojených C \u003d 0,1 μF a R \u003d 100 Ohm k zhášení energie.

    11.3 Pravidla uzemnění

    V konstrukčně hotových jednotkách jsou vždy dva typy „pozemních“ sběrnic – tělesová a okruhová.

    Podle bezpečnostních předpisů je sběrnice nástavby nutně připojena k zemní sběrnici položené v místnosti. Okruhová sběrnice („uzemnění“ obvodu zařízení) by neměla být připojena ke sběrnici těla, ale musí pro ni existovat samostatná svorka izolovaná od těla. Pokud systém obsahuje více zařízení propojených informačními linkami, pak není zdaleka lhostejné, jak jsou jejich tělo a obvodové „zemní“ sběrnice připojeny k „zemní“ sběrnici místnosti.

    Při nesprávném zapojení budou rázová napětí generovaná vyrovnávacími proudy na zemní sběrnici skutečně aplikována na vstupy zařízení, což může způsobit jejich nesprávnou činnost.

    Nejmenšího vzájemného rušení se dosáhne, když jsou zemní sběrnice obvodu kombinovány v jednom bodě a sběrnice pouzdra v jiném bodě (obr. 11-3). Vzdálenost mezi body se volí experimentálně. V některých případech nemusí být bod A připojen k zemní sběrnici místnosti.


    Obr.11-3


    11.4 Odrušení na sekundárních napájecích obvodech

    V okamžicích spínání integrovaných obvodů a ve výstupních obvodech push-pull dochází k velkým proudovým rázům. Kvůli konečné indukčnosti napájecích lišt na deskách způsobují napěťové impulsy. Pokud jsou pneumatiky tenké a nejsou zde žádné oddělovací kapacity, objeví se na „vzdáleném“ konci autobusu pulsy s amplitudou až 2V! Úroveň takových impulsů odpovídá logické jednotce, která způsobuje poruchy. Chcete-li tento efekt odstranit, dodržujte následující doporučení:
    1. Napájecí a zemnící lišty na deskách musí mít minimální indukčnost. K tomu je jim dána příhradová konstrukce, která pokrývá celou volnou plochu desky.
    2. Externí napájecí a zemní sběrnice jsou připojeny k desce prostřednictvím několika kontaktů rovnoměrně rozmístěných na konektoru.
    3. Rušení je potlačeno v blízkosti míst jejich výskytu. K tomu je v blízkosti každého obvodu TTL instalován kondenzátor C = 0,02 μF pro eliminaci vysokofrekvenčního rušení a na skupinu 10-15 obvodů je navíc instalován elektrolytický kondenzátor C = 100 μF.

    6.3.3. Programování učebních úloh

    Začněme programování výukových úloh napsáním programu, který přečte stav tlačítka SB1 a zobrazí jej na LED VD2 takže nestisknutý stav tlačítka (vysoká úroveň signálu na vstupu RA4 ) odpovídá rozsvícenému stavu LED a naopak.

    Výpis 12.2. (html, txt)

    Výpis 12.2. (html, txt)

    ;hlavní program

    SMYČKA

    CALL SB1_VD2 ; volání podprogramu SB1_VD2

    ; opakování procesu

    GET_RA ; rutina čtení stavu

    ; port A

    SB1_VD2; Výstup LED

    ; Tlačítko stavu VD2 SB1 (bit 4

    ;registr TEMPA)

    GOTO P0 ;přejděte na P0

    ;TEMPA,4=0 (stisknuto tlačítko)

    GOTO P1 ;přejděte na P1

    BCF VD2 ; vypněte LED

    VRÁTIT SE

    Výpis 12.2.

    Hlavní program obsahuje uzavřenou smyčku LOOP GOTO LOOP , nutné pro periodické opakování cyklu ovládání stavu tlačítka a jeho zobrazení na indikátoru. tým CLRWDT eliminuje dopad případného resetu při přetečení hlídacího časovače na chod programu. Následující dva příkazy volají podprogramy GET_RA a SB1_VD2 . První (GET_RA ) nejprve přečte aktuální stav portu A , který je umístěn v pracovním rejstříku W . Protože pracovní registr může být vyžadován při provádění jiných instrukcí, je jeho stav zapsán do registru TEMPA , zde slouží k dočasnému uložení stavu portu A . Tedy po návratu z podprogramu GET_RA v bit 4 registrech TEMPA obsahuje informace o stavu tlačítka SB1 : "1" není stisknuto, "0" stisknuto.

    Podprogram SB1_VD2 TEMPA a v závislosti na tom zapíná nebo vypíná LED. V příkazovém systému PIC16F84 MK nejsou žádné příkazy podmíněného skoku, proto se k organizaci ověření konkrétní podmínky používají příkazy, které umožňují přeskočit provádění dalšího příkazu programu v závislosti na stavu určitého bitu v daný registr ( BTFSS a BTFSC ). Zejména tým BTFSS TEMP,4 přeskočí provádění příkazu GOTO P0, pokud TEMP,4 = 1 (tlačítko není stisknuto). Tedy příkaz BSF VD2 která rozsvítí LED VD2 . Poté se analyzuje stav TEMP,4 = 0 (tlačítko je stisknuto) a pokud ano, LED zhasne.

    Jednodušší implementace daného algoritmu je možná, protože stisknutý stav tlačítka vylučuje nestisknutý stav (a naopak), ale prezentovaná verze je více popisná.

    Zvažte složitější verzi programu, která zajišťuje zapálení LED VD2 pouze s následujícím stavem přepínačů a tlačítek rozložení: SA1 = 1, SA2 = 1, SB1 = 1 a SB2 = 0.

    Výpis 12.3. (html, txt)

    Výpis 12.3. (html, txt)

    ;hlavní program

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    CALL GET_RA ; volání podprogramu GET_RA

    CALL GET_RB ; volání podprogramu GET_RB

    ZAVOLAT ZAG_1110 ; volání podprogramu ZAG_1110

    GOTO LOOP ;přejděte na štítek LOOP pro

    ; opakování procesu

    GET_RB ; rutina čtení stavu

    ;port B

    MOVF PORTB,W ;přečtěte si stav portu B ve W

    MOVWF TEMPB ;přesunout W na TEMPB

    VRÁTIT SE

    ZAG_1110 ;rozsvítí LED VD2 pouze když

    ;další stav přepínačů a

    ;rozložení tlačítek:

    SA1 = SA2 = SB1 = 1 a SB2 = 0

    BTFSS TEMPA,2 ;přeskočit příkaz, pokud

    GOTO P0 ;TEMPA,2=1

    BTFSS TEMPA,3 ;přeskočit příkaz, pokud

    GOTO P0 ;TEMPA,3=1

    BTFSS TEMPA,4 ;přeskočit příkaz, pokud

    GOTO P0 ;TEMPA,4=1

    BTFSC TEMPB,0 ;přeskočit příkaz, pokud

    GOTO P0 ;TEMPB,0=0

    BSF VD2 ;světlo VD2 LED

    PŘEJÍT P1

    BCF VD2 ; vypněte LED VD2

    VRÁTIT SE

    VČETNĚ GET_RA.ASM

    Výpis 12.3.

    Podprogramy GET_RA a GET_RB umístěna v registrech TEMPA a TEMPB aktuální stavy přístavů A a B , resp. podprogram ZAG_1110 analyzuje stavy bitů 2,3 a 4 registru TEMPA a bit 0 registru TEMPB a za předpokladu, že TEMPA,2,3,4 = 1,1,1 a TEMPB,0 = 0 , rozsvítí LED VD2 . Pokud není splněna alespoň jedna z těchto podmínek, LED dioda zhasne.

    Direktivní použití VČETNĚ GET_PORTA.ASM umožňuje zahrnout již odladěné moduly podprogramů do aktuálního programu. Aby bylo možné využít této funkce, je nutné uložit laděné moduly jako samostatné soubory assembleru.

    Nyní zkusme použít sedmisegmentový indikátor k ovládání stavu přepínačů rozložení. Nejprve napíšeme program, který se zobrazí na indikátoru HL sedmisegmentový obrázek libovolného binárního čísla z 0b až 1111b v hexadecimálním zobrazení.

    Výpis 12.4. (html, txt)

    Výpis 12.4. (html, txt)

    ;hlavní program

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    MOVLW 0x0A ;konstanta přenosu 0A na W

    GOTO LOOP ;přejděte na štítek LOOP pro

    ; opakování procesu

    SEV_SEG ;servisní rutina

    ;sedmisegmentový indikátor

    ANDLW 0x0F ;maska ​​4 LSB

    ;W a nulování 4 senior

    ADDWF PCL,F ;Přidat W do PCL a odeslat

    ;výsledek v PCL

    RETLW 0x80; návrat podprogramu z 80 na W

    RETLW 0xF2 ; návrat podprogramu z F2 na W

    RETLW 0x48; návrat podprogramu z 48 na W

    RETLW 0x60; návrat podprogramu z 60 na W

    RETLW 0x32; návrat podprogramu z 32 na W

    RETLW 0x25; návrat podprogramu z 25 na W

    RETLW 0x04; návrat podprogramu z 04 na W

    RETLW 0xF0 ; návrat podprogramu z F0 na W

    RETLW 0x00; návrat podprogramu z 00 na W

    RETLW 0x20; návrat podprogramu z 20 na W

    RETLW 0x10; návrat podprogramu z 10 na W

    RETLW 0x06; návrat podprogramu z 06 na W

    RETLW 0x8C ; návrat podprogramu z 8C na W

    RETLW 0x42; návrat podprogramu z 42 na W

    RETLW 0x0C ; návrat podprogramu z 0C na W

    RETLW 0x1C ; návrat podprogramu z 1C na W

    Výpis 12.4.

    Program zahájí svou práci odesláním konstanty 0x0A do pracovního registru W . Poté je volána servisní rutina sedmisegmentového indikátoru SEV_SEG . Práce podprogramu SEV_SEG začíná maskováním 4 nejméně významných číslic W a vynulování 4 seniorů. Horní bity přenášené z pracovního registru jsou tedy z analýzy vyloučeny. W čísla. Pak maskovaný obsah registru W přidán k aktuálnímu stavu dolního bajtu programového čítače PCL a výsledek se umístí do PCL . O hodnotu, která byla přenesena v pracovním registru, se tedy provede dodatečný posun programového čítače. Například kdyby tam byl W=0 , pak se obsah programového čítače nezmění a bude proveden další příkaz RETLW 0x80 0x80 = B"1000000" do registru W . Pokud, jako ve výše uvedeném programu, W=0A , pak k obsahu PCL číslo bude přidáno 0x0A a dojde k dalšímu posunu o 10 kroků. V důsledku toho bude příkaz proveden RETLW 0x10 , což způsobí, že se podprogram vrátí se záznamem 0x10 = B"0001000" do registru W.

    Po návratu z podprogramu se provede přenos W na PORTB a zobrazení jeho stavu na sedmisegmentovém indikátoru HL . Zejména pokud W = 0, pak při výstupu 1000000b na port B zobrazí se sedmisegmentový displej 0 a pro W = A se zobrazí A .Může být tedy zobrazeno libovolné 4-bitové binární číslo.

    Způsob přímého řízení programového čítače použitého v podprogramu SEV_SEG , lze použít k implementaci tabulkového převodu čísel. Mějte však na paměti, že tato metoda neumožňuje převést více než 256 hodnot v jedné tabulce. Kromě toho musí být program pro převod tabulek umístěn celý v bloku o velikosti 256 bajtů, aby nedošlo k přetečení dolního bajtu počítadla programu.

    Pomocí podprogramu SEV_SEG , nyní napíšeme program, který načte stavy přepínačů SA1 a SA2 a zobrazí odpovídající číslo na indikátoru.

    Výpis 12.5. (html, txt)

    Výpis 12.5. (html, txt)

    ;hlavní program

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    CALL GET_RA ; volání podprogramu GET_RA

    RRF TEMPA,F ;posun doprava o jeden bit

    ;přes převod

    RRF TEMPA,W ;posun doprava o jeden bit

    ;přes převod

    ANDLW 0x03 ;maska ​​pro dva nejméně významné bity

    VOLAT SEV_SEG ; volání podprogramu SEVEN_SEG

    MOVWF PORTB ; přesměrování W na PORTB

    GOTO LOOP ;přejděte na štítek LOOP pro

    ; opakování procesu

    VČETNĚ GET_RA.ASM

    VČETNĚ SEV_SEG.ASM

    Výpis 12.5.

    Podprogram GET_RA zapisuje do registru TEMPA aktuální stav přístavu A . Tedy v bitech 2 a 3 registru TEMPA ukládá aktuální stav přepínačů SA1 a SA2 . Aby stavové bity přepínačů zaujaly pozice 0 a 1 registru TEMPA , jsou provedeny dva posuny doprava prostřednictvím přenosu a výsledek druhého posunu je umístěn do registru W . Poté se na dva nejméně významné bity pracovního registru aplikuje maska ​​a zavolá se podprogram SEV_SEG . Po ukončení podprogramu je výsledek přiveden na port B a zobrazí se na indikátoru.

    Uvažujme nyní programy, které pracují v reálném čase, tzn. vydávání signálů o určité délce trvání a četnosti opakování nebo zohlednění časových parametrů vstupních signálů. Hlavním prvkem takových programů je podprogram generování časového zpoždění. Uvažujme jednu z možných variant takového podprogramu pomocí softwarových metod tvorby zpoždění, tzn. bez použití vestavěného časovače.

    Výpis 12.6. (html, txt)

    Výpis 12.6. (html, txt)

    ;hlavní program

    MOVLW 0xL ;převod konstanty H"L" na W

    CALL DELAY ; volání podprogramu DELAY

    DELAY ; tvarovací podprogram

    ;časová prodleva

    SMYČKA

    RETURN ; návrat z podprogramu

    Výpis 12.6.

    Hlavní program volá podprogram ZPOŽDĚNÍ s nějakou konstantou L v pracovním registru W , který určuje počet vnitřních smyček podprogramu. podprogram ZPOŽDĚNÍ zahájí svou práci načtením obsahu pracovního registru do registru uživatelů COUNT1 . Příkaz DECFSZ COUNT1,F sníží obsah registru o jednu COUNT1 a zkontroluje, zda se rovná nule. Registrujte nulový stav COUNT1 způsobí ukončení smyčky a návrat podprogramu. Provedení každého interního cyklu vyžaduje tři strojové cykly MK (1 cyklus pro provedení instrukce DECFSZ na nenulovém výsledku a 2 smyčkách na instrukci JÍT DO ). Ukončení podprogramu ZPOŽDĚNÍ bude vyžadovat 4 cykly (2 cykly k provedení příkazu DECFSZ při nulovém výsledku a 2 cyklech zapnuto VRÁTIT SE ). Pokud k tomu přidáme další 4 cykly potřebné k načtení konstanty do pracovního registru, zavolejte podprogram a načtěte uživatelský registr COUNT1 , pak celkovou dobu provádění podprogramu ZPOŽDĚNÍ (zpoždění) bude

    TD = 4 + 3* (L1) + 4 = 5 + 3*L cykly

    kde L konstanta předaná pracovním registrem do podprogramu ZPOŽDĚNÍ.

    L = H"00" = 0,0 maximální vygenerovaný časový interval bude 1,55 ms. Tento výsledek je způsoben tím, že DECFSZ nejprve sníží obsah registru ( H"00" 1 = H"FF" ) a poté analyzuje výsledek.

    Minimální generovaný časový interval za stejných podmínek bude 5 cyklů nebo 10 µs. K získání takového intervalu je nutné před voláním podprogramu ZPOŽDĚNÍ načíst číslo do pracovního registru 0x01.

    Chcete-li rozšířit horní hranici generovaných časových intervalů a také zlepšit pohodlí práce s podprogramem, můžete do cyklu přidat SMYČKA jeden nebo více dalších příkazů, které se nejčastěji používají jako příkaz NOP . Zvažte například podprogram generování časového zpoždění DELAY_C

    Výpis 12.7. (html, txt)

    Výpis 12.7. (html, txt)

    DELAY_C ;podprogram tvarování

    ;časové zpoždění (možnost C)

    SMYČKA

    NOP; prázdný příkaz

    GOTO LOOPD ;opakování smyčky H"L" krát

    RETURN ; návrat z podprogramu

    Výpis 12.7.

    Celková doba provádění podprogramu DELAY_C , včetně jeho výzvy, bude

    TD = 4 + 4* (L1) + 4 = 4 + 4*L cykly.

    S taktovací frekvencí fosc = 2 MHz a konstantním zatížením L = H'F9' = 0,249 vygenerovaný časový interval bude přesně 2 ms. Snížení konstanty o jednu zkrátí generovaný časový interval o 8 µs. Zejména když L = 0,124 je zde zpoždění 1 ms.

    Pro vznik velkých časových zpoždění v rozsahu zlomků a jednotek sekund je tento přístup nepohodlný. V tomto případě jsou použity vnořené smyčky, jak ukazuje následující příklad.

    Výpis 12.8. (html, txt)

    Výpis 12.8. (html, txt)

    ;hlavní program

    MOVLW 0xL ;přenos konstanty H'L' na W

    CALL DELAY_D ; volání podprogramu DELAY_D

    DELAY_D ;tvarovací podprogram

    ; dlouhé časové zpoždění (možnost D)

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    RETURN ; návrat z podprogramu

    Výpis 12.8.

    DELAY_D je 3*256 + 4

    TD = 5 + (3 x 256 + 4) x L cyklů.

    S taktovací frekvencí fosc = 2 MHz je doba cyklu tc = 2 µs, takže při načítání L = H'00' = 0,0 maximální vygenerovaný časový interval bude asi 0,4 s.

    Vzhledem k tomu, že generovaný časový interval je dostatečně velký, je ve vnější smyčce zahrnut příkaz k resetování hlídacího časovače.

    Časový interval 0,4 s není příliš vhodný pro získání časových zpoždění, které jsou násobky sekundy, proto uvažujme jinou variantu podprogramu pro generování velkých časových zpoždění pomocí dodatečného příkazu NOP ve vnitřní smyčce.

    Výpis 12.9. (html, txt)

    Výpis 12.9. (html, txt)

    DELAY_E ;podprogram tvarování

    ; dlouhé časové zpoždění (možnost E)

    CLRF COUNT1 ;resetuje obsah registru COUNT1

    SMYČKA

    NOP; prázdný příkaz

    GOTO LOOPD ; opakujte smyčku 256krát

    CLRWDT ;vynulování hlídacího časovače

    GOTO LOOPD ;opakování smyčky H'L'krát

    RETURN ; návrat z podprogramu

    Výpis 12.9.

    Doba provedení vnitřní smyčky podprogramu DELAY_E je 4*256 + 4 strojní cykly MK, takže celkové zpoždění bude

    TD = 5 + (4*256 + 4)*L cyklů.

    Při taktovací frekvenci fosc = 2 MHz a při zatížení L = H'F3' = 0,243 vygenerovaný časový interval bude asi 0,5 s s chybou maximálně 0,2 %. Pokud potřebujete větší přesnost, můžete do vnější smyčky generování zpoždění vložit požadovaný počet prázdných operací.

    Zvažte dále několik programů využívajících podprogramy pro vytvoření časového zpoždění. Začněme tím, že napíšeme program, který bude pípat reproduktor. BA1 stisknutím tlačítka SB1 . Reproduktor bude znít pouze v případě, že výstup RA0 bude vydáván přerušovaný signál. Aby byl zvuk dobře slyšitelný, musí se jeho frekvence blížit maximální slyšitelnosti lidského ucha. Frekvenci zvuku volíme rovnou 1 kHz, což odpovídá periodě opakování pulsu signálu 1 ms.

    Výpis 12.10. (html, txt)

    Výpis 12.10. (html, txt)

    ;hlavní program

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    ZAVOLEJTE GET_RA ;volání podprogramu GET_PORTA

    CALL SB1_BA1 ;volání podprogramu SB1_BA1

    GOTO LOOP ;přejděte na štítek LOOP pro

    ; opakování procesu

    SB1_BA1 ; podprogram pro vydávání zvuku

    ;Reproduktor BA1 při stisknutí tlačítka

    ;SB1

    BTFSC TEMPA,4 ;přeskočit příkaz, pokud

    ;TEMPA,4=0 (stisknuto tlačítko)

    GOTO B0 ;přejděte na B0

    BSF BA1 ;dodávka vysoké úrovně do RA0

    ;H'3E' = 0,62 ve W

    BCF BA1 ;dodávka nízká na RA0

    MOVLW 0x3E ;dopředná konstanta

    ;H'3E' = 0,62 ve W

    CALL DELAY_C ; volání podprogramu DELAY_C

    VRÁTIT SE

    VČETNĚ GET_RA.ASM

    ZAHRNUJTE DELAY_C.ASM

    Výpis 12.10.

    Stejně jako předtím podprogram GET_RA přečte aktuální stav portu A, který se následně přenese do registru TEMPA. Podprogram SB1_BA1 analyzuje stav registru bitu 4 TEMPA a v závislosti na výsledku rozezní reproduktor BA1 nebo ne. Požadované zpoždění linky RA0 ve stavu single a zero poskytuje podprogram DELAY_C s parametrem L = H'3E' = ,62 . To odpovídá době zpoždění asi 0,5 ms, což má za následek požadovanou opakovací frekvenci signálu 1 kHz.

    Dále zvažte program, který způsobí blikání LED. VD2 stisknutím tlačítka SB1 . Aby byla mrkání dobře viditelná, volíme jejich frekvenci rovnou 1 Hz.

    Výpis 12.11. (html, txt)

    Výpis 12.11. (html, txt)

    ;hlavní program

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    CALL GET_RA ; volání podprogramu GET_RA

    CALL SB1_VD2M ;volání podprogramu

    ;SB1_VD2M

    GOTO LOOP ;přejděte na štítek LOOP pro

    ; opakování procesu

    SB1_VD2M ;Blikání kontrolky LED

    ; VD2, když stisknete tlačítko SB1

    BTFSC TEMPA,4 ;přeskočit příkaz, pokud

    ;TEMPA,4=0 (stisknuto tlačítko)

    GOTO V0 ;přejděte na V0

    BSF VD2 ;světlo VD2 LED

    ;H'F3' = 0,243 ve W

    BCF VD2 ; vypněte LED

    MOVLW 0xF3 ;dopředná konstanta

    ;H'F3' = 0,243 ve W

    CALL DELAY_E ; volání podprogramu DELAY_E

    BTFSS TEMPA,4 ;přeskočit příkaz, pokud

    ;TEMPA,4=1 (tlačítko není stisknuto)

    GOTO V1 ;přejděte na V1

    BCF VD2 ; vypněte LED

    VRÁTIT SE

    VČETNĚ GET_RA.ASM

    ZAHRNUJTE DELAY_E.ASM

    Výpis 12.11.

    Program funguje téměř stejně jako předchozí. První rozdíl je v tom, že LED dioda násilně zhasne, když není stisknuto tlačítko. Druhý rozdíl spočívá v hodnotě časového intervalu, který je zde 0,5 s a je tvořen podprogramem DELAY_E .

    Rutiny generování časového zpoždění mohou být také užitečné při práci s externími zdroji signálu, jako jsou přepínače, tlačítka, přepínače atd. Faktem je, že všechny mechanické spínače mají jednu negativní vlastnost, známou jako "odskok" kontaktů, což je způsobeno mechanickými vibracemi kontaktů při jejich sepnutí a otevření. Doba trvání oscilací je obvykle několik milisekund, během kterých může být na vstup MC přiveden shluk impulzů namísto ideálního poklesu.

    Hardwarové metody řešení "odskoku" kontaktů jsou založeny na použití RS klopných obvodů, jednoduchých vibrátorů nebo Schmittových spouště. U zařízení na bázi MC se potlačení "odskoku" kontaktů obvykle provádí softwarovými metodami, které jsou založeny na opětovném načtení stavu portové linky po určité době.

    Jako příklad uvažujme „bezodrazovou“ verzi rutiny čtení stavu portu A.

    Vypsání 12.12. (html, txt)

    Vypsání 12.12. (html, txt)

    GET_RAD ; rutina čtení stavu

    ;port A do registru TEMPA

    s potlačením chrastění

    MOVF PORTA,W ;přečíst stav portu A až W

    ANDLW 0x1C ;překryvná maska ​​b'00011100'

    ;k nepoužitým bitům W

    MOVWF TEMPA ;přesuňte W na TEMPA

    CLRWDT ;vynulování hlídacího časovače WDT

    MOVLW 0x0A ;konstanta vpřed

    ;H'0A' = 0,10 ve W

    ZPOŽDĚNÍ VOLÁNÍ_E ; volání podprogramu DELAY_E

    MOVF PORTA,W ;přečíst stav portu A až W

    ANDLW 0x1C ;maska ​​W b'00011100'

    SUBWF TEMPA,W ;odečíst W od TEMPA

    BTFSS Z ;přeskočit příkaz, pokud je výsledek

    ;nula

    GOTO DD ;přejděte na štítek DD

    VRÁTIT SE

    ZAHRNUJTE DELAY_E.ASM

    Vypsání 12.12.

    Podstatou podprogramu je opětovné načtení stavu portu A nějaký čas po předchozí hodnotě a její porovnání s předchozí hodnotou. Konstantní H'0A' = 0,10 odesláno do registru W před voláním podprogramu DELAY_E , poskytuje hodnotu časového zpoždění asi 20 ms - to obvykle stačí k dokončení přechodových jevů při spínání mechanických spínačů. Maskování nepoužitých bitů portu zvyšuje spolehlivost podprogramu. Resetování hlídacího časovače před voláním podprogramu zpoždění je nutné, aby se zabránilo resetování MK mezi dvěma procedurami dotazování portu A.

    Zvažte nyní fungování programu, který používá některé dříve vyvinuté rutiny. Nechť je cílem programu spočítat počet kliknutí na tlačítko SB1 s výstupem výsledku na sedmisegmentovém indikátoru v hexadecimálním kódu.

    Vypsání 12.13. (html, txt)

    Vypsání 12.13. (html, txt)

    ;hlavní program

    CLRF COUNT3 ;resetovat počet kliknutí

    SMYČKA

    CLRWDT ;vynulování hlídacího časovače

    CALL GET_RAD ;GET_RAD volání podprogramu

    BTFSC TEMPA, 4 ; zkontrolujte stisknutím SB1

    GOTO LOOP ; pokud není stisknuto, vraťte se

    ;na štítek LOOP

    INCF COUNT3,F ; přírůstek čítače

    MOVF COUNT3,W ; přenos obsahu

    ;počítadlo do pracovního registru

    CALL SEV_SEG ;volání podprogramu SEV_SEG

    MOVWF PORTB; přesunout W do PORTB

    TEST

    CALL GET_RAD ; volání podprogramu GET_RAD

    BTFSS TEMPA,4 ; zkontrolujte stisknutím SB1

    GOTO TEST ; pokud je stále stisknuto, vraťte se

    ;označit TEST

    GOTO LOOP ;návrat na štítek LOOP

    INCLUDE GET_RAD.ASM

    VČETNĚ SEV_SEG.ASM

    Vypsání 12.13.

    Programy uvedené v této kapitole nepokrývají ani malý zlomek možností, které i tak jednoduché uspořádání, jaké je uvedeno v rýže. 6.3 . Doufám však, že jejich vývoj bude užitečný pro začínající uživatele PIC regulátorů.

    Komunikace, komunikace, radioelektronika a digitální zařízení

    MP mikroprocesor je zpracovací a řídicí zařízení schopné zpracovávat informace pod programovým řízením, přijímat rozhodnutí, vkládat a vydávat informace ve formě jednoho nebo více LSI. slouží k dočasnému uložení informací v procesu provozu MP. Na rozdíl od ROM je v RAM možné číst i zapisovat informace o signálech Cht a Zap do buňky, jejíž adresa je umístěna na SHA. Na vstupu signálu Vv do dispečinku jsou informace přenášeny z externího zařízení do krokového motoru a na výstupu signálu O ...

    Přednáška 12

    Mikroprocesorová technologie

    1 Mikroprocesory a mikroprocesorové sady

    1.1 Definice mikroprocesoru

    Počátkem 70. let vedly pokroky v technologii mikroelektroniky k vytvoření nové elementární základny elektroniky - mikroelektronických velkých integrovaných obvodů (LSI) (modul 1 kapitola 1.6.3). Podle stupně integrace (počet aktivních prvků: diod a tranzistorů) se integrované obvody (IO) konvenčně dělí na IO s nízkým stupněm integrace - do 100 aktivních prvků, průměrný stupeň integrace (SIS) - až 1000 aktivních prvků, LSI - přes 1000 aktivních prvků, VLSI - přes 10 000 položek. Vydání nového LSI na současné úrovni automatizace designu je velmi složitý a nákladný proces vzhledem k velkým počátečním nákladům na vývoj jeho logické struktury a topologie, výrobu fotomasek a technologickou předprodukci. To je 0,5-1 rok práce velkého týmu. Proto je výroba LSI ekonomicky opodstatněná, když se vyrábí, odhadem na desítky či stovky tisíc kusů ročně. Je téměř nemožné vyrobit specializované LSI pro každou konkrétní aplikaci. V důsledku hledání oblastí hromadného použití mikroobvodů s vysokou úrovní integrace jejich vývojáři navrhli myšlenku vytvoření jednoho univerzálního LSI nebo určité sady LSI, jejichž specializace pro každou konkrétní aplikaci není dosažena. pomocí obvodů, ale pomocí softwaru. Tak se objevily standardní univerzální prvky - mikroprocesor LSI se strukturou podobnou počítači.

    Mikroprocesor (MP)toto je procesní a řídicí zařízení schopné zpracovávat informace pod programovým řízením, přijímat rozhodnutí, vkládat a vydávat informace a je vytvořeno ve formě jednoho nebo více LSI.

    1.2 Technologie výroby MP LSI

    Existují dva typy výrobní technologie LSI: bipolární - založená na použití bipolárních tranzistorů a MOS (kov - oxid - polovodič) - technologie založená na použití tranzistorů s efektem pole.

    LSI vyrobené pomocí bipolární technologie se liší ve schématických způsobech implementace. V zásadě se používá tranzistor-tranzistorová logika se Schottkyho diodami (TTLSh) a emitorově vázaná logika (ECL). Logika TTLSH využívá bipolární tranzistory n-p-n, doplněné Schottkyho diodami (DSh). DS je usměrňovací kontakt na rozhraní Al-nSi kov-polovodič. V kovu a křemíku jsou většinovými nosiči stejného typu elektrony a neexistují žádné menšinové nosiče. LH se otevírají při U=0,1-0,3 V a mají strmou charakteristiku proud-napětí. Jsou zapojeny paralelně s kolektorovým přechodem npn tranzistoru a tvoří Schottkyho tranzistor, vyrobený v jediném technologickém procesu. Použití LH výrazně zvyšuje rychlost tranzistoru, protože je eliminováno saturování kolektorového přechodu a nedochází v něm k absorpci nábojů.

    V technologii MOS (modul 1 kapitola 1.5.5) lze rozlišit 3 obvodové metody pro implementaci LSI: MOS s kanálovou vodivostí typu p nebo n (p-MOS nebo n -MOS) a komplementární technologie MOS (CMOS). Technologie CMOS využívá dvojice tranzistorů MOS n-typ a p -typ zapojený do série (obr.1-1). Při jakémkoli signálu na vstupu je jeden z tranzistorů otevřený, druhý uzavřený. Proto je proud procházející obvodem velmi malý. CMOS LSI mají ve srovnání s ostatními typy nejnižší spotřebu.

    Podle technologie MOS byly první MP LSI (r-MOS) vyrobeny v roce 1971. Používají řízení R -kanál, kde hlavními nosiči náboje jsou díry. Proto je rychlost LSI relativně nízká. Později se objevily LSI typu n-MOS a CMOS, které se hojně používají dodnes.

    ESL logika je založena na použití diferenciálního zesilovače na dvou tranzistorech s připojenými emitory (obr. 1-2.). Poskytuje nejrychlejší výkon, ale spotřebuje nejvíce energie.

    Základní údaje pro některé MP LSI jsou uvedeny v tabulce.1

    1.3 Struktura mikroprocesorových systémů

    Celá řada MPS je založena na použití dvou typů MP:

    a) jednočipový MP s pevnou délkou slova a s pevným systémem příkazů (s tvrdým ovládáním);

    B) vícečipový (sekční) MP s proměnnou délkou slova a mikroprogramovým řízením.

    Zvažte vlastnosti jejich struktury.

    1.3.1 Struktura MPS založená na MT s přísnou kontrolou

    Obr.1-3

    Propojení jednotlivých prvků MPS mezi sebou a s externími zařízeními se provádí pomocí tří sběrnic. Každý autobus je kmen sestávající z několika (8-16) linek.

    ША - adresová sběrnice, přes kterou jsou přenášeny adresy paměťových buněk a externích zařízení;

    SD - datová sběrnice, přes kterou se zadávají informace do MP nebo z ní vystupují;

    SHU - řídicí sběrnice, přes kterou jsou přenášeny řídicí signály pro zajištění normální funkce MPS;

    MP - centrální prvek, který řídí fungování všech ostatních prvků; odkazuje na všechny ostatní prvky systému a uvádí jejich adresu na SHA;

    G - generátor hodinových impulsů, synchronizující provoz MP;

    ROM je paměťové zařízení pouze pro čtení (modul 2 kapitola 9.1), které obsahuje příkazy programu prováděného MP a konstanty potřebné pro provoz. SHA přijme adresu paměťové buňky, ve které je uložen potřebný příkaz nebo konstanta, a podle signálu Cht (přečtení) z MP se informace uložené v této buňce objeví na SD;

    RAM - paměť s náhodným přístupem (modul 2 kapitola 9.2), sloužící k dočasnému uložení informací během provozu MP. Na rozdíl od ROM je v RAM možné číst i zapisovat informace (podle signálů Cht a Zap) do buňky, jejíž adresa je umístěna na SHA. V nejjednodušších MPS může RAM chybět a její roli plní vnitřní univerzální registry (RON) MP;

    IU - zařízení rozhraní (komunikační zařízení), které koordinuje činnost MPS a externích zařízení, přičemž bere v úvahu rozdíly v jejich rychlostech a úrovních signálu. Podle signálu Vv (vstup) do SHU jsou informace přenášeny z externího zařízení do krokového motoru a podle signálu Vv (výstup) - v opačném směru. Datová sběrnice je společná pro všechny prvky MPS, ale prvky systému by se neměly vzájemně rušit. Proto je výstup každého z nich připojen ke krokovému motoru přes tzv. 3-stavový obvod. Může být nejen v aktivních stavech („0“ nebo „1“), které jsou nezbytné pro přenos informace, ale i ve třetím stavu, kdy je prvek prakticky odpojen od společné sběrnice. Přechod ze třetího stavu do aktivního se provádí řídicími signály MP. V každém okamžiku je ke společné SD připojen pouze jeden prvek, který přenáší informace a „konflikt“ na SD je vyloučen. Informace z SD může v případě potřeby přijímat několik prvků najednou. Taková organizace MPS pomocí společného SD je vynucená a vzhledem k tomu, že počet výstupů případů LSI je omezený a stejné výstupy jsou využívány pro více účelů.

    1.3.2 Struktura MPS na bázi MP s mikroprogramovým řízením

    MP s pevným ovládáním je sestaven z n samostatných LSI sekcí centrálního procesorového prvku CPE, z nichž každá zpracovává 2 (4, 8, 16) bitů dat. To má za následek, že CPU má 2n (nebo 4n, 8n, 16n) bitů. CPE provádí nejjednodušší akce - mikrooperace při zadávání příkazů na řídicí vstupy - mikropříkazy (MC). K provádění příkazů podobných MT příkazům s tvrdým ovládáním je zapotřebí až 10-15 mikro-ops a stejný počet mikro-ops. Organizace příkazů z dostupných mikropříkazů je ponechána na uživateli.

    Hlavní výhodou MT s mikroprogramovým řízením, když se objevily, byla vysoká rychlost zpracování informací, což umožnilo řídit a řídit velmi rychlé procesy, například jaderné reakce. V současnosti se jejich role výrazně snížila, protože moderní vícebitové MP s přísným řízením a vysokými takty umožňují zpracovávat informace ještě rychleji.

    2 Mikroprocesor

    2.1 Struktura MP K580VM80

    Uvažovaný LSI je jednočipový MP založený na technologii n-MOS. Navrženo pro sestavení výpočetních zařízení, řadičů, mikropočítačů. Kapacita MP - 8 bitů, taktovací frekvence 2 MHz, doba provedení příkazu 2-9 μs, napájecí napětí +12, +5 a -5 V, příkon 0,75 W. Na obrázku je jeho blokové schéma.

    2.1.1 Hlavní prvky MT

    Výměna informací probíhá přes osmibitový vyrovnávací registr (modul 2 kapitola 7) DB připojený k externímu a internímu SD MP.RK - příkazovému registru. Kód příkazu je do něj zapsán a uložen během doby jeho provádění.

    SVR - schéma výběru registru. Obsahuje: 6 softwarově přístupných univerzálních registrů (RON) B, C, D, E, H, L (jsou příkazy, ve kterých jsou uvažovány ve dvojicích B-B, C; D - D, E; H - H, L 2 programově nepřístupné registry W a Z určené k uložení druhého a třetího bytu příkazu (první byte je vždy uložen v RK);

    M multiplexer (modul 2 kapitola 5.2), spojující interní krokový motor s registry W, Z;

    PS - 16bitový programový čítač, který umožňuje MP spouštět programy obsahující až 216 = 65536 slov;

    US - 16bitový ukazatel zásobníku (kapitola 2.1.3);

    SID - schéma přírůstek-snižování (přičtení nebo odečtení 1);

    BA - 16bitová vyrovnávací paměť adres;

    A - výsledkový registr (akumulátor);

    ALU - aritmeticko logická jednotka, provádí aritmetické operace sčítání - odčítání, inkrementace - dekrementace, logické operace spojky, disjunkce, inverze a další. Je propojen přes vyrovnávací registry BR1 a BR2 s akumulátorem a vnitřní datovou sběrnicí;

    RP - registr znaků, ve kterém se během provádění příkazu objevují znaky výsledku (nulový výsledek, kladný nebo záporný, sudý nebo lichý výsledek), používaný v následujících příkazech, například podmíněný skok;

    SDK - schéma dekadické korekce, používá se, když informace nejsou zpracovávány v binárním, ale v binárně-decimálním kódu (modul 2 kapitola 3.2);

    CU - řídicí zařízení, zajišťuje řízení provozu MP a externích zařízení. Zvažte jeho činnost a složení řídicí sběrnice.

    2.1.2 Ovládací zařízení

    Řídicí zařízení je taktováno z externího generátoru, který generuje sekvenci impulsů F1 a F2. Se zbytkem MF je spojen vnitřními řídicími signály SS a signálními znaky Pi. S vnějším prostředím je CU spojena řídicí sběrnicí obsahující 10 linek (4 signály přicházejí zvenčí a 6 signálů vydává MP).

    Složení řídicí sběrnice.

    1. První instalace (reset). Když je na tento vstup přivedena "1", PS se resetuje na 0 a provádění programu začne znovu.

    2. Synchronizace. Signál "1" na tomto výstupu je generován na začátku každého provozního cyklu MP (před každým přístupem MP k jakémukoli externímu prvku).

    3. Čtení. Signál "1" znamená, že MP je připraven přijímat informace na SD zvenčí. Tento signál je obvykle připojen ke vstupu „čtení“ paměti a vstupních zařízení.

    4. /Zp. Signál "0" znamená, že MP vložil informace na datovou sběrnici, které mají být zapsány do RAM nebo výstup na výstupní zařízení.

    5. Připraveno. Signál "1" na tomto vstupu indikuje MP do konce cyklu čtení nebo zápisu. Je produkován externími zařízeními na konci jejich pracovního cyklu. Pokud signál "1" není přijat, pak MP přejde do stavu čekání, během kterého MP drží adresu na SHA, řídící signál "čtení" nebo "zápis" a udržuje řetězce přenosu informací přes DB otevřené. . Stav čekání je udržován, dokud nepřijde "1" - "připraveno". V případě, že všechny externí prvky pracují rychlostí MP nebo vyšší, je „1“ trvale připojena ke vstupu „ready“.

    6. Čekání. Signál "1" na tomto výstupu indikuje, že MP je v pohotovostním stavu. Tento signál pomáhá identifikovat vadnou jednotku, která způsobila zastavení MP.

    7. Z.Pr. - vstup požadavku na přerušení (kapitola 7.2.7). Signál "1" přichází zvenčí, pokud je nutné přerušit činnost MP.

    8. R.Pr. - povolit přerušení. Signál "1" na tomto výstupu indikuje, že jsou povolena přerušení. Povolení a zákaz přerušení se provádí speciálními příkazy.

    9. Zachyťte. Při příchodu signálu "1" MP zastaví svůj provoz, BA a DU jsou převedeny do třetího stavu. V tomto případě je MP odpojen od SHA a SD.

    10. Potvrzení zachycení. Signál "1" znamená, že MP je ve stavu zachycení.

    2.1.3 Push-pull - stack

    Při přístupu k paměťovým buňkám RAM v MPS s procesorem K580VM80 jsou potřeba dlouhé tříbajtové příkazy. První bajt obsahuje samotný přístupový příkaz a druhý a třetí bajt označují adresu paměťové buňky. Takový příkaz se provádí poměrně dlouhou dobu a při častých přístupech do paměti se chod MPS výrazně zpomalí. Pro urychlení práce MPS se používá paměťové úložiště - zásobník. Funguje na principu, že jako první se čte číslo napsané jako poslední. Pořadí přístupu k zásobníku je pevné, ale nemusíte zadávat adresu a doba přístupu se výrazně zkrátí. Zásobník je velmi praktický pro ukládání mezilehlých informací v případě přerušení. Jeho druhým účelem je poskytnout práci s programy. Při přechodu do podprogramu se obsah RON přenese do zásobníku, po provedení podprogramu je ze zásobníku volán do RON. Zásobník může být autonomní (vestavěný v MP) a externí (umístěný v RAM). K580VM80 MP používá externí zásobník a v krystalu je umístěn speciální registr - ukazatel zásobníku (US), který ukládá adresu první volné buňky zásobníku. Zásobník je obvykle přidělen nejvyšším umístěním paměti RAM. Nejprve se nastaví adresa 111 ... 1, při zápisu se adresa dekrementuje (A-1), při čtení se inkrementuje (A+1). Při práci se zásobníkem je obsah US předán SA, při práci s hlavní pamětí - obsah RA. 2.2

    2.2 Fungování MP jako součásti MPS

    2.2.1 Algoritmus provádění příkazu

    Při provádění libovolného příkazu začíná pracovní cyklus MP vždy načtením prvního bytu příkazu - kódu operace (KOp) do registru příkazů (kapitola 2.1.1). V tomto případě jde adresa příkazu z PS přes BA do SHA, CU generuje signál čtení, KOp jde přes DB do RC. DShK analyzuje COP a v případě potřeby MP vybere 2. a 3. bajt příkazu do registrů W a Z. Adresa dalšího příkazového bajtu se v PS vytvoří zvýšením jeho obsahu o 1 pomocí LED. Poté se příkaz provede. Na závěr je provedena analýza přítomnosti požadavků na přerušení (signál ZPR). Pokud takový požadavek existuje, uloží se stav PS a dojde k přechodu do programu obsluhy přerušení.

    2.2.2 Časový diagram provozu MP

    K činnosti MP dochází působením dvou nepřekrývajících se sekvencí hodinových impulsů F1 a F2 (obr. 2-2).

    MT produkuje většinu transformací informací podle F2. Časový interval, během kterého je provedena jedna mikrooperace, se nazývá strojový cyklus (označuje se T1, T2 atd.). Strojní cyklus (MC) je posloupnost cyklů, během kterých dochází k výměně informací mezi MP a externím prvkem (označeným M1, M2 atd.). MC obsahuje 3-5 cyklů. Provedení příkazu trvá 1-5 MTs. Obrázek 2-3 podmíněně ukazuje sekvenci provádění tří příkazů obsahujících různý počet MC. V cyklu M1 je vždy načten první bajt příkazu. Většina MP jsou taktované digitální obvody, které pracují pod vlivem generátoru hodinových impulsů (GTI). K580VM80 MP je taktován GTI, který generuje dvě sekvence nepřekrývajících se impulsů Ф1 a Ф2 s periodou Ttact = 0,5 - 2 μs.

    2.2.3 Stavové slovo MP

    SD MP se v T1 a začátku T2 nepoužívá pro příjem a výdej základních informací. MP zajišťuje obvody, které poskytují vydání osmibitového stavového slova (SS) v tomto okamžiku na SD. Těchto 8 funkcí mohou využívat externí prvky a obecně umožňují zjednodušit organizaci MPS. Stavové slovo se vydává na začátku každého cyklu v cyklu T2 během pulzu F1 (obr. 2-4). Znaky SS charakterizují pouze tento MC. SS se přiděluje pomocí stavového registru RS (obr. 2-5), do kterého se zaznamenává informace z SD v okamžiku t, ve kterém jsou současně pulsy F1 a "Sync". MP K580VM80 má deset typů MC a podle toho 10 SS, které identifikují tyto cykly. Tabulka 2 ukazuje SS odpovídající všem typům MC.

    Obr.2-4

    Obr.2-5

    Tabulka 2 Stavová slova MP K580VM80

    Tady:

    MEMR - čtení z paměti;

    INP - znak vstupního příkazu (vyrobeno v MTs3);

    M1 - znak MTS1 (je zde výběr Kop, začátek provádění příkazu);

    OUT - znak vstupního příkazu, generovaného v MTs3. Je podobný signálu /Zp MP, ale objevuje se poněkud dříve a zůstává v RS až do konce cyklu;

    HLTA - potvrzení zastavení;

    STACK - znak práce se zásobníkem, je generován při přístupu do paměti pomocí příkazů pro práci se zásobníkem, což umožňuje mít 216 buněk RAM a 216 buněk zásobníku;

    /WO - znak záznamu nebo výstupu;

    INTA - označení zahájení práce v režimu přerušení.

    Například ve výstupním příkazu ve třech MC jsou vydány RZ č. 1,2,7. Použití SS vám umožní lépe organizovat řízení MPS. Pro práci s externími zařízeními má MP pouze 2 řídicí signály Rt a /Zp, ve kterých se ROM, RAM a další externí zařízení neliší. Proto je nutné použít některé číslice ShA pro označení konkrétního objektu. V SS umožňuje signál MEMR oddělit paměť od ostatních zařízení, což zjednodušuje organizaci propojení jednotlivých částí MPS.

    3 Úložná zařízení

    Paměťové zařízení nebo zkráceně paměť slouží k ukládání digitálních informací.

    Paměť MPS se dělí na:

    programová paměť pro ukládání programů a implementovaná obvykle ve formě paměti pouze pro čtení (ROM);

    datová paměť nebo paměť s náhodným přístupem (RAM) (modul 2 kapitola 9);

    externí paměť pro ukládání velkého množství informací, obvykle implementovaná ve formě magnetického disku (pevného disku).

    Nejčastěji se v MPS používá polovodičová ROM a RAM. Mají takové výhody, jako je vysoká rychlost, nízká spotřeba energie, vysoká spolehlivost, nízká cena, elektrická kompatibilita s ostatními komponenty MPS. Hlavní nevýhodou polovodičové RAM je její volatilita. Po vypnutí napájení neuchová informace. Když je to nepřijatelné, RAM je zálohována bateriemi nebo akumulátory, což ale komplikuje a prodražuje systém.

    Funkčně se paměť skládá z buněk stejného typu (registrů) určených k uložení jednoho slova. Každé buňce je přiřazena adresa reprezentovaná binárním kódem.

    Kapacita paměťového IC se obvykle vyjadřuje v bitech nebo bytech - m, 1024 bajtů (nebo 1K), 4K bitů atd. Informační organizace (neboli formát) paměti je určena součinem m (slova) x n (délka slova). Například IC s kapacitou 1024 bitů může mít organizaci 1024x1 (1Kx1), 256x4, 128x8. Délka paměťových slov (nmem) se obvykle volí tak, aby se rovnala délce slova (kapacitě) centrálního procesoru MPS ncp. Pokud nmem< nцп, то применяется несколько корпусов ИС. Например, с помощью 2-х ИС памяти 256х4 можно организовать ЗУ с форматом 256х8.

    Paměť může provádět dvě operace: vkládání informací do adresovatelné buňky - záznam (Wp); a výstup informací z adresovatelné buňky - čtení nebo čtení (Th). Obě operace jsou souhrnně známé jako přístup nebo jinými slovy přístup do paměti.

    3.1 Trvalá paměť

    Pokud paměť provádí pouze operaci čtení v běžícím systému, pak se nazývá paměť pouze pro čtení nebo ROM. Záznam informací do ROM lze provádět různými způsoby. ROM čipy naprogramované maskou (ROM-PM) jsou zapsány pouze jednou během výrobního procesu pomocí speciální masky (fotomaska). Uložené informace nelze změnit. ROM-PM mají vysokou spolehlivost a rychlost, vysokou hustotu balení, energetickou nezávislost. Jejich cena v hromadné výrobě je nízká. Slouží k ukládání neměnných programů a různých konstant.

    Pokud uživatel jednou zapíše do paměti pomocí speciálního zařízení - programátoru, a pak to funguje pouze pro čtení, pak se taková paměť nazývá uživatelsky programovatelná ROM (ROM-PP). Používají se při prototypování a ladění MPS a také při výrobě malých sérií.

    Používají se také přeprogramovatelné paměti ROM (PROM). Informace do nich může uživatel opakovaně zapisovat pomocí programátoru, ale v běžícím systému provádějí pouze operaci čtení. Informace v EEPROM lze vymazat a poté do nich zapsat nové informace. Vymazání se provádí odstraněním IC ze systému a provádí se buď elektrickými impulsy s amplitudou 30-50 V, nebo pomocí ultrafialového záření, PROM je dražší než ROM-PM a ROM-PP a má nižší balení hustota.

    Podívejme se podrobněji na vnitřní strukturu ROM softwaru na příkladu nejjednoduššího IC K155RE3 (obr. 3-1), který má organizaci 32x8. Pro adresování 32 slov je k dispozici 5 adresových vstupů A0...A4 (protože 25=32). Uložené slovo o 8 bitech je tvořeno víceemitorovým tranzistorem, v jehož každém emitorovém obvodu je tavná propojka z nichromu o tloušťce 200 Angstromů. Když dekodér adresy vybere určité slovo, otevře se jeden z víceemitorových tranzistorů. Pokud je na příslušném bitovém řádku propojka, nastaví se vysoká úroveň napětí a otevře se také výstupní tranzistor VT2 a potenciál výstupu 1 se blíží nule (logická "0"). Pokud je propojka roztavená, pak odpovídající bitová linka není nikam připojena ("plovoucí") a tranzistor VT2 je uzavřen (logická "1"). Výstupy ROM PP jsou obvody s otevřeným kolektorem, pro normální provoz musí být připojeny ke zdroji + Ek přes odpory Rn (na obrázku znázorněny tečkovanými čarami).

    V nenaprogramovaném IC jsou všechny propojky neporušené, tranzistory VT2 jsou otevřeny ve všech slovech, výstupy jsou úrovně logické "0". Pro naprogramování určitého bitu (jehož stav musí být změněn z „0“ na „1“) se na řádky A0 ... A4 přivedou signály požadované adresy a na základě zvoleného multi se objeví vysoká úroveň. - emitorový tranzistor. Externí obvod nastaví na výstupu programovatelného bitu napětí asi 8 V. Toto napětí stačí k sepnutí Zenerovy diody VD1 s prahem asi 7 V, která sepne tranzistor VT1, a první výstup propojka je uzemněna. Poté se zvýší napájecí napětí víceemitorových tranzistorů na 12 V a následně se mezi vývody propojky přivede napětí asi 5 V. Vzniklý proud propojku zahřívá a taví.

    V ROM tohoto typu PP jsou někdy možné poruchy v důsledku opakovaných zkratů zničených propojek. Mezera je velmi úzká a někdy "plave". Pro zvýšení spolehlivosti jsou naprogramované paměti ROM uchovávány v termostatu po dobu 24 hodin při teplotě 100 °C a zaznamenané informace jsou znovu kontrolovány. Pokud je detekováno "plavání" propojek (některé zaznamenané "1" se změnily na "0"), pak jsou znovu vypáleny.

    V praxi se široce používají PROM, které jsou vymazány ultrafialovým zářením. Jsou postaveny na MOS tranzistorech, které se od běžných liší tím, že mezi hradlem a polovodičem (substrátem) je umístěno další „plovoucí“ hradlo, ze všech stran kompletně izolované oxidem křemíku. Pokud je při zápisu informace na brány takových tranzistorů aplikováno kladné napětí asi 25 V a trvání několika desítek milisekund, pak se pod jeho vlivem elektrony pohybující se směrem k hlavní bráně usadí na plovoucí bráně. Při čtení je na hradlo přivedeno kladné napětí nejvýše 5 V. Pokud na plovoucím hradle nejsou žádné elektrony, pak se kanál zdroj-odvod stane vodivým, což odpovídá uložení logické jednotky. Pokud jsou na plovoucím hradle elektrony, pak hradlo svým nábojem stíní a mezera zdroj-odvod zůstává nevodivá, což odpovídá uložení logické „0“. Protože plovoucí hradlo je obklopeno izolační vrstvou, elektrony, které vstoupí do oblasti plovoucího hradla, ji nemohou opustit. Ve skutečnosti dochází k úniku elektronů, což vede k postupné ztrátě informací. Podle některých firem je tato doba minimálně 10 let.

    Informace jsou vymazány ultrafialovým zářením na několik desítek minut ve všech prvcích najednou. V tomto případě jsou elektrony excitovány zářením a proudí do substrátu. V důsledku toho jsou všechna plovoucí hradla osvobozena od elektronů, to znamená, že se všem prvkům zapíše logická "1".

    Mezi tyto PROM patří široce používaný IS K573RF2 (RF4, RF5 atd.).

    3,2 RAM

    Paměť s náhodným přístupem nebo paměť s náhodným přístupem (RAM) (modul 2 kapitola 9.2) se používá k ukládání provozních informací požadovaných během zpracování. RAM na rozdíl od ROM umožňuje: jak zadávat informace do adresovatelné buňky (operace Zp), tak i vydávat (operace Th) ). Existují různé způsoby výměny informací mezi RAM a MP. Nejčastěji se používají úložná zařízení s náhodným přístupem, která umožňují přístup k libovolné adrese v náhodném pořadí. Rozlišujte mezi statickou a dynamickou RAM.

    Statická RAM je implementována na klopných obvodech s přímým připojením, které při napájení mohou ukládat informace neomezeně dlouho bez dalších řídicích signálů.

    Většina paměti RAM je založena na tranzistorech MOS a má takzvanou maticovou organizaci. Funkční schéma RAM 256x1 s maticovou organizací typu 16x16 je na obrázku (3-2). Po dekódování nejméně významných bitů adresy A0-A3 se objeví signál Xi, spojující i-tý řádek matice. Maticový sloupec Yj je vybrán dekodérem vysokých bitů adresy A4-A7 a paměťový prvek EPij je připojen k výstupnímu nebo vstupnímu obvodu informace v závislosti na hodnotě signálu SCH//Zp. Když SCH//Zp=1, informace jsou čteny z paměti; na Сч//Зп=0 - zápis do paměti. Signál povolení VM (výběr čipu) aktivuje tento IC. Když je signál VM deaktivován, matice je izolována od výstupů dekodéru a I/O sběrnice.

    Statická RAM může být postavena na polovodičových zařízeních různých typů. MOS tranzistorové statické paměťové obvody jsou v současnosti nejběžnější. Paměťový prvek CMOS se skládá z 5 tranzistorů, z nichž čtyři (VT1-VT4) tvoří klopný obvod. Spoušť pro zápis a čtení se ovládá pomocí klíče - tranzistoru VT5 (obr. 3-3).

    3.3 Připojení paměti k datové sběrnici

    Vzhledem k tomu, že datová sběrnice (SD) je společná mnoha zařízením, je nevyhnutelný „konflikt“, když pracují současně. Je nutné, aby v každém okamžiku bylo k SD připojeno pouze jedno zařízení - zdroj informací. Současně může být připojeno několik přijímačů informací. Důležité je pouze to, aby výstupní výkon zdroje informačních signálů byl dostatečný pro připojení více přijímačů. Provozní připojení a odpojení výstupu libovolného zařízení se provádí pomocí výstupního obvodu, který má 3 možné stavy: 1, 0 a "vypnuto". Výstup libovolného TTL IC lze zjednodušit jako dva tranzistory zapojené do série (viz obr. 3-4).

    Pokud je tranzistor VT1 otevřený a VT2 uzavřený, výstup má vysokou úroveň signálu („1“). Pokud je to naopak: VT2 je otevřený, VT1 je zavřený, pak je výstup nízký („0“). Pokud jsou oba tranzistory sepnuté současně, pak je výstup IO odpojen od napájení a nemá žádný vliv na činnost ostatních zařízení připojených na společnou sběrnici.

    Obr.3-4 Třístavový výstup

    4. Zařízení rozhraní

    Zařízení rozhraní (ID) se používají k propojení externích zařízení s MPS. Obvykle jsou implementovány jako jeden nebo více SIS nebo LSI.

    STRÁNKA \* MERGEFORMAT 3


    Stejně jako další díla, která by vás mohla zajímat

    45328. Referendum - pojem, druhy právní úpravy 25,75 kB
    Forma přímého vyjádření vůle občanů Ruské federace k nejdůležitějším otázkám státního a místního významu za účelem rozhodování hlasováním občanů Ruské federace, kteří mají právo účastnit se referenda. Typy referend v závislosti na území: 1 Celoruské referendum - koná se o otázkách federálního významu na základě rozhodnutí prezidenta Ruské federace; 2 se koná referendum ustavujícího subjektu Ruské federace o otázkách jurisdikce příslušného ustavujícího subjektu Ruské federace nebo společné jurisdikce Ruské federace a ustavujících subjektů Ruské federace, pokud tyto otázky nejsou ...
    45329. Funkce prezidenta Ruské federace 21 kB
    Jmenování, se souhlasem Státní dumy předsedy vlády Ruské federace, dalších členů vlády Ruské federace, směřování jeho politiky a přijetí rozhodnutí o demisi vlády Ruské federace Federace; 2 předložení kandidáta na funkci předsedy Centrální banky Ruské federace Státní dumě, usnesení o otázce odvolání předsedy Centrální banky Ruské federace před ní; 3 předložení Radě federace kandidátů na jmenování do funkcí soudců Ústavního soudu Ruské federace ...
    45330. Postup pro volbu a odvolání prezidenta Ruské federace 23,1 kB
    Postup pro volbu a odvolání prezidenta Ruské federace. Prezident Ruské federace je volen na období šesti let občany Ruské federace na základě všeobecného, ​​rovného a přímého volebního práva tajným hlasováním. Prezidentem Ruské federace může být zvolen občan Ruské federace, který dosáhl věku alespoň 35 let a trvale pobývá v Ruské federaci po dobu alespoň 10 let. Stejná osoba nesmí zastávat funkci prezidenta Ruské federace. na více než dvě po sobě jdoucí období. Postup při volbě prezidenta...
    45331. 22,83 kB
    INSTITUT KOMISAŘE PRO LIDSKÁ PRÁVA V RUSKÉ FEDERÁCI V Ruské federaci je zmocněnec pro lidská práva v Ruské federaci odpovědný za ochranu práv a svobod občanů a jejich dodržování státními orgány, orgány místní samosprávy a úředníky. . Komisař pro lidská práva v Ruské federaci v rámci své působnosti: 1 projednává stížnosti občanů Ruské federace a cizích občanů a osob bez státní příslušnosti nacházející se na území Ruské federace; 2 projednává stížnosti proti rozhodnutí nebo jednání státních orgánů úředníků územních samosprávných celků ...
    45332. Státní duma Ruské federace je komorou Federálního shromáždění Ruské federace 26,28 kB
    Pravomoci místní samosprávy jsou práva a povinnosti zakotvené ve federální legislativě, dále regulační právní akty ustavujících subjektů Ruské federace a právní akty orgánů místní samosprávy pro obyvatelstvo příslušných území volenými a další orgány místní samosprávy související s plněním úkolů a funkcí místní samosprávy na příslušném území. Působnost místní samosprávy vykonává jak přímo obyvatelstvo městských, tak venkovských sídel jiných území ...
    45333. Ústavní a právní postavení člena Rady federace a poslance Státní dumy 25,69 kB
    Ústavní a právní postavení člena Rady federace a poslance Státní dumy Ústavní a právní postavení člena Rady federace a poslance Státní dumy stanoví Ústava Ruské federace, čl. O statutu člena Rady federace a poslance Státní dumy Federálního shromáždění Ruské federace. Poslanec Státní dumy je volený zástupce lidu oprávněného vykonávat ve Státní dumě zákonodárné a další pravomoci stanovené Ústavou Ruské federace a federálním zákonem. Funkční...
    45334. Systém zákonodárných (zastupitelských) a výkonných orgánů státní moci ustavujících subjektů Ruské federace 20,8 kB
    Systém zákonodárných reprezentativních a výkonných orgánů státní moci ustavujících subjektů Ruské federace je zřizován jimi samostatně v souladu se základy ústavního pořádku Ruské federace a federálním zákonem z 06. O obecných zásadách organizování zákonodárné reprezentativní a výkonné orgány státní moci ustavujících subjektů Ruské federace Formování formování činnosti zákonodárných představitelů a výkonných orgánů státních orgánů ustavujících subjektů Ruské federace jejich ...
    45335. Legislativní proces v Ruské federaci 25,93 kB
    Městským sídlem může být i venkovská sídla, která nemají statut venkovských sídel, v nichž místní samosprávu vykonává obyvatelstvo přímo nebo prostřednictvím volených a jiných orgánů místní samosprávy. Městská část je městské sídliště, které není součástí městského obvodu a jehož orgány místní samosprávy vykonávají působnost k řešení otázek místního významu sídla a otázek místního významu městské části zřízené zákonem, a mohou též ...
    45336. Přístupy k budování systémů umělé inteligence 33 kB
    Strukturální přístup Strukturální přístup se týká pokusů vybudovat umělou inteligenci modelováním struktury lidského mozku. Hlavní modelovanou strukturní jednotkou v perceptronech, stejně jako ve většině ostatních možností modelování mozku, je neuron. Později vznikly další modely, které se obvykle nazývají neuronové sítě. Tyto modely se liší ve struktuře jednotlivých neuronů, v topologii spojení mezi nimi a v algoritmech učení.