Lavr wrote:Сверху-то симпатично,... а снизу что там у него?Shaos wrote:начал городить свой "стэнд" для тестового запуска ВМ2
Микро-ЭВМ на КМ1801ВМ2
Moderator: Shaos
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Макетка на удивление хорошо паяется без ошкуривания и лужения (и не смотря на отсутствие металлизации отверстий) - видимо при производстве сразу была обильно смазана канифолью 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Вообще для формирования !RPLY надо кроме !DIN и !DOUT ещё и !SYNC задействовать т.к. в случе "безадресного чтения" нулевой !DIN есть, но ни нулевого !SYNC, ни нулевого !RPLY на диаграмме не обнаруживаются - значит надо вот так (заодно притянул смещение 0 как вариант для старта и !INIT):
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
"Стэндъ" сегодня 

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Фигурно гнул ноги светодиодам, чтобы более-менее равномерно распределить 16 штук вдоль четырёх 74LS75, которые защёлкивают адрес и одновременно инвертируют, а светодиоды подключены к неинвертированным выходам - теперь можно как минимум начальный пуск сымитировать 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 478
- Joined: 25 Aug 2009 07:02
- Location: Москва
Re: Микро-ЭВМ на КМ1801ВМ2
Для полноты картины можно добавить безадресное чтение вектора прерывания, когда DIN активен, IAKO активен, RPLY на них выдается, а SYNC неактивен.Shaos wrote:Вообще для формирования !RPLY надо кроме !DIN и !DOUT ещё и !SYNC задействовать т.к. в случе "безадресного чтения" нулевой !DIN есть, но ни нулевого !SYNC, ни нулевого !RPLY на диаграмме не обнаруживаются - значит надо вот так (заодно притянул смещение 0 как вариант для старта и !INIT):
(так вкусно детали смакуете, с картинками, что аж самому захотелось опус на параллельную тему замутить

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Микро-ЭВМ на КМ1801ВМ2
Ну так зачерпывай горсть 1801ВМ2 и - на стенд их! на стенд!Mixa64 wrote:так вкусно детали смакуете, с картинками, что аж самому захотелось опус на параллельную тему замутить

Давненька мы баек про твой стендъ не читали, может он поприличнее стал с тех пор!
Посмакуем с картинками...


iLavr
-
- Doomed
- Posts: 478
- Joined: 25 Aug 2009 07:02
- Location: Москва
Re: Микро-ЭВМ на КМ1801ВМ2
А, вы все про то.. Я уж и забыл. Та тема была хоть и паяльно-конструкторская, но оффтоп, поэтому и без подробностей. И раз настаиваете, поржать можно тутLavr wrote:Ну так зачерпывай горсть 1801ВМ2 и - на стенд их! на стенд!Mixa64 wrote:так вкусно детали смакуете, с картинками, что аж самому захотелось опус на параллельную тему замутить![]()
Давненька мы баек про твой стендъ не читали, может он поприличнее стал с тех пор!
Посмакуем с картинками...заодно мож и посмеемся...
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
и действительно - есть такое с вектором прерывания:Mixa64 wrote:Для полноты картины можно добавить безадресное чтение вектора прерывания, когда DIN активен, IAKO активен, RPLY на них выдается, а SYNC неактивен.Shaos wrote:Вообще для формирования !RPLY надо кроме !DIN и !DOUT ещё и !SYNC задействовать т.к. в случе "безадресного чтения" нулевой !DIN есть, но ни нулевого !SYNC, ни нулевого !RPLY на диаграмме не обнаруживаются - значит надо вот так (заодно притянул смещение 0 как вариант для старта и !INIT):
http://www.nedopc.org/forum/viewtopic.php?p=143271#p143271
значит надо по И собирать /SYNC и /IAKO, чтобы схему формирования /RPLY включать:
ну дык самодельная электронная порнуха - основная тема этого форумаMixa64 wrote:(так вкусно детали смакуете, с картинками, что аж самому захотелось опус на параллельную тему замутить)

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
А мой "стэндъ" сегодня ожил 
На плате с чёрным ВМ2, как я и писал раньше, четыре 4-х битных прозрачных защёлки 74LS75, где у каждого бита есть как прямой, так и инверсный выход - т.е. тут одновременно защёлкиваем адрес (по спаду сигнала !SYNC), инвертируем адрес (для дальнейшего его прямого использования) и подаём неинвертированые выходы (на которых находится инверснутый процессором адрес) на светодиоды для визуального отображения (диоды на питание т.к. они светятся когда на них идёт ноль). На маленькой макетной платке две 74F00 для формирования RS-триггера, который с помощью микропереключателя тактирует проц, и остаток подключен как инверторы для буферизирования и индикации на светодиодах. На макетной платке по больше DIP-переключатели (не используются) и светодиоды для дополнительной индикации (пока используется 4 для индикации CLCI, CLCO, !SYNC и !DIN). Кроме того на этой же платке прицеплен преобразователь из 9 вольт в 5 (платка красного цвета с большим светодиодом). !AR подключен прямиком к !SYNC. На !RPLY идёт !DIN через 2 инвертора (чисто на попробовать, т.е. никакой хитро-логической городёжки с тактированием, как на схемке чуть выше). ACLO и DCLO отключал по ходу пьесы руками - в результате тактирования обнаружилось, что при шине данных, которая всегда возвращает нули, на шине адреса чередуются #0000, #0002, #0078, #007A т.к. проц переходит в режим HALT по команде HALT, которая все нули...
P.S. Теперь можно проверять процыки! А ещё надо прицепить буфер, который по DIN будет выдавать команду NOP и тогда можно будет счётчик адресов узреть, который бежит по всему адресному пространству - как раз то, чего и хотел добиться Lavr своей проверялкой

На плате с чёрным ВМ2, как я и писал раньше, четыре 4-х битных прозрачных защёлки 74LS75, где у каждого бита есть как прямой, так и инверсный выход - т.е. тут одновременно защёлкиваем адрес (по спаду сигнала !SYNC), инвертируем адрес (для дальнейшего его прямого использования) и подаём неинвертированые выходы (на которых находится инверснутый процессором адрес) на светодиоды для визуального отображения (диоды на питание т.к. они светятся когда на них идёт ноль). На маленькой макетной платке две 74F00 для формирования RS-триггера, который с помощью микропереключателя тактирует проц, и остаток подключен как инверторы для буферизирования и индикации на светодиодах. На макетной платке по больше DIP-переключатели (не используются) и светодиоды для дополнительной индикации (пока используется 4 для индикации CLCI, CLCO, !SYNC и !DIN). Кроме того на этой же платке прицеплен преобразователь из 9 вольт в 5 (платка красного цвета с большим светодиодом). !AR подключен прямиком к !SYNC. На !RPLY идёт !DIN через 2 инвертора (чисто на попробовать, т.е. никакой хитро-логической городёжки с тактированием, как на схемке чуть выше). ACLO и DCLO отключал по ходу пьесы руками - в результате тактирования обнаружилось, что при шине данных, которая всегда возвращает нули, на шине адреса чередуются #0000, #0002, #0078, #007A т.к. проц переходит в режим HALT по команде HALT, которая все нули...
P.S. Теперь можно проверять процыки! А ещё надо прицепить буфер, который по DIN будет выдавать команду NOP и тогда можно будет счётчик адресов узреть, который бежит по всему адресному пространству - как раз то, чего и хотел добиться Lavr своей проверялкой

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
вобщем, как и на диаграмме начального пуска из заводской документации, CLCO меняет своё состояние (при отпущенном DCLO) по спаду каждого импульса входного тактирования CLCI (в данном случае при отпускании кнопки)Shaos wrote:в результате тактирования обнаружилось, что при шине данных, которая всегда возвращает нули, на шине адреса чередуются #0000, #0002, #0078, #007A (т.к. проц переходит в режим HALT по команде HALT, которая все нули)
ниже мои записки состояния сигналов DIN, SYNC и CLCO, которые я фиксировал после каждого нажатия-отпускания кнопки тактирования (интересно, что нулевой SYNC в начале противоречит диаграмме):
Code: Select all
; начальное состояние - DCLO и ACLO подключены к земле
такт 1: DIN=H SYNC=L CLCO=L
такт 2: DIN=H SYNC=L CLCO=L
такт 3: DIN=H SYNC=L CLCO=L
такт 4: DIN=H SYNC=L CLCO=L
такт 5: DIN=H SYNC=L CLCO=L
; подключаем DCLO к логической единице, ACLO остаётся подключенным к земле
такт 6: DIN=H SYNC=H CLCO=H
такт 7: DIN=H SYNC=H CLCO=L
такт 8: DIN=H SYNC=H CLCO=H
такт 9: DIN=H SYNC=H CLCO=L
такт 10: DIN=H SYNC=H CLCO=H
такт 11: DIN=H SYNC=H CLCO=L
такт 12: DIN=H SYNC=H CLCO=H
такт 13: DIN=H SYNC=H CLCO=L
такт 14: DIN=H SYNC=H CLCO=H
такт 15: DIN=H SYNC=H CLCO=L
такт 16: DIN=H SYNC=H CLCO=H
такт 17: DIN=H SYNC=H CLCO=L
такт 18: DIN=H SYNC=H CLCO=H
такт 19: DIN=H SYNC=H CLCO=L
; подключаем ACLO к логической единице, теперь процессор готов к работе
такт 20: DIN=H SYNC=H CLCO=H
такт 21: DIN=H SYNC=H CLCO=L
такт 22: DIN=H SYNC=H CLCO=H
такт 23: DIN=H SYNC=H CLCO=L
такт 24: DIN=H SYNC=H CLCO=H
такт 25: DIN=H SYNC=H CLCO=L
такт 26: DIN=H SYNC=H CLCO=H
такт 27: DIN=H SYNC=H CLCO=L
такт 28: DIN=H SYNC=H CLCO=H
такт 29: DIN=H SYNC=H CLCO=L
такт 30: DIN=L SYNC=H CLCO=H <<< цикл безадресного чтения
такт 31: DIN=L SYNC=H CLCO=L <<< цикл безадресного чтения
такт 32: DIN=L SYNC=H CLCO=H <<< цикл безадресного чтения
такт 33: DIN=H SYNC=H CLCO=L
такт 34: DIN=H SYNC=H CLCO=H
такт 35: DIN=H SYNC=H CLCO=L
такт 36: DIN=H SYNC=H CLCO=H
такт 37: DIN=H SYNC=H CLCO=L
такт 38: DIN=H SYNC=H CLCO=H
такт 39: DIN=H SYNC=H CLCO=L
такт 40: DIN=H SYNC=H CLCO=H
такт 41: DIN=H SYNC=H CLCO=L
такт 42: DIN=H SYNC=H CLCO=H
такт 43: DIN=H SYNC=H CLCO=L
такт 44: DIN=H SYNC=H CLCO=H
такт 45: DIN=H SYNC=H CLCO=L
такт 46: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #0000 (защёлкнуто)
такт 47: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 48: DIN=L SYNC=L CLCO=H
такт 49: DIN=L SYNC=L CLCO=L
такт 50: DIN=L SYNC=L CLCO=H
такт 51: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 52: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #0000 закончился
такт 53: DIN=H SYNC=H CLCO=L
такт 54: DIN=H SYNC=H CLCO=H
такт 55: DIN=H SYNC=H CLCO=L
такт 56: DIN=H SYNC=H CLCO=H
такт 57: DIN=H SYNC=H CLCO=L
такт 58: DIN=H SYNC=H CLCO=H >>> на шине адреса-данных появилось значение #0002
такт 59: DIN=H SYNC=H CLCO=L
такт 60: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #0002 (защёлкнуто)
такт 61: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 62: DIN=L SYNC=L CLCO=H
такт 63: DIN=L SYNC=L CLCO=L
такт 64: DIN=L SYNC=L CLCO=H
такт 65: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 66: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #0002 закончился
такт 67: DIN=H SYNC=H CLCO=L
такт 68: DIN=H SYNC=H CLCO=H
такт 69: DIN=H SYNC=H CLCO=L
такт 70: DIN=H SYNC=H CLCO=H
такт 71: DIN=H SYNC=H CLCO=L
такт 72: DIN=H SYNC=H CLCO=H
такт 73: DIN=H SYNC=H CLCO=L
такт 74: DIN=H SYNC=H CLCO=H
такт 75: DIN=H SYNC=H CLCO=L
такт 76: DIN=H SYNC=H CLCO=H
такт 77: DIN=H SYNC=H CLCO=L
такт 78: DIN=H SYNC=H CLCO=H
такт 79: DIN=H SYNC=H CLCO=L
; начали выполнять программу по адресу #0000, считанному ранее по вектору, полученному в процессе безадресного чтения
такт 80: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #0000 (защёлкнуто)
такт 81: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 82: DIN=L SYNC=L CLCO=H
такт 83: DIN=L SYNC=L CLCO=L
такт 84: DIN=L SYNC=L CLCO=H
такт 85: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 86: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #0000 закончился
такт 87: DIN=H SYNC=H CLCO=L >>> на шине адреса-данных появилось значение #0002 (адрес следующей инструкции)
такт 88: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #0002 (защёлкнуто)
такт 89: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 90: DIN=L SYNC=L CLCO=H
такт 91: DIN=L SYNC=L CLCO=L
такт 92: DIN=L SYNC=L CLCO=H
такт 93: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 94: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #0002 закончился
такт 95: DIN=H SYNC=H CLCO=L
; тут похоже начался режим HALT, т.к. ранее по адресу #0000 было прочитано слово #0000 (инструкция HALT)
такт 96: DIN=L SYNC=H CLCO=H <<< начался цикл безадресного чтения, чтобы определить откуда считывать вектор перехода на обработчик HALT
такт 97: DIN=L SYNC=H CLCO=L <<< цикл безадресного чтения
такт 98: DIN=L SYNC=H CLCO=H <<< цикл безадресного чтения
такт 99: DIN=H SYNC=H CLCO=L
такт 100: DIN=H SYNC=H CLCO=H
такт 101: DIN=H SYNC=H CLCO=L
такт 102: DIN=H SYNC=H CLCO=H
такт 103: DIN=H SYNC=H CLCO=L
такт 104: DIN=H SYNC=H CLCO=H
такт 105: DIN=H SYNC=H CLCO=L
такт 106: DIN=H SYNC=H CLCO=H
такт 107: DIN=H SYNC=H CLCO=L
такт 108: DIN=H SYNC=H CLCO=H
такт 109: DIN=H SYNC=H CLCO=L
такт 110: DIN=H SYNC=H CLCO=H >>> на шине адреса-данных появилось значение #0078
такт 111: DIN=H SYNC=H CLCO=L
такт 112: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #0078 (защёлкнуто)
такт 113: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 114: DIN=L SYNC=L CLCO=H
такт 115: DIN=L SYNC=L CLCO=L
такт 116: DIN=L SYNC=L CLCO=H
такт 117: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 118: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #0078 закончился
такт 119: DIN=H SYNC=H CLCO=L
такт 120: DIN=H SYNC=H CLCO=H
такт 121: DIN=H SYNC=H CLCO=L
такт 122: DIN=H SYNC=H CLCO=H
такт 123: DIN=H SYNC=H CLCO=L
такт 124: DIN=H SYNC=H CLCO=H >>> на шине адреса-данных появилось значение #007A
такт 125: DIN=H SYNC=H CLCO=L
такт 126: DIN=H SYNC=L CLCO=H <<< цикл чтения из памяти - на адресной шине #007A (защёлкнуто)
такт 127: DIN=L SYNC=L CLCO=L <<< пошёл DIN (/RD)
такт 128: DIN=L SYNC=L CLCO=H
такт 129: DIN=L SYNC=L CLCO=L
такт 130: DIN=L SYNC=L CLCO=H
такт 131: DIN=H SYNC=L CLCO=L <<< DIN закончился
такт 132: DIN=H SYNC=H CLCO=H <<< цикл чтения из адреса #007A закончился
P.S. кстати тут RPLY формируется из DIN почти без задержек (задержка на 2 каскада 74F00) и присутствует при "безадресном чтении" в том числе - т.к всё более менее работает, то надо полагать, что такой постоянный RPLY никому особенно и не мешает...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Добавил пару инвертирующих буферов 74LS240 и 16 переключателей - NOP бегаетShaos wrote:А ещё надо прицепить буфер, который по DIN будет выдавать команду NOP и тогда можно будет счётчик адресов узреть, который бежит по всему адресному пространству - как раз то, чего и хотел добиться Lavr своей проверялкой

но т.к. инструкция NOP возвращается всегда при наличии DIN (даже в случае "безадресного чтения"), то адресный счётчик начинает выполнять программу с адреса 0x00A0 (0240)

на фотке можно видеть, что я добежал до адреса #00FE (0000000011111110)
P.S. третью "крону" уже доедаю

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Проверил все пластиковые корпуса, что у меня были (КР1801ВМ2) - четыре штуки 1992 и 1993 годов - все рабочие!Shaos wrote:Теперь можно проверять процыки!

Попробовал также парочку в белой керамике (КМ1801ВМ2) - 1989 и 1990 - и вот они ведут себя совсем неадекватно

Как будто застревают на адресе #00A0...
P.S. Из шести керамических нашёлся таки один полностью рабочий (см.ниже) - остальные жжёный мусор...

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Прогнал на керамике вариант с нулями - после того, как он обратился к "безадресному чтению" (причём DIN обнулился только на 2 такта вместо трёх), он остановился (только CLCO чередовался на выходе и всё) - я предположил, что это из-за лишнего RPLY на "безадресном чтении" - поставил элемент ИЛИ, чтобы !RPLY формировался только если есть одновременно !DIN и !SYNC - на этот раз оно таки дошло до чтения из памяти (правда не на 40х тактах, а на 80х), RPLY в этот раз сформировался, но после этого оно опять застряло - видимо для керамики RPLY таки надо тактировать и задерживать...
P.S. После нескольких проб с триггером откатился обратно на ИЛИ и подключился к более стационарному питанию - из 6 керамических ВМ2, что у меня накопились, нормально полетел только ОДИН, остальные либо вообще толком не входили в цикл, либо при счёте показывали не все ноги (AD могут выборочно выгорать?)...
P.P.S. Лабораторный блок питания показал, что исправные экземпляры потребляют 280...320 мА и практически не греются, а неисправные - 330 и выше, а один изобразил 450 мА
P.S. После нескольких проб с триггером откатился обратно на ИЛИ и подключился к более стационарному питанию - из 6 керамических ВМ2, что у меня накопились, нормально полетел только ОДИН, остальные либо вообще толком не входили в цикл, либо при счёте показывали не все ноги (AD могут выборочно выгорать?)...
P.P.S. Лабораторный блок питания показал, что исправные экземпляры потребляют 280...320 мА и практически не греются, а неисправные - 330 и выше, а один изобразил 450 мА
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Подцепил DOUT на формирование RPLY и получил очень интересные результаты при наблюдении за поведением шины в процессе ручного прогона подпрограммы из прошивки МК-85 

You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net