Cyr: Tänkte inte på det.. Nu är iaf bilderna hostade på eget utrymme.
http://student.stunet.se/nixie/Nixie_Logic.jpg
Så här ser schemat ut än så länge. Sekundräknardelen längst till höger ser skum ut och kan behöva en förklaring. Meningen är att IN-13-röret ska hinna tändas helt och släckas helt på en minut. Tanken är att räknare och vippor ska mata en DA-omvandlare med binära tal, sedan ska spänningen reglera strömmen genom röret. Kruxet är att de flesta räknarna bara arbetar med fyra bitar, dvs 0-15 decimalt. Då det känns slösaktigt att slänga in en till räknare bara för att hålla reda på en bit så använder jag mig av en T-vippa (i framtiden kallad
Te), som enkelt kan skapas av en JK-vippa. För att hålla reda på om röret ska räkna upp eller ned används ytterligare en T-vippa (
Tu/n). Nedan följer en beskrivning av hur det kombinatoriska nät som styr sekundräknaren uppför sig.
13 14 15 00 01 02 <-- talet på räknarens utgångar
13 14 15 16 17 18 <-- talet som matas till DAC
13 14 15 16 17 18 <-- förfluten tid i sekunder
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14
15 <-- Vid nästa klockflank ska en etta sparas i
Te
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
00 01 02 03 04 05 06 07 08 09 10 11 12
13 14 <-- från nästa klockpuls är det dags att räkna nedåt
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
13 12 11 10 09 08 07 06 05 04 03 02 01
00 15 <-- Vid nästa klockpuls ska
Te slå om
29 28 27 26 25 24 23 22 21 20 19 18 17 16 15
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
14 13 12 11 10 09 08 07 06 05 04 03 02
01 00 <-- Efter nästa puls är det dags att räkna upp igen alltså slås
Tu/n om.
14 13 12 11 10 09 08 07 06 05 04 03 02 01
00
46 47 48 49 50 51 52 53 54 55 56 57 58 59
60
Te ska alltså slå om då vi räknar uppåt och talet femton finns lagrat på räknaren eller då vi räknar nedåt och då talet 0 finns i räknaren. Lämplig t nog finns det en utgång på 74hct191 kallad TC som blir hög vid just dessa tillfällen. Signalen är enligt databladet instabil, men det gör inget eftersom den matas till räknaren genom en vippa.
Tu/n ska slå om då vi räknar uppåt, en etta finns lagrad i
Te och talet 13 finns i räknaren eller då vi räknar nedåt, en nolla finns lagrad i
Te och talet 1 finns i räknaren.
Mer kortfattat:
Te = TC
Tu/n = E(u/n)'AB'CD + E'(u/n)AB'C'D'
Observera att 74hct191 räknar uppåt då (u/n) = 0. A är minst signifikant.
Uttrycket E'(u/n)AB'C'D' blir sant en gång varje minut så denna signal skickas in till minuträknarna. Resten av kretsen är väldigt typisk för en digital klocka med undantaget att vippor ser till att räknarna aktiveras och nollställs synkront samt att alla kretsar tar del av samma klockpuls
Ett krav från min sida är att man ska kunna ställa varje "siffra" för sig. Säg att jag vill räkna upp endast 1-minut-räknaren. Då ska:
* Den allmäna klockpulsen kopplas loss och ersättas med en egen klockpuls från avstudsat knapp.
* Alla kretsar utom den aktuella ska vara avaktiverade via deras enable-ingångar-
* Utgångarna från den aktuella kretsen, som kan påverka nollställningsvillkor längre fram i kedjan kopplas också bort.
Detta löses genom att sätta en extra AND på de nämnda ut- och ingångarna. Dessa grindar ska vanligen vara öppna, men ska kunna stängas då klockan ska justeras. Helst vill jag styra grindarna med någon vridomkopplare, men jag har inte hittat någon bra information om hur sådana funkar.. Om någon vill dela med sig av erfarenheter med sådana så är det välkommet. För att ställa klockan behövs alltså en vippomkopplare som väljer klockpuls, en knapp som ger klockpuls samt i bästa fallet en enda vridomkopplare med minst 7 lägen. Denna lösning torde bli synnerligen elegant. Alternativt kan vridomkopplaren ersättas med sex vippomkopplare.
Jag har redan hittat en bugg i systemet. Om man få för sig att ställa klockan just få någon räknare nollställs, så går det inte eftersom MasterReset har högre prioritet än räkning. Detta ser jag dock inte som något problem. Jag får helt enkelt hålla fingrarna i styr vid de sällsynta tidpunkterna =)
Lämna gärna synunkter och kritik till mina resonemang.
Vänligen
Quanton