Она совместима с МС 7004, можно её подключить к Электронике 85 для проверки работоспособности? Или её можно подключить к COM-порту ПЦ?
Вид для печати
Она совместима с МС 7004, можно её подключить к Электронике 85 для проверки работоспособности? Или её можно подключить к COM-порту ПЦ?
http://deskthority.net/wiki/DEC_LK201
Симпатичные кнопочки, никогда не щупал живьём такие.
По ссылки кроме краткого описания (англ.) есть фотки со всех ракурсов.
(*это не ответ на ваш вопрос это я для оживления темы картинкой)
Электроника 85 без проблем работает с LK201, правда последние версии LK201 ( якобы ) рассчитаны на питание +5, а не +12 вольт. Этот момент есть смысл уточнить перед подключением к Эл.85.
Для подключения к COM-порту PC - порт надо настроить на скорость 4800;8N1.
Клавиатуры МС 7004 и LK201 генерят сканкоды, поэтому единственный смысл их подключения к PC - использование конвертера "Эмулятора ДВК" для превращения сканкодов этих клавиатур в ASCII-коды нажатых клавиш для последующего использования в эмуляторе или передачи в другой COM-порт.
Тогда лучше так:
http://media.auvito.de/images/cache/...-1,-1,-1,0,0,0
У меня очень похожа на эту.
Интересно как? Шильдика на ней нет. Посмотреть внутри или сначала подключить +5В и посмотреть на её реакцию?
А распиновку клавиатуры или схему подключения не подскажешь?
З.Ы. Расипиновку нашёл
http://freebsd.csie.nctu.edu.tw/www...._connector.jpg
D-> к Rx, D<- к Tx подключать?
Да подключи питание (только питание) 5В и посмотри осциллографом на выходе при нажатии кнопки. Если сигнал есть значит клавиатура 5 вольтовая. Тогда её к COM порту нельзя подключать напрямую. В этом случае используй конвертер типа MAX232.
---------- Post added at 10:53 ---------- Previous post was at 09:29 ----------
Да, как подключишь скинь сканкоды очень интересно сравнить с мс7004.
Вот что пишут на эту тему:Цитата:
? anonymous - 02.02.2013 17:40
Разобрал LK201 свою - используются контакты пленок посеребрёных, как в новой клавиатуре БКшки, в остальном начинка такая же, на MCS48, только со внутренним ПЗУ, а в 7004 - внешнее, и у моей нет стабилизатора 12v→5v, сразу 5v подаётся с линии, что выжгло бы её при подключении к ДВК.
Вот мне тут поведал историю приятель, у них тоже были клавиатуры и со стабилизатором и без него, последние попадали с vaxstation, а 12в - с терминалами и их жгли, когда меняли местами. У попадавшихся мне микроваксов rs423 вместо rs232 используется, видимо под него и не устанавливался стабилизатор, т.к. там ±5в уровни. Жаль на ней PN не видно какой, шильдик давно отклеился и потерялся.
---------- Post added at 11:59 ---------- Previous post was at 11:54 ----------
Сканкоды у LK201 такие:
https://www.netbsd.org/docs/Hardware...e_keycodes.jpg
Если на входе питания стоит преобразователь 12в-5в, то вряд ли клавиатура заработает, если на этот преобразователь подать 5в. Значит ДА, если при подаче 5в клавиатура не подаёт признаков жизни - можно смело подавать 12в.
Я понял так, что у LK201 микроконтроллер со встроенным в чип ПЗУ, а внутри МС 7004 - обычный процессор с программой во внешнем ( по отношению чипу процессора ) ПЗУ.
У МС7004 такой же микроконтроллер 1816ВЕ48 (аналог i8748). Он также имеет на своём борту репрограммируемое ПЗУ с УФ-стиранием объемом 1 Кбайт, но может работать с внешним ПЗУ объемом до 4 Кбайт. А программа в МС7004 занимает 2 Кбайта, потому и внешнее ПЗУ.
Я имел в виду "живые" сканкоды (дамп эмулятора VT52).
Светодиоды должны моргнуть я думаю. Если моргнули значит контроллер запустился.
Там стоит КМ1816ВЕ35 который не имеет ничего на своём борту. А внешнее ПЗУ у него 2 Кбайта кс573рф2.
Прошивки ПЗУ из 7004 где-то есть?
Есть плюс дизассемблированные с комментариями.
Разобрал клавиатуру, КРЕНка есть, значит 12-ти вольтовая. Подключил 12В к контроллеру без кнопок - загорелись 3 светодиода, кроме первого (Hold session). Подключил 12В с кнопками, загорелись все 4-ре - не гаснут, клава не пищит, на кнопки не реагирует. Походу мёртвая :-(
CodeMaster, а сфотографируй пожалуйста плату контроллера этой клавиатуры поразборчивей, а то в сети я вообще ничего ясного не нашел, а в эмуляции MESS, 2Kb прошивка "23-00159-00.bin" в http://mamedev.org/source/src/mess/m...c_lk201.c.html это "dump of the 'cost reduced' 6805 CPU version", не "ROM dump of the i8048 CPU version".
P.S. Ага, после просмотра фотографий от CodeMaster, (23-004M2-00 / SCN8051H chip) выгуглилось вот тут уточнение:
http://www.classiccmp.org/pipermail/...ry/102099.html
и http://forums.bannister.org/ubbthrea...1968#Post91968
1.После подачи питания измерить на ОЭВМ + 5в, и есть ли импульсы на кварце
( он, кстати, может быть механически побит - т.к. внутри - стекло ).
2.После включения с кнопками проверить наличие импульсов на всех ножках однокристалки после нажатия кнопки - вдруг только выходной ключ КОМ-порта неисправен ? Должны быть телеграфные посылки при нажатии и отжатии кнопки.
Если +5в. есть, генерация кварца есть, а импульсов нет - вероятно, произошел пробой статикой от сканов кнопок - т.е. без софта ОЭВМ изделие неремонтопригодно.
3.Еще можно проверить наличие сигнала "сброс ОЭВМ" - вырабатывается на конденсаторе - электролите. Может, он высох ?
Если можно, фото КРЕНки на плате.
Возможно клавиатура сообщает что линия связи отсутствует. Поэтому на кнопки она будет реагировать когда установится связь.
Твой вариант 8051
Ну 5в то можно посмотреть.
Ранние 51е программируются через программатор. Но у тебя возможно одноразовый чип.
И ещё: За прошивку берутся в последнюю очередь.
Ну, самая обычная в корпусе ТО-220 Уже собрал, разбирать пока не буду.
Это я понял ;-) я в общем.
Позже, есть вариант что появится вторая, тогда посмотрю в сравнении.
Да я в принципе, вдруг уже была возможность наплатного программирования.
А есть код инициализации?
Я тут подключил клавиатуру МС7004 к терминалу VT240 и тот отказался работать. Пишет: VT240 Keyboard Error- 6.
Как вариант попробую сменить на советские прошивки в терминале.
- - - Добавлено - - -
Upd. Нашел коды.
Вроде такие:
- - - Добавлено - - -Код:If the keyboard passes all power up tests with no error,
the resulting sequence sent to the computer is: 0x01 0x00 0x00 0x00
Upd2. А такой код в МС7004 есть. Остаётся только дампить порт VT240 на другие команды.
Возможно что терминал спрашивает языковый вариант клавиатуры.
- - - Добавлено - - -
Запрос на клавиатуру LK201 от терминала VT240 такой:
:v2_dizzy_facepalm: :)Код:023 217 217 211 021 217 023 203 023 217 217 211 375 021 200 023 217 217 211 247 247 375 023
- - - Добавлено - - -
Коды на LK201 окт/нех.
023/013- зажечь светодиод
217/8F- все светодиоды
211/89-?
021/11- погасить светодиод
203/83-?
375/FD- запускает последовательность включения клавиатуры
200/80- вниз (?)
247/A7- подать сигнал на бипер.
наш клон vt240 тоже шлет такие коды, и обычная прошивка от 7004 на это обижается. может быть, есть другая какая-то
все же, если обнаружится владелец работающей комбинации мс7105 и мс7004, которая при старте показывает логотип "Электроника", а не ошибку клавиатуры -- можно попросить его снять дампы для сравнения :-)
В общем такая каша получается.
МС7004 при включении ( клавиатура подключена к VT240) даёт код такой:
Дамп с программы Terminal v1.9b (нех)
Дамп с программы эмулятора VT52 (ост)Код:C0 00 B7 B6 B7
Код:300 1000 000 267 266 267
Так (если правильно помню) эмулятор отображает приход сигнала BREAK.
- - - Добавлено - - -
Нашёл в исходнике, что это значит:
Т.е. к передаваемым байтам эмулятор добавляет 01000, если байт был принят с ошибкой границы кадра (т.е. без стоповых битов). Байт 000, принятый без стоповых битов - это сигнал BREAK.Код:void BadFrame_CommandProcessor( PVOID ch, SocketClass *pSender )
{
return ByteReceiver( PVOID(((int)ch)|01000), pSender );
}
Я сделал проще, соединил Тх,Rx СОМ порта вместе, подал с эмулятора VT52 BREAK, получил 1000 000.
- - - Добавлено - - -
.
Немного переделал выход клавиатуры. В обход микросхемы двуполярного передатчика, сделал выход через инвертор с микроконтроллера. На выходе получается ТТЛ который тоже берёт СОМ порт.
Дамп с программы эмулятора VT52 (ост)
Код:1000 000 1000 000 267 266 267
Минусовое питание передатчика D7 появляется позже плюсового питания. Из-за этого на выходе происходит сдвиг нуля в плюс, и происходит ложное срабатывание.
Это я по коду 300 который не должен быть в самом начале.
- - - Добавлено - - -
Кстати ТТЛ сигнал VT240 не нравится, он его просто не берёт. Видать ему надо строго от минус 3 в отличии от РС.
- - - Добавлено - - -
......
Внес изменения в схему клавиатуры.
1) уменьшил ёмкость до 1мкФ конденсатора С3 для более быстрого старта микроконтроллера D1. Сигнал PSEN подаётся более раньше на генератор отрицательного напряжения.
2) уменьшил ёмкость до 10мкФ конденсатора С21 для более быстрого заряда от отрицательного напряжения. В недостатке сглаживания ёмкостью С21 не наблюдается.
Теперь получается дамп такой:
- - - Добавлено - - -Код:1000 000 267 266 267
А правильно ли это? Ведь программа
Terminal v1.9b чётко определяет последовательность нулей.
Код при старте клавиатуры МС7004 подключенной к VT240.
BIN.
В нехе так:Код:00000000
10110111
10110110
10110111
Правда, судя по всему BREAK эта программа считает двухбайтовым.Третий байт печатает. Хотя тут уже осциллографом надо вылавливать. Может клавиатура и один байт выдаёт.Код:00 В7 В6 В7
Так нет там стоповых бит. Стартовый есть, после него ведется отсчет на 8бит вроде и всё.
Ну в ASCII та есть ещё и символ "NUL" (пустой символ). Как он будет передаваться без стоповых битов.
- - - Добавлено - - -
.....
Замер на осциллографе дал таки результаты:
При включении дает (непрерывный) BREAK длительностью- 130мсек.
Длительность байта - 1,6мсек. (включая старт бит)
То-есть за 130мсек даёт 81,25 байтов нулей :)
- - - Добавлено - - -
По поводу стоп бита.
При зажатой клавише повторяется код к периодом 33мсек.
В принципе этот период за стоп бит годится, за очень жирный стоп бит :).
кстати, хорошо бы замерить реальную скорость передачи -- у меня в эмуляторе вышло, что мс7004 шлет на скорости 4960, а не 4800 bps.
Могу так сказать: сбоев при приёме с клавиатуры МС7004 на скорости 4960 программой Terminal v1.9b я не обнаружил. Дело в том что приёмник синхронизируется с каждым приходом нового байта. При правильной скорости захват бита происходит по середине длительности одного бита. Т.е. рассчитано так что при небольшом отклонение в скорости в +/- захват будет.
Если скорость больше номинала, то последний бит будет захвачен в начале длительности. Если меньше то в конце.
Разумеется отклонение скорости не должно превышать пределы длительности последнего бита в кадре. Если сдвиг скорости происходит за пределы последнего бита в кадре, то будет сбой.
...
В программе Terminal v1.9b можно выставить нестандартную скорость приёма/передачи, но не факт что выставляет эту скорость контроллер последовательного порта.
- - - Добавлено - - -
А правильно ли идет подсчет скорости? Возможно что 4800 это чисто данные, 4960 вместе со служебными битами.
С другой стороны, нужна ли для эмулятора такая точность? Вроде в МАМЕ/MESS нет выхода на СОМ порт.
- - - Добавлено - - -
У меня конфигурация такая: VT240- клавиатурный порт <-> СОМ порт PC - Эм. MS7004.
Дамп при включении с Эм.MS7004.
Этот код VT240 пропускает т.к. сам ещё не загрузился.Код:001 000 000 000
Далее VT240 выходит на заставку "VT240 OK".
Дамп с Эм.MS7004 после заставки "VT240 OK".
Вторая и третья 4х байтовая посылка вроде как ответ на команду 375.Код:001 000 000 000 001 000 000 000 001 000 000 000
Дамп с VT240 на эм. MS7004.
Код:023 217 217 211 021 217 023 203 023 217 217 211 375 023 217 217 211 021 217 247 213 375 012 201 022 202 032 201 042 201 250 266 072 202 102 202 112 203 320 132 203 142 203 152 203 162 203 231 271 043 202 341 021 217 172 144 236 174 144 236 176 144 236 343 023 200
UPD!
При проверке клавиатуры отработки кода 375 (инициализация) таки отвечает 001 000 000 000. Но отвечает если это одна команда. В сочетании с кодом 211 375 - отвечает 267, что и получается при посылке от VT240. В сочетании с кодом 213 375 отвечает правильно 001 000 000 000.
Ну и при включении нет кода 001 000 000 000.
UPD2
Как выяснилось, после кода 211 вроде как любая команда не всегда проходит.
Пробовал так:
211 247 - нет сигнала бипера. ответ - 267
при повторном коде 211 247 - сигнал бипера есть. ответа -нет.
и ещё раз 211 247 - сигнал бипера есть. ответа -нет.
Если после этого дать код 375 247 - нет сигнала бипера. ответа -нет.
После включения клавиатуры.
Код 375 247 - нет сигнала бипера. ответ есть - 001 000 000 000.
При повторном коде 375 247 - нет сигнала бипера. ответ есть - 001 000 000 000.
Вырезал аппендикс :) клавиатуры DEC LK201 из документа EK-104AA-ТМ-001.
Про отдельный документ только на клавиатуру, я не в курсе.
https://i.ibb.co/kHbC22w/2018-12-23-200910.jpg
Скачать -здесь.
Купил на авито фирменную LK201!
Отмыл её, счистил инвентарники (с трудом). В целом состояние очень хорошее, но вот внутри было много пыли.
https://pic.maxiol.com/thumbs2/16646...7961.lk201.jpg
Когда вскрывал для чистки, специально обратил внимание на плату, нашёл там LM340, т.е. стабилизатор, аналог нашей КРЕН5.
Собрал для неё переходник с Rj9 на СШ-5 под распайку нашей МС 7004.
https://pic.maxiol.com/thumbs2/16646...61.perehod.jpg
В целом полностью работоспособна! Отлично дружит с Xhomer, эмулятором ДВК (надо поправить таблицу соответствий символов кодам) и реальной Электроникой 85.
Скриншот из xhomer
https://pic.maxiol.com/thumbs2/16646...hotimage00.png
Если кому-то интересно, вот шильдик:
https://pic.maxiol.com/thumbs2/16646...1.dscn8075.jpg
Сравнение с МС 7004.
https://pic.maxiol.com/thumbs2/16646....lk2017004.jpg
На 85-й? Так надо просто загрузить не нашу ОСь, а оригинальную. Скан-коды у LK201 и МС7004, в общем-то, одинаковые, а какие из этих скан-кодов будут порождены символы ASCII решает драйвер терминала. Только вот про русскую раскладку придется забыть - вместо ЙЦУКЕНГ получится ЯВЕРТЫУ (вроде не ошибся). А чтобы сделать ЙЦУКЕНГ, надо будет КАПИТАЛЬНО переработать драйвер терминала. Если это будет RT-11, то придется переработать PI.SYS, а что делать с ПРОСом я понятия не имею, скорее всего, ничего сделать не выйдет.
Я, вероятно, пропустил, что там делает эмулятор ДВК с клавиатурой 7004. Но, подозреваю, что с этим только к Патрону. То есть, конечно, нельзя исключить вариант, что, возможно, что-то удастся пропатчить с помощью какого-либо виндового двоичного редактора, но о русской клавиатуре без Патрона следует забыть, не будет ее.