Простий «залізний» термінал

Дана стаття є продовженням опису мікроконтролера на процесор 6502 «Аюша». У ній ми розглянемо, як перетворити контролер в повноцінний комп'ютерний комплект, причому в якості основи не обов'язково робити «Аюшу», зійде будь-який інший девайс. Ну або застосуємо зібраний термінал для чого-небудь ще. І знову ж таки, для складання буде застосований «підніжний корм»…
image


Для початку трохи згадаємо історію комп'ютеробудування в «до-мікро-РКшную» епоху. По суті кажучи, більшість первокомпьютеров були звичайними контролерами, до яких необхідно було під'єднати клавіатуру, телевізор і пристрій запису/зчитування програм (в ті часи перфосчитыватель або касетний магнітофон). Зібране до купи залізо назвалося терміналом і поділялося на два типи — «dumb» та інтелектуальний термінали. Другий з них був по суті окремим повноцінним комп'ютером, мав власний процесор і міг приєднуватися до більш потужних побратимів. А от перший варіант не мав процесора, збирався на «жорсткою» логікою і вмів тільки спілкуватися із зовнішніми пристроями по послідовному порту, тому і назвався «тупим» ;). Ну, тупий — не тупий, а своє завдання такий термінал виконував, тим більше, що особливих вимог до нього не пред'являлося.

Ось такий термінал і було вирішено зібрати для «Аюши». Він повинен був дозволяти виводити на звичайний телевізор одержувану з контролера алфавітно-цифрову інформацію, вводити текст програми з вбудованої клавіатури, а також дозволяти спілкуватися контролеру з звичайним магнітофоном. Так, по суті поставлені завдання пахли махровим даунгрейдерством, але крім них готове пристрій міг би спілкуватися не тільки з існуючим контролером, а й бути цілком самостійним мережевим (!, але про це нижче) пристроєм.
Зі схемою терміналу можна познайомитися за посиланням у кінці статті. Тут я опишу нутрощі конструкції і причину їх вибору.

Висновок на телевізор був зроблений з порушенням канонів 70-х, використовуючи однокристальний мікроконтролер ATMEGA8, на якому, в принципі, можна було б зібрати весь термінал (такі конструкції існують). Але, оскільки однокристальні термінали не дозволяють особливо розширити їх по «залізу», використовують «неканоніческие» PS/2 клавіатури і не дозволяють працювати зі швидкостями нижче 1200 біт/сек, від них вирішено було відмовитися і залишити чіп працювати тільки на телевізійний висновок. Чому на телевізор, а не на VGA-сумісні пристрої — в наявності був невеликий автомобільний ТВ-монітор, якого для роботи з «Аюшей» цілком вистачало.

Для клавіатурного введення було вирішено використовувати ASCII-клавіатуру. Як відомо, всі сучасні клавіатури як у саморобної техніки, так і в промисловій, будуються на основі матриці з подальшою обробкою натискань вбудованим (або додатковим) процесором. Матричні клавіатури застосовувалися і в «Спектруме», і в «РК-86», так і нинішні АТ-клавіатури теж матричні. Однак первокомпьютеры, той же Apple-I/II, використовували ASCII-клавіатури, не займали обчислювального часу процесора і видавали «на-гора»відразу готовий ASCII-код нажатого символу, що на мою думку набагато зручніше, ніж витрата часу на безглузде сканування матриці в режимі очікування натискання. Для сучасних клавіатур раніше випускалися спеціалізовані чіпи (по суті ПЗУ з таблицею ASCII-кодів), в інших же випадках, коли було достатньо використовувати перші 128 символів таблиці, використовувалися прості діодні кодери. За основу була взята відома за кордоном клавіатура Дона Ланкастера, а нині відсутні в продажу мікросхеми були замінені простими транзисторними каскадами. Ось тепер у мене з'явилася ASCII-клавіатура, яку не соромно підключити і до первоЭпплу ;)

На просторах країни був знайдений незайманий з радянських часів набір клавіш (спасибі Сергію, R7GW).
image

Клавіші були зібрані в купу і розміщені спільно з діодними дешифраторами на одній платі.
image

Зрозуміло, що конструкція повинна працювати не в принципі, а в корпусі, тому з шматків 10-мм фанери почалося ліпка корпусу.
image
image

Після збірки корпусу і установки в нього клавіатури, корпус був пофарбований так званої «гумовою фарбою» (rubber paint, по суті розчинена гума в балончику), встановлені необхідні коннектори і індикатори. Зверху корпуса встановлені індикатори включення і читання з магнітної стрічки, а також перемикач джерела введення (про це нижче).
image

Задня стінка має роз'єм живлення з вимикачем і запобіжником, СОМ-порт, вихід на ТБ і магнітофон, і роз'єм живлення телевізора або зовнішніх пристроїв.
image

Взагалі зізнаюся, що кілька квапився з виготовленням корпусу, тому видно головки шурупів і деякі шорсткості, що не впливають в цілому на роботу терміналу…
Оскільки у нас немає процесора, то в схемі терміналу з'явився вузол перетворення отриманого з клавіатури паралельного коду в послідовний. Випробувавши кілька варіантів, було вирішено використовувати в якості основи схему на мультиплексорі 155КП2, а не на зсувних регістрах. Воно вийшло і простіше, і менше споживало харчування. Результат ви можете побачити на схемі, посилання в кінці статті.
Швидкість роботи терміналу — 300 біт/сек…

Сподіваюся, все просмеялись і витерли сльози, продовжуємо…

Чому вибрана така низька швидкість? По-перше, виходячи з того, що сама повільна частина комп'ютера зазвичай сидить перед ним і не здатна набирати текст зі швидкістю вище 33 знаків у секунду. По-друге, для виводу алфавітно-цифрової інформації на монітор не потрібна висока швидкість (в порівнянні з графікою). По-третє, нам треба якось спілкуватися з магнітофоном, не використовуючи додаткових програмних доважків. Ну і по-четверте, неспішний висновок тексту на монітор заспокоює і дещо нагадує кадри з «Матриці» ;).

Зрозуміло, що не використовуючи схемні блоки сполучення з магнітофоном, можна підняти швидкість спілкування терміналу з СОМ-порту до більш високих швидкостей (19,2 кбіт/сек — програмне обмеження використовуваної прошивки АТМЕГИ) не змінюючи основну схему. Таким чином термінал можна буде підключати для налаштування будь-яких пристроїв з СОМ-порту — модемів, цисок, роутерів і т. п., звичайно в тих випадках, коли не потрібне оновлення прошивки пристрою.

Спілкування з магнітофоном використовує Канзаський стандарт запису на магнітну стрічку. У цьому випадку «0» кодується частотою 2400 Герц, а «1» — 1200 Герц. Ці частоти чудово записуються на магнітну стрічку, так і на твердотільні накопичувачі, набагато менше схильні до збоїв, ніж використовуваний в тому ж Мікро-80/РК-86 код NRZ. Для читання з стрічки використовується частотний компаратор, на виході якого отримуємо послідовний потік даних. Як було видно на попередньому фото, перемикачем джерела вводу ми можемо вибрати, звідки контролер буде отримувати інформацію з клавіатури або з стрічки, це буде йому абсолютно байдуже. Отримуємо такий собі driver-free блок спілкування контролера з магнітною стрічкою, також не використовує ресурси процесора.

Вид плати терміналу додається. На звороті — знову в'язка МГТФ, але це вже нецікаво, тому і не показую. Транзисторні ключі, що відносяться до клавіатури, розташовані з правого боку плати.
image

Внутрішній вигляд терміналу — всі складові в дерев'яному корпусі.
image

Як проходить процедура завантаження програми з магнітної стрічки можна подивитися на доданому відео. Завантажується демонстраційна програма-конвертер з децимальной системи числення в шістнадцяткову і навпаки. Слід зазначити, що сама завантаження програми містить в собі певний ігровий момент, попутно дозволяючи оцінити коректність роботи.


Сумарно оцінити вигляд комплексу контролер — термінал можна за наступними фото, як із звичайним телевізором (фото на початку статті), так і з автомобільним (тут вже використовується микрокассетный магнітофон, на відміну від попереднього відео).
image

Термінал був випробуваний для роботи в мережі з використанням конвертера COM->ETH, купленого на Алиэкспрессе.
image
image

Використовуючи другий конвертер і прокинувши в роутері порти вдалося керувати «Аюшей» через Інтернет. Хоча ніщо не заважає нам точно так само управляти будь-якими іншими пристроями через віртуальний або реальний СОМ-порт.
Ну і для закінчення розмови. На «Аюше вже можна і пограти, на фото екран запущеної програми „Реверсі“. А оскільки контролер вже обзавівся мікросхеми годин реального часу, то вже можна не тільки грати, але і використовувати його в складних пристроях управління.
image

Дякую за розуміння ;)

Посилання.
Стаття Дона Ланкастера в квітневому номері журналу Popular Electronics за 1974 рік про складання ASCII-клавіатури
Схема ASCII-клавіатури терміналу
Схема терміналу
Головна сторінка проекту
Група ВКонтакте

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.