Перейти к содержанию
    

Вопрос тем, кто реализовывал подключение HDD к AVR. Какой МС необходим для достижения PIO4 при обмене данными между МС и винтом? 8535 удовлетворяет данным требованиям?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На AVRFREAKS.NET видел проэкт МП3 плеера на атмеге 8515 + HDD + MP3 микросхемка

 

В протеусе версии 6.7 есть моделька HDD

 

Можно поиграться ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PIO-4 минимальное время цикла 120 нс, скорость передачи 16,6 МБ/сек

Какая говоришь частота у 8535 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, что возиться с винтом смысла нет, так как в обиход широко вошли карточки MMC-SD, функциональность нисколько не меньше (не верю, что есть смысл в обработке микроконтроллером гигабайтных объемов информации), а работать с ними не в пример проще. А для винта нужны сложные источники питания (все таки два напряжения, причем не с маленькими токами), габариты опять же... Лучше начать с флэшек.

Но если брать сам вопрос, то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься. А для нормальной функциональности (считай, что 512 байт сразу ушло, так что на стэк, переменные компилятора и твои собственные останется только 512 байт, иногда этого не хватает). Ну и по портам смотри, работать нужно будет все-таки параллельно, так что 3 полных порта вынь да положь. Итого есть смысл подумать даже о меге32, если проект не просто работает с винтом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за столь развёрнутый ответ. Работать надо именно с винтом. Про память понял. Посмотрел в сети примеры работы с винтами и AVR: даже при использовании mega128 часто применяют внешнюю память на 1к. Чем вызвано? Скоростью последней?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот проект на меге128 с исходниками http://www.frankvh.com/mp3player/

и еще один http://www.zinetz.info/article.php?id=avr_ata_6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но если брать сам вопрос, то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься. А для нормальной функциональности (считай, что 512 байт сразу ушло, так что на стэк, переменные компилятора и твои собственные останется только 512 байт, иногда этого не хватает). Ну и по портам смотри, работать нужно будет все-таки параллельно, так что 3 полных порта вынь да положь. Итого есть смысл подумать даже о меге32, если проект не просто работает с винтом.

 

А как вы считаете, если взять m162 или m8515 и добавить винт в адресное пространство контроллера, плюс еще памяти прикрутить 32kb SRAM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то 16 МГц хватает, плюс нужно не менее 1 кб памяти в контроллере, меньшим не обойдешься.

Нет работать, конечно будет, только вот для заяленного PIO-4 или мега будет заниматься только прокачкой данных, или скорость придеться снижать.

Как стоит вопрос? Нужно ли обеспечивать 16Мб/с?

 

даже при использовании mega128 часто применяют внешнюю память на 1к. Чем вызвано? Скоростью последней?

Винт устройство блочное, т.е. нельзя адресоваться к байту по произвольному адресу, как в электронной памяти. Минимальная единица адресации - блок 512 байт. Т.е если нужен всего один байт придеться

все равно читать 512 (ну и где-то их хранить). т.е. чем больше в системе ОЗУ, тем легче работать.

Как верно заметил Polaris, как минимум 512 байт придеться в любом случае отрезать под буфер винта.

По поводу теории советую обратиться к творчеству М.Гука написавшего кучу справочников по железу РС.

добавить винт в адресное пространство контроллера

Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :)

 

http://www.interfacebus.com/IDE_HardDrive_...escription.html

 

старые стандарты ATA1 и ATA2 (более быстрые и не нужны для связи с AVR), поддерживают 8-ми битные данные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может я чего-то забыл, но у винтов ИМХО 16-разрядная шина данных. :)

 

http://www.interfacebus.com/IDE_HardDrive_...escription.html

 

старые стандарты ATA1 и ATA2 (более быстрые и не нужны для связи с AVR), поддерживают 8-ми битные данные.

 

НЕ ВЕРЬТЕ! 8 бит можно в регистры комманд просунуть. Буфер данных - только по 16 бит. Этим наелись, когда к спектруму цепляли. Приходилось доп. буфер старшего байта ставить, иначе - никак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

НЕ ВЕРЬТЕ! 8 бит можно в регистры комманд просунуть. Буфер данных - только по 16 бит. Этим наелись, когда к спектруму цепляли. Приходилось доп. буфер старшего байта ставить, иначе - никак.

 

Видимо не сполна наелись, либо винт не поддерживал ATA1/2 :)

http://www.t13.org/docs2004/e04153r0_Annex...l_cmd_usage.pdf - 80kb

на странице 8, table 2 можно найти ATA команду - ENABLE 8-bit TRANSFERS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

НЕ ВЕРЬТЕ! 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 бит и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос стоит именно - PIO-4. Шина данных винта однозначно 16 бит.

То, что необходим МС с большим кол-ом портов, нежели 8535 - понятно (ещё нужен LCD и клава ...).

За ссылки отдельное спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос стоит именно - PIO-4. Шина данных винта однозначно 16 бит.

То, что необходим МС с большим кол-ом портов, нежели 8535 - понятно (ещё нужен LCD и клава ...).

 

Я бы например, в таком случае про AVR забыл бы, явно проситься, что-то

ARMовское.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...