Semestrální práce z OCS

varianta 9

vypracoval: Martin Řehák, Petr Seliger




Zadání: Navrhněte WATCHDOG k PC - pokud se během 1 minuty nezapíše na paralelní port správné číslo, vypne a po 15-ti s opět zapne počítač odpojením a připojením síťového napájecího napětí. "Správná čísla" tvoří posloupnost o 16-ti prvcích - navrhněte nebo použijte Grayův kód.

Zpracování: Po zapnutí napájení či stisku tlačítka RESET se vynulují čítač a oba časovače. Hlavní časovač začne odpočítávat jednu minutu. Pokud během ní pošle PC na paralelní port správný kód, posune se čítač kódů o jeden krok vpřed a zároveň se vyresetuje hlavní časovač a začne odpočítávat minutu od začátku. Kódů (i stavů čítače) je 16, po dosažení posledního kódu se očekává opět první kód a tak pořád dokola.
      Pokud PC nestihne během minuty poslat správný kód, přejde výstup hlavního časovače do log. 1, tím se vyresetuje čítač kódu a zároveň se aktivuje druhý časovač - AKO, který vygeneruje přibližně 15s impuls. Tento impuls sepne relé a tím rozpojí kontakty v přívodu napájení PC. Nutno dodat, že watchdog musí být napájen z nezávislého zdroje.
      Po 15s se opět připojí PC k síti a začne bootovat. Během této doby je ještě po zbylých 45s výstup hlavního časovače v log. 1 čímž se blokuje komparátor a čítač a PC má tak čas napotřebnou inicializaci. Po uplynutí 1 min. od vypnutí PC, přejde výstup hlavního časovače zpět do log. 0, odblokuje se komparátor a čítač a cyklus začíná na novo.
      Pro realizaci byly voleny standardní obvody TTL a paměť ROM, umožňující vysokou flexibilitu kódu.


blokové schema:

blokové schema


obvodové schema:
obvodové schema (malé)

výpis paměti ROM:
0000: F0 - 1111 0000
0001: F1 - 1111 0001 
0002: F3 - 1111 0011
0003: F2 - 1111 0010
0004: F6 - 1111 0110
0005: F7 - 1111 0111
0006: F5 - 1111 0101
0007: F4 - 1111 0100
0008: FC - 1111 1100
0009: FD - 1111 1101
000A: FF - 1111 1111
000B: FE - 1111 1110
000C: FA - 1111 1010
000D: FB - 1111 1011
000E: F9 - 1111 1001
000F: F8 - 1111 1000
0010: FF - 1111 1111
0011: FF - 1111 1111
0012: FF - 1111 1111
0013: FF - 1111 1111
0014: FF - 1111 1111
0015: FF - 1111 1111
0016: FF - 1111 1111
0017: FF - 1111 1111
0018: FF - 1111 1111
0019: FF - 1111 1111
001A: FF - 1111 1111
001B: FF - 1111 1111
001C: FF - 1111 1111
001D: FF - 1111 1111
001E: FF - 1111 1111
001F: FF - 1111 1111