Jste zde

Analyzátor na LPT portu - LoganQ

LoganQ je velmi jednoduchý 8kanálový logický analyzátor, který v potřebuje pouze oddělovač na LPT port a téměř žádné další externí součástky. Pro jednoduchost se zde využívá paralelní port v režimu SPP (5 datových vstupů) nebo v rozšířených režimech EPP nebo ECP (8 vstupů D0-D7).

Jak LoganQ pracuje


Základem je osobní počítač typu PC. Jako vstup program využívá paralelní port (port pro tiskárnu), resp. jeho osmi datových linek. U starých portů, které pracovaly v tzv. SPP módu, byly tyto linky jen výstupní. U novějších typů lze paralelní port nakonfigurovat do tzv. EPP nebo ECP módu. V obou těchto módech lze přepínat směr toku dat, tudíž datové linky používat i jako vstupy (tiskárně stačí jen výstupní LPT, ale třeba skenery, externí ZIP mechaniky a další zařízení potřebují obousměrnou komunikaci). Port je tedy nutné v BIOSu počítače nebo na základní desce přepnou do EPP nebo ECP módu.
Od verze 1.1 již program počítá i portem SPP, kde ukazuje průběh pouze na 5 vstupních datových linkách, nastavení je možné přeprnout v menu. 

Program čte v těsné smyčce stav portu a ukládá jej do připraveného bufferu. Až se buffer naplní, zobrazí se na monitoru naměřené průběhy. Uživatel pak má možnost si prohlížet i detaily těchto průběhů, zjišťovat časové údaje v průbězích a ukládat je na disk.

Návod k obsluze


Ještě před spuštěním vzorkování se můžeme podívat do stavového řádku, kde je přibližná doba vzorkování a vzorkovací frekvence při posledním vzorkování. Po stisku tlačítka „START“ začíná vzorkování. Jeho průběh ukazuje „teploměr“, který se po stisku „START“ objeví místo stavového řádku. Po naplnění bufferu se průběhy zobrazí a uživatel má možnost je studovat. Pro pohodlnější práci je zde tlačítko pro zvětšení střední části grafu (zvětšení 2x), tlačítko zmenšení a tlačítko pro zvětšení vybrané části grafu (způsob výběru je uveden dále), dále pak posuv průběhů doleva a doprava a tlačítko „Reset“, které vrátí zoom na 1. 

Pod grafy je zobrazená časová osa. V zobrazených průbězích je možno měřit časové údaje dvěma kurzory – jeden funguje na levé tlačítko myši, druhý na pravé, a vlevo dole jsou odpovídající časové údaje. Kurzory je možno tlačítkem vypnout. Jsou-li zobrazené oba kurzory, lze tlačítkem zvětšit část uzavřenou mezi ně. Zmenší-li se část mezi kurzory pod 10 vzorků, změní se časový údaj „delta“ na červený.

Menu - Nastavení

 V tomto menu v polozce OBECNE jsou položky:
  • Port – buď LPT1 nebo LPT2 (většinou existuje jen LPT1)
  • Velikost bufferu – velikost bufferu pro vzorkování (větší buffer = delší doba pro naplnění)
  • Posuv – míra posuvu při posouvání grafů tlačítky doleva a doprava (v % rozsahu)
  • Násobnost – pro kreslení. Je jasné, že při velikosti bufferu např. 1 000 000 nelze kreslit všech milión navzorkovaných hodnot (to by bylo moc pomalé), ale jen např. každou desetitisící hodnotu. Kdybychom kreslili jen tolik hodnot, kolik je bodů pro nakreslení na monitoru, tak to zase nepostřehneme detaily průběhu při malém zoomu.
    Tato hodnota vyjadřuje, kolik položek z bufferu se má nakreslit na 1 x-ovou souřadnici na monitoru. Čím více, tím lépe, ale musíme volit kompromis vůči rychlosti zobrazení.
  • Čas. značek – určuje kolik časových údajů bude zobrazeno na časové ose (+/- 50%)
  • Zpoždění – položka o které bude řeč tady (odstavec o fvz)


Technické parametry


Tato otázka bude asi zajímat všechny nejvíce. Jak již bylo řečeno, vzorkování probíhá v těsné smyčce, z čehož plyne, že frekvence vzorkovací (dále fvz) závisí především na výkonu procesoru a celého PC. Během vzorkování je programu přiřazena nejvyšší možná priorita ve WINDOWS (priorita REAL_TIME). Tuto frekvenci lze snížit, a to ZPOŽDĚNÍM v menu „Nastavení – Obecné“. 
Nastavená hodnota je po sejmutí vzorku dekrementována na nulu a až poté je sejmut další vzorek. Přesné nastavení vzorkovací frekvence se mi zrealizovat nepodařilo. Hodnota fvz je v stavovém řádku programu (vychází z měření času potřebného pro naplnění bufferu)
Další otázkou je, co zvládá port. Podle mnou zjištěných údajů port spolehlivě přenáší data do asi 1MHz rychlosti.
Na mém počítači s procesorem Celeron 300MHz, přetaktovaném na 340Mhz, je vzorkovací frekvence kolem 700kHz.

 Něco o paralelním portu


Paralelní port je velmi lehce poškoditelný! Pozor na následující problémy.

 

 

  Zkratování výstupní linky – hlavně proti +5V. Maximální dovolený proud je 10mA a linky nemají omezení zkratového proudu (na rozdíl od sériového portu)

  • Spojení výstupních linek mezi sebou
  • Připojení napětí mimo rozsah 0 až 5V
  • Připojování a odpojování od portu zařízení při zapnutém počítači

V žádné případě nedoporučuji porušovat první tři body! Pro použití LoganQ není rozumné vyvést „dráty“ přímo z portu. Asi nejrozumnější je použít galvanické oddělení (optočleny), ale tak rychlé optočleny by byly velmi drahé. Já jsem použil na oddělení  budič sběrnice 74HCT241 s odporem 560W pro omezení zkratového proudu pod 10mA pro případ, že redukce bude připojena na port ve výstupním módu. 

Tento „adaptér“ lze umístit přímo do krytky konektoru CANON, soubor v Eagle 4.0 a náhled na uspořádání je v závěru dokumentu. Tento obvod napájím přímo z testovaného zařízení. Při jednoduchých pokusech se obvod napájí sám z portu přes namalované zdvihací odpory 56k. Používáte-li více linek a jejich sta se rychle mění, nutno externí napájení použít.
 

Doporučená externí elektronika



Na základě popsaného zadání jsem sestavil uvedená schéma a připravil na desku plošného spoje. SMD technologie kterou jsme využil asi nebude vhod každému, ale schéma je opravdu jednoduché.

Deska plošného spoje


Závěr & download


Logan je zkratka LOGický ANalyzátor, to je asi zřejmé. Q znamená Quick, rychlý, neboť jsem plánoval udělat ještě program, pro pomalejší děje a okamžité vykreslování průběhů. Vzhledem k jiným projektům je zatím tato myšlenka je odsunuta do neurčita.

 

 

 

 

 

 

 

Rád bych upozornil, že nejsem žádný velký programátor a tak bych chtěl všechny poprosit, aby mi neposílali žádné výhružné emaily jak se jim program kousnul a podobně. Snažil jsem se jak jsem mohl. Jestli ale někdo narazíte na nějaký problém, napište mi prosím a já se budu snažit chybu opravit. 
Program je Freeware, což znamená, že ho můžete libovolně kopírovat svým kamarádům a známým.

Protože program pracuje s paralelním portem, rád bych upozornil, že na sebe neberu žádnou zodpovědnost za případné škody jakéhokoli rázu. Paralelní port je velmi choulostivý a tak se k němu tak chovejte, viz sekce Něco o paralelním portu.
 

DOWNLOAD : 

loganq_11.zip - cca 170 kB - Ovládací program pro Windows - verze 1.1
logan_eagle401.zip - cca 12 kB - Dokumentace k plošnému spoji pro Eagle 4

Použitá literatura a www odkazy:

[1] Kainka B.,  Berndt H-J.: Využití rozhraní PC pod Windows, HEL, 2000
[2] http://www.lvr.com/jansfaq.htm, stránka o paralelním portu v angličtině
Autor : Karel Radkovský
Karel.radkovsky@seznam.cz
Hodnocení článku: