24 Янв., 2021, 17:40

Опасаюсь, что обязательно наступит день, когда технологии превзойдут простое человеческое общение. Тогда мир получит поколение идиотов.

Альберт Эйнштейн


Последние сообщения

Страницы1 2 3 4 ... 10
1
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - Вчера в 18:42
Если последить за сделанными осциллограммами, то возникает вопрос: а при поднятом CAS микросхемы памяти отключают свой выход, переводят его в третье состояние? Осциллограммы показывают, что на шине данных памяти при поднятии CAS состояние не меняется, от чего есть ощущение, что выходы поддерживаются активными. Нужно свериться с даташитом... Есть конечно вариант, что они такие потому, что присутствует заметная ёмкость шины даных, но это тоже можно проверить экспериментально.

Дело в том, что еслм выходы при поднятом CAS не в третьем состоянии, то есть конфликт в моменты записи данных в память - данные на шину памяти с системной шины поступают сразу - см. осциллограмму чуть выше.

Тем временем, есть желание проверить регистры выбора положения экрана в памяти. Это порт FAxx (так-то FA, но порты положены на память и ещё их дешифрация так себе). Это DD28. Cостоит из двух частей. Вначале в первую часть по стробу выбора порта записываются биты D0, D1, а затем по стробу от контроллера дисплея они, будучи инвертированными, переписываются в следующий регистр, откуда уже поступают на мультиплексоры адресной шины. Запись в порт 00 означает появление 11 на VA14, VA15, что соответствует начальному адресу экрана C000.

Собственно, сам строб записи (активный уровень высокий) и биты данных, поступающие в порт

OSC_14.jpg

А вот это то же самое, только на выходе первого регистра

OSC_15.jpg

И сразу же непонятка. Бит D0 записался и остался храниться на выходе порта (на осциллограмме он инвертирован т.к. порт имеет и прямой и инверсный выходы), А вот бит D1 не запомнился. Не это ли является причиной отсутствия изображения? Потому что тест что-то рисует в экране C000, а остальные просто стирает в процессе. Выяснить правильность догадки поможет только замена микросхемы...

===== зызызы =====
Ну что ж, замена DD28 произведена. Установил новую КР1533ТМ7 (ну да, новую - вышедшую с завода 14 лет назад, хотя по сравнению с той микросхемой 1982 года выпуска, она действительно новая  :) )

Финальный-коврик.jpg

Думаю, всё и так понятно  ;)

Из нерешённых задач осталась задача исправления неправильного положения кадрового синхроимпульса. Проблема врождённая, выросшая из того, что у телевизоров того времени не было проблемы с регулировкой положения изображения на экране. Нынче стандарты соблюдаются жёстче и где-то 4 строки изображения "съедены" сверху. Нужно сделать, чтобы кадровый синхроимпульс приходил примерно на 8 строк раньше, чем он приходит сейчас...
2
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - Вчера в 14:41
Есть ощущение, что слегка пологие фронты сигналов, выходящих из ЦП следствие не очень крутых фронтов сигналов F1 и F2.
На деле работе это не должно мешать, но раньше на форумах я сталкивался с вопросами, а как повысить их крутизну.
Ка работает "родная" ГФ24 я показывал уже здесь. В общем-то неплохо, длительность восходящего фронта 20-25 нс.

Снял осциллограммы с Ориона.
OSC_11.jpg

OSC_11_1.jpg

F1 и F2 формируются элементом с открытым коллектором на DD12 типа К155ЛА7 и резисторами R10, R11 по 390 Ом (а у меня 430 Ом)
Видно, что восходящие фронты заметно длиннее, я бы сказал, 30-40 нс.

С другой стороны нужно учесть, что осциллограммы ГФ24 были сняты на "чистых" её выводах, т.е. процессор туда не был подключен. Ну т.е. условия не одинаковые и об этом надо помнить, сравнивая осциллограммы.

Несомненно, хотелось бы фронты сделать покрасивее. Но как - это вопрос. Там же по ссылке я пробовал ставить ICL в качестве формирователя. Не прокатило. Сейчас же послушал одного совета и заменил резисторы на генераторы тока. При этом вполне логично предположил, что генераторы тока могут давать меньший ток, нежели резисторы. Смотрим, что из этого получилось

OSC_12.jpg

OSC_12_1.jpg

Ну что, факир был пьян и фокус не удался. Глядя на это безобразие в совокупности, можно сделать вывод, что входы тактирования F1 и F2 у процессора обладают немаленькой ёмкостью. Посему очень хочется попробовать вот такую вещь

Выходной-каскад-тактирования.png

т.е. банальный двукаскадный эмиттерный повторитель. Верхний транзистор вкупе с резистором в эквиваленте заменяет верхнее имеющееся сейчас сопротивление 390 Ом эквивалентным сопротивлением (4,7 кОм / h21 транзистора), что, при h21, например, всего лишь 60, даёт 4700/60 = 80 Ом. 80 Ом - это примерно в 5 раз меньше 390 Ом. Но надо пробовать. К сожалению, плата Ориона эту выкрутасу попробовать уже не даёт, надо значительно порезать проводники и просто нет места, чтобы втиснуть транзисторы. Поэтому оставлю идею на потом...

=== зы: продолжим колупаться на тему "почему нет нормального изображения".

Очередная осциллограмма - работа DD49, DD50 - это гейты между шиной данных памяти и системной шиной.

OSC_13.jpg

Проблем не видно. Переключаются, сигнал записи есть. При чтении из памяти OE также активируется (на этой осциллограмме попало чтение из ROM, при этом Direction переключается, но на системную шину подаются данные ROM, а не RAM, поэтому в эти моменты OE остаётся на высоком уровне)
3
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - 21 Янв., 2021, 18:35
Интересно получается. По разобранной мной схеме выходит, что задержка прихода сигнала сброса на DD5, DD6, который и фиксирует положение RAS относительно CAS для правильной работы должна составлять не более 100 нс, оптимально где-нибудь 80 (см. "быстрый" нарисованный график). По данным из справочников, выходит, что при типовых задержках в микросхемах, этот сигнал задержится на примерно 120 нс. А поскольку его инициатором служит спадающий фронт 42 (все эти счётчики работают по спадающему фронту), а RAS ставится по восходящему (из-за наличия инверсии на тактовом входе D0 микросхемы DD6) этого же сигнала, получается, для правильной работы импульс Reset должен придти при низком положении сигнала 42. А он приходит при высоком.

Причём выясняется, что у микросхем 155ИЕ5 и 1533ИЕ5, равно как и у их зарубежных аналогов, быстродействие одинаковое у разных серий, что вообще удивительно. Потому что я полагал, что серия 1533 быстрее и конфликт происходил на этой почве. Увы.

Вот сводная табличка учёта примерных задержек по пути счётных импульсов

Задержки.png

Чтобы было меньше 100 нс, микросхемы должны обладать гораздо более высоким быстродействием. Есть конечно вариант, что более медленные микросхемы также дадут правильную фазу RAS. Однако я сейчас не могу проверить 155-ю серию.

Тем не менее, проблема в том, что как ни считай, согласно имеющейся схемы Reset DD5 и DD6 всё-равно приходится на промежуток с высоким уровнем сигнала 42. Просто перестаю понимать, как эта штука должна работать. Тем не менее, не исключаю какой-либо косяк в самой плате,  на которой это всё собрано, либо в отрисованной схеме. Вариант только один - искать  :)

==== зы ====

Пока никого нет, не буду делать новый пост, а добавлю сюда осциллограммы синхронизации узла формирования изображения. Т.е. память, регистры DD47, DD48 и собственно регистры сдвига DD51, DD52.

Перед снятием осциллограмм я отрезал 9-ю ногу D10.3 от RAS и подсоединил её к CAS. Интересно, что подсоединить оказалось её нужно буквально к соседней микросхеме, причём ножка абсолютно напротив, так что проводочек всего полсантиметра длиной. Осциллограммы трактую, как правильное решение. Правда, на телевизоре при этом никаких изменений нет - по результатам работы теста экран остаётся чёрным (а должны быть рисунки микросхем и в самом конце большие цветные квадраты).

Ладно, вот осциллограммы

Сопоставление RAS, CAS, запроса шины ЦП (DSYN) и ноги 11 промежуточных регистров DD47 DD48
OSC_04.jpg

Как ведёт себя информация на выходе регистров
OSC_05.jpg
OSC_06.jpg
В самом начале, когда Latch поднимается, на шине данных памяти ещё устаревшие данные. Это потому что CAS тоже только что стал активным. Через 80 нс информация актуализируется и, если прочитанный бит отличается от того, что только что был чуть ранее, становтся видны такие "тычки". Это совершенно нормально - данные в регистры сдвига поступают синхронно с поднятием CAS - сигнал 96

OSC_07.jpg

В общем, мне видится, что в этом месте всё выглядит нормально с учётом того, что на DD10.3 RAS заменил на CAS.
Нужно ещё проверить мысль о том, что даже CAS здесь не нужен и можно подать инвертированный DSYN прямо с ноги 8 DD13.2 на ноги 11 регистров. Ведь задача регистров только хранить байт в течение одного цикла, когда к шине обращается процессор. В остальное время они могут быть прозрачны без необходимости защёлкивания в них.

=== зызызы ===
И ещё добавлю немного занятного от проца

Собственно, положение сигнала SYNC и DBIN прцессора. SYNC указывает на то, что в следующем цикле будет обращение проца к шине. Это состояние по восходящему фронт F2 (он же CAS), защёлкиваем триггером DD13.2, называем DSYN (или CPU) и используем как сигнал монополизации шины процом. Проц никого не ждёт, а остальные ориентируются на этот сигнал как на сигнал запрета обращения к шине.
OSC_08.jpg

и то же самое покрупнее
OSC_09.jpg
Процессор устроен так, что никогда не обращается к шине два цикла подряд - всегда пропускает либо один, либо два, а иногда и более циклов. Этим моментом и пользуется контроллер вывода изображения, чтобы в эти "дырки" получить доступ к памяти - ему хватает и даже ещё остаётся...


А это я захотел посмотреть, как выглядит сигнал WR.
OSC_10.jpg
Честно говоря, положение его так себе - он формируется только к концу цикла DSYNC и непосредственно для управления записью в память использоваться не может... скользкое место...
4
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - 21 Янв., 2021, 00:22
Немного практики. Собственно, было предположение, что RAS оказался инвертированный из-за несвоевременного (т.е. задержанного) прихода сигнала на ножки 2 микросхем DD5 и DD6. Если бы он приходил вот в то окошко, отмеченное ноликом чуть ниже стрелки, было бы всё прекрасно. А он приходит по всей видимости позже, чуть правее восходящего фронта сигнала 42 (там ещё пункти вертикальный для ориентира). Соответственно, его фаза получается полностью противоположной.

Посмотрим осциллограммы.

Для начала просто оценка задержек от прохождения в цепочке микросхем.

OSC_00.jpg

Сигнал 46, а это всего лишь третий разряд счётчика-указателя байт, задержан от отметки, вызвавшей его переключение уже на 40 наносекунд. Ладно, извращаемся с втыканием щупов (эквилибристика прямо) и вот

OSC_01.jpg

ЫЫЫ!!!  Догадка абсолютно верна. Вот то сочетание на выводах 2 и 3 микросхем (там внутри микросхемы они по "И" работают) находится в самом конце цепочки переключений. Вот нифига себе, да? Общая задержка от импульса-инициатора порядка 180  :o наносекунд. На самом деле это OVERдофига. Естественно, в указанное окошко импульс опаздывает на целую сотку наносекунд. Позже, как будет время, попробую расписать цепочку, по которой происходит эта задержка, согласно справочным данным, и тогда посмотрим, насколько она согласуется с наблюдаемыми данными.

А пока я не придумал ничего, как просто инвертировать RAS. Порезал проводочек от 12-й ноги DD6 (ой, как же стрёмно так поступать) и вставил в разрыв "на соплях" один инвертор ЛН1.

Вкоряка-для-установки-RAS.jpg

И ОПА!  У нас появили чёткие данные на шине памяти - она перестала быть в повисшем состоянии!

Смотрим, что у нас там

OSC_02.jpg

OSC_03.jpg

Вполне неплохо. Только я ошибся, указав, что задержка 40 наносекунд. Там же 200 наносекунд деление, поэтому правильно считать, что наносекунд там примерно 80. Но это как раз норма для этих микросхем, что в общем-то тоже неплохо.

Подключаем к телевизору

OSC_есть-изображение-на-старте.jpg

и наблюдаем уже что-то разумное. Это картинка отображает содержимое ОЗУ, которое получается при включении и пока процессор его ещё "не трогал". Ну т.е. "мусор".  Он стабилен, не бегает - это очень хорошо. Значит, данные как минимум читаются, само ОЗУ не битое. Ну а регенерация автоматическая.

По отпускании Reset видна какая-то разумная деятельность (установлена ПЗУ с тестом памяти), соответствующая ожидаемому

OSC_разумная-деятельнсть.jpg

Но всё-таки не до конца. Видно, что память записывается, очищается - так и должно быть, а в конце программы должен показаться такой вот экран, но у меня этого нету. В конце экран просто становится чёрным. Причина не ясна. По поведению шин, проц работает разумно, заканчивая свою работу в бесконечном цикле ничегонеделания (джамп сам на себя). По наблюдаемым эффектам вроде тоже.

Если присмотреться к предпоследней осциллограмме, то есть там момент, который меня смущает. А именно, строб записи в DD47, DD48.
Он формируется сигналом 57 (RAS) на элементе DD10.3... Но вот... а почему RAS? Ведь оперативка отдаёт правильные данные по CAS. Ведь здесь тайминги такие, что между установкой CAS и снятием RAS 100 наносекунд, а у нас согласно предыдущей осциллограмме данные "выползают" 80 (а может и все 90) наносекунд, а RAS уже "ушёл"... Непонятка. Но на схемах, что я вижу, это именно RAS.

Завтра попробую на DD10.3 заменить RAS на CAS и посмотрим, что будет. Мне ещё что-то подсказывает, что для строба одного DSYN более чем достаточно. Посмотрим... А пока баиньки :)
5
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - 20 Янв., 2021, 16:08
Для того, чтобы разбираться, нужна схема.
Оригинальную найти не проблема. Но она с ошибками (они найдены, описаны).

Схема с учтёнными ошибками пристёгнута внизу поста. Сканировал и исправлял собственноручно  ;)
Там же ещё чей-то труд в формате .PDF. Читается легче, но... досадные ошибки тоже есть!  :P
Ничего. Сидим, сравниваем, понимаем :)

Начнём с синхрогенератора, самой основы функционирования всего. Для того, чтобы было наглядно видны зависимости, перерисовываем в более удобочитаемом виде

Orion-Sync_scheme.png

Ну как? Полагаю, инфу, как работают JK-счётчики, без проблем найдёте сами.
Синхрогенератор формирует основные сигналы для арбитража шины памяти (сигналы RAS, CAS, также помним, что их активные уровни - низкие), рабjы ЦП (F1, F2), и самое объёмное - сигналы управления развёрткой.

Собственно, развёртка у нас работает, изображёние стабильное.
Чисто на основе схемы рисуем самые быстрые времянки (временные диаграммы)

Orion-Sync-1st-timing.png

И вот тут есть одно скользкое место. Отмечено стрелочкой. Верхняя часть DD6, формирующая RAS, меняет своё состояние по восходящему фронту сигнала 42. Но дело в том, что изначально состояние DD6 может быть любым, а следовательно, действительно, RAS может быть как впереди CAS, так и позади. Видимо, чтобы этого не было, введены сигналы на Reset счётчиков, которые должны, как я полагаю, ставить RAS на его положенное место (как раз то самое место, отмеченное стрелкой). Но этого по какой-то причине не происходит, RAS устойчиво идёт позади CAS. При этом DSYNC (CPU) имеет вполне правильное положение.

зы: я никак не могу быть уверен, что то, что нарисовал собственноручно, также не содержит ошибок. Поэтому проверять, проверять, проверять...
6
Цифровая техника / Re: Орион-128 :: работа цифров...
Последний ответ от Slabovik - 19 Янв., 2021, 23:57
Первое включение без телевизора показало, что схема вполне живая. Осциллограф бодро показал активность на шине адреса, шине данных. Правда, показатель активности (сигналы бегают) - ещё не показатель разумной деятельности :) Увы... на одной линии шины адресов было тихо и заметно больше других грелась DD20. Поиск показал наличие залипухи на шину питания. Убрал. Потребление сразу упало миллиампер на 50 (интересно, что вроде ничего не повредилось. Впрочем, пострадавший мог быть только самим буфером шины, а он защищён от к.з.)
И конечно же перепутал включение РФ2 - вставил кверху ногами  :-\  Блина, это всё из-за надписи наоборот. Думал, уж сгорела. Нифига! Вставляю в программатор, считываю - прекрасно читается, байт в байт всё совпадает. Вставляю обратно - наблюдаю признаки разумной активности на шинах!

Ладно, дальше ТВ. Подключение по SCART. Тут неявный момент есть - надо не забыть подать на один пин напряжение хотя бы 5 вольт, чтобы ТВ переключился в режим компонентного сигнала. В противном случае он будет ожидать композит, а его правильно "миксить" ещё та задача.

Увы... на экране стабильный белый квадрат. И только по его каёмке какое-то лёгкое шевеление (каёмка - схемотехническая недоработка. Она то справа, то слева. Происходит из-за чуть, буквально на десяток-другой наносекунд, несвоевременного прихода сигнала гашения).

Лезем осциллографом. На шине данных проца - есть активность. На системной шине данных - есть активность. Сигнал DSYN (запрос процом цикла шины памяти) имеется. Выборка из ПЗУ происходит разумно. А вот интересно, на шине данных памяти нули появляются только когда есть сигнал WR (запись процессором в память). На регистрах видео - стабильные 1 по всем разрядам.
Буферы умерли? Проверяем - нифига! Память вся дохлая?.. И что-то дёрнуло посмотреть сигналы RAS и CAS. Ё-маё! Почему-то CAS поступает РАНЬШЕ RAS!  :o

Конечно, в таком режиме память стабильно в отключке, а на её выводах данных напряжение от "свободно висящих" буферных регистров, которые это состояние (в силу их ТТЛ-ьности) принимают это за плохонькую, но "1"

В общем, надо плотно посидеть и разобраться в схеме. Продолжим завтра :)
7
Цифровая техника / Орион-128 :: работа цифровых с...
Последний ответ от Slabovik - 18 Янв., 2021, 22:43
Есть у меня мой маленький фетиш: люблю изучать "брутальное железо". В своё время это была ламповая техника, апофигеозом которой для меня стал Р-250, ну и далее не менее любимая "цифра" - вычислительные системы, собранные не на современном Verilog, а на рассыпухе. Достаточно яркий представитель этого - радиолюбительский комп Орион-128, описание которого было опубликовано в 199..? забыл каком году. Будучи студентом, я его собирал, и он у меня даже до сих пор рабочий лежит, оформленный в корпусе с дисководом. А сейчас зачем-то снова в руки попала голая плата из тех лет, ну и... а давайте, соберём! :) Ну, хотя бы до состояния "работает, можно оформлять" (тайная мысль: а может платку по-новой переразвести?).

В общем, набил я его микросхемами. На этом этапе фоток почему-то не сделал, от радости наверное... Но в общем, набил я его, в отличие от тех старых сборок, не серией 155, а микросхемами серии 1533. Современными, то есть. Серию 1564 (1554) брать не стал, ибо там могут быть косяки совместимости КМОП-ТТЛ. Только DD18 и DD28 поставил К155ТМ7, ибо 1533 не достал. Не существенно...

Схему самого компьютера приводить не буду. Не то, чтобы у меня её нет, но большинство схем гуляет с опечатками. У себя я многое исправил (на схеме), но, забегая вперёд, скажу, что компик у меня не запустился и наверняка этому есть причины, в т.ч. связанные неточностями в схеме
скрытый текст
есть информация из первоисточника, что при подготовке статей к публикации, редакцией почему-то были проигнорированы правки, ну попросту был опубликован материал без учёта найденных ошибок. В итоге это привело к довольно длинной череде заметок типа "найдённые ошибки и опечатки"
[свернуть]

Сразу встал вопрос: а чем питать? Что-то не хочется городить "родной" источник питания, который достаточно капризен в работе. В итоге поступил просто: исходя из того, что достаточно легко найти какой-нибудь блок от ноутбука с напрсжением 16-20 вольт, или даже простой трансик с выпрямителем и даже без стабилизации, за питающее напряжение принимаем всё, что от 14 и до 25 вольт.

Из "хардверно обеспеченного" такое легко можно следать на какой-нибудь UC3842, TL494 и подобном. Но  сейчас поступил проще: поскольку место от "родного" преобразователя не задействовано (а площадка там размером 50 на 60 или даже 65 мм), то впихиваем туда последовательно две понижайки на TPS5430 и один ICL7660. Первая понижайка делает из входного 14-25 стабильные 12 вольт, которыми питается процессор (потребление в пределах 100 мА, что немного, но важно, чтобы это напряжение подавалось одновременно, либо чуцть ранее 5 вольт). Вторая понижайка делает из 12 вольт 5 вольт, которыми питается процессор, вся логика, и преобразjватель на ICL, который вырабатывает -5 вольт (используется в процессоре для подачи на подложки - увы, тогда технология требовала). Потребление по -5 вольт считанные миллиамперы. Попутно от этого напряжение питается ОУ, работающий в роли компаратора для чтения с магнитофона.

Схема выглядит так (уж извините, не причёсана т.к. к публикации я её не готовил, а только чтобы сделать плату да запустить)

Orion-128_PS_scheme.png

Для сопряжения этого блочка с основной платой, пришлось "изобрести" разъём (на схеме чудовище справа), через который блочок "прилипал бы" к плате, становясь с ней одним целым. Точки легко нашлись, а дальше только штангенциркуль да ловкость рук

Orion-128_PS_fixing_pins.png

Плата односторонняя - это потому что ЛУТ. Габаритные и выводные детали с одной стороны, а SMD со стороны фольги.

Orion-128_PS_empty_plate.jpg

Вот, напихал деталей

Orion-128_PS_filled_plate_inside.jpg

Orion-128_PS_filled_plate.jpg

Запаял что-то типа стоек в основную плату. Высоту сделал по высоте конденсаторов на плате блочка, чтобы они чуть-чуть не доставали.

Orion-128_PS_base_connection.jpg

Orion-128_PS_foiled_side.jpg

Самое сложное - вставить проводочки-стойки на свои места. Ну.. для этого руки есть :)
Завелось всё сразу, чётко и без проволочек (это если не считать, что вначале я почему-то забыл запаять бутстрепные конденсаторы, но после исправления этого недоразумения - действительно чётко).

Orion-128_PS_at-work.jpg

Потребление собранного хозяйства оказалось на уровне 9 ватт. По современным меркам конечно кошмарно, но оно так приятно греет в холода :)

А вот с работой цифровой схемы что-то не заладилось. В следующих постах будет пробовать разбираться.
8
Фото, видео, аудио / Re: Эта музыка не претендует н...
Последний ответ от Slabovik - 15 Янв., 2021, 12:38

А Мурку можещь?
скрытый текст
[свернуть]

гы:
про китайскую шапочку
[свернуть]
9
Путешествия / Re: Из кабины машиниста
Последний ответ от Slabovik - 13 Янв., 2021, 09:52
Из Манчестера в Ёрк
Manchester Oxford Road to York (May 2020)
[свернуть]
10
Источники питания / Re: Лабораторник на трёх ОУ от...
Последний ответ от Slabovik - 12 Янв., 2021, 16:35
Кстати, был вопрос про то, почему напряжение просаживается у выпрямителя. Наглядная картинка

Сама схема (модель)

Если в схему ввести реальные сопротивления потерь в трансформаторе и сети, будет ещё веселее :)

Собственно, это ответ на вопрос "почему нельзя выбрать напряжение выпрямителя "впритык". А вспомнить ещё и то, что напряжение в сети тоже не всегда ровно 220 (230 вольт)...
Страницы1 2 3 4 ... 10