ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 nebo CPM / IOT




OBSAH

  1. Úvod
  2. Trocha historie
  3. Popis programu
  4. Možnosti překladu a přenositelnosti
  5. Popis datové časti aneb jak vytvořit nové či upravit starající tabulky
  6. Zapojení patic ZIF28 a ZIF16
  7. Propojovací kabel/y
  8. Ukázky z chodu programu IOT
  9. Seznam podporovaných IO
  10. Výpis programu


  1. Úvod
  2. Program IOT (IO Test) je testovací program pro číslicové TTL a CMOS 5V obvody, ve spolupráci s deskami BWP-1, DTO-1 a případně i 2x A/D převodníky ADP-1. Použitím A/D převodníků ADP-1 výrazně vzrostla užitná hodnota testeru, aneb dokáže odhalit i částečně poškozené obvody (logické úrovně mimo toleranci). Celí tester je určen jen pro základní funkční test, už z principu testu pomocí tabulek nedokáže změřit dynamické vlastnosti IO ale jen statické vlastnosti. Tester dokáže odhalit vyloženě špatné obvody, s ADP-1 jde rozpoznat i částečně poškozené obvody ale ne vždy když je velký napěťový rozptyl log úrovní neznamená, že obvod je špatný … u některých obvodů je to vlastnost (vícenásobné vstupy či vnitřní vícenásobné zapojení u výstupů), je to dáno konstrukcí testeru. Program IOT jde přeložit jak pro chod pod CP/M tak sestavu ZPS-2, v obou případech je potřeba, aby byl systém osazen minimálně 48KB RAM. Součástí testeru jsou redukce pro některé typy IO a taktéž pomůcka pro sledování stavu na patici DTO-1 a to SLS-24.



  3. Trocha historie
  4. Po tom co NOSTALCOMP uveřejnil svůj tester IO založený na MCS51 tak jsem také zatoužil po něčem podobném. Jak to tak bývá tak řešení NOSTALCOMPa mělo pro mě několik věcí, co mi vadili. Na druhé straně mi na stole stojí SAPI-1 pro které jsem chtěl nějaké rozumné využití. Tak padlo rozhodnutí si postavit tester IO na SAPI-1 dle vlastních představ. Jenže jsem neměl moc tušení jak na to, teda hlavně jak na obslužný program, NOSTALCOMP byl ochoten poradit i poskytnout jeho zdrojový kód pro MCS51. Vzhledem k zcela odlišným technologiím nešlo použít nic z kódu pro MCS51 ale posloužil k inspiraci jak na to.

    Přesné podrobnosti vzniku testeru si moc nepamatuji, ale nejprve bylo třeba vyřešit bitově orientovaný obousměrný port, což vyústilo v desku BWP-1, souběžně se řešily i patice pro testované obvody, od původní varianty vše v jedné patici s hromadou relé na přepínání jsem nakonec skončil u dvou patic a nejběžnějších variant napájení což vyústilo v desku DTO-1.

    Jakmile byly vyřešeny technické prostředky, začala tvorba programového vybavení pod názvem IOT (IO Test). Vzhledem k úplně jiné architektuře strojů tj. vše v jednom IO (MCS51) a SAPI-1 (stavebnicový průmyslový mikropočítač) jsem nebyl kolik limitován velikostí displeje a dostupnou pamětí.

    První varianta programu a hlavně tabulky jako by vypadli z oka programu pro MCS51, MCS51 mají velmi specificky řešené obousměrné bitové porty, takže pro zápis a čtení je potřeba jiný byte. Ale u BWP-1 je port vždy vstupní a jen se do něj bitově přidávají výstupy, tím pádem vstupní i výstupní byte mohou bít stejné. Po tom co jsem si toto uvědomil, tak nejprve vznikl příkaz, který říkal že, se bude číst podle dat zápisu, což ušetřilo datovou část příkazu, postupem času jsem pomalu začínal zjišťovat, že mi začíná docházet paměť, rychleji než je zdrávo. Tak nastaly optimalizace textu popisu, vlastního programu a také mi začínal stále více vadit ten extra kód na zpětné čtení po zápisu. Chvíli trvalo, jež jsem přišel jak to udělat, ale nakonec se povedlo, k již už existujícím příkazům pro zápis a čtení přibyl třetí a to že po zápisu se má provést čtení. Tím pádem se ušetřil jeden byte a taky tabulky se stali kompaktnější.

    Již od první verze programu bylo možno provést skok v rámci testovacích tabulek po vzoru programu z MCS51. To se velmi hodilo u kombinačních obvodů, že se nejprve provedl test rozdílných částí a následně se skočilo na společnou část (např. dekodéry pro sedmi segmentové displeje). Jenže u sekvenčních obvodů tj. hlavně čítačů HEX/DEC prostý skok nebyl tak efektivní. Od prvopočátku jsem počítal i se skokem do „podprogramu“ v rámci tabulek. Uvedení v život příkazu skoku do „podprogramu“ v rámci tabulek se realizovalo, až v době kdy jsem se dopracovav k tvorbě tabulek vratných čítačů, mám pocit, že to byly 74192 a 74193. Tím se o dost zkrátily tabulky hlavně skupin podobný čítačů (např. 74160 až 74163, 74192 a 74193, …), dále to umožnilo provádět testy i více bitových čítačů tak do 8 bitů. Také jsem chtěl mít možnost otestovat plnohodnotně obvody typu MKO, čítače s více jak 8 bity, nakonec sem dospěl k tomu, že nejjednodušší, bude skok do strojového kódu, na druhý pokus se to povedlo vyřešit elegantně tak že k návratu ze strojového kódu stačí instrukce RET a taktéž je možno použit všechny registry … v programování se řadím do skupiny, „tuším, odkud vane“.

    Pro potřeby ladění tabulek hned na začátku vznikl chybový výpis, který informoval o tom, na kterém portu vznikla chyba včetně výpisu dat, co se očekávaly a byly přečteny včetně adresy, kde k chybě došlo (adresa v paměti). Po delší době přibila možnost krokování aneb po provedení příkazu se test pozastavit a vypsala se adresa v paměti. To umožnilo například pomocí SLS-24 sledovat průběh testu.

    Už přesně nevím, jak k tomu došlo, ale zatoužil jsem mít možnost měřit napětí na vývodech testovaného obvodu … inspirace asi byla zde. SAPI-1 je stavebnice a taktéž pro něj existuje několik A/D převodníků tak stačilo najít nějaký vhodný a použít ho. Nejprve jsem zvažoval DAC-8/XJ4509 ale ten jsem zavrhl, aneb rozlišení bylo cca 0,04V, následně jsem uvažoval o ADC-12. U ADC-12 bylo možno, dosáhnou výrazně lepšího rozlišení než 0,01V ale převod z binární soustavy do desítkové soustavy byla pro mě vyšší dívčí (až dodatečné jsem si uvědomil, že převod bych byl schopen vyřešit ale převodník je jen jedno kanálový takže i tak je nevhodný). Nakonec jsem si uvědomil, že existuje ADP-1 kde je použitý obvod C520D aneb AD2020 který měří přímo v desítkové soustavě a jde měřit s rozlišením na 0,01V což bylo ideální. Formát zobrazení by zvolen ve formě stylizovaného pouzdra DIL, kdy se zobrazují čísla vývodů funkce vývodu (IN, OUT, NZ, GND, VCC) stav z tabulek, přečtený stav a nakonec i naměřené napětí. Za účelem zobrazování stavu DIL přibyli dva příkazy a to definice nezapojených vývodů a příznak obvodu DIL 14 v patici ZIF16. Taktéž přibyli přepínače po vzoru krokování a to zobrazení DIL, měření napětí na DIL a funkce na nastavení převodníků. Po nějaké době jsem si všimnul, že u některých testovaných obvodů jsou poměrně velké rozdíly v naměřených napětích, ale zorientovat se ve výpisu DIL bylo dosti obtížné. Pro lepši orientaci a i posouzení stavu IO přibyla možnost třízení kdy dojde k rozdělení do jednotlivých skupin (IN 0, IN 1, OUT 0 a OUT 1) a v rámci skupiny i k setřídění od nejmenšího po největší napětí. Následně je provedena i kontrola tolerance pro konkrétní skupinu. Je-ji ve skupině dva a více údajů dojde mezi prvním a posledním k odečtu a zobrazení vypočítaného rozdílu. Je-li nalezena odchylka od stanovených hodnot, jsou označeny a test je pozastaven. Pro potřeby třídění přibyli další dva přepínače a to pro možnost třídění a přepínač konstant prokontroluj log úrovní mezi TTL a CMOS 5V. vzhledem k tomu že přepínačů bylo již mnoho, tak přibyla i funkce zobrazení stavu přepínačů.



  5. Popis programu
  6. Po spuštění programu se vypíše úvodní hláška s nápovědou a program očekává výběr sady IO. Ovládání programu je řešeno pokud možno co nejjednodušeji a to tak aby bylo možno provádět obsluhu na co největším možném typu terminálů, k řízení výpisu jsou použity je řídící kódy CR (nový řádek) a LF (návrat vozu).

    Výběr obvodu je řešen ve dvou stupních, nejprve se vybere sada IO a následně ve vybrané sadě IO se vybírá konkrétní obvod. Výběr se v obou případech provádí pomocí lomených závorek stylizující šipky a tím i směr pohybu mezi položkami. Při výběru se položky přepisují, výběr je kruhový aneb z poslední položky se přejde na první položkou a naopak, výběr se potvrdí klávesou ENTER, přechod z výběru IO na výběr sady IO se provede klávesou ESC (při stisku klávesy ESC na výběru sady IO se program ukončí). Po ukončení testu zůstává naposledy vybraný obvod, takže test pro stejný obvod jde opakovat, jinak se vybere další obvod stejným způsobem.

    Výběr IO se provede klávesou ENTER. Nejprve se vypíše stručný popis funkce IO, případě i s typem redukce, typ pouzdra a umístění napájení. Je-li výběr v pořádku, pokračuje se klávesou ENTER, došlo-li k chybě při výběru je možno se vrátit na výběr IO pomocí klávesy ESC. Test pokračuje výzvou pro založení IO a na DTO-1 se nad správnou paticí ZIF rozsvítí zelená svítivka (LED). Do ZIF28 se IO zakládají ke spodnímu okraji patice a u ZIF16 k hornímu okraji patice. Po založení IO a potvrzení klávesou ENTER dojde k zhasnutí zelené svítivky (LED) a rozsvícení červené svítivky (LED) nad správnou paticí ZIF. Červená svítivka (LED) svítí po celou dobu testu, aneb je obvod pod napětím. Test proběhne celkem 10x a za každý úspěšný průběh testu se vypíše tečka. To jestli se bude něco zobrazovat případně krokovat během testu, záleží na stavu nastavených přepínačů a to pouze při prvním průchodu testem. Dojde-li během testu k chybě, je test ukončen a vždy je vypsáno základní chybové hlášení, případný podrobnější výpis záleží na stavu nastavených přepínačů.

    Při zapnutí zobrazování DIL a třízení jsou výpisy dosti často delší než je počet řádků u desek videa AND-1/AND-1Z a program IOT ani systém nehlídá počet vypsaných řádek. Proto je lepší v daném případě použit výstup přes sériovou linku do terminálu na PC (např. do terminálového programu HYPER TERMINAL, TERATERM, …). CP/M má většinou (u SAPI-1) automatickou detekci a systém automaticky najede do terminálu. U sestavy SAPI-1 ZPS-2 zaleží na konkrétní verzi systému, některé to umí automaticky, pokut ne tak jde výstup přesměrovat ručně.



    Přepínače

    Po spuštění programu jsou všechny přepínače nastaveny do výchozího stavu a to vypnuty, kontrola log úrovní je nastavena pro TTL. Přepnutí přepínače se proved stiskem konkrétní klávesy, aktuální stav po přeplutí je zobrazen, stav přepínačů lze zobrazit pomoci klávesy hvězdička.

    Přepínačů je pět a to:

    K - krokování
    Z - zobrazení DIL
    M - měření napětí u DIL
    T - třídění napětí
    L - kontrola log úrovní TTL nebo CMOS 5V


    Krokování

    Během krokování dojde k zastavení testu po vykonání každého příkazu v testovací tabulce a výpisu následující HEX adresy za právě vykonaným příkazem. Pokračování v testu se provede stiskem klávesy ENTER, případně jde krokování zrušit stiskem klávesy „K“.


    Zobrazení DIL

    Umožňuje zobrazit stylizovaný výpis pouzdra DIL, kdy se zobrazí čísla vývodu, funkce vývodu (IN, OUT, NZ, GND, VCC), logické stavy z testovací tabulky a přečtené logické stavy z patice ZIF. Výpis se provede pouze při příkazu čtení.


    Měření napětí u DIL

    Měření napatí u DIL je možno zapnout pouze tehdy jsou ji k dispozici oba A/D převodníky ADP-1. Měření napětí se provede pouze za předpokladu, že je zapnuté zobrazování DIL a došlo k příkazu čtení. Naměřené napětí se zobrazuje v stylizovaném výpisu pouzdra DIL vedle přečteného logického stavu z DIL. U vývodů GND a VCC není změřeno napájecí napětí ale stav na desce BWP-1, je to dáno tím, že na DTO-1 dojde pomocí přepínacího relé k odpojení logických signálů a místo nich je připojeno napájení.


    Třídění napětí

    Třídění napětí se provede pouze za předpokladu, že došlo k měření napětí u DIL. Při třídění napětí dojde k rozdělení naměřených napětí, včetně čišel příslušných vývodů, do skupin podle funkce a logického stavu (IN 0, IN 1, OUT 0 a OUT 1) a v rámci skupin dojde k se třízení od nejmenšího po největší napětí. Následně se podvede kontrola, zda se daná logická úroveň nachází ve zvolené toleranci (TTL/CMOS 5V). Je-li dané napětí mimo toleranci je označeno vykřičníkem. Taktéž je-li v dané skupině dva a více údajů dojde ke kontrole rozptylu naměřených ohnout. Je-li rozptyl větší než 0,2V je označen hvězdičkou. Při zjištění odchylek je test pozastaven nezávisle na nastavení krokování. Pokračování v testu se provede stiskem klávesy ENTER.


    kontrola log úrovní TTL nebo CMOS 5V

    Určuje, který typ logických úrovní se bude kontrolovat a to TTL nebo CMOS 5V, nastavená napětí jsou následující.

    TTL   
    Uilvstupnílog 0   max.0.80V
    Uihvstupnílog 1min.2.00V
    Uolvýstupnílog 0max.0.40V
    Uolvýstupnílog 1min.2.40V
     
    CMOS 5V
    Uilvstupnílog 0max.1.50V
    Uihvstupnílog 1min.3.50V
    Uolvýstupnílog 0max.0.50V
    Uolvýstupnílog 1min.4.44V



  7. Možnosti překladu a přenositelnosti
  8. Program IOT je psán v asembleru 8080A a syntaxe odpovídá překladači M80 (CP/M). Vzhledem k tomu že SAPI-1 je stavebnicové koncepce a existuje několik velice rozdílných konfigurací a taktéž s velmi rozdílnými systémy. Program je napsán tak, aby šel přeložit pro běh pod CP/M tj. sestavy ZPS-3 a ZPS-4 či jejich modifikace nebo pro MIKOS na sestavě ZPS-2. Na začátku programu, mezi odrážkami ze znaku procento je několik proměnných, kterými lze ovlivnit výsledný překlad.

    Proměnná SYS určuje, pro který systém se překlad provede, 0 - MIKOS a -1 - CPM

    Proměnná MIKOSD se uplatní jen při překladu pro systém MIKOS s parametrem -1 provede doplnění spouštěcích údajů pro disketovou verzi MIKOSu.

    Proměnné VADR, ADP_1 a ADP_2 určují výchozí adresy pro desky potřebné k chodu testeru, VADR pro BWP-1 a ADP_1 a ADP_2 pro první a druhy A/D převodník ADP-1.

    Proměnná POPIS určuje, zda při krokování se kromě adresy bude zobrazovat i příkaz co se pravě provedl.

    Proměnné TESLA a RUS přidávají skupiny IO, které usnadňují hledání konkrétního IO. Proměnná TESLA přidá skupinu IO co, vyráběla TESLA, v klasickém provedení a rychlé řady tj. MH74xx a MH74Sxx. Proměnná RUS přidá skupinu, kdy řazení není podle čísel ale podle ruSSkého značení.

    Přenositelnost testeru IO a potažmo programu IOT mimo SAPI-1 je možná, co se týče konzolových služeb tak tam zásadní problém nebude, aneb se využívají jen základní systémové služby, ona úprava z CP/M na MIKOS byla jednoduchá aneb se týkala jen úprav ve volání systémových služeb. Horší situace ale nastane u technických prostředků, aneb pro potřeby testeru vznikla deska BWP-1 a jsou i použity A/D převodníky ADP-1. Nejjednodušší varianta by byla použít desky BWP-1 a ADP-1 a udělat jen redukci sběrnice, případně upravit desky tak aby pasovaly k novénu stroji. Při použití jiných A/D převodníků nebo jinak řešených bitově vstupně výstupních portů by znamenalo úpravy v přímé obsluze dotčených technických prostředků.



  9. Popis datové časti aneb jak vytvořit nové či upravit starající tabulky
  10. Datové pole je složeno z několika bloků



  11. Zapojení patic ZIF28 a ZIF16
  12. ZIF28

            D   D   D   D           D   D   D   D
            I   I   I   I           I   I   I   I
            L   L   L   L           L   L   L   L
            2   2   1   1           1   1   2   2 
            4   0   6   4  ZIF 28   4   6   0   4
            .   .   .   . +--\/--+  .   .   .   .
    (       .   .   .   . = 1  28=  .   .   .   .  P1-7)
    (PR-4   .   .   .   . = 2  27=  .   .   .   .  P3-7)
     P2-0   1   .   .   . = 3  26=  .   .   .  24  VCC
     P2-1   2   .   .   . = 4  25=  .   .   .  23  P2-6
     P2-2   3   1   .   . = 5  24=  .   .  20  22  P2-5/VCC
     P2-3   4   2   .   . = 6  23=  .   .  19  21  P2-4
     P0-O   5   3   1   . = 7  22=  .  16  18  20  P1-7/VCC
     P0-1   6   4   2   1 = 8  21= 14  15  17  19  P1-6/VCC
     P0-2   7   5   3   2 = 9  20= 13  14  16  18  P1-5
     P0-3   8   6   4   3 =10  19= 12  13  15  17  P1-4
     P0-4   9   7   5   4 =11  18= 11  12  14  16  P1-3
     P0-5  10   8   6   5 =12  17= 10  11  13  15  P1-2
     P0-6  11   9   7   6 =13  16=  9  10  12  14  P1-1
      GND  12  10   8   7 =14  15=  8   9  11  13  P1-0
                          +------+
    

    ZIF16

                D   D           D   D
                I   I           I   I
                L   L           L   L
                1   1           1   1
                6   4  ZIF 16   4   6
                .   . +--\/--+  .   .
     P0-O       1   1 = 1  16= 14  16  P1-7
     P0-1       2   2 = 2  15= 13  15  P1-6
     P0-2       3   3 = 3  14= 12  14  P1-5
     P0-3/VCC   4   4 = 4  13= 11  13  P1-4/GND
     P0-4/VCC   5   5 = 5  12= 10  12  P1-3/GND
     P0-5       8   6 = 6  11=  9  11  P1-2
     P0-6       7   7 = 7  10=  8  10  P1-1
     P0-7       8     = 8   9=      9  P1-0
                      +------+
    

    Původně byla v plánu jen jedna patice ZIF na desce DTO-1 ale po prostudování umístění napájení u obvodů co je nemají v protilehlých rozích, vyšlo poměrně mnoho kombinací, co se týkali pouze jednoho obvodu. Pro obvody v DIL14 a DIL16 vyšlo pět kombinací a obvody s větším pouzdrem než DIL16 jen jedna kombinace a to u 74100. Na jednu stranu jsem chtěl mít možnost co nejvíce typů napájení a na druhou stranu co nejjednodušší přepínání napájení. U obvodů v DIL14 a DIL16 s napájením uprostřed pouzdra posunutím obvodů v pouzdru DIL14 o jednu pozici výše snížilo počet variant napájení na čtyři. Jenže to mělo problém v tom, že u ZIF28 by to způsobovalo dost problém se správným umístěním IO do patice. Nakonec jsem zvolil kompromis, že obvody s napájení v protilehlých rozích se budou umísťovat ke spodnímu okraji patice ZIF28, a pro obvody s napájením uprostřed pouzdra byla přidána druhá patice ZIF a to ZIF16 kde se obvody umisťují k hornímu okraji patice. U obvodu 74100 jsem se rozhodl, že použiji redukci. Tím se povedlo snížit potřebný počet relé na osm. U ZIF28 je na vývodu 14 (dolním levý roh) na pevno připojená zem, na vývodu 26 se vždy připojí +5V (napájí pro obvody v DIL24). U ostatních vývodů a to jak ZIF28 tak ZIF16 relé odpojí logický signál a připojí napájení. Na zbývající čtyři vývody jsou připojené tři nevyužité signály a to dva obousměrné (P1-7 a P3-7) a jeden výstupní z pomocného registru na BWP-1 (PR-4) pro případné další použití.



  13. Propojovací kabel/y
  14. Propojení DTO-1 a BWP-1 je jednoduché a je 1:1 aneb jde použít například dvakrát kabel KB-01. S připojením převodníků je to trošku složitější aneb každý z převodníků ADP-1 měří jednu stranu patic ZIF, takže vznikne trochu divoký kabel. ADP-1/1 měří levou stranu a ADP-1/2 měří pravou stranu ZIF patic, kdy kanál jedna je na spodním okraji patic ZIF.

    BWP-1DTO-1ADP-1/x
    X2/1zem   X2/1zem   ADP-1/2X3/7,8zem
    X2/2P1-IO6X2/2P1-IO6ADP-1/2X3/21S7
    X2/3zemX2/3zemADP-1/2X3/7,8zem
    X2/4P1-IO5X2/4P1-IO5ADP-1/2X3/20S6
    X2/5zemX2/5zemADP-1/2X3/7,8zem
    X2/6P1-IO4X2/6P1-IO4ADP-1/2X3/19S5
    X2/7zemX2/7zemADP-1/2X3/7,8zem
    X2/8P1-IO3X2/8P1-IO3ADP-1/2X3/18S4
    X2/9zemX2/9zemADP-1/2X3/7,8zem
    X2/10P1-IO2X2/10P1-IO2ADP-1/2X3/17S3
    X2/11zemX2/11zemADP-1/2X3/7,8zem
    X2/12P1-IO1X2/12P1-IO1ADP-1/2X3/16S2
    X2/13zemX2/13zemADP-1/2X3/7,8zem
    X2/14P1-IO0X2/14P1-IO0ADP-1/2X3/15S1
     
    X2/15zemX2/15zemADP-1/1X3/7,8zem
    X2/16P0-IO7X2/16P0-IO7ADP-1/1X3/15S1
    X2/17zemX2/17zemADP-1/1X3/7,8zem
    X2/18P0-IO6X2/18P0-IO6ADP-1/1X3/16S2
    X2/19zemX2/19zemADP-1/1X3/7,8zem
    X2/20P0-IO5X2/20P0-IO5ADP-1/1X3/17S3
    X2/21zemX2/21zemADP-1/1X3/7,8zem
    X2/22P0-IO4X2/22P0-IO4ADP-1/1X3/18S4
    X2/23zemX2/23zemADP-1/1X3/7,8zem
    X2/24P0-IO3X2/24P0-IO3ADP-1/1X3/19S5
    X2/25zemX2/25zemADP-1/1X3/7,8zem
    X2/26P0-IO2X2/26P0-IO2ADP-1/1X3/20S6
    X2/27zemX2/27zemADP-1/1X3/7,8zem
    X2/28P0-IO1X2/28P0-IO1ADP-1/1X3/21S7
    X2/28zemX2/29zemADP-1/1X3/7,8zem
    X2/30   P0-IO0   X2/30   P0-IO0   ADP-1/1X3/22S8
     
     
    BWP-1DTO-1ADP-1/x
    X3/1zemX3/1zemADP-1/2   X3/7,8   zem
    X3/2P2-IO7X3/2P2-IO7ADP-1/2X3/26S12
    X3/3zemX3/3zemADP-1/2X3/7,8zem
    X3/4P2-IO6X3/4P2-IO6ADP-1/2X3/25S11
    X3/5zemX3/5zemADP-1/2X3/7,8zem
    X3/6P2-IO5X3/6P2-IO5ADP-1/2X3/24S10
    X3/7zemX3/7zemADP-1/2X3/7,8zem
    X3/8P2-IO4X3/8P2-IO4ADP-1/2X3/23S9
     
    X3/9zemX3/9zemADP-1/1X3/7,8zem
    X3/10P2-IO3X3/10P2-IO3ADP-1/1X3/23S9
    X3/11zemX3/11zemADP-1/1X3/7,8zem
    X3/12P2-IO2X3/12P2-IO2ADP-1/1X3/24S10
    X3/13zemX3/13zemADP-1/1X3/7,8zem
    X3/14P2-IO1X3/14P2-IO1ADP-1/1X3/25S11
    X3/15zemX3/15zemADP-1/1X3/7,8zem
    X3/16P2-IO0X3/16P2-IO0ADP-1/1X3/26S12
    X3/17zemX3/17zem
    X3/18P0X3/18P0
    X3/19zemX3/19zem
    X3/20P1X3/20P1
    X3/21zemX3/21zem
    X3/22P2X3/22P2
    X3/23zemX3/23zem
    X3/24P3X3/24P3
    X3/25zemX3/25zem
    X3/26P4X3/26P4
    X3/27 zemX3/27 zem
    X3/28P5X3/28P5
    X3/29zemX3/29zemADP-1/2X3/7,8zem
    X3/30 P1-IO7X3/30P1-IO7ADP-1/2X3/22S8


    V původním návrhu desek BWP-1 ale hlavně DTO-1 se s měřením napětí nepočítalo. Proto připojení převodníků ADP-1 vyšlo tak divoce aneb kabel vypadá jako „W“. Převodníky jsou připojené do konektoru pro DTO-1. Propojovací kabel byl řešen pomocí plochých vodičů aneb „šedivák“ což do značné míry ulehčilo práci (každý druhý vodič je stínění).

    Má realizace propojovacího kabelu pro možnost měření napětí, aneb technické porno.

    Celkový pohled


    Strana BWP-1

                 


    Strana DTO-1

                 


    Strana ADP-1

                 



  15. Ukázky z chodu programu IOT
  16. Úvodní výpis

    IO TEST
    POUZE ZAKLADNI FUNKCNI TEST IO
    C 14.01.2023EC
    
    "<"   - PREDCHOZI POLOZKA
    ">"   - NASLEDUJICI POLOZKA
    "CR"  - VYBER
    "?"   - NAPOVEDA
    "ESC" - O UROVEN VYS
    "K"   - ZAPNE / VYPNE KROKOVANI
    "Z"   - ZAPNE / VYPNE ZOBRAZENI DIL
    "M"   - ZAPNE / VYPNE ZOBRAZENI NAPETI U DIL
    "T"   - ZAPNE / VYPNE TRIDENI NAPETI
    "*"   - STAV PREPINACU
    "#"   - NASTAVENI PREVODNIKU ADP-1
    "^C"  - KONEC PROGRAMU
    
    VYBER SADU IO
    
    7400 - 7499
    

    Základní test obvodu

    7474     TM2 TK2
    2X K.O. D s SR TP
    DIL14  GND=7, VCC=14
    
    "CR"  - SPUSTIT TEST
    "ESC" - NAVRAT NA VYBER IO
    
    ZALOZ IO
    "CR" - PRO POKRACOVANI
    
    ..........
    
    KONEC TESTU
    

    Zobrazení DIL

           0  0 IN   1  16 VCC 1  1
           1  1 OUT  2  15 IN  0  0
           0  0 OUT  3  14 OUT 1  1
           0  0 IN   4  13 OUT 1  1
           1  1 OUT  5  12 IN  1  1
           1  1 OUT  6  11 OUT 1  1
           1  1 IN   7  10 OUT 0  0
           1  1 GND  8   9 IN  0  0
    

    Zobrazení DIL a napětí

    +0.08V 0  0 IN   1  16 VCC 1  1 +4.81V
    +4.82V 1  1 OUT  2  15 IN  0  0 +0.08V
    +0.16V 0  0 OUT  3  14 OUT 1  1 +4.81V
    +0.07V 0  0 IN   4  13 OUT 1  1 +4.81V
    +4.81V 1  1 OUT  5  12 IN  1  1 +4.80V
    +4.81V 1  1 OUT  6  11 OUT 1  1 +4.81V
    +4.81V 1  1 IN   7  10 OUT 0  0 +0.15V
    +4.81V 1  1 GND  8   9 IN  0  0 +0.08V
    

    Zobrazení DIL, napětí a třídění napětí

    +4.81V 1  1 IN   1  14 VCC 1  1 +4.83V
    +0.07V 0  0 IN   2  13 IN  1  1 +4.83V
    +4.99V 1  1 OUT  3  12 IN  0  0 +0.07V
    +0.11V 0  0 OUT  4  11 OUT 1  1 +5.00V
    +4.81V 1  1 IN   5  10 OUT 1  1 +5.00V
    +4.81V 1  1 IN   6   9 IN  0  0 +0.07V
    +4.82V 1  1 GND  7   8 IN  0  0 +0.08V
    
     IN 0      IN 1      OUT 0     OUT 1
    +0.07V  2 +4.81V  6 +0.11V  4 +4.99V  3 
    +0.07V  9 +4.81V  5           +5.00V 10 
    +0.07V 12 +4.81V  1           +5.00V 11 
    +0.08V  8 +4.83V 13                     
                                            
    +0.01V    +0.02V              +0.01V
    

    Základní zobrazení chyby

           1  1 IN   1  14 VCC 1  1
           0  0 IN   2  13 IN  1  1
           1  1 IN   3  12 IN  1  1
           1  1 IN   4  11 IN  1  1
           1  0 OUT  5  10 IN  1  1
           0  1 OUT  6   9 OUT 1  1
           1  1 GND  7   8 OUT 0  0
    
    CHYBA PORT 1
    63C4
    BB 10111011 PORT
    DB 11011011 DATA
    

    Zobrazení chyby v plné polní

    +2.69V 1  1 IN   1  14 VCC 1  1 +4.83V
    +0.10V 0  0 IN   2  13 IN  1  1 +4.55V
    +4.66V 1  1 IN   3  12 IN  1  1 +4.73V
    +3.13V 1  1 IN   4  11 IN  1  1 +4.66V
    +4.81V 1  0 OUT  5  10 IN  1  1 +4.63V
    +0.16V 0  1 OUT  6   9 OUT 1  1 +4.44V
    +4.82V 1  1 GND  7   8 OUT 0  0 +0.07V
    
     IN 0      IN 1      OUT 0     OUT 1
    +0.10V  2 +2.69V  1 +0.07V  8 +0.16V! 6 
              +3.13V  4 +4.81V! 5 +4.44V  9 
              +4.55V 13                     
              +4.63V 10                     
              +4.66V  3                     
              +4.66V 11                     
              +4.73V 12                     
                                            
              +2.04V *  +4.74V *  +4.28V *  
    
    * - ROZDIL LOG. UROVNE VETSI NEZ 0.20V
    ! - NAPETI LOG. UROVNE MIMO TOLERANCI
    
    CHYBA PORT 1
    63C4
    BB 10111011 PORT
    DB 11011011 DATA
    


  17. Seznam podporovaných IO
  18. Skupina 7400 - 7499

    obvodpopistabulkapoznámka
    740074007400
    740174017401
    740274027402
    740374017400
    740474047404
    740574057404
    740674067404
    740774077407
    740874087408
    740974097408
    741074107410
    741174117411
    741274127410
    741374137413
    741474147404
    741574157411
    741674167404
    741774177407
    741774177407
    741874187413
    741974197404
    742074207413
    742174217421
    742274227413
    742374237423R7460A
    742374237423RR7460A
    742474247400
    742574257425
    742674267400
    742774277427
    742874287402
    743074307430
    743174317431
    743274327432
    743374337402
    743474347407
    743574357407
    743674367436nt
    743774377400
    743874387400
    743974387401
    744074407413
    744174417441
    744274427442
    744374437443
    744474447444
    744574457442
    744674467446
    744774477446
    744874487448
    744974497449
    745074507450R7460
    7450 + 7460   74507450RR7460
    745174517451
    74LS5174X5174LS51
    745374537453R7460
    7453 + 746074537453RR7460
    745474547454
    74LS5474X5474LS54
    745574557455R7460
    7455 + 746074557455RR7460
    74LS5574X55   74LS55   
    745874587458
    7460+X74607460R7460
    746474647464
    746574657464
    747274727472
    747374737473
    747474747474
    747574757475
    747674767476
    747774777477
    748174817481
    748374837483
    748574857485
    748674867486
    74L86748674386
    748974897489
    749074907490
    749174917491
    749274927492
    749374937493
    749574957495
    749674967496
    749774977497

    Skupina 74100 - 74199

    obvodpopistabulka   poznámka
    741007410074100R74100
    7410674767476
    741077410774107
    741097410974109
    7411074727472
    741117410974111
    741127410974112
    741137411374113
    741147411474114
    741197411974119
    741217412174121R_MKO
    741237412374123R_MKO
    741257412574125
    741267412574126
    74128741287402
    741317413174131
    74132741327400
    741337413374133
    74136741367486
    741377413774137
    741387413874138
    741397413974139
    74140741407420
    74141741417441
    741437414374143
    741447414474143
    74145741457442
    741477414774147
    741487414874148
    741507415074150
    741517415174151
    741527415274152
    741537415374153
    741547415474154
    741557415574155
    741567415674155
    741577415774157
    741587415874158
    741597415974154
    741607416074160
    741617416174161
    741627416274162
    741637416374163
    741647416474164
    741657416574165
    741667416674166
    741687416874168
    741697416974169
    741707417074170
    741737417374173
    741747417474174
    741757417574175
    741767417674176
    741777417774177nt
    741807418074180
    741817418174181
    741827418274182
    741847418474184
    741857418574185
    741887418874188
    741897418974189
    741907416874190nt
    741917416974191
    741927419274192
    741937419374193
    741947419474194
    741957419574195
    741967417674176
    741977417774177nt
    74198   74198   74198

    Skupina 74200 - 74299

    obvodpopistabulka   poznámka
    742387413874238
    742407424074240
    742417424174241
    742427424274242
    742437424374243
    742447424474244
    742457424574245
    742467446D146
    7424774247D146
    74248744874248
    742497424974248
    742517425174251
    742537425374253
    742567425674256
    742577425774257
    742587425874158
    742597425974259
    742607426074260
    742657426574265
    742667426674266
    742737427374273
    742767427674276
    742797427974279
    742807418074280
    742837428374283
    742877428774287
    742907429074290
    742937429374293
    742957429574295
    742987429874298
    74299   74299   74299

    Skupina 74300 - 74399

    obvodpopistabulka   poznámka
    743227432274322
    743487434874148
    743517435174351
    743527435274352
    743537435374352
    743637436374363
    743657436574365
    743667436674366
    743677436774367
    743687436874368
    743737437374363
    743747437474374
    743777437774377
    743787437874378
    743797437974379
    74386748674386
    743907439074390
    743937439374393
    743957439574395
    74399   74399   74399

    Skupina 74400 - 74499

    obvodpopistabulka   poznámka
    744057413874138
    744127441274412
    744147441474414
    744167441674416
    744267442674426
    744407444074442
    744417444174443
    744427444274442
    744437444374443
    744447444474444
    744487444874444
    744617446174461
    744827448274482
    744837448374483
    744867424574486
    74487   74487   74487

    Skupina 74500 - 74599

    obvodpopistabulka   poznámka
    745187451874518nt
    745207452074521
    745217452074521
    745347453474534
    745407454074540
    745417454174541
    745637456374563
    745647453474564
    745717457174571
    745737437374573
    745747437474574
    745767453474564
    745807456374563
    745957459574595
    74596   74596   74595

    Skupina 74600 - 74699

    obvodpopistabulka   poznámka
    746387463874640
    746397463974245
    746407464074640
    746417464174245
    746427464274640
    746437464374643
    746447464474643
    746457424574245
    746467464674646
    746477464774646
    746487464874648nt
    746497464974648nt
    746517465174653
    746527465274652
    746537465374653
    746547465474652
    746687416874168
    746697416974169
    746707467074170
    746737467374673#
    746747467474674#
    746887452074521
    746907469074690
    746917469174691
    746927469274692
    746937469374693
    746967469674696
    746977469774697
    746987469874698
    74699   74699   74699

    Skupina 74700 - 74XXX

    obvodpopistabulka   poznámka
    747947479474794
    748217482174821
    748277482774827
    748287482874828nt
    748417484174841
    748487434874148
    748737487374873
    748747487474874
    741004710047404
    741005710057404
    741245   74245   74245

    Skupina 4000 - 4099

    obvod   popistabulka   poznámka
    400040004000
    400140014001
    400240024002
    401140114011
    401240124012
    401340134013
    401540154015
    401740174017
    402040204020
    402140214021
    402340234023
    402440244024
    402540254025
    402740274027
    402840284028
    402940294029
    403040304030
    403240324032
    403440344034
    403540354035
    404040404040
    404240424042
    404340434043
    404840484048
    406340637485
    406840684068NAND-AND
    40684068A   4068ANAND
    406940697404
    407040304030
    407140714071
    407240724072
    407340734073
    407540754075
    407640764076
    407740774077
    407840784078NOR-OR
    40784078A4078ANOR
    408140814081
    408240824082
    409340934011
    409440944094
    409540954095nt
    409640954096nt
    409940994099

    Skupina 4500 - 4599

    obvod   popistabulka   poznámka
    450245024502
    450374367   74367
    450740304030
    451145114511
    451245124512
    451545154515
    451645164516
    451845184518
    452045204520
    453145314531
    453245324532
    454345434543
    455545554555
    455645564556
    456045604560
    4581458174181
    4582458274182
    458540634585

    Skupina 4XXX - 4XXXX

    obvod   popistabulka   poznámka
    431143114311
    4010640106   7404

    Skupina 32XX, 82XX, ...

    obvodpopistabulka   poznámka
    3205, 8205   7413874138
    3212, 82127441274412
    3214, 82147441474414
    3216, 82167441674416
    3226, 82267442674426
    824382438243
    82827448274482
    82837448374483
    82867424574486
    828774487   74487

    Skupina DDR 7seg. dekod.

    obvodpopis   tabulka   poznámka
    D146D/E146D7446D146
    D147D/E147D7447D146
    D345D/E345DD345D345
    D346D/E346DD346D345nt R
    D347D/E347DD347D347
    D348D/E348D   D348D347nt R

    Skupina 75XXX

    obvodpopistabulka   poznámka
    751238T238T23nt R
    751248T248T24
    751607516075160
    751617516175161
    751627516275162DIL24
    7516275162R   75162DIL22 R
    75163   7516075160

    Skupina OSTATNI IO

    obvodpopistabulka   poznámka
    MAB1502 MAC1502   15021502
    MAB1504 MAC150415041504
    MH/DS864186418641
    AM25S0525S05   25S05
    MH8641 DS883886418641
    8T238T238T23nt R
    8T248T248T24



  19. Výpis programu


OBSAH

  1. Úvod
  2. Trocha historie
  3. Popis programu
  4. Možnosti překladu a přenositelnosti
  5. Popis datové časti aneb jak vytvořit nové či upravit starající tabulky
  6. Zapojení patic ZIF28 a ZIF16
  7. Propojovací kabel/y
  8. Ukázky z chodu programu IOT
  9. Seznam podporovaných IO
  10. Výpis programu


ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 nebo CPM / IOT



SAPI.cz - web o československých osmibitech, zejména SAPI-1. Provozuje EC1045 od roku 2011
Za korekce češtiny dekuji: MELSOFTovi, Silliconovi, Martinu Lukáškovi a NOSTALCOMPovi

Když začínám blbnout z 8bitů tak se chodím léčit mezi otaku.
Animefest.cz