6 svar
83 visningar
jonnefcb behöver inte mer hjälp
jonnefcb 123
Postad: 30 aug 2023 21:43

Digitalteknik - Clock controlled state machines

I kretsen nedan finns 2 inputs (B1, B2) och 2 outputs (pony, rocking-horse), men kretsen använder 3 inputs/outputs (00, 01, 10). Varför?

För kontext handlar uppgiften om ett lotteri där vinnarna får en ponny och förlorarna får en gunghäst. Man vinner genom att trycka på två knappar i en särskild ordning, B2-B2-B1. 

Som jag förstår det så representeras de 2 knapparna som 2 inputs (01, 10), men vad betyder då 00 som också används som input (och output)? 

Jag förstår att det har något att göra med att maskinen är klock-kontrollerad och byter tillstånd vid varje klockslag snarare än att triggas av en händelse. Man vill ju att den ska vänta på nästa knapptryck istället för att bara springa vidare till nästa tillstånd, så man har lagt till extra tillstånd.

Men hur fungerar detta egentligen? Hur tar maskinen emot signalen 00 om det bara finns två knappar? Var kommer inputen 00 ifrån? När kommer inputen? Vad betyder signalen 00 som input? Pausa? Vänta? Fortsätt? Och som output betyder den bara "ingen output" eller?

(Detta är alltså facit från en uppgift som jag försöker förstå). 

Laguna Online 30712
Postad: 30 aug 2023 21:54

Första inputsiffran är 1 om man trycker på B1, annars 0. Andra siffran är 1 om man trycker på B2, annars 0.

Det är det som menas med B1,B2/pony,rocking-horse.

00 som input betyder alltså att man inte trycker på något. 00 som output betyder att man inte får vare sig en ponny eller en gunghäst just då.

jonnefcb 123
Postad: 30 aug 2023 22:27 Redigerad: 30 aug 2023 22:30
Laguna skrev: 00 som input betyder alltså att man inte trycker på något

Aha, jag tror jag förstår lite mer nu. Eftersom det här är en knapp som trycks in och släpps så kommer inputen bara signaleras medan knappen är intryckt. 

Så när man först är på s0 och trycker 01 så sker övergången vid nästa klockslag till s1. Under tiden knappen är intryckt så kommer inputen att fortsatt vara 01. Eftersom klockfrekvensen är väldigt hög (10 Mhz) så kommer det hinna ske en massa fler klockslag med inputen 01 innan knappen släpps, vilket gör att man måste ha en pil som pekar från s1 tillbaka till s1. Sen så fort knappen har släppts så är inputen 00 och då går man vidare till s2 vid nästa klockslag osv...

Tänker jag rätt nu?

Laguna Online 30712
Postad: 30 aug 2023 22:34

Så verkar det vara tänkt, ja.

Jag tycker tillståndsmaskinen borde klara input 11 också.

jonnefcb 123
Postad: 30 aug 2023 22:36
Laguna skrev:

Jag tycker tillståndsmaskinen borde klara input 11 också.

Okej, hur tänker du då?

Laguna Online 30712
Postad: 30 aug 2023 22:53

Vad vill du ska hända om man trycker ner båda knapparna samtidigt?

jonnefcb 123
Postad: 30 aug 2023 23:13 Redigerad: 30 aug 2023 23:20
Laguna skrev:

Vad vill du ska hända om man trycker ner båda knapparna samtidigt?

Oj, jag tänkte inte ens på det. Såg nu att uppgiftsbeskrivningen specificerar "(only one button at a time)" som tur är. Vi får helt enkelt tänka oss att knapparna är för långt ifrån varandra för att ett barn ska nå båda :)

Jag undrar fortfarande en sak. Borde inte inputen 00 trots allt inkluderas i input-mängden? I en tidigare uppgift som handlade om en lejonbur med sensorer i en passage så listades 2 inputs från sensorn som {inget lejon, ett lejon} = {0, 1}. Så om man gör samma med denna uppgiften så blir det typ {ingen knapp, B1, B2} = {00, 01, 10}. Men det är kanske vilket som? Tycker bara det blev lite otydligt så som de skrev i facit. En del av uppgiften var nämligen att specificera input- och output-mängderna. 

Svara
Close