Д3-28, устройства для загрузки ПО (способы, идеи, ... конструкции)

Карманные вычислительные устройства и механические вычислители
Good Loki
Advanced Member
Сообщения: 331
Зарегистрирован: 01.02.2012,09:12
Откуда: Зеленоград

Сообщение Good Loki » 14.02.2019,12:07

xoiss
Мы живём в реальном а не идеальном мире. Передний фронт всё равно расползётся. А чтобы быть уверенным, что спад не сгенерит второго импульса, нужно точно регулировать уровень сигнала, и проверять на настоящей Д3-28.
Если разобраться в последовательности коммутации мультиплексора, и если окажется, что несколько тактов перед сбросом тригеров, их значение никуда не приходят, то можно сделать фронт достаточно коротким, чтобы первым импульсом можно было пренебречь.
xoiss писал(а):Good Loki написал:
есть, где-то временные диаграммы сигналов 8w5, 8w6 и 8w7 при считывании программы с магнитной ленты?
боюсь, что нет
Хорошо, а последовательность кодов Е18-Е20, которые приходят на микросхему дешифратора D49?

Гость

Сообщение Гость » 14.02.2019,12:27

Good Loki писал(а):Хорошо, а последовательность кодов Е18-Е20, которые приходят на микросхему дешифратора D49?
:) ну, правда, нет этих диаграмм -- если бы у меня было ну хоть что-то, что могло бы как-то ответить на Ваш вопрос, я бы, конечно, Вам сообщил

Exx - это биты слова микрокоманды.
Прошивка микрокода вот здесь: http://www.phantom.sannata.ru/forum/index.php?t=29568
Схемы принципиальные и документация: https://d3-28.ru/dokumentatsiya-d3-28/
Но как это всё работает в совокупности на уровне именно железа -- никто досконально не знает.
Good Loki писал(а):чтобы быть уверенным, что спад не сгенерит второго импульса, нужно точно регулировать уровень сигнала, и проверять на настоящей Д3-28.
В какой-то перспективе я могу извлечь из Д3-28 блок управления НМЛ -- на нём расквартирован собсна детектор.
При помощи ... пока не знаю чего ... подать на него тестовый сигнал заданной формы (подключиться к его входу вместо магнитной головки).
// увы, функционального генератора у меня дома нет -- т.е. это его ещё покупать придётся или как-то из камней и палок делать
Ну, и посмотреть, какие производные импульсы будут выходить с выхода аналоговой части детектора.
Да, так не получится смоделировать работу всего декодера в полной мере, т.к. мы не знаем, какой правильный паттерн вот этих XwY-микроприказов на него надо подавать...
... но как бы если аналоговая часть (дифференциатор) детектора будет реагировать в общем правильно (т.е. так же, как если бы она читала запись с реальной кассеты), то есть высокая вероятность, что и вся конструкция в целом будет работать корректно.

Практически я этот блок смогу извлечь из Д3-28 (+ собрать весь стенд, раздобыть генератор) и исследовать, наверное, не раньше мая месяца (до этого времени не будет точно).
Поэтому, возможно, будет быстрее, как вариант, изолированно собрать схему аналоговой части детектора на макетке (без цифровой части, без НМЛ и пр.) и посмотреть его выход на осциллографе -- будут ли там присутствовать "вторые" производные импульсы в период пологого спада первообразного пилообразного импульса.

До тех же пор можно попробовать поэкспериментировать с магнитофоном и имеющимися формульными моделями детектора (те, что Sinus сделал).

Good Loki
Advanced Member
Сообщения: 331
Зарегистрирован: 01.02.2012,09:12
Откуда: Зеленоград

Сообщение Good Loki » 14.02.2019,14:03

xoiss писал(а):Поэтому, возможно, будет быстрее, как вариант, изолированно собрать схему аналоговой части детектора на макетке (без цифровой части, без НМЛ и пр.) и посмотреть его выход на осциллографе — будут ли там присутствовать "вторые" производные импульсы в период пологого спада первообразного пилообразного импульса.
У меня есть бумбокс Samsung RCD-M70, из которого я могу позаимствовать лентопротяг с магнитной головкой.
Есть и осциллограф и DDS генератор. Будет и адаптер кассета.
Но к сожалению у меня нет ни усилителей К553УД2, ни счётчиков К155ИЕ5, ни ИЛИ-НЕ К155ЛА3.
Если заменять на какие-то аналоги, то частотные характеристики изменятся, и соответственно результат обработки нестандартного сигнала будет другой.
xoiss писал(а):До тех же пор можно попробовать поэкспериментировать с магнитофоном и имеющимися формульными моделями детектора (те, что Sinus сделал).
Не совсем понял, про что речь. Есть какие-то SPICE модели компонентов используемых в детекторе?

Sinus
Full Member
Сообщения: 229
Зарегистрирован: 07.08.2016,17:30
Откуда: СПб

Вклад в сообщество

Сообщение Sinus » 14.02.2019,16:44

Good Loki, "моделей детектора", похожих на реальный детектор, я не делал, а просто в Маткаде для раскодирования wav-файлов с оцифровками МЛ составлял процедурки, которые на выходе печатают в текстовые файлы массивы байтов.

В процедурке-то у меня, конечно, предусмотрено "подавление дребезга" - чтобы, например, дифференцирование слишком растянувшегося во времени перепада сигнала не давало повторных (ложных) детектирований информационного бита. Это просто: подбирается руками параметр типа "слепая зона после найденного бита", т.е. сколько отсчётов в wav-массиве процедура должна пропустить, прежде чем она будет детектировать очередной бит. Поэтому в маткадной процедурке вышеуказанные новоиспечённые sin-подобные сигналы у меня без проблем декодируются. А вот что произойдёт в Д3-28 - да, было бы очень интересно увидеть в модели на стенде!

В варианте с однополярными импульсами "резкий фронт и пологий спад" всё-таки не очень понимаю, чем он принципиально отличается от уже не оправдавших надежд П-импульсов без спада. У однополярного не очень длинного импульса будет лишь поменьше низкочастотная составляющая, но она всё-таки будет присутствовать, и она, как мы уже знаем, может вызывать срабатывание АРУ и нежелательные переколебания сигнала в аудио-тракте.

Имхо, всё-таки лучше экспериментировать с двухполярными импульсами, заведомо не имеющими постоянной составляющей. Можно, например, попробовать такой импульс: сначала от нуля к отрицательному потенциалу пусть идёт относительно медленный линейный участок, затем быстрый переход к положительному потенциалу по формуле пол-периода синуса, а затем линейный спад до нуля, той же длины, что и линейный участок в начале.

Формально, математически, производная такого импульса будет иметь следующий вид: сначала пойдёт отрицательный "пьедестал", затем будет ровно один положительный импульс в виде пол-периода косинуса, и в конце опять отрицательный пьедестал. Длительности всех трёх участков надо подобрать так, чтобы машина не реагировала на невысокие пьедесталы, а детектировала большой косинусо-подобный положительный импульс.

(P.S. Наверное синус мне в голову лезет из-за ника :biggrin:. Конечно, вместо синуса можно ещё один линейный участок сделать - с нарастающим от минуса к плюсу потенциалом. Тогда импульс получается опять непрерывный, а его производная будет состоять из трёх П-подобных частей.)

Гость

Сообщение Гость » 14.02.2019,17:59

Озвученный Вами вариант:
Можно, например, попробовать такой импульс: сначала от нуля к отрицательному потенциалу пусть идёт относительно медленный линейный участок, затем быстрый переход к положительному потенциалу по формуле пол-периода синуса, а затем линейный спад до нуля, той же длины, что и линейный участок в начале.
Да, это, пожалуй, будет лучше, т.к. перепад будет иметь размах 2U.
Склоны импульса тоже будут в два раза более крутыми, но если это будет ниже порога отсечки в декодере (а, скроее всего, так и будет), то это норм.
// если окажется, что выше, то можно будет просто уменьшить амплитуду сигнала

Позволю себе его нарисовать, как я его понял:
Изображение

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

XPOHOMETP

Сообщение XPOHOMETP » 14.02.2019,20:14

Sinus писал(а):Спасибо. Однако в этом случае может во столько же раз уменьшиться уровень воспроизводимого в Д3-28 сигнала, так как читающая головка реагирует на скорость изменения магнитного поля вблизи её зазора. И кроме того, если бы удалось даже в несколько раз понизить границу воспроизводимых низких частот, это не решило бы проблему "записи постоянных уровней". Приведу несколько картинок (хотя, может быть, в этой теме они и лишние) с оцифровками реальных записей на МЛ.
И Вам спасибо за развернутый, хорошо иллюстрированный и весьма доходчивый ответ.

С 1987 по 1991 эксплуатировали пяток Д3-28 с терминалами 15ИЕ, практически каждый день грузили их с кассет.
Не скажу, что работало идеально, но методом тыка выбрали машинку получше, все писали на ней, а остальные подстраивали головкой.
Обслуживать/ремонтировать тоже приходилось, но разбираться до таких подробностей как-то не требовалось.
Хотя, в особо запущенных случаях, или докупали ЗИП,
или с Казани приезжал представитель завода и просто менял неисправные блоки (конечно не бесплатно).
Потом место работы сменил, но машинки еще были в рабочем состоянии...

По поводу изменения скорости - с точки зрения ленты имхо условия записи не изменятся.
Если не вылезать за верхнюю границу частоты канала записи, то крутизна фронта/среза сохранится.
А вот подъем входной частоты должен дать более пологую (горизонтальную) форму верхней и нижней
"полочки" импульсов. Т.е. та самая релаксация сигнала к нулю должна замедлиться,
и размах фронта импульса после не очень продолжительной паузы должен вырасти.

Но это все чисто умозрительное имхо.
И в целом согласен, полностью проблему "постоянной составляющей" не решит.
Больше чем в 3...4 раза скорость не поднимешь...

XPOHOMETP

Сообщение XPOHOMETP » 14.02.2019,20:47

xoiss писал(а):Суть моего дополнения-с-картинками к Вашей исходной идее заключалась в том, чтобы избавиться от "лишнего" (или лишних) резких перепадов, заменив их пологим.
В плане перепадов предлагаю пойти дальше! :)
Перечитал Вашу тему про "свисток" - там еще про негативное влияние АРУЗ,
плюс, как следствие, возможный кросстолк...

Прошу сильно не пинать, если ошибаюсь, но предлагаю заполнить все "паузы" в сигнале,
т.е. отсутсвие перепадов в канале 0/1 длиной скажем 3..4 бит и более некой синусоидой.
Частоту заполняющей синусоиды выбрать из области, подавляемой "антидребезгом" схемы Д3-28.
Амплитуду - ну скажем раз в 5..10 ниже основного сигнала.
Все цифры почти с потолка - только для иллюстрации идеи.

Можно и перед началом потока полезных данных такой "заголовок" на несколько секунд вставить.
Тогда не будет резких изменений уровня, АРУ настроится, усиление на максимум тоже уходить не должно.
Результат должен косвенно помочь и в борьбе за "постоянку" на этапе записи.

Только вот на мат.моделях это вряд-ли удастся просчитать.
Надо в железе пробовать подбирать параметры этого синуса :(

Или что-то типа такого (только заполнение амплитудой поменьше делать надо, но неудобно - зрение село):
Изображение


P.S. Тут спрошу.
xoiss, а какова максимальная длина входного файла
той Вашей программы на питоне, что WAV готовит?
В отсчетах, байтах, секундах ... или что там раньше закончится?

Sinus
Full Member
Сообщения: 229
Зарегистрирован: 07.08.2016,17:30
Откуда: СПб

Вклад в сообщество

Сообщение Sinus » 14.02.2019,21:50

Ещё немного вклинюсь, со свежеиспечённым вавом.

xoiss написал:
Суть моего дополнения-с-картинками к Вашей исходной идее заключалась в том, чтобы избавиться от "лишнего" (или лишних) резких перепадов, заменив их пологим
Да, понятно, хорошая мысль. Название ей придумал пока такое: "х-код". Сделал для опытов ещё один короткий WAV (в нём тот же "y-тест" в 9 байт) с симметричным х-кодом:

959hz_44100_x-code_dm-46_de-19_df-8_y-test_KP-88_N-8.wav

В Маткаде картинки выглядят так:

Изображение

(Верхние графики - "осциллограммы" канала 0 (синяя) и канала 1 (красная); для удобства разглядывания они разнесены по вертикали. Нижний рисунок - однополярные импульсы, полученные численным дифференцированием с последующим возведением результата в квадрат. На графиках изображён конец сигнала. Длительность участков, в отсчётах: 19 - пологие участки, 8 - крутой фронт; суммарная длительность т.е. "период" есть 19+8+19=46.)

Если бы детектором в машине был я (с Маткадом), то радовался бы такому хорошему сигналу. Но как его воспримет реальная Д3-28, пока неизвестно...

Гость

Сообщение Гость » 15.02.2019,00:17

XPOHOMETP писал(а):предлагаю заполнить все "паузы" в сигнале,
т.е. отсутсвие перепадов в канале 0/1 длиной скажем 3..4 бит и более некой синусоидой.
Частоту заполняющей синусоиды выбрать из области, подавляемой "антидребезгом" схемы Д3-28.
Амплитуду - ну скажем раз в 5..10 ниже основного сигнала.
Все цифры почти с потолка - только для иллюстрации идеи.
!! вот что значит коллективное обсуждение !!

Посмотрел схемы детекторов в трёх исполнениях -- 16 кБ, 32 кБ, 128 кБ.

Схемы 16 и 32 отличаются незначительно. Может, конечно, параметры деталей могут быть чуть разными - это я не сравнивал.
Схема 128 сильно отличается "цифровой" частью, но в аналоговой части довольно похожа, хоть некоторые отличия есть.

Схема 128 действительно имеет узел подавления дребезга, выполненный на счётчике, и тактируемый от t4.
Схемы 16 и 32 вот прямо такого узла не имеют. Вместо этого у них есть обычные НЧ фильтры и формирователи коротких импульсов (нормированной длительности).

Может, схему усилителя на макетке собрать??
// руки прям тянутся, но времени нет, увы
XPOHOMETP писал(а):xoiss, а какова максимальная длина входного файла
той Вашей программы на питоне, что WAV готовит?
В отсчетах, байтах, секундах ... или что там раньше закончится?
Длина - неограниченная.

Программа открывает два файла -- входной текстовый файл с "циферками", и выходной (создаёт его) с расширением WAV.
Далее программа работает по принципу конвейера: берёт очередной байт из входного файла, строит для него одну пачку аудио-семплов и записывает их в выходной файл -- и так повторяет в цикле, двигаясь по входному файлу, пока он не закончится.
Sinus писал(а):Название ей придумал пока такое: "х-код"
:) не-не-не, давайте уж называть s-код -- либо от "sin", либо от "saw" ("пила" - пилообразные импульсы) -- в зависимости от того, какая форма импульса
Good Loki писал(а):xoiss написал:
До тех же пор можно попробовать поэкспериментировать с магнитофоном и имеющимися формульными моделями детектора (те, что Sinus сделал).
Не совсем понял, про что речь. Есть какие-то SPICE модели компонентов используемых в детекторе?
PSpice... в принципе могу сделать.
На днях как раз качнул из "магазина дешёвых программ" свежайший AltiumDesigner -- вот как раз будет повод его установить.

XPOHOMETP

Сообщение XPOHOMETP » 15.02.2019,08:01

xoiss писал(а):!! вот что значит коллективное обсуждение !!
В общем да - одна голова хорошо, а две ...
А еще утро вечера мудренее. И я, похоже, вчера глупость написал.

АРУ в бытовом магнитофоне по идее должно синхронно на оба канала действовать,
реагируя на максимальный из них. И в одном то импульсы точно будут.
А вчера почему-то независимая работа каждого канала в голове засела.

Да и не будет постоянки у вновь предложенных симметричных импульсов.
Так что, кроме начального участка, пользы от "заполнения" нет.
А там тогда только синусоиду добавлять выше частоты среза того самого фильтра НЧ...

Посыпаю голову пеплом...

Гость

Сообщение Гость » 15.02.2019,10:32

ну, похоже, тема "свистка" подошла к такому рубежу, когда от теории надо переходить к практике

в силу того, что с оригинальной платой я сам пока поковыряться не могу (... может, кто другой может, у кого таковая имеется?), и времени на макетирование тоже нет (... может, кто сможет на макетке узел детектирования собрать?) -- то единственный реально доступный вариант - это сделать модель в PSpice -- и в ней посмотреть, какой будет отклик схемы на тот или иной профиль импульса, как бы приходящего от магнитной головки в режиме чтения

но, это касается только лишь детектора в Д3-28 -- увы же, предсказать, какие плюшки будут в том или ином конкретном магнитофоне (и если будут, то что с ними делать) -- ну как бы понятно

в общем, как вариант, можно рассмотреть варианты:
2.1. Загружаем как бы через ЛПМ, но вместо магнитной головки к Д3-28 подключена персоналка или микроконтроллер (напрямую как-то или через согласующие-развязывающие трансформаторы). Хммм... нужно уметь оперативно коммутировать схему "с головкой / без головки", чтобы тут же можно было файл записать на кассету. Здесь тоже требуются WAV-файлы и пр.
2.2. Как и в п.2.1, но проводки подключены не вместо МГ, а вместо усилителя чтения - т.е. чуть ближе к "цифре". Этот вариант не требует коммутации как в п.2.1, и не требует создания WAV-файлов.
вариант 2.1 менее "инвазивный", чем 2.2 -- в нём достаточно подключиться к внешним цепям блоков в корзине Д3-28 (т.е. врезаться в жгуточки-проводочки, соединяющие узел НМЛ с модулями в корзине)
// в варианте 2.2 требуется доработка печатной платы скальпелем и т.д.

что если попробовать сделать таки решение по п.2.1 ?

Ответить