wowka 0 16 декабря, 2005 Опубликовано 16 декабря, 2005 · Жалоба Вопрос тем, кто реализовывал подключение HDD к AVR. Какой МС необходим для достижения PIO4 при обмене данными между МС и винтом? 8535 удовлетворяет данным требованиям? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 16 декабря, 2005 Опубликовано 16 декабря, 2005 · Жалоба На AVRFREAKS.NET видел проэкт МП3 плеера на атмеге 8515 + HDD + MP3 микросхемка В протеусе версии 6.7 есть моделька HDD Можно поиграться ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 18 декабря, 2005 Опубликовано 18 декабря, 2005 · Жалоба PIO-4 минимальное время цикла 120 нс, скорость передачи 16,6 МБ/сек Какая говоришь частота у 8535 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wowka 0 22 декабря, 2005 Опубликовано 22 декабря, 2005 · Жалоба Частота 16MHz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Polaris 0 23 декабря, 2005 Опубликовано 23 декабря, 2005 · Жалоба Мне кажется, что возиться с винтом смысла нет, так как в обиход широко вошли карточки MMC-SD, функциональность нисколько не меньше (не верю, что есть смысл в обработке микроконтроллером гигабайтных объемов информации), а работать с ними не в пример проще. А для винта нужны сложные источники питания (все таки два напряжения, причем не с маленькими токами), габариты опять же... Лучше начать с флэшек. Но если брать сам вопрос, то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься. А для нормальной функциональности (считай, что 512 байт сразу ушло, так что на стэк, переменные компилятора и твои собственные останется только 512 байт, иногда этого не хватает). Ну и по портам смотри, работать нужно будет все-таки параллельно, так что 3 полных порта вынь да положь. Итого есть смысл подумать даже о меге32, если проект не просто работает с винтом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wowka 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Спасибо за столь развёрнутый ответ. Работать надо именно с винтом. Про память понял. Посмотрел в сети примеры работы с винтами и AVR: даже при использовании mega128 часто применяют внешнюю память на 1к. Чем вызвано? Скоростью последней? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
m16 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба вот проект на меге128 с исходниками http://www.frankvh.com/mp3player/ и еще один http://www.zinetz.info/article.php?id=avr_ata_6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Но если брать сам вопрос, то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься. А для нормальной функциональности (считай, что 512 байт сразу ушло, так что на стэк, переменные компилятора и твои собственные останется только 512 байт, иногда этого не хватает). Ну и по портам смотри, работать нужно будет все-таки параллельно, так что 3 полных порта вынь да положь. Итого есть смысл подумать даже о меге32, если проект не просто работает с винтом. А как вы считаете, если взять m162 или m8515 и добавить винт в адресное пространство контроллера, плюс еще памяти прикрутить 32kb SRAM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься. Нет работать, конечно будет, только вот для заяленного PIO-4 или мега будет заниматься только прокачкой данных, или скорость придеться снижать. Как стоит вопрос? Нужно ли обеспечивать 16Мб/с? даже при использовании mega128 часто применяют внешнюю память на 1к. Чем вызвано? Скоростью последней? Винт устройство блочное, т.е. нельзя адресоваться к байту по произвольному адресу, как в электронной памяти. Минимальная единица адресации - блок 512 байт. Т.е если нужен всего один байт придеться все равно читать 512 (ну и где-то их хранить). т.е. чем больше в системе ОЗУ, тем легче работать. Как верно заметил Polaris, как минимум 512 байт придеться в любом случае отрезать под буфер винта. По поводу теории советую обратиться к творчеству М.Гука написавшего кучу справочников по железу РС. добавить винт в адресное пространство контроллера Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :) http://www.interfacebus.com/IDE_HardDrive_...escription.html старые стандарты ATA1 и ATA2 (более быстрые и не нужны для связи с AVR), поддерживают 8-ми битные данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :) http://www.interfacebus.com/IDE_HardDrive_...escription.html старые стандарты ATA1 и ATA2 (более быстрые и не нужны для связи с AVR), поддерживают 8-ми битные данные. НЕ ВЕРЬТЕ! 8 бит можно в регистры комманд просунуть. Буфер данных - только по 16 бит. Этим наелись, когда к спектруму цепляли. Приходилось доп. буфер старшего байта ставить, иначе - никак. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба НЕ ВЕРЬТЕ! 8 бит можно в регистры комманд просунуть. Буфер данных - только по 16 бит. Этим наелись, когда к спектруму цепляли. Приходилось доп. буфер старшего байта ставить, иначе - никак. Видимо не сполна наелись, либо винт не поддерживал ATA1/2 :) http://www.t13.org/docs2004/e04153r0_Annex...l_cmd_usage.pdf - 80kb на странице 8, table 2 можно найти ATA команду - ENABLE 8-bit TRANSFERS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба НЕ ВЕРЬТЕ! 8 бит можно в регистры комманд просунуть. Буфер данных - только по 16 бит. Этим наелись, когда к спектруму цепляли. Приходилось доп. буфер старшего байта ставить, иначе - никак. Видимо не сполна наелись, либо винт не поддерживал ATA1/2 :) http://www.t13.org/docs2004/e04153r0_Annex...l_cmd_usage.pdf - 80kb на странице 8, table 2 можно найти ATA команду - ENABLE 8-bit TRANSFERS. Ага, было дело... Только не работало почему-то. Не вспомню щас, такая же комманда/код была или нет, но факт - 16 бит и все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wowka 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Вопрос стоит именно - PIO-4. Шина данных винта однозначно 16 бит. То, что необходим МС с большим кол-ом портов, нежели 8535 - понятно (ещё нужен LCD и клава ...). За ссылки отдельное спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
beer_warrior 0 27 декабря, 2005 Опубликовано 27 декабря, 2005 · Жалоба Вопрос стоит именно - PIO-4. Шина данных винта однозначно 16 бит. То, что необходим МС с большим кол-ом портов, нежели 8535 - понятно (ещё нужен LCD и клава ...). Я бы например, в таком случае про AVR забыл бы, явно проситься, что-то ARMовское. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться