Miki RS232

Na úvod

MIKI RS232 je výtvor Busysofta, z jeho webu lze stáhnout schéma, zdrojáky programu pro AT89C2051 a nějaké další info a ukázky obslužných programů.

Já jsem se o něco podobného pokoušel taky s využitím AT Mega 16, který se mnohem snadněji programuje s linuxovým PC. Mezitím jsem to celé odložil a po nějakém čase jsem od Nobyho získal naprogramované Atmely pro MIKI, takže jsem trochu zapracoval a vyrobil několik exemplářů k čemuž jsem postupně vyladil plošný spoj a napsal nějaký software.

Prototyp RS232 MIKI

miki foto zepredu miki foto zezadu

Plošný spoj zkušebního prototypu na obrázku bohužel obsahuje chybu v zapojení konektoru Canon a chybí na něm pullup odpory, což jsem zjistil až s naprogramovanými AT89C2051. Chybějící pullupy se projevují výpadky bitů při přenosu z PC do ZX Spectra, lze je samozřejmě připájet zespod, ale tím už to není dokonale bezchybné řešení. Nicméně funkční to je. Busy samozřejmě informaci o pullup odporech ve svém schématu má zapsanou, ale přiznávám, že jsem ji přehlédl a všiml si toho až při testování.

Verze ke stažení je samozřejmě opravená bez této chyby.

Pokud si budete Miki stavět sami, tak důrazně doporučuju konektor Canon před zapájením přišroubovat na nějaké distanční sloupky, já jsem použil mosazné 6mm vysoké, které se hojně vyskytovaly v balíčcích k různým PC skříním. Samotný plošný spoj rozhodně konektor neudrží, měď se snadno strhne z desky tlakem na konektor.

S "precizní paticí" pro FRB konektor, resp. lištou, problém není, z jedné strany se opře širokými kontakty a z druhé je pájka. Pro jistotu jsem ze stejného důvodu zvětšil pájecí plošky i u LED a krystalu.

Na celé ploše jsem pak pečlivě rozlil zem, včetně tahu mezi RxD a TxD signály, které se k ničemu jinému než GND nepřibližují. Měl jsem se špatně taženými signály problém u jiného MCU, kde mělo RS232 rozhraní tendenci rušit frekvenci krystalu.

Přenos dat v Linuxu

Nejjednodušeji lze přenášet data pomocí příkazu cat. Neřeší se tím sice žádná parita a případné zastavení přenosu, když ZX Spectrum potřebuje data uložit na disk po zaplnění paměti, ale funkční řešení to je.

Nejprve je potřeba sériový port nastavit. Dejme tomu, že pro komunikaci budu vždy používat COM1 - tj. zařízení /dev/ttyS0, pak lze nastavení provést takto.

stty -F /dev/ttyS0 115200 cs8 clocal cread -cstopb parenb -parodd raw

Chci-li data přijímat do souboru, tak lze použít cat takto.

cat /dev/ttyS0 > jmeno_souboru

Případně prostý výpis poslaných dat na terminál. Velmi vhodné, pokud ZX Spectrum posílá ladící výpisy.

cat /dev/ttyS0

Naopak odeslání dat z PC do ZX Spectra ...

cat jmeno_souboru > /dev/ttyS0

Maximálně prosté, až na to, že po zaplnění paměti ZX Spectra je třeba přenos zastavit a data zpracovat. V tomto případě není možnost PC informovat, aby pozdrželo posílání dat. Řídící signály RS232 bohužel nejsou zapojené.

Tohle by měl řešit až další obslužný program, který by měl umět posílat data např. po blocích o velikosti volné RAM (bufferu) na ZX Spectru a ověřovat zpětně připravenost ZX Spectra přimout další data, správnost přenesených dat nějakým kontrolním součtem, případně přenos automaticky opakovat a informovat uživatele o stavu. Pokud by se toho někdo chtěl ujmout, budu rád.

Závěrem...

Píše se rok 2023, od mých experimentů s MIKI uběhlo 11 let. Svůj sériák MIKI jsem už dávno daroval a více se tomuto sériovému portu věnovat nebudu, protože se ukázalo, že i softwarová RS232 kompatibilní se ZX Spectrum 128k je dostatečně použitelná, dá se s ní dosáhnout uspokojivých rychlostí a v lecčems může být i praktičtější. A kdyby to nestačilo, máme k dispozici SIF se skutečným UARTem 16C650.

Sériový interface připojitelný na 8255 samozřejmě svůj smysl mít může, ale pro mě nakonec nejlepší volbou nebyl.

Download

Související odkazy

Historie změn článku

  • 2008-03-24 - Zveřejněna první použitelná verze.
  • 2008-03-30 - Zveřejněna první verze programu pro zálohování TRDOS disket.
  • 2008-03-31 - Utilitka pro přesměrováno kanálu 3 - lze použít např. LPRINT k výpisu do PC, nebo v upravené podobě k převodu kódu z Promethea do textového výpisu
  • 2008-04-07 - Opravena chyba v nastavení sériového portu pomocí stty.
  • 2023-02-25 - Opravena polarita kondenzátorů C3 a C4. Drobné změny a doplnění v článku. Opraveno datum v názvu jednoho ze souborů.

[ Zpět na hlavní stránku ]

Tento web je převážně o ZX Spectru, kompatibilních počítačích a jiném zajímavém hardwaru. Naleznete-li chybu, nebo byste rádi cokoliv co s tímto souvisí, můžete mi napsat email. Stručně o mém webu zde.