Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Д3-28, устройства для загрузки ПО
RSS

Д3-28, устройства для загрузки ПО

способы, идеи, ... конструкции

<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
 
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
// [xoiss] эту тему мы некоторое время обсуждали с уважаемым коллегой Sinus в личке
// решили, что в принципе можно / есть смысл опубликовать на Форуме
// Sinus попросил меня помочь создать тему — вот, создаю, но от его имени

... первый коммент застолбим под индекс ...
xoiss
Гость

Ссылка

За последние пару лет силами ряда энтузиастов была собрана некоторая база уцелевшего программного обеспечения для ЭВМ "Электроника Д3-28".
Пожалуй, наиболее серьёзный архив таких программ — здесь: https://d3-28.ru/kassety-s-programmami-d3-28/
И, конечно же, в специальной теме — вот тут: topic/7060

В общем, есть определённый интерес позапускать эти программы... и не только в эмуляторе.
Ну, и в принципе иметь возможность вводить программы в Д3-28 не только через клавиатуру, а также записывать куда-то свои программы (ну а вдруг!)
// у некоторых ведь дома есть ну хоть как-то рабочие Д3-28

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

Ситуация с НМЛ и кассетами осложняется тем, что:
- НМЛ в составе Д3-28 может быть в (полу-)нерабочем состоянии, и починить его, например, не понятно как — такой сценарий нельзя не учитывать
- могут быть сложности с тем, чтобы первоначально получить запись на кассете, — в смысле, если кассета (чистая) у Вас дома на столе, а файл, который на неё надо записать, он на неё ещё совсем не записан, но просто скачан Вами из Интернета... а кассетного магнитофона, кабеля и пр. навыков у Вас как-то вот нет
- загружаться с кассет — на самом деле то ещё удовольствие
- и вообще, как показали эксперименты, нанести на плёнку запись в формате модуляции, принятой в Д3-28, при помощи вот обычного аудио-магнитофона — это не совсем очевидная туфля. Чуть подробней об этом — здесь: topic/29632

Таки, неужели нет вариантов, как это обойти?

Этот вопрос мы некоторое время обсуждали с Sinus, и по ходу было сформулировано некоторое количество разнообразных идей-способов.

Если их (идеи) как-то систематизировать, то, пожалуй, главный критерий для оценки проф-пригодности рассматриваемого способа загрузки ПО — это, для каких программ такой способ вообще будет пригоден.
Дело в том, что НМЛ в Д3-28 — это на столько штатная компонента, что многие (некоторые) программы были рассчитаны (захардкожены) исключительно на загрузку и/или последующую работу с НМЛ.
Хотя, так-то, в общем случае, главное — это всё же, чтобы программа в конечном итоге оказалась в памяти ЭВМ.
Так, например, интерпретатор Бейсика сам как программа может быть загружен в память Д3-28 любым способом (не обязательно с НМЛ), но вот уже будучи запущенным, бейсик-программки он сам умеет SAVE-ить и LOAD-ить вообще-то с НМЛ, и выпилить эту его особенность непросто.

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

Вторая координата:
- способы, обеспечивающие только загрузку программ в Д3-28
- способы, реализующие и загрузку, и сохранение программ
Ну, чтоб "поиграться", вполне может быть достаточно уметь только загружать программы в Д3-28.

Третья координата:
- инвазивные методы
- неинвазивные методы
Первые подразумевают, что для загрузки/сохранения программ в конструкцию Д3-28 придётся внести некоторые изменения — добавить какой-то ещё один канал связи, который будет как-то "торчать наружу".
Вторые же исходят исключительно из имеющегося набора внешних интерфейсов Д3-28 — это опять же НМЛ, но ещё и группа разъёмов на задней стенке машины. Разумеется, в данном варианте эти части в Д3-28 должны быть полностью отлажены и смазаны.

В общем, на этом передаю эстафету коллеге Sinus.
Сейчас на форуме
dk_spb
Advanced Member


Всего сообщений: 5056
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 сен. 2009
Самый простой способ - эмулятор перфосчитывателя/перфоратора
Самый хороший - новодел платки контроллера ГМД для УСО ;-)
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
dk_spb, эти способы хороши, когда есть программы на перфолентах или на гибких дисках. Но и тогда сначала кто-то должен написать и как-то загружать в Д3-28 некий загрузчик для перфосчитывателя или НГМД. Ведь в Д3-28 нет кнопочки или команды, которая запускала бы загрузку с перфоленты или с ГМД. (Есть только кнопочка "СЛ" и есть команды 0513, 1202, которые нажал и - автоматически пошла загрузка с м/ф-кассеты.)


xoiss, спасибо.

Некоторое время назад пришёл в голову один из возможных неинвазивных методов загрузки программ в Д3-28 (не блочных, а тех которые грузятся "одним куском"), аналогичный загрузке программ с бытового м/ф в старинные радиолюбительские компьютеры, такие как "Микро-80", "РК86", "Орион-128" и т.п.

Для краткости назову его условно "проект Ы" "метод м-кода". Суть его такова:

1. Подлежащую загрузке в Д3-28 программу сначала надо записать в одноканальный ("монофонический") WAV-файл в виде сигнала с почти прямоугольными импульсами, которые называют кодом с фазовой манипуляцией, или двухфазным кодом, или "манчестерским кодом" или как-то ещё в таком роде; "м-код", короче. Хорош он тем, что практически не содержит постоянной составляющей и длинных во времени постоянных уровней, и поэтому такой сигнал не портится в аудио-трактах.

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

Вкратце о содержании сигнала в WAV-файле. В начале сигнала идут штук сто "холостых нулей", затем синхробайт E6 (то есть 1406 в тетрадно-десятичных обозначениях, принятых в доках по Д3-28), затем два байта с указанием числа байт программы, содержащихся в этом WAV-файле, и затем собственно байты программы с последним байтом 0512, как полагается для программ "одним куском". Можно на всякий случай в первых опытах добавить в конце ещё раз 0512 и пару нулевых байт, но это уже не принципиально.

Процедуру для получения таких WAV-файлов с "м-кодом для Д3-28" из имеющихся у нас txt-файлов с программками для Д3-28 я уже написал в Маткаде, и пару WAV-файлов для пробы сделал; когда у кого-нибудь дойдёт дело до экспериментов на реальной Д3-28, то наделаю WAV-файлов и для остальных программ, не вопрос (если, как говорится, к тому времени буду жив).

2. В память машинки Д3-28 надо с её пульта кнопками вручную набрать программку-загрузчик, 134 байта; куда-нибудь в старшие адреса (этот загрузчик у нас перемещаемый). Если НМЛ в машинке исправен, то набранный загрузчик лучше сразу же записать на м/ф-кассету, и в дальнейшем штатно вводить его в Д3-28 с её НМЛ. А если без НМЛ, то - каждый раз набирать 134 байта загрузчика руками.

3. К разъёму "Ввод/вывод" на задней стенке машинки надо подключить пятью проводками самодельное "интерфейсное устройство" (ИУ). Всю многоконтактную ответную часть к разъёму "Ввод/вывод" можно не добывать, а залудить концы у пяти проводов наподобие штырьков и просто вставлять их в гнёзда разъёма. Да, чуть не забыл: сначала надо интерфейсное устройство спаять, и поэкспериментировать с ним, отладить, желательно с помощью осциллографа.

Это ИУ, вроде, не очень сложное. Оно должно состоять из двух независимых частей. Одна часть - это просто формирователь ТТЛ-уровней из сигнала, снимаемого из гнезда "наушник" плеера. Наверное, его схему можно взять из описаний упомянутых выше "Микро-80", "РК86", "Орион-128" и т.п. И налаживать его можно без всякой Д3-28, уже "прям хоть щас".

Вторая часть ИУ формирует "Синхро-Импульс Периферии" (СИП) из сигнала Вв и Y13 c разъёма машины. Эта часть ещё проще - она состоит всего из пары элементов типа ИЛИ-НЕ.

Правда, ещё блок питания нужно какой-то подобрать; если с аккумуляторами, то всё ИУ будет развязано от электросети - это, наверное, хорошо.

4. Когда всё это сделано (и заранее отлажено, и оттестировано на коротком пробном файлике), то можно приготовить чашечку кофе, запустить в плеере проигрывание файла с выбранной программой, и, пока будут идти "холостые нули", нажать на машинке кнопку S - запустить тем самым загрузчик.

Загрузчик прочтёт в сигнале количество байт для загрузки, загрузит программу с нулевого начального адреса в ОЗУ машинки, и сам остановится. (Опять же: если НМЛ в машинке исправен, то загруженную программу следует сразу же записать на м/ф-кассету, и в дальнейшем штатно вводить её в Д3-28 уже с её НМЛ. Таким путём можно будет все программы из наших txt-файлов перегнать обратно на кассеты. Например, для какого-нибудь музея с Д3-28.) Предположительно, загрузка программы размером 10 килобайт "методом м-кода" займёт примерно пять с половиной минут.

Детали изложил в pdf; вот ссылки на Яндекс-диске:

Программа-загрузчик, с подробным описанием:
loader_code-m_v6.pdf

Об интерфейсном устройстве для "проекта м-код":
interface_code-m__v1.pdf

На всякий случай, общеобразовательные пояснения к "вводу/выводу" в Д3-28:
vvod-vyvod_d3-28__29-01-2019.pdf

WAV-файлы с "м-кодом" для первых экспериментов:

250hz_44100_cod-m_dm-176_df-12_y-test_KP-88_N-8.wav
Это программка из всего 9 байт, которая просто выводит на Y-табло машинки числа 1, 2, 3, ... с интервалом примерно в полсекунды или в секунду - это зависит от быстродействия машинки. Сама по себе она никому не нужна, этот короткий файл (всего примерно 400 килобайт) - для отладки и самых первых экспериментов: пока не удастся научиться загружать его, возиться с более длинными будет бесполезно.

250hz_up44100_cod-m_dm-88_df-8_028-test_KP-73370_N-8921.wav
Это полезная тест-программа "028" для Д3-28, проверяющая систему команд и ОЗУ; наличия дисплейного терминала или печатающего устройства она не требует. В ней 8922 байта; контрольная сумма = 73370. (Спасибо 15a18, выполнившему оцифровку этой программы с м/ф-кассеты из своей коллекции ПО для Д3-28.)
xoiss
Гость

Ссылка

dk_spb написал:
[q]
новодел платки контроллера ГМД для УСО
[/q]
возьмётесь? :)
готов записать в добровольцы!


dk_spb написал:
[q]
перфосчитывателя/перфоратора
[/q]
д3-28, в зависимости от исполнения, 50/50 комплектовали двумя (точнее, даже тремя) вариантами контроллера ПЛ+ФС, и у них были сильно разные интерфейсы к железу (т.е. ПЛ-150П-А значимо отличается от ПЛ-150М, равно как FS1501-b/p от СП-3)

наверное, лучше тогда уж через интерфейс "ввод-вывод" — он существенно проще в реализации и у всех машин был одинаковым
Сейчас на форуме
xoiss
Гость

Ссылка

Sinus написал:
[q]
Программа-загрузчик, с подробным описанием:
loader_code-m_v6.pdf
[/q]
ссылка не работает
"Владелец удалил файлы либо закрыл к ним доступ или в ссылке опечатка."


во, теперь заработала — спасибо!
Сейчас на форуме
dk_spb
Advanced Member


Всего сообщений: 5056
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 сен. 2009
xoiss написал:
[q]
возьмётесь? :)
готов записать в добровольцы!
[/q]
Я умею только по образцу, а его нет :-(
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 фев. 2012
Sinus
Работа проделана большая. Но есть вопрос, а почему просто не использовать эмулятор кассеты, типа такого:

Китайцы их делают в количестве, соответственно цена их небольшая.

Все неудачи с попытками записать сигнал на кассету связаны во первых с неправильным форматом файла: очень низкая точность времени.
Ведь когда драйвер аудиокарты воспроизводит файл с низкой частотой дискретизации он не знает, что такая частота выбрана специально, и нужно фронты привязывать именно к этим отчётам, а предполагает что в файле записана звуковая информация, соответственно и пытается восстановить из неё звук, с соответствующими характеристиками, вплоть до инверсии фазы.
Вторая причина связана в использовании магнитофона, который не использовался для записи оригинальной информации на кассеты. Он тоже вносит свою роль в фильтрации сигнала.
Чтобы не мучиться с изготовлением специального устройства для записи кассет, и соответственно самих кассет, и имеет смысл использовать эмулятор кассеты.
Ещё один довод в пользу эмулятора кассеты: эмулятору не нужно, чтобы у НЛМ был рабочий лентопротяжный механизм, достаточно чтобы работала схема усиления сигнала.

Не являюсь обладателем Д3-28, и не собираюсь им становиться, просто был удивлён, почему не рассматривается такой способ загрузки ПО.
xoiss
Гость

Ссылка

Good Loki написал:
[q]
[/q]
Огроменное спасибо!!!

Надо же,... кто бы мог подумать, что в Поднебесной и Это даже сделали!...

Значит, всё-таки идея (см. ниже) хоть как-то, но рабочая.




А так вообще обсуждали этот вариант с Sinus
Вот часть переписки:


xoiss написал:
[q]
надо придумать всё-таки, как провода от компутера вместо кассеты подключать
а) воспользоваться идеей из вот этой статьи — "Юный техник" 1991/04, Ю. Прокопцев, В эфир с магнитофоном, стр.73 — https://yadi.sk/d/1Tzv2tHg4axAeA
б) подключаться вместо (или параллельно) обмотке магнитной головки
в) подключаться на выход предварительного усилителя-детектора
[/q]
Sinus написал:
[q]
>> надо придумать всё-таки, как провода от компутера вместо кассеты подключать

Если это мыслится как окончательный вариант, то получается, что отказываемся от предусмотренных в машинкиных программках возможностей "сохранения на МЛ". И всё только потому, что не справились с починкой НМЛ. Конечно, я не спец в ремонте НМЛ, но мне кажется, что починка НМЛ не такое уж безнадёжное дело (думается, оно проще, чем ремонт старинных механических арифмометров).

>> воспользоваться идеей из вот этой статьи — "Юный техник" 1991/04, Ю. Прокопцев, В эфир с магнитофоном

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

>> б) подключаться вместо (или параллельно) обмотке магнитной головки

Этот вариант, наверное лучше всех: подключаться вместо головки. Из компа тогда надо будет подавать уже как бы продифференцированные П-импульсы (так как головка выдаёт импульсы, пропорциональные не намагниченности ленты, а скорости её изменения).

Вообще этот вариант, вроде, близок к тому, как если бы заменить НМЛ машики внешним НМЛ, управляемым машинкиными сигналами. (А в случае с внешним НМЛ опять возникает вопрос - не проще ли починить имеющийся готовый машинкин НМЛ, чем искать и приспосабливать какой-то новый...)
[/q]
xoiss написал:
[q]
>> отказываемся от предусмотренных в машинкиных программках возможностей "сохранения на МЛ"

я просто для краткости подсократил изложение
конечно, надо и чтение, и запись поддерживать
// хотя, имхо, уметь загружать машину - это более востребованная задача, чем сохранять что-то... сохранять свои "поделки" (если они вообще будут) можно и на реальную кассету

>> двухканальный ("стерео") сигнал

да, наверное, надо было чуть более детально пояснить свою задумку
вариант (а) я привёл исключительно в качестве "концепта", но не как готовое решение
концепт заключается в том, что в ЛПМ вставляется некая штуковина в форме кассеты, но там вместо плёнки - что-то магнитное, но не плёнка
вообще, я так думал, что в качестве "чего-то магнитного" там разместить такую же головку — 3д.24н.21.0 ры3.253.099
... не знаю, заработает ли, но суть, если такая вторая мг будет касаться первой так, чтоб их магнитные зазоры совместились... — будет такое работать?? мне кажется, что должно

в общем, этот вариант подкупает тем, что не надо вмешиваться в электрическую схему Д3-28

хотя, в плане простоты/сложности реализации, наверное, "инвазивные" варианты (б) и (в) будут всё-таки попроще
[/q]
Sinus написал:
[q]
>> если такая вторая мг будет касаться первой так, чтоб их магнитные зазоры совместились... — будет такое работать?? мне кажется, что должно

Достоверно не знаю, но очень сомневаюсь. Думаю, совместить две головки намного труднее, чем подкрутить одну головку под запись на ленте. При малейшей неточности возникнет проникновение канала в чужой канал. Может быть, при наличии универсальной стереоголовки лучше сделать с ней пишущий кассетник прямо по схеме записи Д3-28; схема эта, вроде, очень простая: в ней нет ни АРУ, ни цепей коррекции АЧХ. Или вот так поступить:

>> как мы с Вами убедились, способ модуляции, принятый в Д3-28, не очень дружит с аудио-магнитофонами и с звуковыми картами персоналок

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

>> хотя, в плане простоты/сложности реализации, наверное, "инвазивные" варианты (б) и (в) будут всё-таки попроще

Наверное да. Можно попробовать в Д3-28 вместо головки подключить пару трансформаторов (по одному на канал); тем самым и гальваническая развязка от компа получится, чтобы комп не повредить.
[/q]
xoiss написал:
[q]
Напрягая память, получаются примерно такие варианты (порядок условный, т.е. без приоритета): ...

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

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

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

Прочие "замысловатые" варианты:
4.1. Сделать что-то вроде кассеты-адаптера, в которой будет размещено "что-то" (например, такая же зеркальная МГ), что будет создавать/улавливать магнитное поле штатно МГ в ЛПМ
[/q]
Сейчас на форуме
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 фев. 2012
xoiss написал:
[q]
Надо же,... кто бы мог подумать, что в Поднебесной и Это даже сделали!...
Значит, всё-таки идея (см. ниже) хоть как-то, но рабочая.
[/q]
Ну в Китае, это сделали исключительно для владельцев машин с оригинальной магнитолой, которые не хотят нарушать аутентичность, но хотят слушать музыку сохранённую в mp3.
Тут есть несколько потенциальных проблем:
1) Необходимо убедиться, что встроенный плеер, умеет проигрывать mp3 с раздельными каналами, так как Joint Stereo здесь явно не подходит (скорее всего умеет).
2) Возможно придётся зашунтировать разделительные конденсаторы. (c5 и c6 на фотографии). Так как д3-28 реагирует только на изменение магнитного поля, то может и без шунтирования будет работать.
3) В оригинальном виде нет возможности записывать на «кассету». Понятно, что если делать по мотивам, но на своём контроллере, то можно предусмотреть и обратную передачу информации. Но тогда нужно будет предусматривать внешнее управление: запись/воспроизведение.
4) «Кассета» никак не реагирует на остановку и перемотку. Какие-то программы, которые хотят сами ставить на паузу, перематывать и искать свои метки на магнитной ленте, тут в пролёте.
Можно конечно встроить некоторый самодельный энкодер, который будет сообщать контроллеру направление и скорость движения ленты...
5) Настройку головок друг под друга, конечно же необходимо будет произвести.

Ну и нужно будет встроить шторку, которая будет заслонять фотодиод, который определяет окончание плёнки.
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
Вечно запаздываю с ответами, прошу меня извинить...

Good Loki написал:
[q]
Не являюсь обладателем Д3-28, и не собираюсь им становиться, просто был удивлён, почему не рассматривается такой способ загрузки ПО
[/q]
Мной этот способ не рассматривался просто потому, что я, увы, до того, как прочитал Ваш первый пост, ничего не знал об эмуляторах кассет и даже не догадывался об их существовании. Вам большое спасибо!

( P.S. У меня тоже нет и не будет Д3-28, но всё равно теперь отправляюсь самообразовываться в этом направлении - поищу в интернете инфу об эмуляторах кассет и постараюсь её осмыслить (если найду) именно с точки зрения загрузки ПО в Д3-28.

Собственно, главная на первых порах задача такая: у нас есть ПО в виде текстовых файлов с массивами байтов (вот ссылка на пост с примерами таких файлов), надо научиться такие массивы загонять в ОЗУ Д3-28.

Желательно придумать/обсудить несколько способов и для каждого способа составить подробный план: что, как и в каком порядке делать, чтобы справиться с задачкой. А владельцы Д3-28, если вдохновятся подобной задачкой и найдут когда-нибудь на это время, то сами выберут себе свой путь: изобретать / паять / программировать интерфейс к компу или плееру, или покупать эмулятор кассет, или делать как-то иначе. )
xoiss
Гость

Ссылка

Good Loki написал:
[q]
Все неудачи с попытками записать сигнал на кассету связаны во первых с неправильным форматом файла: очень низкая точность времени.
Ведь когда драйвер аудиокарты воспроизводит файл с низкой частотой дискретизации он не знает, что такая частота выбрана специально, и нужно фронты привязывать именно к этим отчётам, а предполагает что в файле записана звуковая информация, соответственно и пытается восстановить из неё звук, с соответствующими характеристиками, вплоть до инверсии фазы.
[/q]
На стороне компьютерного выхода все "устранимые" проблемы мы устранили.
Если выставить частоту дискретизации даже 2 кГц (т.е. х2 частота импульсов на ленте), то выход получается вполне нормальным.
Проблемы с "инверсией фазы" были исключительно из-за того, что я протормозил и сделал частоту дискретизации равной х1 (а не х2) частоте аналогового сигнала.
Получаемый сигнал смещён на четверть периода, но это смещение постоянно во времени (стационарно), т.е. не вносит никаких искажений.
Форму импульса, наверное, можно подулучшить, если поиграться с семплрейтом (например, взять его 8 кГц или выше) — но это уже из разряда "доводки/полировки".

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


Good Loki написал:
[q]
Вторая причина связана в использовании магнитофона, который не использовался для записи оригинальной информации на кассеты. Он тоже вносит свою роль в фильтрации сигнала.
[/q]
Вот как раз с магнитофоном была совсем беда.
1. Проникновение сигнала из одного канала в другой — что вот именно для способа модуляции, принятого в Д3-28, совершенно недопустимо.
2. Потеря постоянной составляющей сигнала — что в купе с такой же проблемой на стороне аудиовыхода персоналки уже как бы в 4 раза уменьшает амплитуду одиночного импульса, следующего в канале после длительной паузы.
3. И вот конкретно в том магнитофоне, который взяли (ну, по крайней мере в нём), АРУ усилителя записи, емнип, добавляло проблем к п.2 тем, что не просто убирало постоянную составляющую, а как бы "перехлёстывало за ноль". Из-за этого, в наихудшем случае, если "1" появляется после серии из именно 7..9 "нулей", то амплитуда такого импульса совсем уже стремится к такой "махонькой зазубринке".


Good Loki написал:
[q]
просто был удивлён, почему не рассматривается такой способ загрузки ПО.
[/q]
рассматривался, конечно :)
но, на самом деле, неожиданно, что такое устройство где-то кто-то наладил в промышленных масштабах
Сейчас на форуме
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
xoiss написал:
[q]
Из "неустранимых" проблем на стороне компьютера осталось лишь то, что аналоговый выход персоналки не сохраняет постоянную составляющую.
...
Вылечить это, к сожалению, невозможно вообще никак.
[/q]
С Вашего позволения вставлю и свои 5 копеек - очень даже "как" :biggrin:
Сорри - не люблю категоричность, особенно если она не соответствует действительности.

Берем простейшую звуковую карту (которую и сломать не жалко).
Лежит вот под рукой noname CMI8738/PCI для примера.

Рядом с выходными разъемами наблюдаем кучку электролитов примерно на 10 мкф.
Тестером вызваниваем те, что идут на зеленый разъем (линейный выход).
Закорачиваем каждый из двух (левый/правый каналы).
Получаем прямой выход с ЦАП со всеми постоянными составляющими :)

С ноутбуками сложнее - разбирать, вызванивать и т.д.
Ну и на современных платах часто назначение конкретного гнезда не фиксировано - может и входом, и выходом быть.
С такими проще не связываться.
Но в рамках ретро железа думаю и первого варианта достаточно...


xoiss написал:
[q]
неожиданно, что такое устройство где-то кто-то наладил в промышленных масштабах
[/q]
Good Loki написал:
[q]
Ну в Китае, это сделали исключительно для владельцев машин с оригинальной магнитолой, которые не хотят нарушать аутентичность, но хотят слушать музыку сохранённую в mp3.
[/q]
И в России аналогичная конструкция существовала уже более двух десятков лет назад.
Тоже в виде кассеты, тоже для автомагнитол.
Только в аналоговом варианте - для конвертации импортных>->советских диапазонов ФМ и кодировок стереосигнала.
xoiss
Гость

Ссылка

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

:thumbup: А вот идея с ретрокомпьютерами наводит на такую мысль:
- у ретрокомпьютеров есть порт LPT, у которого есть 8 дискретных выходов, на которые можно посылать какие угодно паттерны (нам достаточно двух выходов)
- ... и порт RS-232, у которого есть пара выходов RTS, DTR, которыми тоже можно управлять как угодно (см. Modem Control Register, 8250)
То есть, из-под MS-DOS нет проблем получить пару модулированных меандров с частотой порядка 2 кГц.
// У меня вон Toshiba Satellite 1960 лежит как раз без дела...
Сейчас на форуме
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


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

Если делать свой эмулятор, это можно использовать для разделения воспроизведения/записи. Вставил одной стороной - воспроизведение, вставил другой стороной - запись.
В фабричном виде, смогу опробовать для Commodore 64C, у него правда нет требований к стерео и к форме сигнала, как у д3-28.
если под рукой есть головка от магнитофона и корпус от кассеты, то можно самому сделать этакую AUX-кассету.


xoiss написал:
[q]
:thumbup: А вот идея с ретрокомпьютерами наводит на такую мысль:
- у ретрокомпьютеров есть порт LPT, у которого есть 8 дискретных выходов, на которые можно посылать какие угодно паттерны (нам достаточно двух выходов)
- ... и порт RS-232, у которого есть пара выходов RTS, DTR, которыми тоже можно управлять как угодно (см. Modem Control Register, 8250)
То есть, из-под MS-DOS нет проблем получить пару модулированных меандров с частотой порядка 2 кГц.
[/q]
Осталось достать магнитофонную стерео-головку, корпус кассеты и токоограничивающие резисторы. Хотя я бы всё таки поставил какие-нибудь выходные ключи, чтобы не спалить LPT порт.
Понадобится четыре линии, так как нам нужно будет обеспечить как положительное направление тока, так и отрицательное.


Sinus написал:
[q]
Собственно, главная на первых порах задача такая: у нас есть ПО в виде текстовых файлов с массивами байтов (вот ссылка на пост с примерами таких файлов), надо научиться такие массивы загонять в ОЗУ Д3-28.

Желательно придумать/обсудить несколько способов и для каждого способа составить подробный план: что, как и в каком порядке делать, чтобы справиться с задачкой. А владельцы Д3-28, если вдохновятся подобной задачкой и найдут когда-нибудь на это время, то сами выберут себе свой путь: изобретать / паять / программировать интерфейс к компу или плееру, или покупать эмулятор кассет, или делать как-то иначе. )
[/q]
Без испытательного стенда сложно. Ведь нужно убедиться, что уровень сигнал/шум достаточен, чтобы его декодировала Д3-28. Посмотрел схему с сайта d3-28.ru, там много зачёркнуто в схеме декодирования сигнала с кассеты. Кроме того не понятно, что это за 8w7(2) и t4(2).
Можно конечно ограничиться и D44, D45 с обвязкой. Но тогда нужно понять, какую форму сигнала нужно получить: амплитуду, длительность, каковы допустимые отклонения.
Кстати учитывая наличие C32,C33, гнаться за сохранением постоянной составляющей не обязательно, главное получить нужную форму и амплитуду сигнала.
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
xoiss написал:
[q]
Ключевые "нерешённые" проблемы всё-таки были связаны именно с магнитофоном.
Он, увы, записывает "не совсем то", что его просят записать.
И без существенных (и глубоко индивидуальных для каждой конкретной модели магнитофона) изменений схемы усилителя записи их никак не выпилить.
// Именно из-за этих проблем программа "Свисток для Д3-28" и была свёрнута.
[/q]
Ваш абзац, который я прокомментировал в предыдущем сообщении, был лишь про компьютерную сторону.
Но можно и по магнитофону идей подкинуть (не знаю, надо-ли для свернутого)...

Тогда, для полноты картины, некое предисловие...
Ведь часто новое - это хорошо забытое старое.

По постоянной составляющей на звуковой карте: проблема известная со времен Win 9x.
Были программы, превращающие ее в осциллограф, функциональный генератор звукового диапазона, частотомер.
На измерительные приборы не тянет, но для начинающего радиолюбителя самое то (племяннику ставили).

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


Теперь про магнитофоны.
Когда они были большие, теплые, ламповые, на катушках :)

В общем, у меня начали появляться катушки с записями на 19 см/с, а аппараты были только на 9,53 см/с и 4,76 см/c.
9,53 можно превратить в 19,05 путем наматывания изоленты (синей - куда же без нее) на тонвал.
Но ситуация (кроме немерянной детонации) осложнялась тем, что аппарат тот моно, а записи стерео.
Головка одновременно читает одну дорожку в прямом направлении и одну в обратном (на катушках через одну они).

В общем, производилась перезапись (в два захода - борьба с моно/стерео).
Кратко: оригинал 19,05 воспроизводим на 9,53 и пишем на 4,76.
Копию воспроизводим на 9,53 и слышим то что нужно :)

А к чему эти много букв?
Так вот на копии звучание ВЧ было просто обалденное, а вот низы завалены.
Т.е. частотный диапазон тракта записи-воспроизведения сместился !!!


Применительно к Вашему случаю.
Да, копаться в усилителе записи/воспроизведения - дело неблагодарное.
Потому предлагаю просто поднять скорость ленты при записи.
И пропорционально увеличить частоту входного сигнала (он же программно формируется).
А воспроизводить на стандартной скорости. АЧХ в области низких частот явно улучшится.

Изменить скорость можно регулятором на моторчике. Если он (регулятор) электронный и отдельно от моторчика стоит.
Если регулятор механический (центробежный - такие тоже были),
то можно попробовать увеличить диаметр шкива на валу двигателя.
Ну и были еще такие деки двухкассетные. Со штатной функцией ускоренного копирования кассет. Можно их задействовать.

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


Как то так. Спасибо всем дочитавшим !


P.S. Полагаю, что обе модификации (звуковая+скорость) в комплексе могут дать приемлемый результат...


xoiss написал:
[q]
A вот идея с ретрокомпьютерами наводит на такую мысль:
...
У меня вон Toshiba Satellite 1960 лежит как раз без дела
[/q]
Воспринял цифры как год выпуска - это круче Д3-28 будет!
Такому раритету нашлось бы более достойное применение :biggrin: :biggrin: :biggrin:
xoiss
Гость

Ссылка

Good Loki написал:
[q]
Кроме того не понятно, что это за 8w7(2) и t4(2).
[/q]
8w7 - один из "микроприказов"
суть в том, что НМЛ в Д3-28 управляется, если угодно, вычислительным ядром процессора (это примерно, как если бы у Пентиума специально были бы предусмотрены несколько ножек в сокете для управления лампочками/магнитиками в HDD)
можете считать, что это некий "строб" сигнал, вырабатываемый согласно какой-то логике под управлением микропрограммы чтения магнитной ленты
его назначение "сброс СИ-детектора в усилителе чтения"
короче, после того, как сработавший детектор бита опрошен, этот сигнал сбрасывает детектор, подготавливая его к детектированию следующего бита
// вроде бы так, но могу наврать

t4 - один из микротактов машинного такта
длительность (период) машинного такта = либо 2 мкс, либо 1 мкс — в зависимости от модификации машины: диодно-трансформаторное ПЗУ или микросхемное ПЗУ
количество микротактов в одном машинном такте = либо 8, либо 10 — тоже зависит от модификации машины: 16 кБ ОЗУ или 32 кБ ОЗУ (я так понимаю, что исполнение "128 кБ" здесь == "32 кБ")
всего может быть 4 варианта (если верить ТО)
т.е. считайте, что t4 - это некий импульс либо-либо:
а) длительностью 0.250 мкс, с периодом следования 2 мкс
б) 0.125 мкс — период 2 мкс
в) 0.200 мкс — период 1 мкс
г) 0.100 мкс — период 1 мкс
на самом деле его задача в схеме детектора — это просто эдакая "защита от дребезга" — от него тактируется счётчик, сбрасываемый перепадом уровня с магнитной ленте — если после крайнего перепада натикало сколько-то микросекунд, то выполняется захват уровня

// а вообще, если честно, схема детектора в Д3-28 — так себе
Сейчас на форуме
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


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

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



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

Форма импульсов видна на растянутой по времени шкале (заодно в нижней половине рисунка показаны "однополярные импульсы", соответствующие нулям (синие импульсы) и единицам (красные импульсы), полученные численным дифференцированием сигнала в каждом канале с последующим возведением результата во вторую степень. Они получены в Маткаде; предполагаю, примерно так же должны выглядеть однополярные импульсы, получаемые в Д3-28 аппаратно в тракте чтения МЛ):



Видно, например, что последнему биту "1" (там, где стоит маркер) соответствует перепад сигнала в канале единиц "от положительного потенциала к отрицательному" (а затем оцифрованный сигнал в канале единиц релаксирует к нулевому уровню). Если посмотрим на конец этой серии нулей, то увидим, что первый (после долгого отсутствия) бит "1" приходит в виде перепада с противоположной полярностью; см. место, отмеченное маркером:



Т.е. намагниченность ленты в канале единиц оставалась постоянной, пока шли нули, а затем сменилась на противоположную.

На маткадных графиках приведены также номера отсчётов. Видно что серия нулей здесь длилась в течение порядка 100000 отсчётов, что при частоте дискретизации 44100 отсчётов в секунду составляет более 2 секунд. Обратной величине соответствуют доли герца. Изменениями скорости ленты и АЧХ в разумных пределах в бытовом магнитофоне наверняка не добиться записи столь низких частот (причём, могут встретиться ведь и ещё более длинные паузы активности в каналах).

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



Такие картинки навели на мысль: записать на бытовой магнитофон "синус-подобные" импульсы, расположенные в местах "0" и "1" (в расчёте на то, что тракт чтения ДЗ-28 присутствие каждого такого импульса обнаружит, а быстрые колебания сигнала в импульсе будут игнорированы трактом чтения как "дребезг"). Вот фрагменты графиков таких сигналов, изготовленных в Маткаде, показаны концы с байтом 0512 и его битом чётности "0":



Это два варианта сигнала: в одном длительность sin-импульса равна 16 отсчётам, а в другом 8 (она обозначена как параметр dF), при длительности периода, содержащего бит информации, 45 отсчётов (параметр dM). Частота дискретизации - 44100 отсчётов/с. В сигнале закодирована уже упоминавшаяся раньше наша самая короткая программка для пробы: "y-тест" (состоит всего из 9 байт).

Чтобы в магнитофоне сигнал не испортился из-за обилия высоких частот, сделал две версии каждого сигнала - исходную нефильтрованную и с отфильтрованными в ФНЧ высокими частотами. Вот картинки спектров для сигналов с "dF=16", без фильтрации и после ФНЧ с частотой среза 5500 Гц:



Для сигнала с "dF=8" спектр аналогичный, только сильнее вытянут вдоль шкалы частот. После ФНЧ с частотой среза 11000 Гц он выглядит так:



На всякий случай можно взглянуть ещё и на "осциллограммы" обоих фильтрованных сигналов, чтобы убедиться, что фильтрация не сильно испортила форму импульсов; вот так выглядят последние пять бит:



Наконец, ссылки на Яндекс-диске на сами WAV-файлы с этими сигналами для экспериментов (т.е. для записи на кассету на бытовом м/ф и попыток чтения их командой "СЛ" в Д3-28):

980hz_44100_s-code_dm-45_df-16_y-test_KP-88_N-8.wav
980hz_filter-5500_44100_s-code...88_N-8.wav

980hz_44100_s-code_dm-45_df-8_y-test_KP-88_N-8.wav
980hz_filter-11000_44100_s-cod...88_N-8.wav

(Если вдруг это не окажется бредом, а получится, то предложу для такого сигнала название код Ы s-code.)
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 фев. 2012
xoiss написал:
[q]
на самом деле его задача в схеме детектора — это просто эдакая "защита от дребезга" — от него тактируется счётчик, сбрасываемый перепадом уровня с магнитной ленте — если после крайнего перепада натикало сколько-то микросекунд, то выполняется захват уровня
[/q]
Странно, но у меня получается, что если длительность импульса была больше 8xt4 (в данном случае t4 я обозначил период), тогда происходит захват уровня. То есть счётчик считает только когда не находится в состоянии сброса и не досчитал до 8-ми. А сброшен он всегда когда на входе сигнал меньше 0,7В. Получается, что эта схема игнорирует все слабые и короткие сигналы.
А есть, где-то временные диаграммы сигналов 8w5, 8w6 и 8w7 при считывании программы с магнитной ленты?
Sinus
Тоже собирался предложить вместо меандра заменить сигнал специально сформированными одиночными импульсами с выходом в ноль между импульсами. Но для уверенности, что сигнал будет правильно декодирован, хотел собрать испытательный стенд, по схеме детектора.
Пока остаётся вопрос, по сбросу счётчика, когда сигнал будет проходить через ноль (уже дифференцированный сигнал). Успеет ли он сброситься, или продолжит считать? Это зависит от частотных характеристик счётчика.
Если счётчик будет сбрасываться при каждом максимуме/минимуме сигнала, то вместо одного сигнала мы получим три сигнала (по количеству фронтов и спадов).
А вот как эти три сигнала воспримет детектор зависит от временных диаграмм 8w5, 8w6, 8w7.
Думаю, что просто синус-подобный сигнал может не подойти.
И эксперименты лучше проводить с помощью именно простого адаптера (корпус и стереоголовка), чтобы исключить влияние характеристик магнитной ленты.
А ленту проще писать специально сконструированным накопителем, куда подавать меандр, как и было в оригинальной конструкции.
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 фев. 2012
Собственно про сигналы 8w5, 8w6, 8w7 и их влияние на пригодность переменного сигнала на НМЛ.
Если сигнал переменный, он с большой долей вероятности на усилительных каскадах и счётчиках распадётся на серию импульсов.
Если вся пачка придёт между спадами 8w7, то на D50.1 и D50.2 они всё равно объединятся, но мы этого гарантировать не можем.
Есть вероятность, что один или два импульса придут до спада 8w7, тогда они могут повлиять на результирующий сигнал.
xoiss
Гость

Ссылка

Sinus написал:
[q]
навели на мысль: записать на бытовой магнитофон "синус-подобные" импульсы, расположенные в местах "0" и "1" (в расчёте на то, что тракт чтения ДЗ-28 присутствие каждого такого импульса обнаружит, а быстрые колебания сигнала в импульсе будут игнорированы трактом чтения как "дребезг"). Вот фрагменты графиков таких сигналов, изготовленных в Маткаде, показаны концы с байтом 0512 и его битом чётности "0":
[/q]
интересная идея

я бы предложил только вот немного поменять форму импульса:


резкий фронт, непродолжительная полка и далее, что важно, плавный спад
спад должен заканчиваться до начала следующего такта — т.е. вся картинка должна быть не длиннее 1 мс

такая форма предположительно должна давать ровно один импульс на выходе дифференциатора
// синусоидальный импульс может дать три производных импульса, колоколообразный - два ---- что при некоторых стечениях может внести помехи в работу декодера




подумал ещё немного... наверное, классический пилообразный импульс будет даже ещё лучше — у него минимальная производная на спаде


// да, как и в Вашей идее, все импульсы однополярные

в общем, могу переписать свою прогу "свисток" под новые идеи
Сейчас на форуме
xoiss
Гость

Ссылка

Good Loki написал:
[q]
xoiss написал:
[q]
на самом деле его задача в схеме детектора — это просто эдакая "защита от дребезга" — от него тактируется счётчик, сбрасываемый перепадом уровня с магнитной ленте — если после крайнего перепада натикало сколько-то микросекунд, то выполняется захват уровня
[/q]
Странно, но у меня получается, что если длительность импульса была больше 8xt4 (в данном случае t4 я обозначил период), тогда происходит захват уровня. То есть счётчик считает только когда не находится в состоянии сброса и не досчитал до 8-ми. А сброшен он всегда когда на входе сигнал меньше 0,7В. Получается, что эта схема игнорирует все слабые и короткие сигналы.
[/q]
мне кажется, мы с Вами говорим об одном и том же, но разными словами :)


Good Loki написал:
[q]
есть, где-то временные диаграммы сигналов 8w5, 8w6 и 8w7 при считывании программы с магнитной ленты?
[/q]
боюсь, что нет
Сейчас на форуме
Good Loki
Full Member


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 фев. 2012
xoiss
Мы живём в реальном а не идеальном мире. Передний фронт всё равно расползётся. А чтобы быть уверенным, что спад не сгенерит второго импульса, нужно точно регулировать уровень сигнала, и проверять на настоящей Д3-28.
Если разобраться в последовательности коммутации мультиплексора, и если окажется, что несколько тактов перед сбросом тригеров, их значение никуда не приходят, то можно сделать фронт достаточно коротким, чтобы первым импульсом можно было пренебречь.


xoiss написал:
[q]
Good Loki написал:
[q]
есть, где-то временные диаграммы сигналов 8w5, 8w6 и 8w7 при считывании программы с магнитной ленты?
[/q]
боюсь, что нет
[/q]
Хорошо, а последовательность кодов Е18-Е20, которые приходят на микросхему дешифратора D49?
xoiss
Гость

Ссылка

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

Exx - это биты слова микрокоманды.
Прошивка микрокода вот здесь: topic/29568
Схемы принципиальные и документация: https://d3-28.ru/dokumentatsiya-d3-28/
Но как это всё работает в совокупности на уровне именно железа — никто досконально не знает.


Good Loki написал:
[q]
чтобы быть уверенным, что спад не сгенерит второго импульса, нужно точно регулировать уровень сигнала, и проверять на настоящей Д3-28.
[/q]
В какой-то перспективе я могу извлечь из Д3-28 блок управления НМЛ — на нём расквартирован собсна детектор.
При помощи ... пока не знаю чего ... подать на него тестовый сигнал заданной формы (подключиться к его входу вместо магнитной головки).
// увы, функционального генератора у меня дома нет — т.е. это его ещё покупать придётся или как-то из камней и палок делать
Ну, и посмотреть, какие производные импульсы будут выходить с выхода аналоговой части детектора.
Да, так не получится смоделировать работу всего декодера в полной мере, т.к. мы не знаем, какой правильный паттерн вот этих XwY-микроприказов на него надо подавать...
... но как бы если аналоговая часть (дифференциатор) детектора будет реагировать в общем правильно (т.е. так же, как если бы она читала запись с реальной кассеты), то есть высокая вероятность, что и вся конструкция в целом будет работать корректно.

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

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


Откуда: Зеленоград
Всего сообщений: 315
Рейтинг пользователя: 0


Ссылка


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


xoiss написал:
[q]
До тех же пор можно попробовать поэкспериментировать с магнитофоном и имеющимися формульными моделями детектора (те, что Sinus сделал).
[/q]
Не совсем понял, про что речь. Есть какие-то SPICE модели компонентов используемых в детекторе?
Sinus
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


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

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

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

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

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

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

Ссылка

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

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


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


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


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

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


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

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


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


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

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

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

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

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



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


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 авг. 2016
Ещё немного вклинюсь, со свежеиспечённым вавом.

xoiss написал:
[q]
Суть моего дополнения-с-картинками к Вашей исходной идее заключалась в том, чтобы избавиться от "лишнего" (или лишних) резких перепадов, заменив их пологим
[/q]
Да, понятно, хорошая мысль. Название ей придумал пока такое: "х-код". Сделал для опытов ещё один короткий 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, пока неизвестно...
xoiss
Гость

Ссылка

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

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

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

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

Может, схему усилителя на макетке собрать??
// руки прям тянутся, но времени нет, увы


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

Программа открывает два файла — входной текстовый файл с "циферками", и выходной (создаёт его) с расширением WAV.
Далее программа работает по принципу конвейера: берёт очередной байт из входного файла, строит для него одну пачку аудио-семплов и записывает их в выходной файл — и так повторяет в цикле, двигаясь по входному файлу, пока он не закончится.


Sinus написал:
[q]
Название ей придумал пока такое: "х-код"
[/q]
:) не-не-не, давайте уж называть s-код — либо от "sin", либо от "saw" ("пила" - пилообразные импульсы) — в зависимости от того, какая форма импульса


Good Loki написал:
[q]
xoiss написал:
[q]
До тех же пор можно попробовать поэкспериментировать с магнитофоном и имеющимися формульными моделями детектора (те, что Sinus сделал).
[/q]
Не совсем понял, про что речь. Есть какие-то SPICE модели компонентов используемых в детекторе?
[/q]
PSpice... в принципе могу сделать.
На днях как раз качнул из "магазина дешёвых программ" свежайший AltiumDesigner — вот как раз будет повод его установить.
Сейчас на форуме
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
xoiss написал:
[q]
!! вот что значит коллективное обсуждение !!
[/q]
В общем да - одна голова хорошо, а две ...
А еще утро вечера мудренее. И я, похоже, вчера глупость написал.

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

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

Посыпаю голову пеплом...
xoiss
Гость

Ссылка

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

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

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

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

что если попробовать сделать таки решение по п.2.1 ?
Сейчас на форуме
xoiss
Гость

Ссылка

Пишите в личку box_1@mail.ru
Работу доделаем и опубликуем.
С уважением, xoiss.
/ Стрелец Александр
Сейчас на форуме
<<Назад  Вперед>> Страницы: 1 2 3 4
Печать
Полигон-2 »   Калькуляторы, арифмометры, PDA, HPC »   Д3-28, устройства для загрузки ПО
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS