184570. lajstromszámú szabadalom • Kapcsolási elrendezés mikroszámítógépes rendszerek megbízhatóságának növelésére

1 184 57Ü 2 szer írási, illetve olvasási ciklusaihoz viszonyítva. Ha akkor történik írás vagy olvasás, amikor egyik engedé­lyező jel sem érvényes, akkor a 3 figyelőáramkör meg­szakítás! parancsot ad ki az 1 mikroszámítógépes rend­szernek, amely feltétel nélkül megszakítja a program futását, és újra indítja egy előre meghatározott pontról. A program újraindítási -helyének meghatározásához az 1 mikroszámítógépes rendszer kiolvashatja a 4 regiszter­nek a programhiba jelentkezése előtti állapotát az 5 j huzalozott logikai VAGY kapcsolatot létrehozó egységen ; keresztül, amelyből az 1 mikroszámítógépes rendszer állapota meghatározható. Egyes RAM területek fokozott védelmére a kapcsolási elrendezés tartalmazhat egy olyan részt, amely a kijelölt RAM területekre történő téves beírás lehetőségét nagy­mértékben csökkenti. Ennek résznek a működése a következő: A RAM területek először két részre: védett és nem védett részre, majd a védett terület további p = 2 r (ahol r = 0 vagy pozitív egész szám) részre osztható. Az egyes védett területeket egy bitkombináció azonosítja, továb­biakban RAM szegmens azonosító. Mielőtt az 1 mikro­számítógépes rendszer a megfelelő védett RAM területen végezne írási műveletet, a 4 regiszterbe beírja a megfelelő RAM szegmens azonosítóját, ez egyben az egyik operan­­dusa a 6 összehasonlító áramkörnek. A 6 összehasonlító ; áramkör másik operandusa a futó cím megfelelő bitjei. ; Ha a 6 összehasonlító áramkör a RAM-ba történő írási t szándék esetén a két összehasonlítandó operandust nem találja azonosnak, akkor ez azt jelenti, hogy illegális írás történne a kijelölt RAM területen, ezért a 7 kiválasztó áramkör egyrészt nem engedélyezi a RAM-ba írást, más­részt hibajelzést küld a 3 figyelőáramkörnek, amely ekkor megszakítási parancsot ad ki az 1 mikroszámítógépes rendszernek, amely feltétel nélkül megszakítja a program futását, és újra indítja a program futását egy előre meg­határozott pontról. A program újraindítási helyének meg­határozásához az 1 mikroszámítógépes rendszer kiolvas­hatja a 4 regiszternek a hiba jelentkezése előtti állapotát az 5 huzalozott logikai VAGY kapcsolatot létrehozó egységen keresztül. A találmány szerinti kapcsolási elrendezés tehát egy tetszőleges mikroszámítógépes rendszer villamos zavar hatására bekövetkező működészavarát küszöböli ki azál­tal, hogy egyrészt megakadályozza a mikroszámítógép „kiakadását”, és emellett megakadályozza a hibás műkö­dés hatásának érvényesülését, meggátolja a tárolt adatok sérülését, valamint a legsimább újraindítást teszi lehetővé azáltal, hogy a hiba jelentkezésekor az újraindítás a prog­ram állapotától függően csak attól a programrésztől szük­séges, amelyben a zavarás fellépett. A találmány szerinti kapcsolási elrendezést egy példa kapcsán ismertetjük részletesebben (2., 3., 4. ábrák). A logikai rajz a találmány szerinti kapcsolási elrendezés egy 8085 típusú mikroprocesszorra épülő mikroszámító­gépes rendszernél alkalmazott változatát mutatja be. Az 1 mikroszámítógépes rendszerből csak azokat a része­kéi mutatjuk be, amelyek a találmány szerinti kapcsolási elrendezés működésének megértéséhez szükségesek. Példánkban az alkalmazott 9 mikroprocesszor 8085 típusú. A 9 mikroprocesszor AD0...AD7 vezetékeit a 10 és 11 leválasztó egységeken vezetjük keresztül, ame­lyek segítségével lehetővé válik az adatvonalak meg­szakítása, és egy előre kijelölt utasítás kódjának az adat­­bemenetekre történő kapcsolása. A 10, 11 leválasztó egységek CTR vezérlőjele az adatvonalakat leválasztja, és a megszakítási utasításnak megfelelő byte-ot kény­szeríti az adatbemenetekre, ennek megfelelően ilyen esetekben a 9 mikroprocesszor megszakítási ciklusba kerül. A programozható 12 input/output port úgy van be­állítva, hogy PA és PC0...PC2 kimenetként a PB és PC4...PC6 bemenetként működnek. A PC0...PC2 ki­meneteken keresztül max. 8 részre osztható a 15 csak olvasható memória, amely úgy van programozva, hogy az 1 mikroszámítógépes rendszer működtető programjá­nak megfelelő részeiben előforduló utasításoknak meg­felelő címeken a DO bit L értékű, míg minden más címen II értékű. A 25, 26, 27, 30, 33, 37 és 39 logikai ÉS áramkörök, a 29 és 34 logikai NEMÉS áramkörök, a 28 logikai INVERTER, a 31, 32, 35 és 36 D flip-flopok, valamint a 38 monoflop képezik a 3 figyelőáramkört. A 25, 26, 27, 30 logikai ÉS áramkörök és a 28 INVERTER, vala­mint a 31 és 32 D flip-flopokból álló áramköri rész azt biztosítja, hogy a 29 logikai NEMÉS áramkör kimenetén csak akkor érvényesüljön a 15 memória D0 bitjének értéke, ha FETCH típusú ciklusban van a 9 mikroprocesz­­szor, s ezáltal minden egyes utasítás az áramkör ellen­őrzése alatt áll. Ha valamilyen villamos zavar miatt az adatvonaiakon olyan utasítás kódja jelenik meg, amely az éppen futó programszegmensben nem értelmezett, akkor a 29 logikai NEMÉS áramkör egy fél órajel idejére L értéket vesz fel, és ez a jel a 33 logikai ÉS áramkörön keresztül Q = H értékbe állítja a 35 D flip-flopot. Ennek hatására a 36 D flip-flop szintén átbillen alapállapotából (Q = L.) O = H-ba és a 37 logikai ÉS áramkör kímenete a következő FETCH ciklusban H-ba kerül, tehát a CTR jel H értékű, és így a 9 mikroprocesszor RST 7 állapotba kerül. Az RST 7-nek megfelelő alprogramban az 1 mikro­számítógépes rendszer lekérdezheti a 12 1/0 port kime­neteinek állapotát (PA0...PÁ7 kimenetek állapotát a PB0...PB7 bemeneteken, a PC0...PC2 kimenetek álla­potát a PC4...PC6 bemeneteken keresztül), és dönthet, hogy milyen programpontról induljon újra a 9 mikro­processzor. A 38 monoflop állítja újra alapállapotba a 36 D flip-flopot a FETCH ciklus végén. Ha a címvezetékeken olyan cím jelenik meg írás vagy olvasás alatt — valamely villamos zavar hatására —, amely nincs értelmezve, akkor a 16 logikai NEMÉS kapu­­áramkör - ameíyik a 8 logikai VAGY áramkör szerepét tölti be - kimenete L értékű lesz, és az RD vagy a WR jelek aktívvá válásakor a 35 D flip-flop Q = H lesz, és a már előbb leírt megszakítási folyamat játszódik le, amely­nek során az 1 mikroszámítógépes rendszer zavarás idején fennálló állapotától függően újra indul és megkísérli a helyes működést. A kijelölt RAM területek védelme a következőképpen valósul meg: A 7 kiválasztó áramkört a 17, 18, 20, 24 1NVERTEREK, a 19 logikai ÉS áramkör, a 22, 23 logikai NEMÉS áramkörök képezik, a 6 összehasonlító egység a 13. I I négybites komparátorokból épül fel, és így egy nyolcbites szó összehasonlítására alkalmas. Esetünkben a RAM területek tartománya 1000... 1 OFF. Ezt a tarto­mányt két részre osztjuk: 1000...107F és 1080...10FF részekre, ahol az előbbi tartományba helyezhetők olyan adatok, amelyek írásvédelemben részesíthetők. Ez a 128 byte széles tartomány a kapcsolás szerinti bekötés­ben max. 32 db 4 byte-os szegmensre osztható, ahol is 5 10 15 20 25 30 '35 40 45 50 55 60 65 3

Next

/
Oldalképek
Tartalom