ZX magnetofonový zesilovač

Úvod

Ukládání na pásku k ZX Spectru prostě patří a i když samotné používání pásek ztrácí na smyslu, protože je dnes lze snadno nahradit spoustou jiných médií, přesto je potřeba občas signál zesílit, vylepšit, či jinak upravit, aby byl použitelný. Např. zvuková karta v mém PC bez problémů generuje dost silný signál, aby ho bylo možné připojit přímo, ale CDROM ne, MP3 přehrávač jen s velkými obtížemi, firemní notebook taky ne atd.. Přitom přenos dat přes magnetofonové rozhraní je často jediným dostupným způsobem jak data dostat do reálného ZX Spectra z emulátoru, nebo naopak. Případně použití audio CD je velmi jednoduchý způsob ukládání her, které často nelze nahrát do ZX Spectra jinak, protože nepoužívají loader v ZX ROM (efekty, speciální vykreslování úvodních obrázků, animace při nahrávání, zrychlené turbo loadery ...) a tudíž je nelze beze ztráty zkonvertovat do TAP souboru a používat na DivIDE atd...

Řešení problému

Já jsem vyzkoušel dvě možnosti, pro účel prostého natvarování pulzů se mi osvědčily obě. Pro zesílení zkresleného signálu ze skutečného magnetofonu ani jedno.

V každém případě by bylo vhodné něco málo tušit o zdroji signálu, který chceme k ZX Spectru připojit, ideálně rozkmit napětí obou úrovní. Budu předpokládat, že není příliš velký a že je mezi úrovněmi alespoň 50mV rozdíl, čím víc tím líp, max. 2V, pak už zesílení nemá praktický smysl.

Na výstupu chci získat něco, co ZX Spectrum bude spolehlivě detekovat jako dvě různé úrovně. Může být i přímo TTL signál, kde se log 0 blíží 0V a log 1 je někde mezi 4,5 - 5V. Postačí i míň, rozkmit okolo 2V je naprosto bez problémů použitelný, přičemž záleží na konkrétním ZX Spectru a jeho zesilovači. Různé stroje jsou řešené různě.

Například moje upravená +2 - doplněná o mgf. vstup a výstup si sice poradí se signálem +/-30mV (rozkmit 60mV) za předpokladu, že není příliš zašuměný, ale vstup signál dost zatěžuje a slabý signál snadno utlumí. Ale ZX Spectrum 128k +2 není zrovna nejobvyklejší případ, protože továrně vůbec není vybaveno magnetofonovým vstupem, ani výstupem, má magnetofon přímo zabudovaný a výrobce zřejmě naivně předpokládal, že nikdo nebude potřebovat připojit jiný. (Později snad vyzkouším další modely.)

TTL tvarovač s tranzistorem a 74HCT04

Nejprve jsem vyzkoušel tuto variantu, v šuplíku jsem našel pár součástek a zapojil klasický tranzistorový zesilovač. Pro ZX to stále nestačilo, takže jsem přidal 74HCT04, který funguje jen jako tvarovač, ale je nutné použít dva invertory, aby měl signál správnou polaritu.

Funguje dobře, pro notebook a CDROM mi postačil s rezervou, jenže není moc citlivý, vstupní napětí musí být nejméně 100 - 150mV, jinak je signál zkreslený, náběhy hran se rozpadají do šumu a signál není použitelný.

schéma zapojení s tranzistorem a invertory

Odpory okolo tranzistoru Q1 nastavují pracovní bod tak, aby tranzistor šel do saturace při minimálním proudu do báze. Na kolektoru pak je napětí zhruba se blížící TTL, ale rozkmit není dostatečný na to, aby tranzistor takto zapojený mohl být zatížen. K lepšímu tvarování slouží dva invertory. Provedení HCT jsem použil kvůli malému vstupnímu proudu hradel (a proto, že se mi IO povaloval v šuplíku).

Řešení s operačním zesilovačem TL072

Operačnímu zesilovači jsem se z počátku vyhýbal, protože potřebuje symetrické napájení a to v ZX Spectru buď vůbec není, nebo je mizerně zašuměné. Navíc jsem první variantu zabudoval do malé krabičky s napájením z USB na notebooku, nebo z USB-PS/2 redukce zapojené v KMouse, v obou případech je k dispozici jen +5V a nic jiného. Naštěstí TL072 a možná i spoustu jiných OZ lze provozovat i na 5V, ale nula se pak posouvá do poloviny mezi GND a napájecí napětí, takže v mém případě bude někde okolo 2,5V.

Chvíli jsem s OZ experimentoval a nakonec se mi nejlépe osvědčilo následující zapojení.

schéma zapojení s OZ

Na neinvertujícím vstupu je děličem nastaveno napětí 1/2 napájecího, stejně tak na invertujícím vstupu. Na neinvertující vstup jsem použil menší odpory, aby napětí bylo tvrdší, na invertujícím naopak mnohonásobně větší, aby nedocházelo k přílišnému utlumení vstupního signálu. R2 a R1 slouží k prostému sloučení levého a pravého audio kanálu, C3 odděluje stejnosměrnou složku (asi 22 - 100μF/6V)

Úmyslně není zavedená zpětná vazba, takže OZ jde do krajních napětí, jakých je výstupu schopen. Pokud je na invertujícím vstupu napětí menší než na neinvertujícím, tak bude na výstupu max. napětí a naopak, bude-li na inv. vstupu napětí větší, tak bude na výstupu min. napětí. Přechod mezi nimi je prakticky tak rychlý, jak rychlý je OZ, pro účely ZX Spectra s obrovskou rezervou.

Aby vše fungovalo správně je nutné, aby odpory v děličích byly stejné, trimr se mi neosvědčil, naopak 1% rezistory bez problémů, ale hodnota by neměla být na vzdálenějších koncích tolerance. Plus je potřeba zohlednit nepřesnost samotného OZ, ale obávám se, že to nepůjde jinak než experimentálně. Krom toho, to celé nemá ani tak vliv na samotnou funkčnost, jako spíš na citlivost, méně přesné hodnoty prostě způsobí jen to, že potřebný rozkmit vstupního napětí bude muset být větší.

Nejlepší citlivost, jaké jsem byl s tímto zapojením schopen dosáhnout je cca 12mV. Ale pak už je docela značné riziko chyb při přenosu, protože síla signálu je na hranici šumu, resp. šum se v tomto případě pohyboval někde okolo 6mV, přesto se mi bez problémů podařilo načíst třeba 13kB program. Dejme tomu, že okolo 20mV už by mělo vše fungovat bezvadně a spolehlivě.

Dodatek k signálu z kazet

Ani jedno uvedené zapojení bohužel neřeší a řešit nemůže nekvalitní výstup z magnetofonu, kdy je signál zkreslený frekvenčně, vyšší frekvence jsou utlumeny (2kHz log 0 mají třeba 1/2 amplitudu oproti 1kHz log 1), a celý signál je všelijak posunut. Typicky u starých nahrávek a mizerných magnetofonů se mění stejnosměrná složka s četností log. 1 a log 0, takže se signál jakoby "houpe" a v některých okamžicích není možné rozpoznat 0 od 1 ani pohledem na nasamplovaný signál. Nemám tušení, jak si s takovou nahrávkou poradit. Pokud je to způsobeno kazetou, je to předem ztracený případ. Naštěstí to většinou není nutné, zvlášť pokud se jedná o dávno převedený software nalezitelný na internetu.

Download

[ Zpět na hlavní stránku ]

Cygnusova stránka o ZX Spectru a kompatibilních počítačích byla napsána (přepsána) výhradně pomocí svobodného Open Source softwaru. V případě že naleznete chybu, nebo byste rádi cokoliv co se ZX Spectrem souvisí, neváhejte mi napsat na některý z mých emailů, nebo pracovně do zaměstnání. Stručně o mém webu se můžete dočíst zde.