Магнитофонный интерфейс для PC

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Магнитофонный интерфейс для PC

Post by HardWareMan »

Пока одни эмулируют руками, другие занимаются реальными вещами. Итак, я уже говорил тут, что руководитель кружка, который я посещал в начале 90х (и который все еще работает!) отдал мне все кассеты с наработками кружка. Я, конечно, затянул с этим, но иногда все же уделял внимание данному вопросу.

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

Интерфейс был выбран UART, хотел поставить МАХ232 и заюзать ATTiny, однако у ATTiny нет аппаратного UART, поэтому решил использовать AT89C2051, которых у меня мешочек, и которые пылятся без дела. RS232 был бы удобен со всех сторон, но вопрос самозапитки устройства решил в пользу USB. Так как я хочу сделать автораспознование формата записи, то требуется некоторое быстродействие, которое позволит анализировать байты в режиме реального времени и принимать решения об правилах загрузки того или иного файла. Ну а быстрые компы все равно имеют USB.

Выбор пал на паралельный эмулятор СОМ порта от FTDI: FT245. Их тоже есть у меня, хотя использование FT232 не возбраняется. Собственно, схема собрана:
Image
Image
Собранную схему комп подхватил сразу, MProg тоже справился на ура:
Image
Проверил компаратор - тоже заработал с полпинка! Вот эпюры имени файла на удвоенной скорости прямо с магнитофона:
Image
Image
Теперь сел за написание программы. Как только получу первые результаты - обнародую. Ну и содержимое кассет тоже буду выкладывать по мере считывания.
Last edited by HardWareMan on 05 Jan 2014 07:10, edited 2 times in total.
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А платочку сам травил? :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:А платочку сам травил? :roll:
Сделал буквально час назад. Паял около часу, ага. :3
Last edited by HardWareMan on 05 Jan 2014 07:14, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:
Shaos wrote:А платочку сам травил? :roll:
Сделал буквально час назад. Паял около часу, ага. :3
лут? секретом не поделишься? :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:
HardWareMan wrote:
Shaos wrote:А платочку сам травил? :roll:
Сделал буквально час назад. Паял около часу, ага. :3
лут? секретом не поделишься? :roll:
Конечно ЛУТ. Ничего не изменилось со времени критики Лаврентия. Двухсторонку уже делал - совмещение просто идеальное. Там уже главное при сверлении сверло чтобы было строго перпендикулярно плоскости платы. А что вдруг?
Last edited by HardWareMan on 05 Jan 2014 07:14, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А т.е. всё теже:
Ламинатор, факсовая термобумага и принтер решают все!
Я просто пытался тут ламинатор задействовать - нифига не получилось :(
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

я так понимаю основная цель была сделать портативный девайс, который можно таскать в кармане и мал по малу цифровать.
Shaos wrote:А т.е. всё теже:
Ламинатор, факсовая термобумага и принтер решают все!
Я просто пытался тут ламинатор задействовать - нифига не получилось :(
недогрев?
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

MC68k wrote:я так понимаю основная цель была сделать портативный девайс, который можно таскать в кармане и мал по малу цифровать.
Именно! Я даже прикупил малый майфунчик, замутил ему платку с цифровой частью. Этот майфунчик по задумке должен был подключаться по СОМу, грузить данные в свой буфер а в комп сливать и вообще им управлять - через любой терминал, хоть и виндовый хипер или от DN под DOS. Не хватило терпения. Решил, что все лучше делать на дому, хотя подключение к моему ноуту не будет проблемой.
MC68k wrote:
Shaos wrote:А т.е. всё теже:
Ламинатор, факсовая термобумага и принтер решают все!
Я просто пытался тут ламинатор задействовать - нифига не получилось :(
недогрев?
Тоже верно. Родной ламинатор был раскачан на повышенную температуру. Это я говорил по ссылке выше и это советуют все в интернетах, кто заюзал данный метод.
Last edited by HardWareMan on 05 Jan 2014 07:14, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Понятно - ну ковырять ламинатор мне неохота...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:Понятно - ну ковырять ламинатор мне неохота...
Прокачка ламинатора не ущемляет а даже расширяет штатные функции. Некоторые плотные кармашки лучше спекать на повышенных температурах.

По сабжу: уже почти написал прожку контроллеру, скоро будут первые результаты.
Last edited by HardWareMan on 05 Jan 2014 07:15, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Магнитофонный интерфейс для PC

Post by Lavr »

HardWareMan wrote:Поначалу я, конечно, использовал звуковую плату (о чем так же упоминалось на уютненьком). Однако, из-за специфики сигнала и еще некоторых факторов так и не удалось добиться надежного чтения, хотя аппаратный Специалист их глотал на ура, даже записи на двойной плотности, хотя кассетам много лет. Была так же предпринята попытка применения внешнего компаратора, но это уже как приделать моторчик к велосипеду. И в итоге я принял решение сделать аппаратный магнитофонный интерфейс, который сам будет в режиме реального времени делать манчестера и компу выдавать уже готовый байт.
Аппаратный интерфейс обсуждать не стану - железка, судя по картинкам, сделана хорошо! :kruto:

Другое дело, что "дурная голова - рукам покою не даёт"... :wink:

Если уж "аппаратный Специалист их глотал на ура, даже записи на двойной плотности",
то точно также "на ура" Писюк обычно схватывает сигнал, который выдаётся "аппаратным
Специалистом
"...

Товаришь germanovitsh, у которого не было никакого опыта перегонки контента с кассет в
Писюк, вполне успешно с этой проблемой справился безо всяких специальных железок! :lol:

Ладно бы я понял, что только USB в Писюке - такое бывает сейчас... но уж на UART-то
вешать контроллер, чтобы читать с магнитофона - это за гранью моих понятий добра и зла... :o



PS. Наличие UART сразу решает, как проблему "автопитания", так и "множественных форматов".
При современных компонентах всё устройство сопряжения уместилось бы в корпусе DB-9.
Last edited by Lavr on 05 Dec 2012 21:03, edited 1 time in total.
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

HardWareMan wrote:Решил, что все лучше делать на дому, хотя подключение к моему ноуту не будет проблемой.
тогда можно было бы через реальный спец все лить на SD-карточку.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Сопряжение ЭВМ с кассетным накопителем

Post by Lavr »

Lavr wrote: Наличие UART сразу решает, как проблему "автопитания", так и "множественных форматов".
При современных компонентах всё устройство сопряжения уместилось бы в корпусе DB-9.
И чтобы не быть голословным, я принципиальную схему для UART приведу:

Image

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

Весь её кайф в том, что несмотря на использование COM-порта, она никак не связана с его
программированием, поскольку использует линии, которые устанавливаются и
"прослушиваются" независимо от последовательного входа RxD.

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

Детали можно взять посовременнее и миниатюрнее... Вместо УД8 вполне подойдёт УД12
или что-то более современное...

Ну и древний оригинал описания этой схемы из журнала МПСС:
Сопряжение ЭВМ с кассетным накопителем

Сопряжение осуществляется через интерфейс RS-232, сигналы RTS и DTR которого могут
быть установлены программно, а сигналы CTS и DCD могут быть программно опрошены.
Сигналы RTS и DTR (при использовании БИС UART U856) устанавливаются следующим образом:

Code: Select all

MVI A,05H;  переключение U856 в режим
OUT CMD;    управления RTS и DTR,
MVI A,Data; установка значений,
OUT CMD;    сигналов RTS и DTR

CMD: EQU  RUS;   адрес регистра управляющего слова
'    Data;       RTS - второй бит, DTR - восьмой бит.
Значения сигналов CTS и DCD анализируются следующим образом:

Code: Select all

MVI A,10H;  переключение U856 в режим
OUT CMD;    ввода сигналов,
IN CMD;     ввод значений
ANI MASK;   анализ значений
'    MASK - выделяет биты DCD - четвертый, CTS - шестой.
С вывода RTS снимается напряжение +10 В (Лог.'0') для питания ОУ, с вывода
TxD - напряжение -10 В (Лог.'1') с той же целью. При этом сигнал RTS следует
установить в '0' программно, а сигнал TxD в отсутствие передачи устанавливается
в '1' автоматически.
("МП. С-ва и С-мы" ¹ 1, 1990, стр. 62-63. "Сопряжение ПЭВМ Роботрон-1715 с кассетным
накопителем на магнитной ленте
", Д.А. Хохлов, Г.В. Завидовский.)

Конструкция аппаратно попроще будет, нежели компаратор+контроллер+USB-драйвер,
а значит дешевле и практически доступнее...
8)

Если кто спросит - а где взять софт для неё? А публиковался софт в каких-то номерах журнала
"Радио" как раз для обсуждаемой нами задачи...
Навскидку не помню, но могу ссылку и посмотреть. На любимом Хардычем "Пасквиле" всё было
написано... Тогда ещё - версии 3.1... :wink:
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

2 Lavr, чукча не читатель, чукча писатель, да?
Выбор пал на паралельный эмулятор СОМ порта от FTDI: FT245.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Lavr wrote:Ладно бы я понял, что только USB в Писюке - такое бывает сейчас... но уж на UART-то вешать контроллер, чтобы читать с магнитофона - это за гранью моих понятий добра и зла... :o

***

И чтобы не быть голословным, я принципиальную схему для UART приведу:
ОК, а теперь, мистер эмуляторщик, напиши прожку, которая под многозадачностью будет нормально отмерять временные интервалы (312мкс для 2400 и 625мкс для 1200) и не терять битики. Впрочем, под DOS это тоже довольно-таки проблематично, но более вероятно, если управлять прерываниями. Или ты думаешь, что я не изучал данный вопрос настолько глубоко? Я, между прочим, делал выгружалку под DOS, которая все делала верно за счет таймера (сбивая часы DOS лол).
MC68k wrote:тогда можно было бы через реальный спец все лить на SD-карточку.
Я думал над этим. Но тогда не получится автоформата - нужно будет руками выбирать.
MC68k wrote:2 Lavr, чукча не читатель, чукча писатель, да?
Выбор пал на паралельный эмулятор СОМ порта от FTDI: FT245.
Да смысл то не в этом. СОМ выбран из-за последовательного потока байтов. Можно и барстом считывать у FTDI через D2XXX.DLL.

По теме, есть первые ласточки:
Image
"fYYY' - это E6H,D9H,D9H,D9H без старшего бита (обрезается хипертерминалом). И все это на 2400 бод. ;)
Last edited by HardWareMan on 05 Jan 2014 07:15, edited 1 time in total.