Вход

Просмотр полной версии : Эмулятор MFM винчестера



dimich
25.02.2016, 22:16
Доброго времени суток всем!
Неспешно восстанавливая одного старичка, я раздумывал о жёстком диске. До сих пор с детства помню гул своего Seagate ST-225. После выключения аж звон в ушах оставался. Вот и подумал, а что если не придерживаться аутентичности и заменить сам винчестер эмулятором?
Немного поразмышляв, прикинул в голове проект: Читаем данные с контроллера, обрабатываем Атмегой, пишем на SD/CF, по запросу читаем с SD/CF, обрабатываем Атмегой, отдаём контроллеру. Контроллер и не будет знать, что у нас жёсткий диск заменён эмулятором. Соответственно, эмулятор должен работать везде, где работал жёсткий диск, да и с любым контроллером.
Но сперва прикинув поток данных и его скорость, я начал считать. 3600 об/мин, 10416 байт на дорожку, применительно к ST412, для формирования сигнала о 1 бите нужно формировать или читать сигнал с разрешением не менее 10-50 нс. Как показали расчёты, производительности Атмеги на 20Мгц не хватит для обработки, какие алгоритмы не придумывай. Начал думать про STM32 - тоже не хватает. Вот незадача - такая древняя штука и не по зубам современным микроконтроллерам. Напрашивается тогда Альтера, но она мне неизвестна (да и нет ни опыта ни девборда).
Может быть я просто зациклился на неверном пути и всё гораздо проще? Просто мысль в не ту сторону пошла? Или я велосипед изобретаю и всё уже давно есть?

Ewgeny7
25.02.2016, 22:29
В далеких Китаях все давно придумано за нас. Посмотри на Али SD-IDE адаптер (http://ru.aliexpress.com/af/sd-ide-%25D0%25B0%25D0%25B4%25D0%25B0%25D0%25BF%25D1%2582 %25D0%25B5%25D1%2580.html?ltype=wholesale&d=y&origin=n&isViewCP=y&catId=0&initiative_id=AS_20160225112435&SearchText=sd+ide+%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D 0%B5%D1%80). Народ пользуется, я - тоже.

- - - Добавлено - - -

И кто такой эмуРятор? Это который мурчит? :)

- - - Добавлено - - -


Напрашивается тогда Альтера, но она мне неизвестна
FPGA не может напрашиваться, там нужен именно микроконтроллер.
Конечно, можно извратиться и засунуть ядро МК в ПЛИС, но это как дрочить вприсядку примерно....

dimich
25.02.2016, 22:37
По поводу подобного готового решения - это IDE. Я же хотел ST412/506. Несколько разные вещи, подобного эмурятора я не видел у китайцев. Не думаю, что они вели бы разработку ради 2,5 фанатов ржавого железа.
Тут либо я неправильно подхожу к проблеме с обработкой сигнала контроллером, либо неправильно выбираю инструменты.

bigral
26.02.2016, 01:50
Тема сбивает с толку потому что на спекки st506/st412 винтов небыло а тема в разделе железа спектрума.

Шутка.

НАСАМДЕЛЕ БЫЛИ! у меня была в руках схема такого, и свидетельство очевидца который мне схему эту и отдал (не копию а оригинал), и плату рабочую он купил у разработчиков толи с Черкасс толи со Светловодска, и работала она у него с TRDOS-ом грузила с куска винчестера который видела как дисковод. Жаль потом я как-то протупил и не скопировал на ксероксе ту схему а отправил ее Веремееву (тому самому что делал адаптер для dendy к спектруму). Он тоже разработал такой же контроллер токо у него он был микросхем на 60 и попросил меня схему ему отправить чтоб сравнить со своим вариантом.

А вообще вопросом народ занимается уже лет 7 но никак рабочей версии железа и софта пока не выкатили.
http://www.pdp11gy.com/sddoneE.html
http://www.pdp8.net/mfm/mfm.shtml

Tronix
26.02.2016, 07:49
С МФМ все не так просто... Боюсь, обычной атмеги никак не хватит по скорости. А ARMы плохо подходят для ногодрыга. Остаются только одноплатные компьютеры 1-2GHz с гребенкой GPIO, типа Rasperi Pi, BeagleBone и тд. Вот на них в теории может получится. А так, как с эмиулятором флопа - не прокатит.

dimich
26.02.2016, 08:46
60 микросхем это конечно круто. А вот про Raspberry Pi можно подумать. Есть у меня такая плата - поигрался когда-то и бросил. Надо бы попробовать какую скорость от него получится выжать, а дальше уж думать.

nonpar
12.06.2016, 18:39
ARMы плохо подходят для ногодрыга. Остаются только одноплатные компьютеры 1-2GHz с гребенкой GPIO, типа Rasperi Pi, BeagleBone и тд.
Raspberry как раз на АРМе)
В интерфейсе ST506 передается недекодированный MFM прямо с магнитных головок, т.е. это тот же интерфейс FDD, только больше и быстрее.
Для такого эмулятора, помимо быстродействия, нужно прилично RAM для формирования буфера данных цилиндра. Неформатированная емкость дорожки ST506 около 10 КБ, цилиндра - 40 КБ.
Скорость записи/чтения - 5 мегабит/с (в 10 раз больше, чем в HD FDD). Так что нужен DMA и, возможно, аппаратный кодер/декодер MFM.
По всему по этому мне кажется, что более плодотворный путь - эмуляция контроллера SТ506, а не непосредственно винта.

dk_spb
12.06.2016, 18:44
Давно есть рабочие версии железа:
http://www.pdp8.net/mfm/mfm.shtml
и на форуме украинско-канадский недавно рекламировали.
Первый собран как раз на одноплатном компьютере и имеет кондесаторную "поддержку" для безопасной записи данных и выключения при пропадании/выключении питания. Открытый проект, исходники.
Второй - на FPGA, есть поддержка RLL, также эмулирует FDD, но закрытый коммерческий проект.

nonpar
12.06.2016, 19:16
Ну да, у гигагерцового Cortex-A8 c 512MB DDR-3, который там использован, ресурсов хватает)

Tronix
20.06.2016, 20:08
Raspberry как раз на АРМе)
...skip...

Ну я про это и говорю - что всякие STM32 / NXP с их частотами < 500 MHz идут боком. А всякие SoC ARM на пару гигагерц - попробуй в радиомагазине купи, и даже если купишь китайца какого на алибабе - разведи плату о >12 слоях под БГА, с учетом всех импедансов там, и прочего DDR3. В Sprint Layot, ручками, ага. А потом еще попробуй платку такую одну штуку сделать у какой-попало конторы, которые о технормах таких слышать не слышали. Ну и потом самое простое - припаять этот БГА, ведь у всех же есть инфракрасная паялка и трафареты.

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