EExpert · deel E4 · Elektrotechniek en elektronica
Oplossingen · hoofdstuk 23Digitale logica
Van waarheidstabel tot stopdominant geheugen
Uitgewerkte oplossingen bij de 12 opdrachten van het werkboek. Voor de leerkracht, en voor wie zichzelf wil verbeteren nadat hij het eerst zelf probeerde.
Een fysieke stop blijft werken wanneer de centrale computer geen nieuwe instructies uitvoert.
Voor de leerkrachtDeze pagina bevat de antwoorden. Druk het werkboek af zonder deze pagina.
Oefenen
Oefenen
één stap, direct toepassen
23.1
Poorten invullen
Oefenen6Rekenen25 min
Ingangen A=1,B=0.
a
Geef EN, OF, XOF, NEN en NOF en leg één resultaat uit.
EN0, OF1, XOF1, NEN1, NOF0. XOF is1 omdat beide ingangen verschillen; NEN is de ontkenning van EN.
23.2
De Morgan toetsen
Oefenen6Analyseren25 min
F=NIET(A OF B).
a
Maak de vier-rijentabel en schrijf een equivalent product.
Voor AB=00/01/10/11 is F=1/0/0/0. Dit is ¬A EN ¬B. Beide ingangen moeten nul zijn om hun OF te ontkennen tot1.
23.3
Een opteller uitvoeren
Oefenen6Rekenen25 min
A=1,B=1,Cin=0.
a
Bereken S/Cout met poortformules en controleer rekenkundig.
A xor B=0; S=0 xor0=0. Cout=AB+(A xorB)Cin=1+0=1. S+2Cout=2=A+B+Cin.
23.4
Tellerfrequentie
Oefenen6Rekenen25 min
Een vierbit-teller verhoogt elke stijgende klokflank op2 kHz.
a
Geef bit0/bit3-frequentie en tijd tot volledige cyclus.
Bit0=1000 Hz, bit3=125 Hz.16 klokperioden van0,5 ms geven8 ms voor een cyclus. De hoogste bit heeft periode8 ms.
Toepassen
Toepassen
meerdere stappen, in een context
23.5
Karnaugh vereenvoudigen
Toepassen7Tekenen25 min
F=1 op mintermen ABC=001,011,101,111.
a
Maak een3-variabelen-Karnaughkaart in Gray-volgorde en vereenvoudig.
Alle1-cellen hebben C=1; groepeer de kolommen01/11 over beide A-rijen als rechthoek van4. F=C.
b
Toets alle rijen tegen de eindfunctie.
Voor elke rij bepaalt alleen C de waarde; de vier genoemde rijen hebben1, de overige vier0. Een gewone kolomvolgorde00/01/10/11 zou verkeerde buren tonen.
23.6
Een mux gebruiken
Toepassen7Analyseren25 min
Vier databits A/B/C/D worden met selectiebits S1S0 gekozen in die volgorde00/01/10/11.
a
Schrijf Y als som van producten en geef Y bij S1S0=10.
Y=¬S1¬S0A+¬S1S0B+S1¬S0C+S1S0D. Bij10 is alleen de derde term actief, dus Y=C. Iedere selectieminterm is exclusief bij geldige stabiele selectiebits.
Teken Q en verklaar waarom de verandering op2,4 ms niet onmiddellijk zichtbaar wordt.
Q blijft0 na1 ms, wordt1 bij3 ms, blijft1 bij5 ms en wordt0 bij7 ms. De flipflop is flankgevoelig: D tussen flanken verandert niet de vastgehouden Q. Dit veronderstelt ruime setup/hold.
23.8
Een poortbesparing toetsen
Toepassen7Programmeren25 min
Vergelijk F1=A+AB en F2=A.
a
Schrijf een exhaustieve Python-test met product((0,1),repeat=2).
for a,b in product((0,1),repeat=2): assert bool(a or (a and b)) == bool(a). Alle vier gevallen zijn gelijk.
b
Welke informatie ontbreken zulke tests over de fysieke kring?
Voedingsgrenzen, propagation, hazards, fouten, fan-out en analoge ruis ontbreken. De test bewijst de abstracte functie, niet de fysieke veiligheid.
Uitdagen
Uitdagen
transfer, open problemen, leerlijnen combineren
23.9
Een hazard analyseren
Uitdagen9Onderzoeken50 min
F=AB+¬AC met B=C=1; A wisselt. De directe en geïnverteerde paden hebben verschillende vertraging.
a
Leg uit hoe een0-puls ontstaat en wat de consensus-term BC doet.
Ideaal blijft F=A+¬A=1. Bij een overgang kan AB al0 zijn terwijl ¬AC nog0 is door vertraging, dus kort0. Extra BC blijft1 en overbrugt dit bij deze tweelaagsopbouw; de stabiele functie verandert niet.
b
Ontwerp een analyzerproef en leg uit welke conclusie niet volgt uit één foutloze proef.
Vaste B=C=1, wissel A met gekende generator, observeer beide paden en F op voldoende sampletempo. Varieer voeding/temperatuur en overgang. Geen glitch in één proef garandeert geen absence onder alle tolerantie-/timingcondities.
Zo wordt dit beoordeeld
Logica
Waarheidstabel, toestandsgeheugen en stopprioriteit correct.
Hardwaregrens
Softwareverzoek kan de veiligheidsvrijgave niet overbruggen.
Verificatie
Opstart, draadbreuk, vastgehouden reset en onverwachte herstart expliciet getest.
23.10
De resetknop blijft ingedrukt
Uitdagen9Analyseren25 min
Het stopmodel gebruikt resetflank; een programmeur vervangt dat door resetniveau.
a
Geef een scenario dat onbedoelde herstart toelaat.
Reset wordt vastgehouden tijdens noodstop. Na herstel worden gezonde voorwaarden waar en aanvraag even0; niveaumodel wist slot zonder een nieuwe menselijke actie. Daarna kan een blijvend softwareverzoek starten. Dit schendt de afgesproken resetflankeis.
b
Schrijf een flankdetector en beschrijf de opstartvoorwaarde.
flank = reset and not vorige_reset; vorige_reset = reset. Init vorige_reset op de actuele ingang om een reeds vastgehouden knop bij opstart geen nieuwe flank te geven; slot start1. Ook aanvraag moet0 en voorwaarden gezond zijn.
Zo wordt dit beoordeeld
Logica
Waarheidstabel, toestandsgeheugen en stopprioriteit correct.
Hardwaregrens
Softwareverzoek kan de veiligheidsvrijgave niet overbruggen.
Verificatie
Opstart, draadbreuk, vastgehouden reset en onverwachte herstart expliciet getest.
23.11
Habitat: softwarefaalproef
Uitdagen9Habitat80 min
Een gevaarlijke verwarmingstak moet stoppen wanneer de Pi hangt met aanvraag=1. Gebruik functionele vergrendeling, thermische grens en hardwarevrijgave.
a
Maak een toestandtabel en geef een reeks met stop, loslaten, ongeldige reset, geldige reset en nieuw verzoek.
Opstartslot1; gezonde resetflank met aanvraag0 wistslot. Nieuw verzoek activeert. Stop maakt slot1/uit0, loslaten houdt slot1. Reset met aanvraag1 is ongeldig. Verzoek eerst0, nieuwe resetflank, daarna nieuwverzoek. De code geeft precies deze reeks.
b
Beschrijf fysieke scheiding en foutinjecties voor acceptatie.
Pi-verzoek gaat door een apart fysiek vrijgavepad; veiligheidsmodule/energiecontacten kunnen onderbreken zonder software. Test vastverzoek, voedingsherstel, draadbreuk, kanaalverschil, vastreset, grensoverschrijding en contactfeedback volgens gekozen hardware. Observeer daadwerkelijke actuatorenergie, niet enkel een schermbit.
c
Leg uit welke stationfuncties niet automatisch uitgeschakeld mogen worden door een algemene noodstop.
Ventilatie en kritieke levensondersteuning kunnen bij energie-uit gevaarlijk worden. Leg per functie een veilige toestand en aparte energiegroep vast via risicoanalyse. Algemene logische0 is niet automatisch een veilige fysische toestand.
Zo wordt dit beoordeeld
Logica
Waarheidstabel, toestandsgeheugen en stopprioriteit correct.
Hardwaregrens
Softwareverzoek kan de veiligheidsvrijgave niet overbruggen.
Verificatie
Opstart, draadbreuk, vastgehouden reset en onverwachte herstart expliciet getest.
23.12
Processor uit bouwstenen
Uitdagen9Ontwerpen60 min
Ontwerp een onderwijsprocessor met4-bit-registers R0/R1, ALU voor optellen en EN,2-bit-functiecode en resultaatregister.
a
Teken datapad en besturing; beschrijf een klokvolgorde voor R0←R0+R1.
Registers leveren stabiele4-bitwaarden; muxes kiezen ALU-operatie; ALU-uitgang gaat naar R0-D; enable activeert de schrijfklok. Haal functiebits op, decodeer, laat combinatorisch resultaat settelen en schrijf op geldige flank. Registerhelderheid/enable voorkomt onbedoelde updates.
b
Benoem carryoverflow en de timinggrens.
Vierbitresultaat is modulo16; carry wordt apart opgeslagen als vlag. Klokperiode moet registerclock-to-Q + langste ALU/muxdelay + setup plus marge bevatten. Niet alleen aantal poorten tellen.
Zo wordt dit beoordeeld
Logica
Waarheidstabel, toestandsgeheugen en stopprioriteit correct.
Hardwaregrens
Softwareverzoek kan de veiligheidsvrijgave niet overbruggen.
Verificatie
Opstart, draadbreuk, vastgehouden reset en onverwachte herstart expliciet getest.