TRAPP aneb data TRAnsfer Pmi ↔ Pc verze 3.xx

Systém trapp je určen pro snadné nahrávání dat z PC do jednodeskových počítačů. Toho času je k dispozici podpora pro počítače

Přičemž není problém systém upravit pro jakýkoliv jiný jednodeskáč. Zde je popsáno zejména použití pro PMI-80. Odlišnosti při použití u jiných počítačů jsou popsány na stránkách věnovaných těmto počítačům. Systém ideově vychází ze systému FJP/PCLoader2, vizte zde, přičemž mi nevyhovovalo několik věcí. Zejména šlo o to, že přenos byl velmi pomalý. Dále obsluha je poněkud nekomfortní - je nutné spouštět program na PC a na PMI-80 ve správném pořadí, je nutno zadávat nahrávací adresu, atd. Za další se neprovádí žádná detekce chyb.

Při tvorbě systému TRAPP jsem se rozhodl tyto nedostatky odstranit a navíc definoval další požadavky. Celkově tedy bylo cílem:

Ve verzi 3 navíc

Systém se skládá z:

Připojení TRAPP na uživatelskou 8255

Při tomto způsobu připojení má TRAPP samostatnou desku s plošným spojem. Zasunuje se do konektoru K2 počítače PMI-80. Výhodou je, že může být podle potřeby připojen nebo odpojen. Nevýhodou je, že počítač PMI-80 musí být vybaven uživatelskou 8255 a konektorem K2.

Přípravek pro PMI-80 je zdokumentovaný zde. Je-li použit tento přípravek, musí být TRAPP kompilován s volbou #define PMI_TRAPP_UP. Pokud kompilaci neprovádíte sami, je nutno stáhnout správný kompilát. U ostatních počítačů je připojení popsáno na stránkách věnovaných těmto počítačům.

Připojení TRAPP na na služební 8255

Od verze 3.02 se uživatel může rozhodnout TRAPP místo na uživatelskou 8255 připojit na služební 8255. Tento způsob je určen především pro trvalou instalaci do PMI-80. V tomto případě nestavte interface dle popisu výše, ale zapojení proveďte podle schématu níže. Obvod MAX232A potřebuje přivést napájení +5V na pin 16 a zem má na pinu 15. Omlouvám se, že ve schématu to není zakresleno.

Obvod lze realizovat např. na univerzální části PCB Vašeho PMI, je právě určena pro takovéto věci. Jedna komunikační linka je sdílena s desetinnými tečkami (pokud je máte zapojené) a další linka je sdílena se středními segmenty displeje. Použití to nevadí, spíše naopak je výhoda, že poblikávání informuje o tom, že se něco děje.

Je nutno použít správný kompilát TRAPP nebo ho zkompilovat s volbou #define PMI_TRAPP_SP.

Software pro PMI

Program na straně PMI je napsaný v assembleru. K dispozici dávám několik verzí. Nejvýhodnější je použít verzi integrovanou do monitoru PMI-80. Další verze je zkompilovaná od adresy 0400 hexa a je určena k naprogramování do přídavné EPROM počítače PMI-80. K dispozici je i verze určená pouze k vyzkoušení programu. Musí se nějakým jiným způsobem (třeba tím FJP/PC Loaderem) nahrát do RAM od adresy 1E00. Krom toho zveřejňuji i zdrojový kód, takže si každý může program sám zkompilovat k adrese jaké chce. Ke kompilaci se používá známý program TASM.

V obou případech jde vlastně dva programy, jeden pro přenos dat z PC do PMI a druhý pro přenos opačným směrem.

Ve verzi integrované do monitoru PMI-80 se příjem dat z PC spouští prostým stiskem tlačítka L, které v původní verzi monitoru sloužilo pro nahrávání z magnetofonu. Pokud je TRAPP užit jako samostatný program, příjem dat z PC se spouští příkazem G monitoru a zadáním startovací adresy, tedy 0400 nebo 1E00. Po spuštění se na displeji PMI objeví písmeno L (ve starších verzích r) a program čeká na data z PC. Není požadováno zadání žádných údajů, vše se přenese z PC. Pokud je TRAPP připojen na uživatelskou 8255, nezáleží na tom, jestli se spustí dříve program na straně PMI nebo program na straně PC. Program, který byl spuštěn dřív vždy čeká, až bude spuštěn program i na druhé straně. Při připojení TRAPP na služební 8255 však doporučuji dříve spustit program na straně PMI. Při přenosu se kontroluje formát a přenos je zabezpečený kontrolním součtem. Pokud při přenosu dojde k chybě, vypíše se hláška "Error". Pokud byl přenos úspěšný, vypíše se hláška PMI-80. Pokud navíc je v HEX souboru který byl posílán i informace o startovací adrese (uvedená jako počáteční adresa EOF bloku), nabídne se i skok na tuto adresu. To je možno potvrdit klávesou =, zadat jinou adresu nebo stiskem jiné než hexaklávesy se vrátit do monitoru. Přerušit přenos lze na straně PMI pomocí klávesy reset. Na straně PC je přenos možno přerušit klávesou Esc.

Pokud je TRAPP integrován do monitoru PMI-80, program pro posílání dat do PC se spouští tlačítkem S. Jinak je jeho počáteční adresa o 80 hexa bytů dále, než je program pro nahrávání z PC, tedy od adresy 0480 hexa nebo 1E80. Po spuštění se na displeji vlevo objeví písmeno S (ve starších verzích t), vpravo písmena Fr (from) a je požadování zadání počáteční adresy bloku paměti, který chcete odeslat do PC. Defaultně je nabízeno 1C00. Po potvrzení klávesou = se v pravo objeví "to" a je požadováno zadání koncové adresy. Po potvrzení koncové adresy a spuštění přenosu na straně PC je proveden přenos. Ohledně pořadí spouštění programů a zabezpečení platí totéž co v případě přenosu směrem do PMI.

TRAPP je soubežným projektem s UPM. Stáhnout si ho můžete ze stránek s UPM kliknutím na tento odkaz.

Software pro PC

Program pro PC byl napsán v C++ jako konzolová aplikace a je k dispozici pro Microsoft Windows (TM) a pro Linux.

POZOR ! Pokud program spustíte přímo z prostředí Windows, pouze problikne konzolové okno a skončí. Program je nutné spustit z konzole, nebo je nutno ho spouštět z dávkového souboru včetně správných parametrů.

Povinným parametrem programu je jméno souboru, který chcete nahrát do PMI. Další důležitý parametr je -s<označení portu>, v případě TRAPP rozhraní založeného na FTDI čipu je možno užít -u<deskripce FTDI čipu>, není-li žádný z těchto parametrů použit, hledá se FTDI chip, který jako deskrpici má uvedeno "TRAPP" (ve verzi 2 se hledal port COM1). V případě linuxu se zadává příslušná cesta k zařízení např. /dev/ttyS0. Není-li uvedena, hledá se zařízení /dev/ttyUSB0. V případě kabelového USB převodníku je nutné se podívat, pod jakým označením se vyskytuje v systému. Užitečný parametr je -k, program pak po skončení čeká na stisk jakékoliv klávesy a nedojde tak k zavření okna. Pokud jde o soubor v Intel-HEX formátu, není potřeba zadávat nic dalšího. Všechny adresy jsou definovány uvnitř Intel-HEX souboru. Pokud parametr obsahuje mezery, uzavírá se mezi uvozovky.

Příklady:
trapp soubor.hex
trapp -sCOM2 soubor.hex - ve Windows(TM)
trapp "-uSerial converter" -k soubor.hex - ve Windows(TM)
trapp -s/dev/ttyS1 soubor.hex - v Linuxu

Pokud má být do PMI odeslán binární soubor, je nutné použít parametr -b<adresa>. Parametr <adresa> určuje od jaké adresy má být soubor nahrán v PMI. Není-li adresa určena, program se nahraje od adresy 1C00.

Příklady:
trapp -b soubor.bin
trapp -sCOM5 -b1e00 -k soubor.bin

Pokud má být soubor přenesen opačným směrem, t.j. z PMI do PC, použije se paramer -t, například
trapp -sCOM5 -t soubor.hex

V tomto případě se soubor uloží v Intel-HEX formátu. Pokud chcete soubor uložit jako binárku, použijte parametr -b, například
trapp -sCOM5 -t -b soubor.bin

Další možnosti programu:
-h help (objeví se též po spuštění programu bez parametrů
-m jednoduchý diagnostický monitor - umožňuje ručně ovládat a sledovat stavy signálů.

UPOZORNĚNÍ

TRAPP verze 2.x a 3.x používají mírně odlišný protokol. Pokud máte v jednodeskovém počítači TRAPP verze 2.x a na straně PC chcete spustit TRAPP verze 3.x, je nutné přidat parametr -2.

Stažení - aktuální verze 3.00


Program je ve všech verzích volně šířitelný. Podmínky užití zdrojových souborů jsou popsány v přiloženém souboru _readme.txt. O komptabilitě programu v PC a PMI rozhoduje číslo verze před tečkou. Například 2.00 je kompatibilní s 2.01 a 3.00 je kompatibilní s 3.03, zatímco 2.00 není kompatibilní s 3.00.
Zpět