Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IDE to MMC (SD) с помощью AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
bloodden
Начну с предистории...
Есть у меня собранная из хлама машина - пень-133.
Я на нём люблю музычку слушать, чтоб не гонять более мощного собрата.
Так вот в чём проблема: винчестер СИЛЬНО-О-О-О шумит.
Для работы МС-ДОСа скорость особая не нужна и я подумал сделать переходничёк IDE - flash карта на AVR контроллере. Скорости в 60-100 Кбайт хватит заглаза.
Заменяю ШУМНЫЙ винт переходничком на ММС и проблема решена.

Идеи есть, наработки тоже. Дело плавно выходит на старт.
Если кого интересует и есть предложения - здесь и пообщаемся.

Я понимаю, что эта идея безумие, но захотелось :-)

Загодя предупреждаю - CF не предлагать. ММСшки стоят сейчас копейки и их у меня есть ;-) .
zltigo
Цитата(bloodden @ Dec 8 2006, 00:22) *
Заменяю ШУМНЫЙ винт переходничком на ММС и проблема решена.

Ну так и купите переходник на PCMCIA он-же считайте IDE - баксов десять.
Ну или USB reader и того меньше - стеки под DOS тоже есть.
SasaVitebsk
Эх .... всегда жалко расставаться с компом служившим тебе верой и правдой долгое время .... хочется хоть куда его пришаманить... biggrin.gif

Но надо, bloodden. Надо!!!
smile.gif
ivstech
сделал такую штуку пару лет назад. будет интересно пообщаться на эту тему buiankin(сбк)yandex ICQ 295645557
prottoss
Цитата(SasaVitebsk @ Dec 8 2006, 07:22) *
Эх .... всегда жалко расставаться с компом служившим тебе верой и правдой долгое время .... хочется хоть куда его пришаманить... biggrin.gif

Но надо, bloodden. Надо!!!
smile.gif
Сорри за оффтоп:

Не знаю, не знаю))) У меня вот лежит платка с камнем Intel 80486DX2-66. Тожа руки чешутся ченить на нем сотворить. Может быть даже часы, а камень чтоб снаружи...Лепота...

А по теме:

Здесь, на форуме где то, вроде была тема про FAT с исходниками, это случаем не то, что Вам надо?
bloodden
Цитата(zltigo @ Dec 8 2006, 01:05) *
Цитата(bloodden @ Dec 8 2006, 00:22) *

Заменяю ШУМНЫЙ винт переходничком на ММС и проблема решена.

Ну так и купите переходник на PCMCIA он-же считайте IDE - баксов десять.
Ну или USB reader и того меньше - стеки под DOS тоже есть.


Спасибо за совет, но человек, который заставляет таких дедушек как Р133 пахать и пахать покупать к ним ничего не будет :-).
А вся соль в том, чтоб сделать самому и опыта набираться, а заодно и чё-нить полезное для души сделать.



Цитата(prottoss @ Dec 8 2006, 11:36) *
Здесь, на форуме где то, вроде была тема про FAT с исходниками, это случаем не то, что Вам надо?


Нет. ФАТ там ненада. Надо всеголиш понять что от тебя хочет IDE контроллер (прочитать/записать сектор) и дать то, что ему нужно :-)
TomaT
Вот глянь вот это, может чем поможет, там есть библиотека для работы с MMC (правда для Bascom'a, но расколупать и приспособить ИМХО не проблема):
http://members.aon.at/voegel/
bloodden
Спасибо, но работать с картой это не проблема.
Проблема заключается вот в чём: как затормозить обмен по АТА шине, чтоб работало на ВСЕХ чипсетах?
boez
А разве мелкие скорости есть проблема? Там же вроде какой-то сигнал готовности есть от устройства к компу? То есть устройство может сильно придержать работу хоста (ну вопрос только в таймаутах).
Сорри если не прав, я просто иде спецификацию читал пару лет назад и так и не применял...
umup
Цитата
bloodden
Тоже хотел сделать такую штуку. Вы уверены что скорости контроллера хватит ? Там даже с учетом сигнала задержки цикла макс. допустимое время доступа к регистрам - 1.2 мксек. То есть за это время (по положительному перепаду сигнала RD или WR) контроллер должен включить сигнал задержки цикла доступа (IORDY) (макс за 35 нсек) в 0 чтобы растянуть цикл (ну ладно, это можно сделать аппаратно с помощью дополнительного триггера), дешифровать адрес регистра, к которому должен происходить доступ, записать или прочитать данные этого регистра по шине данных (возможно, АТМЕГА на максимальной частоте и успеет). Вот и все - остальное не критично по времени (в регистре статуса выставляете BSY в 1 и делаете то что нужно сколько нужно). Ну и остается реализовать хотя бы минимальный набор команд, необходимый для работы. Получается, что работать будет в PIO0 (самый медленный режим), но работать будет на любых компьютерах. Еще непонятно как этот контроллер сможет сожительствовать с другим накопителем на одном шлейфе (если такое вообще возможно). Возможно, скорость можно увеличить с помощью дополнительной ПЛМ с внутренними регистрами, через которую будет вестись обмен с контроллером компьютера.
А чем плохи CompactFlash с переходниками ? Cкорость получится намного больше, по цене сравнимы с MMC.
Еще непонятна долговечность такого носителя - как долго выдержит например область FAT постоянное переписывание ?
Itch
Кстати очень хорошая идея! На этот диск можно будет поставить линукс, подключить к материнке, на проц поставить пассивное охлаждение - и будет неплохой тихий роутер.
bloodden
Цитата(Itch @ Dec 8 2006, 19:35) *
Кстати очень хорошая идея! На этот диск можно будет поставить линукс, подключить к материнке, на проц поставить пассивное охлаждение - и будет неплохой тихий роутер.


Вот и ценное применение нашлось :-))

Я сейчас на стадии работы с ММС. Буду информировать про процесс создания сего у-ва.
sensor_ua
IDE 2 CF попроще будет - деньги за карту меньшие за метр, а камней (AVR;)) нет - скорость выше - http://www.myplace.nu/mp3/files/ide2cf.pdf
junoSynthesizer
как то давно у меня была задача сборки рутера на старом пеньке 200. ввиду того, что винт к нему - это ведро с крутящимися, выработавшими свой ресурс, гайками, было решено убить все движущиеся части. т.е. с блока питания убрать вентилятор, пассивное охлажнение на проц и замутить ИДЕ флэшку. жаль что заказчик съехал и проект загнулся... но видел вживую такие решения - работало на ура!
bloodden
Цитата(sensor_ua @ Dec 8 2006, 20:33) *
IDE 2 CF попроще будет - деньги за карту меньшие за метр, а камней (AVR;)) нет - скорость выше - http://www.myplace.nu/mp3/files/ide2cf.pdf


Я же просил CF не предлогать. Я понимаю, что для подключения CF необходимо всего-навсего правильно развести плату между разъёмами.

Весь смысл подключить ИМЕННО ММС/SD и ИМЕННО через АВР. Бзик такой у меня :-)
zltigo
Цитата(bloodden @ Dec 9 2006, 14:55) *
Весь смысл подключить ИМЕННО ММС/SD и ИМЕННО через АВР. Бзик такой у меня :-)

Да так в теме и написано - виноват, а то я подумал, что Вам дело надо сделать а не !@~$ в присядку.
По делу посмею повториться - готовый MMC/SD на PCMCI а от него
Цитата
всего-навсего правильно развести плату между разъёмами.
bloodden
Цитата(zltigo @ Dec 9 2006, 15:28) *
Да так в теме и написано - виноват, а то я подумал, что Вам дело надо сделать а не !@~$ в присядку.


!@~$ в присядку - самое интересное в нашем хобби/работе :-)

офф: прошу прощения, но я так и не разобрался КАК смайлики вешать в постах? Зараннее сенкс.
sensor_ua
Каюсь, пропустил.
Тогда порекомендовал бы взглянуть (google/com/translate_t, babelfish.altavista.com помогут)
http://www.watch.impress.co.jp/akiba/hotli...tc_irsdide.html
http://www.c-guys.jp/index.htm
http://www.c-guys.jp/sdmdrv_jp.htm
http://www.c-guys.jp/CG200_index_jp.htm
Там зачем-то есть DMA, которого в AVR нет. При частотах шины от программной реализации у меги пупок развяжется.
Может, не париться? Я когда-то хотел для подобных целей переходник CF2IDE сваять, но пока собирался платы заказывать увидел как упали цены на FLASH-IDE и не стал мучиться.
http://www.hotline.ua/pr/193-275-110-251
ivstech
Выложил свою разработку по адресу http://www.buiankin.narod.ru/ide/ide-mmc.rar
Там 2 контроллера, 1-й обмен между IDE (выложен исходник), MMC и вторым контроллером (через UART), 2-й управлял периферией - выдача звука, зажигание лампочек, чтение клавиш
Работало стабильно с VIA KT-300, 400, 600, даже поставил Win-98 на такой диск. На EPIA заработало после повышения тактовой частоты до 20. Если у кого-то получится развить идею и запустить на всех материнках, напишите мне buiankin(cбк)yandex

Если кто-то захочет повторить, у меня есть печатные платы.
bloodden
Цитата(sensor_ua @ Dec 9 2006, 15:37) *
Каюсь, пропустил.
Тогда порекомендовал бы взглянуть (google/com/translate_t, babelfish.altavista.com помогут)
http://www.watch.impress.co.jp/akiba/hotli...tc_irsdide.html
http://www.c-guys.jp/index.htm
http://www.c-guys.jp/sdmdrv_jp.htm
http://www.c-guys.jp/CG200_index_jp.htm
Там зачем-то есть DMA, которого в AVR нет. При частотах шины от программной реализации у меги пупок развяжется.
Может, не париться? Я когда-то хотел для подобных целей переходник CF2IDE сваять, но пока собирался платы заказывать увидел как упали цены на FLASH-IDE и не стал мучиться.
http://www.hotline.ua/pr/193-275-110-251



Спасибо за ссылки, НО, я же сказал, что ЭТО СПОРТИВНЫЙ ИНТЕРЕС (!). Еслиб это был не энтузиазм - то этой теме нечего делать в этом форуме.

2all:
Если у кого-нибуть есть опыт работы на АТА шине в качестве винта - с уважением и благодарностью приму все предложения, пожелания и критику. На МК. А спецМС китайскую купить, припаять и ходить гордится - это каждый может.

Цитата(ivstech @ Dec 9 2006, 17:41) *
Выложил свою разработку по адресу http://www.buiankin.narod.ru/ide/ide-mmc.rar
Там 2 контроллера, 1-й обмен между IDE (выложен исходник), MMC и вторым контроллером (через UART), 2-й управлял периферией - выдача звука, зажигание лампочек, чтение клавиш
Работало стабильно с VIA KT-300, 400, 600, даже поставил Win-98 на такой диск. На EPIA заработало после повышения тактовой частоты до 20. Если у кого-то получится развить идею и запустить на всех материнках, напишите мне buiankin(cбк)yandex

Если кто-то захочет повторить, у меня есть печатные платы.


Сенкс. Может хоть такие как я и Вы с неочень нормальной психикой (для большинства непонятно - нафиг это делать) почерпнут полезную информацию. Для этого форум и создавался.
ivstech RESPEKT и остальному народу, который высказывается по теме.
umup
Цитата
ivstech


Посмотрел исходник - что то не пойму, как при таком цикле (62,5 нс) соблюдаются времена доступа, описанные в стандарте ?
ivstech
Цитата(umup @ Dec 10 2006, 00:38) *
Цитата
ivstech


Посмотрел исходник - что то не пойму, как при таком цикле (62,5 нс) соблюдаются времена доступа, описанные в стандарте ?

Что такое 62,5нс?

Требования не соблюдаются. IORDY формируется триггером.
Весь цикл длится гораздо больше 1.25мкс. Поэтому работает не на всех платах. Я об этом писал.
Я перешел на USB и поэтому не стал развивать дальше тематику IDE.
umup
Цитата
Что такое 62,5нс?

Цикл контроллера на 16МГц. Как не прикидывал, никак не получается уложиться в нужный период доступа. На каких-нибудь Интелевских чипсетах пробовали ?
Цитата
Я перешел на USB и поэтому не стал развивать дальше тематику IDE.

Это понятно, но интерес заключается в использовании старых плат без возможности загрузки по USB. Что-то в последнее время исчезли дешевые платы и процессоры (вспоминаю интегрированные платы с Duron/Celeron). CompactFlash совместимы со всеми платами ?
bloodden
Цитата(umup @ Dec 10 2006, 19:38) *
Это понятно, но интерес заключается в использовании старых плат без возможности загрузки по USB. Что-то в последнее время исчезли дешевые платы и процессоры (вспоминаю интегрированные платы с Duron/Celeron). CompactFlash совместимы со всеми платами ?


Да, по-моему с CompactFlash никаких проблем нет.
ivstech
Цитата(umup @ Dec 10 2006, 23:38) *
Цитата
Что такое 62,5нс?

Цикл контроллера на 16МГц. Как не прикидывал, никак не получается уложиться в нужный период доступа. На каких-нибудь Интелевских чипсетах пробовали ?

На интеле пробовал, не работает. Насколько я помню, в режиме PIO MODE 0 IORDY материнская плата может вообще не поддерживать. А в табличке максимальное время цикла во всех 3 режимах указано 1250нс. Если очень сильно постараться, на 20МГц можно уложиться в это время.
bloodden
Люди! У меня вопрос по ММС - при записи сектора СРС16 должна быть корректна? Если да, то считается как?
Заранее сенкс.
ЗЫ: да, забыл уточнить - в режиме SPI
aaarrr
Цитата(bloodden @ Dec 20 2006, 01:41) *
Люди! У меня вопрос по ММС - при записи сектора СРС16 должна быть корректна? Если да, то считается как?
Заранее сенкс.
ЗЫ: да, забыл уточнить - в режиме SPI

В режиме SPI CRC по умолчанию игнорируется (кроме CMD0), но поле под него в data bock все равно должно быть. CRC можно включить при помощи CMD59.
bloodden
Цитата(aaarrr @ Dec 20 2006, 15:04) *
Цитата(bloodden @ Dec 20 2006, 01:41) *

Люди! У меня вопрос по ММС - при записи сектора СРС16 должна быть корректна? Если да, то считается как?
Заранее сенкс.
ЗЫ: да, забыл уточнить - в режиме SPI

В режиме SPI CRC по умолчанию игнорируется (кроме CMD0), но поле под него в data bock все равно должно быть. CRC можно включить при помощи CMD59.


Спасибо, я так и думал, но небыл уверен что и при записи СРС16 игнорируется (ответственная часть всётаки).
Движется медленно моё детище sad.gif (диплом, работа и т.д.) но будем стараться.
bloodden
Без меня, смотрю, никто не шастал smile.gif
Слегка разгрёбся с текущими проблемами и начинаю дальше шевелится в этом направлении.
QuickWitted
Цитата(bloodden @ Feb 19 2007, 08:15) *
Без меня, смотрю, никто не шастал smile.gif
Слегка разгрёбся с текущими проблемами и начинаю дальше шевелится в этом направлении.


Так чем дело то кончилось?
InvisibleFed
Поделитесь кто-нить описанием на интерфейс обменя для IDE. Ну SATA полезно будет. Может у кого-нить есть подробное описание с разбором, тут я смотрю люди бодались с проблемой. Заинтересовало.
QuickWitted
Цитата(InvisibleFed @ Apr 10 2008, 15:04) *
Поделитесь кто-нить описанием на интерфейс обменя для IDE. Ну SATA полезно будет. Может у кого-нить есть подробное описание с разбором, тут я смотрю люди бодались с проблемой. Заинтересовало.


К старым CD-Rom шли Нажмите для просмотра прикрепленного файла

C SATA у тебя производительности не хватит...
проше грузить в китайский переходник IDE <=> SATA
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.