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

IDE host-controller

надо написать синтезируемый хост-контроллер для IDE HDD.

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

вроде как АТА без всяких извратов должны поддерживать все устройства

но смутила дока на корку IDE-контроллера - там три разных версии и только последняя поддерживает HDD|CDROM. первые две - только CF.

действительно ли поддержка пакетного режима ( ATAPI ) необходима только для CDROM и подобных устройств?

является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?

что подразумевает собой термин "полная совместимость с АТА" (в функциональном плане)??

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


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

является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?

 

Да. Повышение скорости обмена. В проекте достаточно реализовать только PIO.

 

Ни про CD-ROM, ни про CF не знаю, поэтому не пишу.

 

На всякий случай, напоминаю о существовании вот этого проекта...

http://www.opencores.org/projects/ata

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


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

Джеймс, спасибо. доку именно к этой корке я и изучаю =)

смутило как раз то, что в первых двух вариантах (для CF ) написано ,что достаточно PIO, а третий (пожирнее) со всеми наворотами - это для HDD|CDROM

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


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

Harbour, а это смотря для чего.

весь обмен допустимо реализовать на программном уровне, но загвоздка в ином:

если на уровне абстракции расписывать, то есть две трубы - одна входная, другая выходная.

по ним гоняются пакеты формата "адрес-длина-данные"

на приём пакета и запись в IDE проблем нет. Ставим ПЛИС c дешифратором и другой примитивной обвязкой.

Вопросы появляются, когда надо что-то передать _от_ IDE:

для этого надо что-то ПЛИСой из HDD считать и передать в выходную трубу.

а вот тут уже надо бы парсить вх.команды: с какого адреса регистров HDD и сколько раз считать

+ обработка всяких BUSY и ERRORов

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


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

Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике.

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


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

Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике.
А можно попросить чуточку подробнее? Исходник есть (работает под MS-DOS на Octagon 400) начальство поставило задачу: в кратчайший момент перейти на ПЛИС что бы во первых: поднять скорость хотя бы до UDMA33, избавиться от M/B и ОС MS-DOS, уменьшить конструкцию как по габаритам, так и по энергопотреблению. Сложность в том, что с ПЛИС я не работал, и сейчас просто зашился с потоком информации. Собственно нужна помощь в выборе конкретной МС, которая обеспечит функциональную замену тому, что у нас сейчас есть: это регистратор, который собирает данные с 200 АЦП 100раз в секунду и записывает на HDD, так же осуществляет обратную передачу с HDD через интерфейс Ethernet во внешнее устройство. :help:

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


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

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

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

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

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

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

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

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

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

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