NL193005C - Faalveilig rekenstelsel. - Google Patents
Faalveilig rekenstelsel. Download PDFInfo
- Publication number
- NL193005C NL193005C NL8720169A NL8720169A NL193005C NL 193005 C NL193005 C NL 193005C NL 8720169 A NL8720169 A NL 8720169A NL 8720169 A NL8720169 A NL 8720169A NL 193005 C NL193005 C NL 193005C
- Authority
- NL
- Netherlands
- Prior art keywords
- fail
- safe
- self
- error
- test
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
1 193005
Faalveilig rekenstelsel
De uitvinding heeft betrekking op een faalveilig rekenstelsel, voorzien van: - een processor, 5 - een vast geheugen voor het daarin opslaan van bedrijfscode-instructies die door de processor kunnen worden gemanipuleerd, - een tijdelijk geheugen waarin informatie kan worden opgeslagen, - verifiëerorganen voor het verifiëren van de inhoud van het geheugen door op de opgeslagen bedrijfscode-instructies een algoritme uit te voeren, 10 - testorganen voor het testen van de integriteit van het tijdelijk geheugen met behulp van een testpatroon, - geldigheidscontrole-organen voor het controleren van de geldigheid van de werking van de processor, en - blokkeerorganen om het uitvoeren van de bedrijfscode-instructies door de processor te blokkeren in afhankelijkheid van de uitkomst van een of meer van de uitgevoerde testen.
Een dergelijk rekenstelsel is bekend uit de Europese octrooiaanvrage EP 0.018.736. Dit stelsel bevat een 15 aantal zelftest-routines die worden uitgevoerd bij het optreden van bepaalde in- of uitwendige omstandigheden. Het doel van de uitvinding is een verbeterd stelsel te verschaffen waarbij de werking ervan voortdurend onder controle wordt gehouden.
Hiertoe is het stelsel volgens de uitvinding zodanig uitgevoerd, - dat is voorzien in activeerorganen voor het periodiek activeren van de verifiëerorganen, de testorganen en 20 de geldigheidscontrole-organen tijdens het uitvoeren van de bedrijfscode-instructies door de processor; - dat de testorganen zijn voorzien van vasthoudorganen voor het vasthouden van de huidige informatie welke in het tijdeiijke geheugen is opgeslagen, en van herstelorganen voor het herstellen van de huidige informatie in het tijdelijke geheugen na het uitvoeren van de test; - dat de geldigheidscontrole-organen ingericht zijn om de bedrijfscode-instructies in discrete substellen uit te 25 voeren en de toestand van een inwendig register van de processor tijdens het uitvoeren te controleren; - dat is voorzien in trekkersignaalorganen voor het opwekken van een trekkersignaal, dat onafhankelijk wordt beïnvloed door de verifiëerorganen, de testorganen en de geldigheidscontrole-organen, zodanig dat dit signaal representatief is voor de verificatie van het vaste geheugen, de integriteit van het tijdelijk geheugen en de geldigheid van de werking van de processor, waarbij het trekkersignaal wordt toegevoerd 30 aan de blokkeerorganen; - dat de blokkeerorganen zijn voorzien van vrijgeeforganen om de verdere uitvoering van de bedrijfscode-instructies door de processor mogelijk te maken indien het trekkersignaal tijdig wordt ontvangen; en - dat voorzien is van invang-organen om het opwekken van het trekkersignaal door de trekkersignaalorganen te vertragen indien de verifiëerorganen, de testorganen of de geldigheidsorganen niet het gewenste 35 resultaat opleveren.
Opgemerkt wordt nog dat het periodiek activeren van testmiddelen op zichzelf bekend is US Patent 3.908.099, en het vasthouden en weer herstellen van informatie in een tijdelijk geheugen uit UK Patent Application 2.046.964.
40 De uitvinding zal onderstaand nader worden beschreven aan de hand van een uitvoeringsvoorbeeld en onder verwijzing naar de tekening, waarin: figuur 1 een blokschema is van een op een microprocessor gebaseerd rekenstelsel voorzien van de faalveilig-architectuur "hardware”; figuren 2A-G in het algemeen stroomdiagrammen van de faalveiligroutines tonen; 45 figuur 3 schematisch de aftaktest met twee banen toont; figuren 4A en B schematisch respectievelijk het digitale banddooriaatfilter met smalle doorlaatband en het met de voedingsbron gekoppelde paar schakeltransistoren tonen; en figuren 5A, B en C tijddiagrammen tonen voor de schakeling van de figuren 4A en B tijdens normaal bedrijf en bij het detecteren van twee typen fouten.
50
De uitvinding heeft betrekking op een faalveilig-architectuur voor een rekenstelsel en tevens op de faalveilige werking van het rekenstelsel. Bij de faalveilig-architectuur wordt rekening gehouden met de mogelijke modes van componentfalen, de eindige waarschijnlijkheid van falen en bij de architectuur wordt gebruik gemaakt van een geslotenlusdetectie om ervoor te zorgen, dat, indien een component faalt, het 55 rekenstelsel in een beperkende bedrijfsmode wordt gebracht of buiten werking wordt gesteld om ervoor te zorgen, dat de fout de omgeving waarbinnen het rekenstelsel werkt, niet op een schadelijke wijze zal beïnvloeden.
1193005 2
De faalveilig architectuur kan in het algemeen worden beschouwd als samenwerkende met drie segmenten van het rekenstelsel: de ’’hardware” van de rekeninrichting (dat wil zeggen een processor, een microprocessor, een te programmeren regelinrichting, geheugeneenheden, decodeerinrichtingen, rand-inrichtingen, of andere koppeltekens); de "software” van de rekeninrichting (dat wil zeggen "software”-5 toepassingsroutines of elk type sequentiële instructie, dat de werking van de ’’hardware" van de rekeninrichting bepaalt, hetzij opgeslagen in een dood geheugen (ROM) hetzij opgeslagen in een vrij toegankelijk geheugen (RAM); en een uitwendige controleketen, welke de faalveilig-schakeling is. Deze drie segmenten van het rekenstelsel werken op basis van de tijd met elkaar samen.
De hier beschreven faalveilig-architectuur is van toepassing op een uitgestrekt gebied van rekenstelsels. 10 Bij de in figuur 1 afgebeelde uitvoeringsvorm echter omvat het rekenstelsel 10 een microprocessor 14, die via een lijn 16 is gekoppeld met een randkoppelaanpassings-(PIA)-regelaar 18, een adresdecodeerinrichting 20, een ROM 22, een RAM 24 en een faalveilig-tempeerinrichting *1. Een stelselklok 29 wekt stelselklok-pulsen op, die aan de microprocessor en, ofschoon niet weergegeven, aan andere componenten van het stelsel 10 worden toegevoerd. Een afzonderlijke klok 27 levert signalen aan de faalveilig-schakeling 26.
15 De faalveilig-tempeerinrichting *1 werkt met de microprocessor 14 normaal samen door het opwekken van een onderbrekingssignaal als een niet-maskeerbare onderbreking (NMI) voor de microprocessor en tevens door het na een foutdetectie opwekken van een terugstelsignaal voor de microprocessor, dat veroorzaakt, dat het stelsel 10 opnieuw wordt geïnitialiseerd. De "software” van de microprocessor NMI bestuurt het PIA (18)-uitgangssignaal. Het uitgangssignaal van de PIA 18 wordt toegevoerd aan de 20 faalveilig-voedingsketen 28, welke op zijn beurt aanwezig is tussen de voedingsbron 30 en de +V-voedingsingangen van de componenten van het stelsel 10.
Zoals de vakman welbekend is, kan het stelsel 10 aanzienlijk meer componenten dan in figuur 1 is afgebeeld omvatten. Op een soortgelijke wijze kunnen bepaalde componenten worden geëlimineerd.
Ter introductie werkt de faalveilig-architectuur op de achtergrond als een transparante eenheid in het 25 stelsel 10 en stoort deze, indien geen fouten worden ontdekt, de werking van het stelsel niet. Teneinde bijvoorbeeld een informatie-invoer vanuit een (niet weergegeven) toetsenbord te verkrijgen voert de microprocessor 14 een in de ROM 22 opgeslagen uitleestoetsenbordroutine uit. Een dergelijke routine wordt belichaamd door een groep van bedrijfscodeïnstructies, opgeslagen in de ROM 22. De ingangsinformatie uit het toetsenbord wordt in de RAM 24 op een tussenbasis opgeslagen. De microprocessor 14 verwerkt of 30 manipuleert deze informatie door het uitvoeren van een andere groep bedrijfscodeTnstructies (op-code) en het opwekken van verdere tusseninformatie voor opslag in de RAM 24. Daarna voert de microprocessor 14 de verwerkte informatie via de PIA-regelaar 18 toe aan een andere randinrichting, zoals een vloeibare-kristalweergeefinrichting, door het uitvoeren van een verdere groep van op-code, opgeslagen in de ROM 22, waarbij in de RAM 24 opgeslagen verwerkte informatie wordt weergegeven.
35 In het algemeen werkt de faalveilig-tempeerinrichting *1, op een bepaald tijdstip, een onderbrekingssignaal voor de NMI (niet-maskeerbare onderbrekings-)ingang van de microprocessor 14 op. Daarna schort de microprocessor 14 het uitvoeren van de op dat moment plaatsvindende "software”-toepassingsroutine op, slaat eventuele tusseninformatie en bedrijfsparameters in de RAM 24 op en voert een zelfcontrolemoduul-routine uit, welke in de ROM 22 is opgeslagen.
40 Elke zelfcontrolemoduul controleert een bepaald element of een bepaalde werking van een element in het stelsel 10 en controleert bijvoorbeeld een ROM-blok, een RAM-blok of de werking van de microprocessor door het uitvoeren van discrete onderstellen van op-code en het controleren van de toestand van een inwendig register in de microprocessor. Opgemerkt wordt, dat eik type informatie-opzamelinrichting in plaats van de ROM of RAM kan worden gecontroleerd. Indien geen fout wordt gevonden (d.w.z. dat de tests op 45 een succesvolle wijze zijn voltooid), stelt de microprocessor 14 een terugsteltempeerinrichting en de NMI-tempeerinrichting in de faaltempeerinrichting *1 terug en activeert de PIA 18 een rechthoekige faalveilig-golfgeneratortempeerinrichting in de keten 26, welke de rechthoeksgolf aan de faalveilig-voedingsschakeling 28 toevoert. Indien deze golf tijdig wordt ontvangen sluit deze één van het paar schakeltransistoren teneinde een continue koppeling tussen de voedingsbron 30 en de 50 +V-voedingsingangsklemmen van de componenten van het rekenstelsel 10 te onderhouden.
De werking van de faalveilig-architectuur is aangegeven in de stroomdiagrammen van de figuren 2A-G. De figuren 2A en B tonen de faalveilig-uitvoeringsroutine, welke de onderlinge samenwerking tussen de specifieke faalveilig-routines (zelf-controlemodules) het algemene bedrijfsstelsel van het rekenstelsel 10 en de onderlinge samenwerking tussen deze elementen en de faalveilig ”hardware”-schakeling aangeeft. Nadat 55 aan het rekenstelsel 10 initieel energie is toegevoerd, wordt het rekenstelsel 10 bij stap 50 geïnitialiseerd.
De faalveilig-voedings-/faalveiligterugstelketen in de faalveilig-voedingsketen 28 wordt in stap 52 in werking gesteld; deze stap zal later gedetailleerd worden beschreven.
3 193005
De faalveilig-schakeling 26 gebruikt tempeerinrichtingen T1 en T2 (niet weergegeven in figuur 1 doch geïdentificeerd bij de stappen 54 en 56) als een deel van de tempeerinrichting *1 (weergegeven in figuur 1).
De tempeerinrichtingen Tl en T2 wekken respectievelijk een NMI-onderbrekingssignaal van de microprocessor 14 en een terugsteisignaal op. De NMI-tempeerinrichting (T1) bestuurt het opwekken van het rechthoe-5 kige faalveilig-golfsignaal via een ”software”-onderbrekingsroutine. Het ”hardware”-uitgangssignaal wordt in de PI A 18 opgewekt en aan de faalveilig-keten 26 toegevoerd; de voedingsregeling wordt aan de faalveilig-voedingsketen 28 toegevoerd. De NMI-tempeerinrichting T1 en de terugsteltempeerinrichting T2 worden bij stap 54 in werking gesteld.
Bij stap 58 worden alle zelfcontrolemodules in sequentiële volgorde uitgevoerd. Indien bij stap 60 een 10 fout wordt gedetecteerd wordt bij stap 62 een fouttelteller geïncrementeerd en springt de faalveilig-uitvoeringsroutine bij stap 64 naar de faalveilig-invangroutine (figuur 2C).
In afwezigheid van een gedetecteerde fout door een zelfcontrolemoduul verkrijgt de microprocessor 14 een aangewezen toepassingsroutine bij stap 66. Aan het begin van elke toepassingsroutine, welke is samengesteld uit een groep van op-code, opgeslagen in de ROM 22, zamelt de toepassingsroutine een 15 speciaal toepassingscodewoord op de geheugenplaatsen K1, K2 en K3 in de RAM 24 als toepassings-controlecodewoorden (stap 68) op. Daarna wordt de toepassingsroutine uitgevoerd (stap 70).
Om de werking van de toepassingsroutine te controleren en een weglopen of een situatie waarbij de processor niet meer wordt bestuurd te identificeren, vergelijkt de toepassingsroutine periodiek en op een willekeurige wijze een toepassingsroutinecodewoord ten opzichte van het toepassingscontrolecodewoord op 20 één van de geheugenplaatsen K1, K2 of K3 (stap 72). Dit type fout doet zich soms voor wanneer adres- of data-informatie op de een of andere wijze wordt vervalst, zodat informatie als instructies wordt geïnterpreteerd en/of instructies als informatie worden geïnterpreteerd. Door het toepassingscodewoord op een willekeurige wijze ten opzichte van het opgeslagen toepassingscontrolecodewoord te vergelijken, worden het 1 adres en de informatie geverifieerd en wordt de werking van de microprocessor gevarieerd. Indien de 25 vergelijking bij stap 74 niet gunstig is, wordt de fouttelteller bij stap 64 geïncrementeerd en springt de faalveilig-routine naar de faalveilig-invangroutine bij stap 78. Indien daarentegen de vergelijking gunstig uitvalt, wordt de toepassingsroutine verder bij stap 78 door de microprocessor 14 uitgevoerd. Het stroomdiagramsymbool B1 identificeert de correlatie tussen de figuren 2A en 2B. Het zal de vakman duidelijk zijn, dat tot deze toepassingscontrolecodesubroutine een aantal malen tijdens het uitvoeren van de 30 toepassingsroutine toegang kan worden verschaft. Ofschoon niet aangegeven controleert voordat een bepaalde toepassingsroutine een kritische stap uitvoert, zoals het zenden van een signaal naar een inrichting buiten het rekenstelsel 10, de toepassingsroutine het toepassingscodewoord op de plaatsen K1, K2 en K3. Indien het controlecodewoord niet wordt bevestigd, vindt de kritische stap niet plaats en gaat het stelsel over naar de faalveilig-invangroutine.
35 De beslissingsstap 80 bepaalt of de tijd van de NMI-tempeerinrichting T1 is verstreken en of het NMI-onderbrekingssignaal aan de microprocessor 14 is toegevoerd. De NMI-tempeerinrichting is onafhankelijk van de werking van het stelsel 10 behalve wat betreft de ontvangst van de klokpulsen. In afwezigheid van de NMI-onderbreking keert de faalveilig-uitvoeringsroutine naar stap 70 terug zoals aangegeven door het stroomdiagramsymbool A2. In de aanwezigheid van een NMI-onderbreking wordt de toepassingsroutine 40 opgeschort en worden tusseninformatiewaarden (tussenberekeningsinformatie) bij stap 82 opgeslagen. Bij stap 84 wordt een NMI-telteller geïncrementeerd indien een telling in de faaltelteller aanwezig is en bij de beslissingsstap 86 wordt bepaald of de NMI-telling groter is dan 10. indien de telling groter is dan 10, worden de fouttelteller en de NMI-telteller bij de stappen 88 en 89 vrijgegeven. Indien de telling niet groter is dan 10, identificeert de stap 90 de zelfcontrolemoduul, welke door het zeifcontrolewijzerregister moet 45 worden uitgevoerd. Stap 92 verschaft een sprong naar de zelfcontrolemoduuluitvoeringsroutine van figuur 2D. Zoals later zal worden besproken is de zelfcontrolemoduuluitvoeringsroutine, bij deze uitvoeringsvorm, geen onafhankelijke routine doch maakt deze deel uit van elke zelfcontrolemoduulroutine. De zelfcontrole-moduuluitvoeringsroutine wordt hier gegeven om de stappen te beschrijven, die bij elke zelfcontrolemoduul gemeenschappelijk zijn.
50 Figuur 2C toont het stroomdiagram voor de faalveilig-invangroutine, waartoe elke keer, dat een fout wordt gedetecteerd, toegang wordt verschaft. Initieel geeft bij stap 110 de faalveilig-invangroutine het toepassingscontrolecodewoord uit de geheugenplaatsen K1, K2 en K3 vrij. Bij stap 112 wordt de microprocessorhersyn-schronisatieroutine uitgevoerd. De hersynchronisatieroutine is bestemd om de microprocessor opnieuw te synchroniseren wanneer de adreswoorden en/of de informatiewoorden niet synchroon zijn met de werking 55 van de microprocessor. Eén routine voor het hersynchroniseren van de microprocessor bestaat daarin, dat gebruik wordt gemaakt van een reeks van uit een enkele byte bestaande op-code-instructies. Wannéér bij wijze van voorbeeld een instructie wordt verondersteld, die een lengte van zes bytes heeft, en wanneer 1193005 4 wordt aangenomen, dat de microprocessor bij de tweede byte in plaats van bij de eerste begint te werking (een niet-synchrone toestand), wordt een reeks van zes uit een enkele byte bestaande instructies gebruikt, en wel zodanig, dat de microprocessor elke byte als een instructie onderkent. Deze reeks instructies hersynchroniseert de werking van de microprocessor. De niet-synchrone toestand kan worden veroorzaakt 5 doordat een defecte component de adres- of informatielijnen beïnvloedt, kan worden veroorzaakt door een slechte soldeerverbinding bij één van de penverbindingen van de componenten, of kan een gevolg zijn van een kortsluiting bij een gedrukt-ketenpaneel. Voorts kan de niet-synchrone werking van de microprocessor in plaats van een permanente fout te zijn een overgangskarakter hebben; derhalve voert de faalveilig-invangroutine de hersynchronisatieroutine 112 uit.
10 De beslissingsstap 114 is een ”hardware”-functie, waarbij wordt vastgesteld of de tijd van de terugstel-tempeerinrichting T2 is verstreken. De tempeerinrichtingen T1 en T2 worden initieel tijdens de initialisering van het rekenstelsel 10 ingesteld. Elke tempeerinichting T1 en T2 telt onafhankelijk van de werking van de microprocessor 14 en is uitsluitend afhankelijk van het klokingangssignaal uit de klok 29. Elke tempeer-inrichting (T1 en T2) wordt door een faalveilig-trekkersignaal aan het eind van elke zelfcontrolemoduu! 15 opnieuw geïnitialiseerd. De terugsteltempeerinrichting T2 heeft een langere aftelperiode dan de NMI-tempeerinrichting T1.
De terugsteltempeerinrichting T2 stelt het rekenstelsel 10 in werking om zich bij een overgangsfout te herstellen. In aanwezigheid van een terugstelsignaal uit de terugsteltempeerinrichting 12 initialiseert de microprocessor 14 in het algemeen het rekenstelsel door het uitvoeren van alle zelfcontrolemodules. Het 20 beslissingsblok 116 stelt vast of de foutteliing groter is dan drie. Indien de fouttelling kleiner is dan de drie, worden bij stap 118 alle tusseninformatiewaarden opgeslagen en verschaft het stroomdiagramsymbool A1 een terugkeer naar de faalveilig-uitvoeringsroutine (figuur 2A) vóór de stap 52.
Indien de initieel gedetecteerde fout een overgangskarakter heeft en door de herinitialisering wordt gecorrigeerd, zal bij het opnieuw uitvoeren van alle zelfcontrolemodules bij stap 58 de fout niet worden 25 gedetecteerd. Indien de fout niet voor een tweede maal wordt gedetecteerd, hervat de microprocessor de opgeschorte toepassingsroutine. De fouttelteller controleert hoeveel fouten binnen een voorafbepaald aantal van NMI-onderbrekingssignalen is gedetecteerd. Bij deze uitvoeringsvorm gaat indien binnen 10 NMI’s drie fouten worden gedetecteerd de faalveilig-invangroutine over naar stap 120, welke een sprong naar zichzelf is, dat wil zeggen naar het stroomdiagramsymbool C1; gaat naar stap 112 over, welke een sprong is naar 30 het stroomdiagramsymbool C2; en gaat over naar stap 124, welke een sprong naar C1 is. Op deze wijze vertraagt de faalveilig-invangroutine het opwekken van een faalveilig-trekkersignaal aan het eind van elke zelfcontrolemoduul, welke het rechthoekige faalveilig-uitgangsgolfsignaal uit de PIA 18 trekt. In afwezigheid van de rechthoekige faalveilig-golf, koppelt de faalveilig-voedingsketen 28 de voedingsbron 30 niet met de voedingsingangen van de componenten van het rekenstelsel 10. Derhalve vormt de NMI-tempeerinrichting 35 T1 het middel voor het periodiek activeren van de zelfcontrolemodules. De rechthoekige faalveilig-golf werkt in samenwerking met de faalveilig-voedingsketen 28 als een middel om het uitvoeren van bedrijfscode-instructies door de processor in afhankelijkheid van het succesvol testen en controleren door de zelfcontrolemodules te belemmeren.
Figuur 2D toont een stroomdiagram van de werking van de zelfcontrolemoduuluitvoeringsroutine. Zoals 40 reeds is vermeld omvat elke zelfcontrolemoduul de stappen, welke bij deze uitvoeringsroutine zijn aangegeven; de uitvoeringsroutine wordt hier slechts gegeven ter illustratie van de voor alle zelfcontrolemoduul-routines gemeenschappelijke stappen (Zie figuren 2E-G).
Initieel identificeert de zelfcontrolemoduuluitvoeringsroutine de volgende zelfcontrolemoduul, welke moet worden uitgevoerd, als aangegeven in het zelfcontrolewijzerregister (stap 128). Bij stap 130 controleert de 45 routine de testwaarde, welke eerder in het testregister is opgeslagen door de eerder uitgevoerde zelfcontrolemoduul, ten opzichte van een huidige testwaarde. indien de testwaarde onjuist is (stap 132), wordt de fouttelteller geïncrementeerd (stap 134) en springt de routine naar de faalveilig-invangroutine (stap 136). Indien de testwaarde juist is, wordt de geïdentificeerde zelfcontrolemoduul bij stap 138 uitgevoerd. Zoals later zal worden besproken, wordt aan het eind van elke zelfcontrolemoduul, het zelfcontrolewijzer-50 register bijgewerkt om de volgende zelfcontrolemoduul welke moet worden uitgevoerd, te identificeren en wordt een testwaarde, welke uniek is voor de op dat moment uitgevoerde zelfcontrolemoduul, in het testregister gebracht. Derhalve wordt voor het uitvoeren van elke zelfcontrolemoduul de testwaarde uit de voorafgaande zelfcontrolemoduul bevestigd. De zelfcontrolemoduulroutine voor de ROM, de RAM en de op-code zullen later onder verwijzing naar de figuren 2E, F en G worden besproken.
55 Wanneer wordt verondersteld, dat bij stap 140 door de zelfcontrolemoduul geen fout wordt gevonden, tast de routine de faalveilig-voedingsketenaftastlijnen af of controleert deze. Deze aftastlijnen zullen later onder verwijzing naar de figuren 4A en 4B worden beschreven. Indien de toestand van de aftastlijnen 5 193005 onjuist is (stap 142) wordt de fouttelteller geïncrementeerd (stap 144) en vindt een sprong plaats naar de faalveilig-invangroutine (stap 146). Indien op de aftastlijnen het juiste signaal wordt afgetast wordt bij stap 148 het zelfcontrolewijzerregister gewijzigd om naar de volgende zelfcontrolemoduulroutine te wijzen. Bij stap 150 wordt de zelfcontroletestwaarde in het testregister gebracht; deze waarde is uniek voor de met 5 succes uitgevoerde zelfcontrolemoduul.
Bij stap 152 wordt bepaald of de zelfcontrolemoduul in een initialiseringsmode wordt uitgevoerd (bij stap 58 van figuur 2A de faalveilig-uitvoeringsroutine) en indien dit het geval is, wordt bij stap 154 de juiste vertraging of het terugstellen van de tempeerinrichtingen T2 en T1 onderkend. De zelfcontrole-uitvoeringsroutine springt dan bij het stroomdiagramsymbool D1 naar de stap 128. Indien de zelfcontrole-10 uitvoeringsroutine zich niet in de initialiseringsmodes bevindt, worden de terugsteltempeerinrichting T2 en de NMI-tempeerinrichting T1 bij stap 156 opnieuw geïnitialiseerd; er wordt bij stap 158 een faalveilig-besturingssignaal naar de rechthoekige faalveilig-uitgangsgolfinrichting PIA 18 gezonden. Aan de tempeer-inrichting T1 wordt de helft van de rechthoekige faalveilig-golfperiode toegevoerd. Het uitgangssignaal van de faalveilig-PIA-keten 18 (figuur 1) is gedurende één helft van de rechthoekige faalveilig-golfperiode hoog 15 en gedurende de tweede helft van de rechthoekige faalveilig-golfperiode laag (een wisselperiode van 50%). Indien de tempeerinrichting T1 niet door de bepaalde zelfcontrolemoduul opnieuw wordt geïnitialiseerd wekt het uitgangssignaal uit de faalveilig-PIA 18 geen rechthoekige golf met de juiste frequentie op, detecteert de faalveilig-schakeling 26 een fout en schakelt de faalveilig-voedingsketen 28 niet één van de schakel-transistoren om en derhalve wordt geen energie vanuit de bron 30 naar de +V-voedingsingangen van de 20 componenten van het rekenstelsel 10 gevoerd.
Bij stap 160 wordt de opgeschorte toepassingsroutine hervat en toont het stroomdiagramsymbool A2, dat het programma overgaat naar de faalveilig-uitvoeringsroutine bij stap 70 van figuur 2A. Natuurlijk impliceert het hervatten van de opgeschorte toepassingsroutine, dat de opgeslagen tusseninformatiewaarden en operationele parameters door de microprocessor 14 worden teruggegeven aan de verschillende componen-25 ten, welke uniek zijn voor die toepassingsroutine. Op deze wijze werkt de faalveilig-architectuur op de achtergrond en is deze transparant voor het uitvoeren van bedrijfscodeïnstructies door de microprocessor 14.
Bij de faalveilig-architectuur wordt rekening gehouden met de volgende inwendige fouten van de processor (microprocessor 14 of centrale verwerkingseenheid): blokkering van de programmateller, de 30 programmateller springt met 2N, een programmatellertoevoerfout, de programmateller gebruikt willekeurige incremented een blokkering van het indexregister, de indexregisterincrementering en decrementering is willekeurig, een onjuiste toevoer aan het indexregister, een blokkering van de stapelteller, de stapelteller heeft een willekeurige waarde en een register wordt geblokkeerd of daaraan wordt op een onjuiste wijze informatie toegevoerd. Voorts wordt door de faalveilig-architectuur rekening gehouden met de volgende 35 adresfouten: een kortsluiting of open keten in de adreslijn, elektromagnetische storing of radiofrequente ruis op de lijn, capacitieve of inductieve ruis op de lijn en een defect in de adresdecodeerketen. Natuurlijk kan de informatie op de informatielijnen ook worden beïnvloed door soortgelijke problemen als aangegeven ten aanzien van de adreslijn. Door de faalveilig-architectuur wordt ook rekening gehouden met informatiefoutmo-des zoals: een vervalsing tijdens uitlees/registratiehandelingen, meer in het bijzonder een ’’zachte” of 40 overgangsfout, een permanente of ’’harde” fout ten gevolge van een vervalsing tijdens uitlees/ registratiehandelingen, en een kortsluiting of open keten bij de informatielijn. Tempeerfouten omvatten: een oscillatorfout, een inwendige volgordefout en een kortgesloten of verbroken tempeersignaallijn. Door de faalveilig-architectuur worden ook logische fouten gecontroleerd, die een gevolg zijn van defecte inwendige logische elementen in de microprocessor 14.
45 De faalveilig ’’software” omvat bij deze uitvoeringsvorm in het algemeen drie typen zelfcontroleroutines: de ROM-zelfcontroleroutine, figuur 2D; de RAM-zelfcontroleroutine, figuur 2F; en de op-code-zelfcontroleroutine, figuur 2G.
Bij deze uitvoeringsvorm is de ROM voor de faalveilig-architectuur gesplitst in ROM-blokken. Op een soortgelijke wijze is de RAM voor de faalveilig-architectuur in RAM-blokken gesplitst. Tenslotte is de gehele 50 op-code, welke door het regelstelsel 10 wordt gebruikt, gesplitst in stellen en deze stellen zijn verder verdeeld in onderstellen. In het algemeen verifieert de ROM-zelfcontroleroutine de inhoud van één RAM-blok door op de daarin opgeslagen op-code een algoritme uit te oefenen. Bij het volgende NMI-onderbrekingssignaal test de RAM-zelfcontrolemoduul de integriteit van één RAM-blok door de in dat RAM-blok opgeslagen geldende informatie vast te houden, een eerste testpatroon in het blok te registreren 55 en langs algoritmische weg dit testpatroon te verifiëren, een tweede testpatroon in het blok te registreren en dit testpatroon te verifiëren, en de geldende informatie opnieuw in dit RAM-blok terug te brengen. Bij de derde NMI-onderbreking controleert de op-code-zelfcontrolemoduul initieel de werking van een inwendig ------ e register, voert dan discrete onderstellen van op-code in het op-codestelsel uit en controleert de toestand van het inwendige register tijdens dit uitvoeren. Bij de vijfde NMI wordt het tweede stel van de op-code gecontroleerd; bij de zesde NMI wordt het derde stel van de op-code gecontroleerd enz. totdat de werking van de microprocessor voor de gehele op-code, welke door het rekenstelsel 10 wordt gebruikt, is gevali-5 deerd. Deze sequentiële uitvoering van de zelfcontrolemodules wordt een ’’zelfcontrole-volgorde-cyclus” genoemd. De tweede zelfcontrole-volgordecyclus voert de ROM-zelfcontroleroutine bij het tweede ROM-blok, de RAM-zelfcontroleroutine bij het tweede RAM-blok en de op-code-zelfcontrolemoduul bij alle op-codestellen uit teneinde de werking van de microprocessor te valideren.
Meer in het bijzonder ten aanzien van figuur 2E identificeert de ROM-zelfcontrolemoduul bij stap 200 het 10 te testen ROM-blok. Bij stap 202 wordt een horizontaal controlesomalgoritme toegepast op de op-code, welke in de ROM is opgeslagen en vervolgens een verticaal controlesomalgoritme op het ROM-blok. De horizontale controlesom wordt vergeleken met een gewenste resultante waarde en de verticale controlesom wordt vergeleken met een gewenste resultante bij stap 204. Indien de vergelijking ongunstig is, dat wil zeggen dat een fout wordt gedetecteerd, wordt de fouttelteller bij stap 206 geïncrementeerd en wordt bij 15 stap 208 toegang verkregen tot de faalveilig-invangroutine. Indien de controlesomwaarden het gewenste resultaat opleveren en worden deze controlesomwaarden als de ROM-blokcontrolesom 1 bij stap 210 opgeslagen. Zoals reeds is vermeld is de ROM in blokken gesplitst en wordt de in dat ROM-blok opgeslagen op-code geverifieerd door daarop tijdens één zelfcontrole-volgordecyclus een algoritme toe te passen. Indien drie ROM-blokken aanwezig zijn moeten drie cycli worden uitgevoerd om de gehele ROM te 20 controleren. Bij de beslissingsstap 212 wordt vastgesteld of alle ROM-blokken zijn gecontroleerd en indien dit niet het geval is richt het stroomdiagramsymbool D2 het programma naar de zelfcontrolemoduul-uitvoeringsroutine volgens figuur 2D, stap 140. Indien alle ROM-blokken zijn gecontroleerd, worden alle ROM-blokcontrolesommen bij stap 214 tezamen gevoegd en wordt bij de beslissingsstap 216 vastgesteld of de totale controlesom voor ROM-blokken gelijk is aan het algemeen totale resultaat. Indien dit het geval is 25 wordt bij stap 140 toegang verkregen tot de zelfcontrolemoduuluitvoeringsroutine, figuur 2D. Indien dit niet het geval is wordt de fouttelteller bij stap 218 geïncrementeerd en springt het programma naar de faalveilig-invangroutine bij stap 220. Ook nu weer is de zelfcontrole-uitvoeringsroutine een integraal deel van elke zelfcontrolemoduul; de uitvoeringsroutine zal hier slechts ter toelichting afzonderlijk worden besproken.
Zoals de vakman duidelijk zal zijn, kan de ROM permanente opzoektabellen en constanten, die door de 30 microprocessor 14 worden gebruikt, opzamelen. Natuurlijk omvat de verificatie van de inhoud van ROM het controleren van zowel de opgeslagen op-code als de opgeslagen permanente opzoektabellen en constanten.
Voorts zal het de vakman duidelijk zijn, dat een aantal verschillende algoritmen kan worden gebruikt voor het verifiëren van de inhoud van de ROM. Het convolutionele code-algoritme, waarbij de controlesommen 35 worden verkregen, is eenvoudig één methode om de inhoud van de ROM te verifiëren. Men kan gebruik maken van andere meer complexe convolutionele of cyclische redundantiecontrolecodes. Het zal de vakman duidelijk zijn, dat bij een bepaald model ROM van een bepaalde fabrikant de meest waarschijnlijke foutmodes voor die ROM worden besproken in de literatuur, welke betrekking heeft op die ROM. Het algoritme, dat gekozen wordt om de inhoud van de ROM te verifiëren is afhankelijk van de meest waar-40 schijnlijke foutmodes, welke voor dat type ROM worden geïdentificeerd.
Voorts zal het de vakman duidelijk zijn, dat het vrij toegankelijke geheugen (RAM) zodanig kan worden geconfigureerd, dat het als een opzamelorgaan voor het opslaan van operationele codeïnstructies (op-code), te veranderen opzoektabellen en veranderbare constanten kan dienen. Deze speciaal geconfigu-reerde RAM kan met de bovenbeschreven ROM-zelfcontrolemoduul worden getest.
45 Figuur 2F toont het stroomdiagram voor de RAM-zelfcontrolemoduul. Zoals reeds is vermeld is de RAM voor de faalveilig-architectuur in RAM-blokken gesplitst. Stap 230 identificeert het te testen RAM-blok.
Bij stap 232 worden de interim- of tusseninformatiewaarden, welke in het RAM-blok zijn opgeslagen, op een andere plaats in de RAM opgeslagen. In het RAM-blok wordt bij stap 234 een testpatroon geregistreerd. Bij deze uitvoeringsvorm wordt een controlesomalgoritme toegepast op het testpatroon in het 50 RAM-blok bij stap 236 en vindt een bepaling plaats ten aanzien van het feit of de controlesom gelijk is aan een voorafbepaalde controlesomwaarde (een voorafbepaalde algoritmische controlesom, welke overeenkomt met het testpatroon) (stap 238). Een ongunstige integriteitscontrole geeft een fout aan, waardoor de fouttelteller bij stap 240 wordt geïncrementeerd en wordt veroorzaakt, dat de RAM-zelfcontrolemoduul naar de faalveilig-invangroutine bij stap 242 springt. Een gunstige of succesvolle integriteitscontrole van het 55 RAM-blok veroorzaakt het opslaan van een waarde, RAM-blok 1 controlesomtest 1, bij stap 244. RAM-blok 1 controlesomtest 1 wordt op een eerder gecontroleerde plaats opgeslagen.
Zoals reeds is vermeld is de RAM in blokken gesplitst en wordt bij de beslissingstrap 246 bepaald of alle 7 193005 RAM-blokken zijn gecontroleerd. Indien zeven RAM-blokken worden gebruikt, moeten zeven zelf-controle-volgordecycli worden uitgevoerd voor het verkrijgen van zeven RAM-blokcontrolesomtest-1 -waarden. Bij 248 worden alle RAM-blokcontrolesomtestwaarden voor het testpatroon 1 bijeengevoegd en bij de beslissingsstap 50 wordt vastgesteld of het algemeen totaal van de RAM-blokcontrolesomtestwaarden voor patroon 1 5 gelijk is aan een voorafbepaalde waarde. Indien het algemeen totaal niet wordt geverifieerd wordt de fouttelteller geïncrementeerd en wordt de faalveilig-invangroutine geactiveerd. Indien het algemeen totaal juist is of indien alle RAM-blokken niet bij de beslissingsstap 246 zijn gecontroleerd, wordt bij stap 252 de integriteitstest met een tweede testpatroon voor het geïdentificeerde RAM-blok herhaald. Bij het beslissings-blok 254 wordt nagegaan of een fout is waargenomen bij de integriteitscontrole, wordt bij de ”ja”-tak de 10 fouttelteller geïncrementeerd en wordt toegang verschaft tot de faalveilig-invangroutine, terwijl bij de ”neen”-tak het programma via het stroomdiagramsymbool D2 naar de zelfcontroiemoduuluitvoeringsroutine, figuur 2D, bij stap 140 springt.
Opnieuw kunnen voor een bepaald type RAM en een bepaalde fabrikant de meest waarschijnlijke foutmodes worden geïdentificeerd en kan een geschikt algoritme door de RAM-zelfcontrolemoduul wordt 15 gebruikt voor het detecteren van de fout van de RAM. Zoals de vakman welbekend is, kunnen de ROM en de RAM defect zijn of falen ten gevolge van: een foutieve adresinformatie, foutieve datainformatie, onjuiste te programmeren dode geheugens (PROM’s) in holten (hetgeen van bijzonder belang is wanneer informatie-tabellen worden gebruikt en wanneer twee tabellen kunnen worden verwisseld, waardoor het mogelijk is, dat het stelsel wél werkt doch met onjuiste informatie), en defecte geheugenplaatjes. Bij één uitvoeringsvorm 20 hebben de gebruikte bepaalde RAM’s een grote kans op falen ten gevolge van het falen van de verbindingslijnen. Derhalve worden bij de RAM-zelfcontrolemoduul bij die uitvoeringsvorm specifieke tests voor korte afstanden bij de RAM-blokken uitgevoerd. Andere typen RAM’s hebben een foutmodus, die zodanig is, dat informatie, welke op één geheugenplaats is opgeslagen, tevens op een andere geheugenmaats in de nabijheid van de eerste plaats is opgeslagen. Er zijn specifieke algoritmen bekend om deze 25 bepaalde foutmodus van de RAM te identificeren.
Voordat een gedetailleerde bespreking plaatsvindt van het op-code-zelfcontrolemoduulstroomdiagram volgens figuur 2G dienen de volgende overwegingen ten aanzien van de keuze van bedrijfscodeïnstructies (op-code) voor de microprocessor 14 te worden beschouwd. De vakman is het duidelijk, dat voor een bepaalde door een bepaalde fabrikant vervaardigde microprocessor een groot aantal op-codes door de 30 microprocessor kan worden gebruikt voor het verkrijgen van een aantal gewenste functies. Een oogmerk van de faalveilig-architectuur is het controleren van de bedrijfsvaliditeit van de microprocessor. Gegeven de totaliteit van op-codes, welke de microprocessor onderkent en uitvoert, heeft een aantal van deze op-codes een relatief grotere waarschijnlijkheid om door de microprocessor op een onjuiste wijze te worden uitgevoerd dan andere op-codes. De vakman zal het ook duidelijk zijn, dat verschillende groepen op-codes 35 kunnen worden gebruikt voor het verkrijgen van dezelfde functie ofschoon de alternatieve op-codegroep inefficiënt kan zijn bij een bepaald attribuut van de microprocessor, dat wil zeggen, dat het kan voorkomen, dat de alternatieve op-codegroep een langere tijd nodig heeft om de gewenste functie te vervullen, vergeleken met de eerste groep.
In een poging om een geringe foutwaarschijnlijkheid bij de werking van de microprocessor te verkrijgen, 40 wordt het geheel van op-codes beperkt tot een ondergeheel van op-codes, dat een relatief grotere waarschijnlijkheid van succesvolle uitvoering door de microprocessor bezit. De keuze van het ondertotaal van bedrijfscodes is gebaseerd op een aantal factoren.
Bij één uitvoeringsvorm volgens de uitvinding is de gebruikte microprocessor een Motorola MC6809-processor van 8 bits en 4MHz. Het beperkte gebied van instructies is gebaseerd op een aantal van de 45 volgende overwegingen: 1) Gebruikerbegrip.
A) De huidige toestand van de microprocessor is afhankelijk van een enkele gebeurtenis of instructie onmiddellijk voorafgaande aan de van belang zijnde instructie.
B) De instructie beïnvloedt een enkele parameter of een enkele toestand van de microprocessor.
50 2) Het vermogen om de instructie tijdens zelftesten op een adequate wijze te testen.
A) De dubbele aftaktest is voldoende om de instructie te testen.
B) Een adequate testhandeling is tijdsgetrouw te realiseren.
Zoals eerder is vermeld wordt de door het rekenstelsel 10 gebruikte op-code (het ondertotaal van op-codes) gesplitst in stellen en wordt elk stel sequentieel door de microprocessor uitgevoerd gedurende 55 één zelfcontrole-volgordecyclus. Terugkerende tot figuur 2G identificeert stap 280 het te controleren op-codestel. Bij stap 282 wordt een enkel op-code uit dit stel geïdentificeerd, welke bij stap 284 wordt gebruikt voor het gebruiken van een enkele inwendig register in de microprocessor 14. De enkele op-code ______ 8 is één van de meest eenvoudige op-codes, welke door de microprocessor kan worden onderkend. Vóór evenwel het inwendige register met de enkele op-code te beïnvloeden, wordt het register gecontroleerd door een ”één” door het register te voeren teneinde vast te stellen of het register op een juiste wijze kan worden gevuld en dat daarin geen bit is blijven steken.
5 Bij de beslissingsstap 286 wordt vastgesteld of het inwendige register op de juiste wijze werkt; indien dit niet het geval is wordt de fouttelteller bij stap 288 geïncrementeerd en wordt bij stap 290 de faalveilig-invangroutine geëffectueerd. Indien het register op de juiste wijze is belast en daarin geen blokkerende bit aanwezig is, wordt bij stap 292 een inwendig toestandsregister met de voornaamste op-code uit het geïdentificeerde stel volledig beïnvloed. Bij de beslissingsstap 230 wordt vastgesteld of de toestand van het 10 inwendige register juist is, dat wil zeggen of het inwendige register voor het discrete onderstel een voorafbepaalde toestand bezit; indien dit niet het geval is wordt bij de stappen 232 en 234 de fouttelteller geïncrementeerd en naar de faalveilig invangroutine gesprongen. Indien daarentegen het inwendige register op de juiste wijze werkt, worden bij stap 236 de niet-gebruikte registers, tijdens het beïnvloeden van het bepaalde inwendige toestandsregister op de juiste waarden gecontroleerd. Bij de beslissingsstap 238 wordt 15 vastgesteld of de niet-gebruikte registers de juiste waarden bevatten; indien dit het geval is wordt bij stap 240 de aftaktest over twee banen voor de aftak- en spronginstructies in het op-codestel uitgevoerd.
De aftaktest met twee banen is weergegeven in figuur 3. In het algemeen wordt uit de ROM een informatiewaarde verkregen. Het inwendige register in de microprocessor wordt zodanig ingesteid, dat dit overeenkomt met de bepaalde informatiewaarde. Dit komt overeen met het tot stand brengen van de 20 toestand ”A” bij stap 300 van figuur 3. Vervolgens wordt de toestand van het inwendige register bij een positieve logische teststap 302 gecontroleerd. Indien de toestand van het inwendige register bij controle positief is, wordt het inverse van de toestand ’’A” bij dit voorbeeld verkregen door het tegengestelde van de informatiewaarde bij de stap 304 te nemen. Indien het register op de juiste wijze werkt dient het overeen te komen met het inverse van de informatiewaarde en dient de positieve logische teststap 306 ertoe te leiden, 25 dat de "neen"-tak wordt gevolgd. Indien de toestand van het register negatief is, wordt de aftaktest met twee banen met succes doorlopen. Anderzijds wordt indien bij de eerste positieve logische test van stap 302 een negatief antwoord in het inwendige register wordt verkregen, de ’’neen”-tak gevolgd en wordt een fout aangegeven; indien de ”ja”-tak vanuit de tweede positieve logische teststap 306 wordt gevolgd, wordt eveneens een fout aangegeven. Terugkerende tot het op-code-zelfcontrolemoduulstroomdiagram volgens 30 figuur 2G wordt bij het beslissingsblok 242 vastgesteld of een fout is opgetreden en worden bij de stappen 244 en 246 de fouttelteller geïncrementeerd en het programma omgeschakeld naar de faalveilig· invangroutine, terwijl bij een succesvolle validiteitscontrole het programma via het stroomdiagramsymbool D2 naar de zelfcontrolemoduuluitvoeringsroutine springt, stap 140.
Bij deze uitvoeringsvorm beïnvloedt elke op-code-zetfcontrolemoduul bij benadering 50 unieke instructie-35 stellen. De aftaktest met twee banen wordt gebruikt om alle aftak- en spronginstructies te controleren. De aftaktest met twee banen wordt uitgevoerd bij een reeks op-codes binnen het geïdentificeerde op-codestel, zodat de op-code-zelfcontrolemoduul geïnterrelateerde en gecorreleerde tests uitvoert ten aanzien van de werking van de microprocessor, wanneer deze de discrete onderstellen van de op-code uitvoert.
Aangezien de werking van de microprocessor voor de gehele werking van de het rekenstelsel 10 kritisch 40 is, omvat de zelfcontrolevolgordecyclus een ROM-zelfcontrole bij het ROM-blok 1; een RAM-zelfcontrole bij RAM-blok 1; een op-code-zelfcontrole bij de op-codestellen 1,2, 3, 4 en 5 (waarbij het rekensteisel 10 slechts de codestellen 1, 2, 3, 4 en 5 gebruikt); en na deze eerste cyclus een ROM-zelfcontrole bij het ROM-blok 2; een RAM-zelfcontrole bij het RAM-blok 2; en de op-code-zelfcontrole bij de codestellen 1, 2, 3, 4 en 5. De resterende ROM-blokken en de RAM-blokken worden bij verdere volgordecycli gecontroleerd.
45 De verschillende zelfcontrolemodules zijn met elkaar gekoppeld door de wijzerwaarde in het zelfcontrole-wijzerregister, dat boven onder verwijzing naar stap 128 van figuur 2D is besproken en de volgende zelfcontrolemoduul controleert de testwaarde in het testregister, welke is ingesteld door de voorafgaande zelfcontrolemoduul (zie stap 130 bij figuur 2D); de zelfcontrolereeks controleert derhalve continu de continuïteit tussen elke moduul.
50 De vakman zal het duidelijk zijn, dat elke randinrichting, welke onder bestuur staat van een microprocessor 14, door de faalveilig-architectuur kan worden getest. Er zijn twee grondmethoden voor het controleren van randinrichtingen, zoals de PIA-regelaar 18 en gerelateerde ketens: een volledig interactieve controle en een functionele controle. Bij de volledig interactieve controle wordt gebruik gemaakt van een gesloten-lusterugkoppeling om elke randlijn te controleren. In wezen wordt de lijn naar een hoge toestand en daarna 55 naar een lage toestand omgeschakeld om de inrichting volledig te onderzoeken. Met de fijn, welke wordt omgeschakeld, is een aftastlijn verbonden en deze aftastlijn wordt door de microprocessor gecontroleerd. In tegenstelling daarmede controleert de functionele controle het einduitgangssignaal van de randketen- 9 193005 inrichting. De bovenbeschreven op-code-zelfcontrolemoduul kan op een eenvoudige wijze zodanig worden geconfigureerd, dat deze dit kenmerk van controleren van de werking van de randinrichtingen omvat.
Voorts zal het de vakman duidelijk zijn, dat elke randinrichting tijdens het initialiseren van het rekenstelsel 10 op fouten of een foutieve werking kan worden gecontroleerd. De fabrikanten van randinrichtingen 5 verschaffen adequate instructies voor het opnemen van randinrichtingscontroles. Deze controles kunnen worden ondergebracht in de op-code-zelfcontrolemoduul, welke boven is besproken, of kunnen als een afzonderlijke randcontrolemoduul aan de faaiveilig-architectuur worden toegevoegd. De conclusies, welke aan deze beschrijving zijn gehecht, omvatten dergelijke zelfcontroles van randinrichtingen.
Bij de beschreven uitvoeringsvorm is de faalveilig-invangroutine in een aantal punten van de ROM 10 gedupliceerd. Meer in het bijzonder bevindt zich een faalveilig-invangroutine tussen elke toepassingsroutine in de ROM. Bij de toepassingsroutine (en de zelf-controlemoduul) wordt gebruik gemaakt van een bepaalde faalveilig-invangroutine.
De faaiveilig-architectuur speelt zich af om het in een kritische periode opwekken van een rechthoekig faalveilig-golfsignaal uit de PIA 18 naar de faalveilig-schakeling 26 van figuur 1. Aan het eind van elke 15 zelfcontrolemoduul wordt een vaalveilig-besturingssignaal naar de PIA 18 en NMI-tempeerinrichting T1 gezonden, waardoor een bepaalde toestand van de rechthoekige faalveilig-golf ontstaat. De tempeer-inrichting T1 tempeert zowel de hoge als lage halve perioden van de rechthoekige faalveilig-golf. In afwezigheid van een tijdig faalveilig-trekkersignaal, heeft de rechthoeksgolf niet de juiste duur, hetgeen wordt gedetecteerd door de faalveilig-keten 26, waardoor wordt veroorzaakt, dat de faalveilig-voedingsketen 20 28 het verder uitvoeren van de op-code door de microprocessor 14 wordt belemmerd doordat de schakel-transistoren tussen de voedingsbron 30 en de +V-voedingsingangen van de componenten van het rekenstelsel 10 buiten werking worden gesteld. In de aanwezigheid van tijdige faalveilig-trekkersignalen, binnen een voorafbepaald tijdvenster, sluit de faalveilig-voedingsketen 28 de betreffende schakeltransistor en onderhoudt de continuïteit van de voeding naar de componenten, dat wil zeggen, maakt een verdere 25 uitvoering van de op-code door de microprocessor mogelijk. In deze situatie wordt het faalveilig-signaal in hoofdzaak tijdig door de faalveilig-schakeling 26 ontvangen.
De figuren 4A en 4B tonen in blokschemavorm de uitschakel- en inschakelschakeling in de faalveilig-voedingsketen 28.
Meer in het bijzonder toont figuur 4A een digitaal filter met smalle doorlaatband voor het rechthoekige 30 faalveilig-golfsignaal aangegeven met ”FS”. Het banddoorlaatfilter 400 omvat de tempeerinrichtingen M1, M2 en M3. De tempeerinrichtingen M1, M2 en M3 worden geklokt door klokketen 410, welke onafhankelijk is van de klok in het rekenstelsel 10. De rechthoekige faalveilig-golf wordt direct aan de ingang van de tempeerinrichtingen M1 en M3 toegevoerd en het inverse van de rechthoekige faaiveilig-golf wordt via de invertor 412 toegevoerd aan de tempeerinrichting M2. De tempeerinrichtingen M1 en M2 beginnen met de 35 aftelperioden daarvan bij de in positieve richting verlopende voorrand van de rechthoekige faalveilig-golf respectievelijk bij de in negatieve richting verlopende achterrand van de rechthoekige faalveilig-golf. Het uitgangssignaal van de tempeerinrichting M1, aangegeven met M,, wordt toegevoerd aan de invertor 414 en het uitgangssignaal van de invertor 414 wordt tezamen met het uitgangssignaal van de tempeerinrichting M2, aangegeven met Mz aan de EN-poort G1 toegevoerd. Het uitgangssignaal G, van de EN-poort G1 40 wordt toegevoerd aan één ingang van de EN-poort G2 en één ingang van de EN-poort G3. De andere ingangssignalen voor de EN-poorten G2 en G3 zijn FF10 en FF10 uit de Q- en Q-uitgangen van de flip-flop FF1, waaraan op zijn beurt de ingangen J en K het rechthoekige faalveilig-golfsignaal wordt toegevoerd.
Het uitgangssignaal Gz van de EN-poort G2 wordt toegevoerd aan de D-ingang van de flip-flop FF2. Het uitgangssignaal G3 van de EN-poort G3 wordt toegevoerd aan de D-ingang van de flip-flop FF3.
45 Het uitgangssignaal M3 van de tempeerinrichting M3 wordt toegevoerd aan de EN-poort G4, welke tevens het inverse faalveilig-terugstelsignaal (FSreset) ontvangt. Het FS-terugstelsignaal wordt opgewerkt door óf de voedingsschakelaar 416 voor de microprocessor óf de terugstelketen 417, beide in combinatie met de tijdvertragingsketen 418. Derhalve wekt een bepaalde periode nadat de microprocessor 14 is ingeschakeld (of nadat de terugstelketen 417 door het opnieuw initialiseren bij stap 52 van figuur 2A is 50 ingesteld) de tijdvertragingsketen 418 een hoog FS-terugstelsignaal op en het inverse van dit hoge FS-terugstelsignaal blokkeert het passeren van M3 over de EN-poort G4. Het uitgangssignaal van de EN-poort G4 wordt door de invertor 420 omgekeerd en is aangegeven met G4. Dit signaal wordt toegevoerd aan de klokingangen van FF2 en FF3. De Q-uitgangssignalen van FF2 en FF3 zijn de tempeersignalen T, en T2.
55 Onder verwijzing naar figuur 4B wordt het tempeersignaa! T, toegevoerd aan de basis van de schakel-stransistor Qv De weerstand R, voert een voorspanning aan de basis van de transistor Q1 toe door de voedingsbron van 12 volt met deze basis te koppelen. De voedingsbron van 12 volt is gekoppeld met de « «tlUVil 10 emitter van de transistor Q1. Het FS-terugstelsignaal wordt ook aan de basis van de transistor Q1 toegevoerd.
Ten aanzien van het tempeersignaal T2 wordt dit signaal aan de schakeltransistor Q2 toegevoerd en spant de weerstand R2 de basis van deze transistor dienovereenkomstig voor. Het FS-terugstelsignaal wordt 5 tevens toegevoerd aan de basis van de transistor Q2. De collectors van de transistors Q1 en Q2 zijn respectievelijk gekoppeld met dioden D1 en D2 en de uitgangen van de dioden zijn gekoppeld met een regelaar 430 van 5 volt. De uitgang van de regelaar van 5 volt is verbonden met de +V-voedingsklemmen van de verschillende componenten in het rekenstelsel 10. De transistors Q1 en Q2 zijn uitgevoerd als een paar seriedoorlaattransistors.
10 Het digitale banddoorlaatfilter 400 omvat aftastlijnen S3. S4. welke met de twee ingangen van de EN-poort G1 zijn gekoppeld. Deze aftastlijnen leiden naar een randkoppelaanpassingsinrichting (PIA). De uitgangssignalen van de schakeltransistors Q1 en Q2 worden afgetast via de aftastlijn S1 en S2, welke eveneens met een PIA zijn gekoppeld. Een resistief netwerk (niet weergegeven) zet de spanningen van Q1c en Q2c (S, en S2) om in digitale niveaus, welke compatibel zijn met de aftastende PIA.
15 Bij deze uitvoeringsvorm heeft de meest kritische toepassingsroutine een duur, welke iets groter is dan 2.2 seconden. De meest kritische toepassingsroutine wordt gedefinieerd als de routine, welke een uitwendige inrichting op een belangrijke wijze beïnvloedt; de inrichting bevindt zich buiten het rekenstelsel 10. Bij deze uitvoeringsvorm is de meest kritische functie de overdracht van informatie door het rekenstelsel naar een uitwendige inrichting. De periode van 2,2 seconden is de kritische periode en binnen deze 20 kritische periode van 2,2 sec worden 51 NMI-onderbrekingssignalen opgewekt. De NMI-tempeerinrichting T1 wekt voor elke twee onderbrekingen één rechthoeksgolf op; derhalve treden binnen de kritische periode van 2.2 seconden 25,5 rechthoeksgolven op. Bij deze uitvoeringsvorm wordt elke zelfcontrolemoduul door de microprocessor 14 in bij benadering 300 en 600 microsec uitgevoerd.
Figuur 5A toont de niet-faalbedrijfsmodus van de faalveilig-voedingsketen. Op het tijdstip tg is de 25 rechthoekige faalveilig-golf (FS) hoog. De tempeerinrichting M1 en de tempeerinrichting M3 worden getrokken bij de stijgende rand (t4) van FS, waarbij de tijd van de tempeerinrichting M1 verstrijkt bij ta, iets voordat de tijd van de tempeerinrichting M3 verstrijkt bij t3. De tempeerinrichting M2 wordt bij de dalende rand van de rechthoekige faalveilig-golf FS op het tijdstip t, getrokken en de tijd verstrijkt bij tg, kort na de stijgende rand van FS bij t4.
30 In frequentietermen maakt het digitale filter 400 met smalle bandbreedte (figuur 4a) het mogelijk, dat de rechthoekige faalveilig-golf één van de transistors Q1 of Q2 inschakelt indien het signaal binnen een plus of minus 10% tijdvenster van de voorgeschreven faalveilig-periode wordt ontvangen. Derhalve verstrijkt de tijd van de tempeerinrichting M1 10% voor het eind van de faalveilig-periode en verstrijkt de tijd van de tempeerinrichting M2 10% na de faalveilig-periode. De werkzame periode van de rechthoekige faalveilig-golf 35 bedraagt 50%.
De EN-poort G1 wekt G,, een logisch hoog signaal, op het tijdstip t2 op wanneer M, laag en M2 hoog is. De flip-flop FF1 trekt de ene of de andere van de EN-poorten G2 of G3; derhalve wordt op het tijdstip t2 het uitgangssignaal G2 van de EN-poort G2 hoog ingesteld ten gevolge van het signaal FF1Q. Aangezien op de D-ingang van de flip-flop FF2 een hoog signaal wordt waargenomen op het tijdstip, dat de klokingang van 40 deze flip-flop het G^-signaal ontvangt, ten gevolge van het feit, dat de tempeerinrichting M3 op het tijdstip t3 laag wordt, wordt bij de Q-uitgang van de flip-flop FF2 een hoog signaal T1 opgewekt. Bij deze werking wordt verondersteld, dat het rekenstelsel gedurende een zodanige periode in bedrijf is, dat het stelsel niet behoeft te worden geïnitialiseerd en de terugstelketen 417 niet wordt beïnvloed en het inverse FS-terugstelsignaal hoog is. Het tempeersignaal T1 wordt toegevoerd aan de basis van de schakeltransistor 45 Q1; derhalve wordt de voedingsbron van 12 volt met de regelaar 430 van 5 volt gekoppeld en wordt energie aan de verschillende componenten van het rekenstelsel 10 toegevoerd.
Op het moment t4 wordt de stijgende rand van het rechthoekige faalvellig-golfsignaal waargenomen; de tempeerinrichting M1 wordt teruggesteld, aan deze tempeerinrichting wordt een parameter-telwaarde toegevoerd en de tempeerinrichting begint te tellen; de tempeerinrichting M3 begint opnieuw te tellen; het 50 uitgangssignaal G1 van de EN-poort G1 wordt laag ten gevolge van het hoge M.,-signaal; de flip-flop FF1 kiest de poort G3 via de Q-uitgang; derhalve wordt G2 laag.
Wanneer derhalve het G^-signaal hoog is, is het uitgangssignaal G3 van de EN-poort G3 laag, zal de flip-flop FF3 het lage ingangssignaal naar de uitgang daarvan als het tempeersignaal T2 klokken en zal de tweede transistor Q2 worden uitgeschakeld. Ten gevolge van de opslaglading in de transistor Q2 opent de 55 transistor de keten niet direct en wordt continu energie aan de regelaar 430 van 5 volt toegevoerd aangezien de transistor Q1 bijna instantaan wordt ingeschakeld. Deze werking is afhankelijk van de tijdconstante die een gevolg is van de opslagladingen Q1 en Q2.
11 193005
Op het tijdstip t5 verstrijkt de tijd van de tempeerinrichting M2.
Op het tijdstip tg vertoont de rechthoekige faalveilig-golf een dalende rand en begint de tempeerinrichting M2 af te tellen. Op het tijdstip t7 telt de tempeerinrichting M1 af, waardoor het uitgangssignaal van de poort G1 wordt verhoogd en wordt het uitgangssignaal van de poort G3 hoog geschakeld ten gevolge van het 5 Q-uitgangssignaal van de flip-flop FF1. Op het tijdstip t8 verstrijkt de tijd van de tempeerinrichting M3, waardoor de klokpuls G4 wordt vergroot en het tempeersignaal T2 wordt opgewekt doordat het hoge signaal uit de poort G3 over de flip-flop FF3 naar de transistor Q2 wordt geklokt. Tegelijkertijd wordt op het tijdstip te het lage ingangssignaal van de flip-flop FF2 naar de uitgang daarvan als het T1 geklokt en wordt de transistor Q1 uitgeschakeld. Op het tijdstip t9 wordt de voorrand van de rechthoekige faalveilig-golf 10 waargenomen, wordt de tempeerinrichting M1 ingeschakeld en wordt G, verlaagd. De hoge uitgangspuls van de poort G3 van t7 tot t9 wordt via de G4-klokpuls naar de uitgang van de flip-flop FF3 als het tempeersignaal T2 geklokt. Derhalve wordt de transistor Q2 op het tijdstip t8 ingeschakeld.
Figuur 5B toont een tempeerdiagram wanneer een rechthoekige faalveilig-golf in frequentie toeneemt. De activiteit op de tijden ί,-tg komt overeen met de normale werking, aangegeven in het tempeerdiagram van 15 figuur 5A. Op het tijdstip t, neemt de frequentie van de rechthoekige faalveilig-golf toe en treedt de volgende stijgende rand op het tijdstip t, vroeger op dan werd verwacht. De stippellijn bij het tijdstip tk geeft aan wanneer de tijd van de tempeerinrichting M1 normaliter zou verstrijken. Aangezien evenwel de stijgende rand van de rechthoekige faalveilig-golf wordt waargenomen op het tijdstip tj vóór het verstrijktijdstip tk verstrijkt de tijd van de tempeerinrichting M1 niet en houdt deze tempeerinrichting zich in een hoge toestand 20 (waarbij de tempeerinrichting M1 door FS wordt teruggesteld). Derhalve wekt op het tijdstip t1t wanneer de tijd van de tempeerinrichting M3 verstrijkt, de poort G1 geen hoge puls op aangezien de inverse van het signaal M, laag is. Derhalve wordt aan één van de gekozen poorten G2 of G3 niet de juiste tempeerpuls toegevoerd en worden de uitgangssignalen van deze gekozen poort niet over de flip-flop FF2 of FF3 als de tijdsignalen T., of T2 geklokt en derhalve wordt niet één van de schakeltransistors ingeschakeld. De 25 voedingsbron van 12 volt (zie figuur 4B) wordt niet met de regelaar 430 van 5 volt gekoppeld en de energie naar het rekenstelsel 10 wordt onderbroken.
Het tempeerdiagram volgens figuur 5c toont de situatie wanneer de rechthoekige faalveilig-golf wordt vertraagd. Op de tijdstippen t1 t/m t8 is de werking normaal. Op het tijdstip ta is de voorrand van het rechthoekige faalveilig-golfsignaal zodanig vertraagd, dat de tempeerinrichting M2 aftelt en het signaal M2 30 neemt af voor de stijgende rand van de rechthoekige faalveilig-golf op het tijdstip tb. Derhalve bevindt het signaal M3 zich in een lage toestand terwijl het signaal M2 naar een lage toestand afneemt. De lage toestand van M2 veroorzaakt, dat G., laag wordt. Dejage toestand van Gn veroorzaakt, dat de A- en D-poorten G2 en G3 laag worden. De klokpuls van G4 treedt tijdens de lage toestand van G2 en G3 op aangezien G4 afhankelijk is van M3. De verlaagde klokpuls veroorzaakt, dat het uitgangssignaal van 35 bijvoorbeeld FF2 afneemt en het tempeersignaal T, wordt voortijdig uitgeschakeld, waardoor de schakel-transistor Q1 wordt geopend.
Zoals eerder is opgemerkt ten aanzien van de zelfcontrolemoduuluitvoeringsroutine volgens figuur 2D tast de microprocessor de faalveilig-voedingsaftastlijnen af na het uitvoeren van de bepaalde zelfcontrole-moduul. De aftastlijnen S·,, S2, S3 en S4 worden afgetast op op kort na de tijdstippen t4, tg, t9 en t,,. De 40 microprocessor controleert de collectorspanningen van de schakeltransistors Q, en Q2 (via een niet- weergegeven resistief spanningscompensatienetwerk) en controleert ook het inverse van het signaal M1 en het signaal M2 op deze tijdstippen.
De boven ten aanzien van alle figuren beschreven faaiveilig-architectuur is fouttolerant doordat, indien door de architectuur een fout wordt geïdentificeerd, toegang wordt verschaft tot de faalveilig-invangroutine 45 en kort daarna de tijd van de terugsteltempeerinrichting T2 (zie stap 114, figuur 2C) verstrijkt en een terugstelonderbreking voor de microprocessor wordt opgewerkt. Op dat moment initialiseert de microprocessor het rekenstelsel door het uitvoeren van elke zelfcontrolemoduul. Indien alle zelfcontrolemodules met succes de componenten testen, dat wil zeggen geen falen of een fouttoestand detecteren, zal de microprocessor voortgaan met het uitvoeren van op-code-instructies en de opgeschorte toepassingsroutine 50 hervatten. Evenwel wordt bij het detecteren van een falen een fouttelteller geïncrementeerd en indien de telling daarin drie fouten binnen 10 NMI-onderbrekingen overschrijdt, belemmert de faaiveilig-architectuur het opwekken van het rechthoekige faalveilig-golfsignaal en verbreekt de energie naar het rekensteisel. De fouttelteller wordt slechts vrijgegeven indien na een geïdentificeerde fout 10 NMI-onderbrekingssignalen zijn waargenomen. Zie de stappen 84, 86, 88 en 89 van figuur 2B.
55 De fouttolerante faaiveilig-architectuur kan worden gebruikt voor het identificeren van de foutieve component (of de foutieve werking) en het isoleren van deze component ten opzichte van de rest van het stelsel. De microprocessor identificeert welke zelfcontrolemoduul heeft gefaald om de inhoud van een 1193005 12 ROM-blok te verifiëren heeft gefaald om de integriteit van een RAM-blok te verifiëren heeft gefaald om de werking van de microprocessor met een bepaald stel op-codes te valideren door het zelfcontrolewijzer-register, dat de uitgevoerde zelfcontrolemoduul identificeert, te controleren. De ROM- en de RAM-blokken worden op een eenvoudige wijze door de zelfcontrolemodules geïdentificeerd. Het foutieve gedeelte van het 5 rekenstelsel wordt onder gebruik van een opzoektabel geïsoleerd. Indien bijvoorbeeld is vastgesteld, dat een bepaald ROM-blok defect is, kan de microprocessor gebruik maken van een ander stel instructies, opgeslagen in een ander ROM-blok en een commando instellen om geen toegang te verschaffen tot het defecte ROM-blok. Ten aanzien van defecte RAM-blokken kunnen opzoektabellen worden gebruikt en kan de toepassingsroutine worden gewijzigd. De wijziging van de toepassingsroutine is aan de vakman 10 welbekend. Indien de werking van de microprocessor voor een bepaald stel op-codes niet worden gevalideerd, kunnen stappen worden genomen om deze op-code niet te gebruiken.
De toepassingsroutines kunnen PIA’s zonder bijzondere moeilijkheden controleren. De toepassingsroutine schakelt de PIA-uitgangslijn in en uit en controleert deze uitgangslijn met een aftastlijn (een andere ingangslijn). Indien tijdens het uitvoeren van deze zelfcontrole-routine een fout wordt ontdekt, wordt de PIA 15 ten opzichte van het stelsel geïsoleerd en niet door de toepassingsroutine en door de andere componenten van het rekenstelsel gebruikt. De bepaalde toepassingsroutine kan buiten beschouwing worden gelaten (d.w.z. niet door het rekenstelsel worden gebruikt) of er kunnen redundante uitgangslijnen ter beschikking worden gesteld uit andere PIA’s, welke op de gewenste wijze werken.
De faalveilig-architectuur en de beveiligingsmethode garanderen niet op een absolute wijze het 20 detecteren van een fout. De architectuur detecteert evenwel met een grote mate van stelligheid een enkele fout en in een geringere mate van stelligheid meervoudige fouten.
Voor het verschaffen van een schatting van hoe betrouwbaar de faalveilig-architectuurdetectiemethode is, wordt verondersteld, dat elke zelfcontrolemoduul en toepassingsroutinecontrolemethode onafhankelijk is (doch niet mutueel exclusief is) en wordt verondersteld, dat de waarschijnlijkheden een eenvoudige lineaire 25 som zijn.
Ten aanzien van de zelfcontrolemoduul "software” wordt verondersteld, dat een fout in de ROM, de RAM (er wordt slechts één ROM- of RAM-blok van 128 bytes gecontroleerd tijdens één volgordecyclus, welke zes zelfcontrolemoduulroutines omvat), de microprocessor of de onderlinge verbindingen optreedt. Verondersteld wordt, dat de zelfcontrolemoduul deze fout detecteert. Er zijn zes zelfcontroleroutines, waarbij er één elke 30 millisec wordt uitgevoerd. De gemiddelde tijd voor het uitvoeren bedraagt 200 microsec. Een fout zal worden gedetecteerd in zes (6) routines maal (1 ms + 0,2 ms) = 7,2 ms. Om ervoor te zorgen, dat een fout in een RAM- en ROM-blok van 8 K wordt gedetecteerd geldt 8192 BYTES/12 BYTES/TEST = 64 TESTS 35 64 TESTS x 7,2 ms/TEST = 460,8 ms.
Ten aanzien van een fout in de faalveilig-voedingsbron bezit de faalveilig-voedingsbron twee foutdetectie-methoden: 1) een zelfcontrole door de microprocessor, eenmaal per 1,2 ms; en 2) wanneer de frequentie van de rechthoekige faalveilig-golf wordt gewijzigd, neemt de voedingsbron in 0,5 40 ms tot 0 af.
Teneinde de totale waarschijnlijkheid van een niet-detecteerbare fout (de waarschijnlijkheid van meervoudige fouten voor de detectie van een enkele fout) te verkrijgen is bij de bovenstaande foutanalyse verondersteld, dat elk blok 100% effectief is bij het detecteren van een falen. Het tweede probleem van het bepalen van de waarschijnlijkheid van een niet-detecteerbaar falen is iets eenvoudiger.
45 Aangenomen wordt, dat een enkele de te detecteren fout optreedt. Voordat deze fout wordt gedetecteerd kan een tweede fout optreden, welke de eerste kan maskeren. Dit is een niet-detecteerbare omstandigheid.
Om het probleem verder te vereenvoudigen worden slechts zes typen componenten beschouwd. Deze worden gedefinieerd als de componenten, die in elk van de zes zelftestmodules worden gecontroleerd. Aangezien de tests periodiek zijn, kan een component, welke verschilt van het totale geheugen, elke 7,2 50 ms worden gecontroleerd. Derhalve moet gedurende deze periode een dubbele fout optreden.
Men beschouwt een bedrijfsperiode van 1000 uur. De tabel toont typerende betrouwbaarheidswaarden voor de componenttypen.
Er zijn 1000 h/^7,2 x 10-336(jc/secJ = 5°0 x 106 testperioden waarbinnen een meervoudige fout 55 optreden. (Elke periode heeft een lengte van 7,2 x 10‘3 sec).
Claims (3)
1. Faalveilig rekenstelsel, voorzien van: - een processor, 35. een vast geheugen voor het daarin opslaan van bedrijfscode-instructies die door de processor kunnen worden gemanipuleerd, - een tijdelijk geheugen waarin informatie kan worden opgeslagen, - verifieerorganen voor het verifiëren van de inhoud van het geheugen door op de opgeslagen bedrijfscode-instructies een algoritme uit te voeren, 40. testorganen voor het testen van de integriteit van het tijdelijk geheugen met behulp van een test patroon, - geldigheidscontrole-organen voor het controleren van de geldigheid van de werking van de processor, en - blokkeerorganen om het uitvoeren van de bedrijfscode-instructies door de processor te blokkeren in 45 afhankelijkheid van de uitkomst van een of meer van de uitgevoerde testen, met het kenmerk, - dat is voorzien in activeerorganen voor het periodiek activeren van de verifieerorganen, de testorganen en de geldigheidscontrole-organen tijdens het uitvoeren van de bedrijfscode-instructies door de processor; - dat de testorganen zijn voorzien van vasthoudorganen voor het vasthouden van de huidige informatie 50 welke in het tijdelijke geheugen (RAM 24) is opgeslagen, en van herstelorganen voor het herstellen van de huidige informatie in het tijdelijke geheugen na het uitvoeren van de test; - dat de geldigheidscontrole-organen ingericht zijn om de bedrijfscode-instructies in discrete substeilen uit te voeren en de toestand van een inwendig register van de processor (14) tijdens het uitvoeren te controleren; 1193005 14 - dat is voorzien in trekkersignaalorganen (26) voor het opwekken van een trekkersignaal, dat onafhankelijk wordt beïnvloed door de verifieerorganen, de testorganen en de geldigheidcontrole-organen, zodanig dat dit signaal representatief is voor de verificatie van het vaste geheugen (ROM 22), de integriteit van het tijdelijk geheugen (RAM 24) en de geldigheid van de werking van de 5 processor (14), waarbij het trekkersignaal wordt toegevoerd aan de blokkeerorganen; - dat de blokkeerorganen zijn voorzien van vrijgeeforganen om de verdere uitvoering van de bedrijfscode-instructies door de processor mogelijk te maken indien het trekkersignaal tijdig wordt ontvangen; en - dat voorzien is van invang-organen om het opwekken van het trekkersignaal door de trekkersignaal-10 organen te vertragen indien de verifieerorganen, de testorganen of de geldigheidsorganen niet het gewenste resultaat opleveren.
2. Faalveilig-rekenstelsel volgens conclusie 1, met het kenmerk, dat het inwendige register een toestandcoderegister is, dat de geldigheidscontrole-organen zijn voorzien van onderzoekorganen voor het onderzoeken van het toestandsregister met de bedrijfscode-instructies van het discrete substel, en 15 aftaktestorganen voor het uitvoeren van twee-baans aftaktest op de aftakinstructies in het discrete substel, welke aftaktestorganen voorzien zijn van een eerste positieve logische toestandorganen om de positieve logische toestand van een toegewezen aftakconstructie onder gebruik van een toestand ”A” te testen, inverse toestandorganen om het inverse van de toestand ”A” te verkrijgen, en tweede positieve logische toestandorganen om de positieve logische toestand onder gebruik van het inverse van de 20 toestand ”A” te testen en dat de geldigheidscontrole-organen, de faalveilig-trekkersignaalorganen, de onderzoekorganen en de aftaktestorganen tezamen een op-code-zelfcontrole-moduie vormen.
3. Faalveilig-rekenstelsel volgens een der voorgaande conclusies, met het kenmerk, dat de vrijgeeforganen en de blokkeerorganen samen een digitaal filter (400) met een smalle doorlaatband vormen teneinde ervoor te zorgen, dat een faalveilig-voedingssignaal door het digitale filter gaat indien het 25 faalveilig-voedingssignaal binnen een voorafbepaalde tijd wordt ontvangen en een schakelaar in werking stelt, zodat voedingsenergie aan het rekensteisel wordt toegevoerd, en indien het faalveilig-voedingssignaal niet binnen de voorafbepaalde tijd wordt ontvangen het faalveilig-voedingssignaal niet door het digitale filter gaat en de schakelaar niet in werking wordt gesteld en geen voedingsenergie aan het rekenstelsel wordt toegevoerd, en dat voorzien is in aftastorganen voor het aftasten van de toestand 30 van het digitale filter op voorafbepaalde tijdstippen na het opwekken van het faalveilig-trekkersignaal, waarbij de op-code zelfcontrole-module werkzaam is wanneer de bedrijfscode-instructies door de processor worden uitgevoerd. Hierbij 9 bladen tekening
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84615986 | 1986-03-31 | ||
US06/846,159 US4726024A (en) | 1986-03-31 | 1986-03-31 | Fail safe architecture for a computer system |
US8700658 | 1987-03-30 | ||
PCT/US1987/000658 WO1987006038A1 (en) | 1986-03-31 | 1987-03-30 | Fail safe architecture for a computer system |
Publications (3)
Publication Number | Publication Date |
---|---|
NL8720169A NL8720169A (nl) | 1988-02-01 |
NL193005B NL193005B (nl) | 1998-03-02 |
NL193005C true NL193005C (nl) | 1998-07-03 |
Family
ID=25297109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8720169A NL193005C (nl) | 1986-03-31 | 1987-03-30 | Faalveilig rekenstelsel. |
Country Status (8)
Country | Link |
---|---|
US (1) | US4726024A (nl) |
EP (1) | EP0240428B2 (nl) |
JP (1) | JPS63501178A (nl) |
CA (1) | CA1272292A (nl) |
DE (2) | DE3790186C2 (nl) |
GB (1) | GB2197511B (nl) |
NL (1) | NL193005C (nl) |
WO (1) | WO1987006038A1 (nl) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3701699A1 (de) * | 1987-01-22 | 1988-08-04 | Bosch Gmbh Robert | Verfahren zur ansteuerung eines rechnergesteuerten stellgliedes sowie mit einem stellglied gekoppelter rechner |
US4829520A (en) * | 1987-03-16 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | In-place diagnosable electronic circuit board |
US4811200A (en) * | 1987-05-12 | 1989-03-07 | Motorola, Inc. | Multiple microprocessor watchdog system |
JPS6450148A (en) * | 1987-08-20 | 1989-02-27 | Nec Corp | Memory resetting circuit |
JPS6483434A (en) * | 1987-09-22 | 1989-03-29 | Mitsubishi Electric Corp | Trouble shooting apparatus for vehicle controlling system |
JPH01137853A (ja) * | 1987-11-25 | 1989-05-30 | Toshiba Corp | 通信制御システム |
US4932028A (en) * | 1988-06-21 | 1990-06-05 | Unisys Corporation | Error log system for self-testing in very large scale integrated circuit (VLSI) units |
JPH0758502B2 (ja) * | 1988-06-30 | 1995-06-21 | 三菱電機株式会社 | Icカード |
US5007053A (en) * | 1988-11-30 | 1991-04-09 | International Business Machines Corporation | Method and apparatus for checksum address generation in a fail-safe modular memory |
JP2514248B2 (ja) * | 1989-05-16 | 1996-07-10 | 日産自動車株式会社 | 車両動特性制御装置 |
US5168499A (en) * | 1990-05-02 | 1992-12-01 | California Institute Of Technology | Fault detection and bypass in a sequence information signal processor |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
JP2867717B2 (ja) * | 1991-02-01 | 1999-03-10 | 日本電気株式会社 | マイクロコンピュータ |
FR2692379B1 (fr) * | 1991-10-04 | 1996-08-14 | Aerospatiale Ste Nat Indle | Procede de detection et de passivation de pannes dans un systeme de traitement de donnees, et systeme de traitement de donnees adapte a sa mise en oeuvre |
US5513899A (en) * | 1991-11-13 | 1996-05-07 | Invacare Corporation | Seat cushion for wheelchairs |
US5307482A (en) * | 1992-01-28 | 1994-04-26 | International Business Machines Corp. | Computer, non-maskable interrupt trace routine override |
US6134655A (en) * | 1992-05-13 | 2000-10-17 | Comverge Technologies, Inc. | Method and apparatus for initializing a microprocessor to insure fault-free operation |
US5345583A (en) * | 1992-05-13 | 1994-09-06 | Scientific-Atlanta, Inc. | Method and apparatus for momentarily interrupting power to a microprocessor to clear a fault state |
US5309445A (en) * | 1992-06-12 | 1994-05-03 | Honeywell Inc. | Dynamic self-checking safety circuit means |
WO1994012923A2 (en) * | 1992-11-30 | 1994-06-09 | Base 10 Systems, Inc. | A safety critical processor and processing method for a data processing system |
US6023758A (en) * | 1995-05-25 | 2000-02-08 | Matsushita Electric Industrial Co., Ltd. | Method and processor for changing program by replacing instruction stored in ROM with predetermined value to be interpreted as an instruction |
US5784628A (en) * | 1996-03-12 | 1998-07-21 | Microsoft Corporation | Method and system for controlling power consumption in a computer system |
DE19611520A1 (de) * | 1996-03-23 | 1997-09-25 | Bosch Gmbh Robert | System zum Test eines in einem Steuergerät eingebauten Rechners |
DE19716197A1 (de) * | 1997-04-18 | 1998-10-22 | Itt Mfg Enterprises Inc | Mikroprozessorsystem für sicherheitskritische Regelungen |
US6085337A (en) * | 1998-09-21 | 2000-07-04 | Infineon Technologies North America Corp. | Method and system for reliably indicating test results during a self-check operation |
US6209088B1 (en) | 1998-09-21 | 2001-03-27 | Microsoft Corporation | Computer hibernation implemented by a computer operating system |
DE10007952B4 (de) * | 2000-02-22 | 2006-02-02 | Abb Patent Gmbh | Verfahren zur Verarbeitungsgerät-Eigendiagnose |
DE10037992A1 (de) * | 2000-08-03 | 2002-02-21 | Siemens Ag | Verfahren zum Betreiben eines Logik- und Speicherelemente aufweisenden Bausteins |
DE10056408C1 (de) * | 2000-11-14 | 2002-03-07 | Bosch Gmbh Robert | Vorrichtung zur Überwachung eines Prozessors |
US6785846B2 (en) * | 2000-12-22 | 2004-08-31 | Intel Corporation | Inexpensive method for diagnosing manufacturing defects in an embedded system |
US6915167B2 (en) | 2001-01-05 | 2005-07-05 | Medtronic, Inc. | Method and apparatus for hardware/firmware trap |
DE10131578A1 (de) * | 2001-07-02 | 2003-01-16 | Bosch Gmbh Robert | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten |
DE10148032A1 (de) * | 2001-09-28 | 2003-04-24 | Bosch Gmbh Robert | Verfahren zum Überprüfen eines Rechnerkerns eines Mikroprozessors oder eines Mikrocontrollers |
US6922644B2 (en) * | 2002-04-11 | 2005-07-26 | International Business Machines Corporation | System and method of detecting fire causing card shorts |
US6593801B1 (en) | 2002-06-07 | 2003-07-15 | Pericom Semiconductor Corp. | Power down mode signaled by differential transmitter's high-Z state detected by receiver sensing same voltage on differential lines |
DE10258178B4 (de) * | 2002-12-12 | 2008-05-15 | Infineon Technologies Ag | Schaltung mit Sicherheitsmaßnahmen gegen Ausspionieren der Schaltung |
US20040215291A1 (en) * | 2003-04-24 | 2004-10-28 | Van Bentem Maarten | Programmer storage of implantable medical device settings |
ES2235614B1 (es) * | 2003-07-31 | 2006-10-16 | Fagor, S. Coop. | Circuito de control seguro ante fallos para aparatos electrodomesticos. |
JP4325504B2 (ja) * | 2004-08-11 | 2009-09-02 | 双葉電子工業株式会社 | チャンネル拡張通信方式 |
EP1897214A2 (en) * | 2005-06-30 | 2008-03-12 | Siemens VDO Automotive Corporation | Controller method, apparatus and article suitable for electric drive |
US8226635B2 (en) * | 2006-10-23 | 2012-07-24 | Boston Scientific Scimed, Inc. | Device for circulating heated fluid |
FR2912521B1 (fr) * | 2007-02-14 | 2009-07-10 | Valeo Systemes Thermiques | Generation de signal periodique a gigue nulle |
JP5653332B2 (ja) * | 2011-10-28 | 2015-01-14 | 株式会社東芝 | 周期エラー検出方法および周期エラー検出回路 |
TW201504977A (zh) * | 2013-07-16 | 2015-02-01 | Univ Nat Cheng Kung | 智慧型節能電源控制裝置與方法 |
US9588845B2 (en) * | 2014-02-10 | 2017-03-07 | Via Alliance Semiconductor Co., Ltd. | Processor that recovers from excessive approximate computing error |
US10235232B2 (en) | 2014-02-10 | 2019-03-19 | Via Alliance Semiconductor Co., Ltd | Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction |
DE102014213922B4 (de) * | 2014-07-17 | 2020-02-20 | Continental Automotive Gmbh | Fahrzeug-Infotainmentsystem |
US11841776B2 (en) * | 2019-06-12 | 2023-12-12 | Intel Corporation | Single chip multi-die architecture having safety-compliant cross-monitoring capability |
US11314867B2 (en) * | 2020-03-26 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Determinations of compromise of controller code images |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3908099A (en) * | 1974-09-27 | 1975-09-23 | Gte Automatic Electric Lab Inc | Fault detection system for a telephone exchange |
JPS55128641A (en) * | 1979-03-23 | 1980-10-04 | Nissan Motor Co Ltd | Controlling system for vehicle |
EP0018736A1 (en) * | 1979-05-01 | 1980-11-12 | Motorola, Inc. | Self-testing microcomputer and method of testing |
US4334307A (en) * | 1979-12-28 | 1982-06-08 | Honeywell Information Systems Inc. | Data processing system with self testing and configuration mapping capability |
US4398233A (en) * | 1982-03-03 | 1983-08-09 | Electronics Corporation Of America | Fail-safe device for electronic control circuit |
US4598355A (en) * | 1983-10-27 | 1986-07-01 | Sundstrand Corporation | Fault tolerant controller |
US4641308A (en) * | 1984-01-03 | 1987-02-03 | Texas Instruments Incorporated | Method of internal self-test of microprocessor using microcode |
US4646298A (en) * | 1984-05-01 | 1987-02-24 | Texas Instruments Incorporated | Self testing data processing system with system test master arbitration |
US4625313A (en) * | 1984-07-06 | 1986-11-25 | Tektronix, Inc. | Method and apparatus for testing electronic equipment |
-
1986
- 1986-03-31 US US06/846,159 patent/US4726024A/en not_active Expired - Lifetime
-
1987
- 1987-03-30 WO PCT/US1987/000658 patent/WO1987006038A1/en active Application Filing
- 1987-03-30 DE DE3790186A patent/DE3790186C2/de not_active Expired - Lifetime
- 1987-03-30 GB GB8726113A patent/GB2197511B/en not_active Expired
- 1987-03-30 DE DE19873790186 patent/DE3790186T/de active Pending
- 1987-03-30 NL NL8720169A patent/NL193005C/nl not_active IP Right Cessation
- 1987-03-30 JP JP62502317A patent/JPS63501178A/ja active Pending
- 1987-03-31 CA CA000533506A patent/CA1272292A/en not_active Expired
- 1987-03-31 EP EP87400709A patent/EP0240428B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
NL193005B (nl) | 1998-03-02 |
EP0240428A3 (en) | 1989-09-27 |
GB2197511B (en) | 1989-11-22 |
US4726024A (en) | 1988-02-16 |
DE3790186T (nl) | 1988-06-23 |
EP0240428B2 (en) | 2000-03-08 |
NL8720169A (nl) | 1988-02-01 |
DE3790186C2 (nl) | 1992-12-17 |
GB2197511A (en) | 1988-05-18 |
EP0240428A2 (en) | 1987-10-07 |
WO1987006038A1 (en) | 1987-10-08 |
GB8726113D0 (en) | 1987-12-09 |
CA1272292A (en) | 1990-07-31 |
JPS63501178A (ja) | 1988-04-28 |
EP0240428B1 (en) | 1993-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL193005C (nl) | Faalveilig rekenstelsel. | |
US5828243A (en) | Method for detecting clock failure and switching to backup clock | |
US7124319B2 (en) | Delay compensation for synchronous processing sets | |
JPH0764817A (ja) | 故障検出システム | |
US7568130B2 (en) | Automated hardware parity and parity error generation technique for high availability integrated circuits | |
US4866713A (en) | Operational function checking method and device for microprocessors | |
JPH04303B2 (nl) | ||
US6477658B1 (en) | Microprocessor with variable clock operation | |
KR970000711B1 (ko) | 프로그램가능한 출력을 갖는 집적회로칩을 검사하는 방법 및 회로 | |
US6765932B1 (en) | Method and apparatus for synchronizing a data stream | |
JP2993621B2 (ja) | タイミング校正装置 | |
US20030056170A1 (en) | Radiation hard divider via single bit correction | |
JP2003140779A (ja) | ウオッチドッグタイマ診断システム | |
JPH1069403A (ja) | マイクロプロセッサの初期化と監視のための方法及び回路 | |
JP2000181730A (ja) | タイミング信号誤動作検出回路 | |
SU1647653A1 (ru) | Устройство дл контрол цепей коррекции ошибок | |
JPS5827247A (ja) | 論理装置 | |
KR940011038B1 (ko) | 마이크로프로세서용 동작기능 체킹장치 및 그 방법 | |
JPS5827246A (ja) | 論理装置 | |
SU1661840A1 (ru) | Запоминающее устройство с самоконтролем | |
KR100207481B1 (ko) | 데이터 검출을 위한 검출 시간 조정 장치 | |
JPH06131209A (ja) | 擬似エラー発生方式 | |
JPH033020A (ja) | 制御線瞬断認識防止回路 | |
JPH0573360A (ja) | ウオツチドツグ・タイマ | |
JPH02236709A (ja) | タイミング信号発生装置、その誤り検出方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1A | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
V4 | Discontinued because of reaching the maximum lifetime of a patent |
Effective date: 20070330 |