Info Guide
#10
30 апреля 2007 |
|
DIY - Универсальный TAPE интерфейс. Схема загрузки и записи с ленты.
Схема появилась несколько лет назад,бы─ ла отлажена и провалялась из-за того, что забыл дорисовать один резистор в уже "за─ битую" картинку... Начнём с того,что ни в одном компе,про─ шедшем через меня,не было нормальной схемы загрузки, да и записи тоже... Но если уро─ вень записи "обрезался" автоматически, ма─ гнитофоном,то АЦП загрузки требовал значи─ тельной проработки. Впрочем, у фирменных схем на ОУ проблем быть не должно, но я их как-то не встречал... Все схемы, проходившие через меня, были на К561ЛН2, на которой ещё обычно собран FLASH-генератор (поскольку счётчик деления кадровых импульсов редко устанавливали). У всех схем были определённые недостатки, ухудшающие работу с лентой. Загрузка часто превращалась в кошмарный ритуал, терпеть который не каждый согласится... Отладив схему и эффективно попользовавшись ею, я пришёл к весьма печальному выводу: если бы в былые времена, те самые, когда Speccy только стали у нас выпускать, они снабжа─ лись нормальной схемой загрузки, а качест─ во/количество наших магнитофонов было по─ лучше, то количество Speccy (вследствие возросших заказов) и грамотность населения - были бы значительно выше... Но так уж распорядилась судьба... Мне повезло! Первый 48-ой компьютер,ку─ пленный мной когда-то, был "питерским ва─ риантом", или "Ленинград", как следует те─ перь судить. Схема "без излишков" и масо─ чное ПЗУ, почему-то выдававшее после сбро─ са чёрную рамку и надпись: ...DIDAKTIK SKALICA... Какой-то умелец,а возможно,отец друга ( DEAD ANGEL 'а), отладил схему на ЛН2, и она весьма успешно грузила. Впрочем,сбои были.Даже на своих записях порой, но редко. Приходилось подкручивать головку,чтобы добиться загрузки иных прог─ рамм, почти все из которых были играми... Сперва я совсем не умел работать с лен─ той,затем не знал,как сделать автозапуск у своих программ (описания BASIC'а не было). Потом стал делать свои копии,с "привязкой" положения головки к некому эталону - кас─ сете с музыкой (вроде как фирменной). Уди─ влялся загружаемости с "жёваных" лент (спустя какое-то время, когда "расправля─ лись") и с хромовых - "чёрных", частично "осыпавшихся"... Короче, это был кошмар! Перейдя на Pentagon 128, я не забыл ко─ шмар, который мне отчасти нравился... Но дособрав пентагоновскую схему по её распе─ чатке, ужаснулся! Загрузка была отвратите─ льной! И лишь некоторые программы, с особо сильным уровнем,грузились.Вспомнил и слова Steve/ADG, который предупреждал об этом курьёзе, и немножко разочаровался из-за плохой соместимости более совершенного компа со старым носителем. Тогда я ре─ шил исправить схему, повторив надёжную - с 48-го. Каково же было моё удивление, когда и эта схема стала работать кое-как... Я поменял детали пару раз и понял, что дело не в самой схеме, а в её применении. Она замечательно работала на простых моделях, но плохо подходила для более сложных. Вова Макаров замечал,что у простых компов более грамотно разведено питание, да и дорожки понадёжнее... Уровень помех на более сов─ ренном компьютере значительно выше, и они "разбивают" слабый сигнал с ленты. Высоко─ частотные выпадения нарушают загрузку дан─ ных. Чтобы это понять, я написал маленькую программку,превращающую поток информации с ленты в поток длительностей нулей и еди─ ниц, а затем анализировал информацию через STS. Просто захотел загрузить несколько игр (с неплохим - на слух - уровнем запи─ си), но загрузка спонтанно обрывалась в разных местах. Что же я увидел в STS? Честно говоря,не помню точно длительно─ сти интервалов, которые я получал в своей программе, но определимся так: 7 - синхро─ низация, 25 - у пилот-тона, 30 - "1", 15 - "0". Начало данных должно выглядеть приме─ рно так (опуская почти весь пилот-тон): ..25,25,25,25,25,7,7,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,30,30,15, 15,30,30.. В этом примере сперва идёт нулевой байт, а затем биты 0,1,0,1... А теперь посмотрим на этот же сигнал, разбитый помехами: ..25,25,2,2,21,25,25,7,1,2,5,15,15,15,15, 15,15,2,3,12,15,2,2,14,15,15,15,15,15,15, 1,1,15,30,30,15,15,30,27,1,3,2,1,26... Как видим,"мелочь" местами "отнимает" у нормальных данных их длину. Но страшно не это, так как запас длительности данных мо─ жет их спасти (кроме мгновенья с синхроси─ гналом). Загрузка будет прервана ошибкой, если будет найден интервал,слишком малень─ кий или большой для стандартного. И если большой интервал может быть завершением записи, а не выпадением данных,и не приве─ дёт к ошибке (совпадёт последний байт чёт─ ности), то маленький интервал - однозначно признак ошибки, и в итоге - сбой! В приведённом примере больших провалов - выпадений - в потоке нет. Они могут встречаться на повреждённой/мятой ленте, при слабом/размагниченном сигнале, при не─ исправном механизме или кассете (её прижи─ ме). Маленькие ВЧ-выпадения также могут проявляться при слабой записи (уровень шу─ мов ленты при помехах всего тракта воспро─ изведения), но почти всегда они появляются в самом компе, в его несовершенном АЦП! Учитывая мощные помехи в самом компе,от его цифровой схемы, можно считать, что си─ гнал с ленты уже разбит мелочью.Но уровень помех всё же очень мал по сравнению с са─ мим сигналом. Поэтому его синусоида,с пре─ имущественно большими экстремумами, хорошо процифровывается в нули и единицы. Однако! Смена знака сопровождается прохождением через 0, когда сигнал помех явно преобла─ дает. В такие моменты мелочь проявляет се─ бя, как отражено на примере. Но процедура загрузки может не распознать коротенький провал, почему и удаётся проскочить начало записи,а потом бывает сбой. Почему же так? Потому,что интервалы помех бывают разными, и процедура загрузки может "поймать" более длительный,который редко бывает. Но помехи могут состоять из нескольких всплесков, и тогда не самый первый из них,а последующие приведут к нарушению загрузки. Если предс─ тавить,что синусоида сигнала обладает зна─ чительной амплитудой, то смена знака про─ исходит весьма быстро (скорость изменения напряжения велика и,соответственно,прохож─ дение через 0 - весьма быстрое), и помехи едва успеют себя проявить. Всплески помех будут очень короткими,и процедура загрузки их не воспримет. Поэтому сигнал с большой амплитудой может весьма успешно грузиться. Но в самом конце, последний полубит может содержать всплеск помех (ведь следующий бит отсутствует). Я уверен в том, что вла─ дельцам старых компов знакома обидная ситуация: грузили - грузили, а в итоге - сброс! Облом конкретный и весьма объясни─ мый.Большинство схем не обладали конденса─ тором обратной связи, который как раз поз─ волял гасить помехи. Достаточно было его поставить (порой единицы пикофарад), чтобы загрузка стала приемлемой. Наблюдая сигнал в отладчике, я подоткнул кондёр. В итоге проблема была решена.Но не совсем! Я хотел построить более совершенную схему, с защи─ той от мощных всплесков и выделением поле─ зной составляющей среди помех. Помнится, Dave/ADG рассказывал,как у него взорвалась ЛН2 (аж в потолок кусочек чипа отлетел), когда он подал сигнал с колонок. Приведённая мной схема это исключает. Подумав о загрузке через телефон, правда, через переходной трансформатор,а не напря─ мую (напрямую не советую), я использовал высоковольтный конденсатор и мощный резис─ тор на входе.Для разрядки кондёра на входе есть 1 МОм. Далее ограничитель на диодах, с привязкой к земле резюком и первичным подавлением помех - конденсатором. Затем ограничитель/усилитель на одном элементе, опять же с кондёром, и компаратор. Вот и всё! Впрочем, схема непроста. И,конечно,предусмотрен FLASH-генератор. Если этот генератор не нужен,соедините ло─ гику по схеме, а конденсатор и резистор не ставьте,и соедините 13 и 14 ножки микрухи. Тогда можно заменить 470 мкФ на 100 мкФ, и 33 Ом на 100 Ом. Все диоды на схеме - КД521 или подобные кремниевые. На схеме написаны уровни напряжения для разных случаев: - лента с дефектами, когда запись может быть слабой (30 мВ); - вызов телефона,когда максимально боль─ шой сигнал (120 В); - разрыв цепи с индуктивностью, когда возможен всплеск высокого напряжения (670 В). Частоты: - лента Me: 30 Гц - 17 кГц; - 5 соединённых компов: 25 Гц - 20 кГц; - 2 соединённых компа: 8 Гц - 200 кГц. Кроме этого, я решил расфильтровать пи─ тание. Для справедливости отмечу,что и без фи─ льтрации питания всё грузится хорошо,и не─ которые элементы в ряде случаев не обяза─ тельны. Но пренебрегать излишками и без того немаленькой, но ответственной схемы просто глупо! Кстати - тот же генератор своей слабой помехой снижает вероятность загрузки в некоторые проблемные моменты. Если он не нужен, схему можно упростить. Однако логику следует соединить, подвесив первый вход к плюсу (для удобства),и филь─ трующие элементы цепи питания не исключать (хотя вводить их на Pentagon 128 весьма неудобно). Схема выхода (ЦАПа) кажется излишне сложной, но не без смысла. Резистор подпи─ рает выход к плюсу, учитывая его "техноло─ гическую слабость". Далее собственно дели─ тель с фильтрацией и линеариазацией харак─ теристики по выходу. Когда делал,рассчиты─ вал на стандарты сопротивлений входов/вы─ ходов и амплитуду порядка 0.3 V. В итоге получаем весьма культурный ин─ терфейс, которому пофигу - откуда грузить и куда писать. Ничего не боится! Недостат─ ки,конечно,есть. Не самое лучшее выделение сигнала из помех (хотя для такой простой схемы - нормальное),не самый мощный выход, хотя "мягкий",не лучшая частотная характе─ ристика для стандартных процедур.Последнее объясняется полным частотным диапазоном (20-20000 Гц), в котором пролезают помехи, искажающие сигнал (при повреждённой/неуда─ чной записи). В ряде случаев удавалось за─ гружать, используя переходник, в котором отдельно отсекались лишние частоты. Но это для действительно паршивых случаев. Запас же даёт преимущество, если объединить нес─ колько компов в TAPE - локальную сеть. При этом схема позволяет соединить вместе вход и выход,и использовать затем лишь 2 прово─ да:минус питания (GND) и сигнал. Так можно соединить,наверно,компов 8, хотя лишь один из них можно использовать для передачи на остальные - в любой момент времени. Реально делать подобную локалку я не пробовал, и потому приведённые на схеме данные - условны (прикинул). Ограничение в 17 кГц для кассет (и то - четвёртого типа) объясняются несовершенством протяжки ленты и выпадением подобных ВЧ-сигналов (посему и подходят они лишь для синхронизации,а не продолжительных данных). Для универсальности загрузки с ленты надо иметь возможность отрезать частоты, и желательно "в процессе". Для обрезки ВЧ у первого логического элемента можно поста─ вить переменный конденсатор. А для НЧ при─ дётся использовать набор входных ёмкостей с переключением. Изменять ёмкости больше чем в 20 раз нецелесообразно. Данной схемой оборудовал уже 4 компа. Работает отлично! Использую пишущий плейер с микрофонным входом через специальный пе─ реходник/делитель (встроенный в металличе─ ский экранирующий штекер).Хитрость в коэф─ фициенте деления. Если пустить слишком бо─ льшой уровень в плейер, то его схема, ста─ раясь придавить сигнал, исказит его уро─ вень, и он перестанет грузится. Головку, конечно, не трогаю, хотя многие старые за─ писи просто так не загрузишь (лучше через отдельный старый магнитофон). На практике девиация и скоростые различия для Speccy- данных не страшны. В ряде случаев эффект даёт включение функции MEGABASS, которая, кстати, и верхи поднимает. А вот коррекция типа ленты, кажется,лишь ухудшает... Авто─ ограничение громкости не использую. Прове─ ряю запись на среднем её уровне. Но для надёжности и на максимальном уровне должна грузить (возможные дефекты могут проявить─ ся). Грузить лучше с одной стороны (у меня выключатель для каждой). Дефекты на лентах - редкость, но бывают! Вообще, при всём неудобстве это очень надёжный носитель. Иногда для загрузки старых записей прихо─ дилось подкладывать ватку под пружинку кассеты. Может расшататься/отойти контакт в гнезде (от платы) или в штекере. Однажды после записи один канал оказался слабым. Дело либо в кусочке мусора на головке,либо в частичке поролона пружинки, попавшей на ленту. В обоих случаях - малейший зазор от едва заметной крошки сильно гасит запись. Головку чищу, в основном,перед записью или после старых лент.Для загрузки проблемати─ чных лент извращался по-всякому. Отдельные блоки "блокбастера" BAGDAD приходилось грузить, меняя в отдельные моменты уровень громкости и переключая каналы на лету... Использую классный, наглядный копировщик, без полос и со счётчиком. Вообще,при нали─ чии 8-битного АЦПа и, конечно, с большой памятью можно загнать проблематичный поток в файл и оцифровать "визуально и логичес─ ки", через собственные программки. By KSA-7G 28.4.2007
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября