Miki RS232

Jen stručné info

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 chyb.

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 diod 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í 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.

Související plány

  • napsat program počítající MD5 na Z80, případně jednodušší kontrolní součty :-)
  • napsat program pro Linux přenášející data po blocích
  • napsat program pro ZX Spectrum komunikující s tím na Linuxu

Download

Opravené chyby a aktualizace

  • 24.3.2008 - Zveřejněna první použitelná verze.
  • 30.3.2008 - Zveřejněna první verze programu pro zálohování TRDOS disket.
  • 31.3.2008 - 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
  • 7.4.2008 - Opravena chyba v nastavení sériového portu pomocí stty.

[ 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.