Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IDE host-controller
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > IDE/ATA/SATA/SAS/SCSI/CF
Doka
надо написать синтезируемый хост-контроллер для IDE HDD.
не могу понять что собой представляет тот самый функциональный минимум, от которого можно отталкиваться в виде отправной точки.
вроде как АТА без всяких извратов должны поддерживать все устройства
но смутила дока на корку IDE-контроллера - там три разных версии и только последняя поддерживает HDD|CDROM. первые две - только CF.
действительно ли поддержка пакетного режима ( ATAPI ) необходима только для CDROM и подобных устройств?
является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?
что подразумевает собой термин "полная совместимость с АТА" (в функциональном плане)??
Джеймс
Цитата(Doka @ Aug 15 2006, 13:52) *
является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?


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

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

На всякий случай, напоминаю о существовании вот этого проекта...
http://www.opencores.org/projects/ata
Doka
Джеймс, спасибо. доку именно к этой корке я и изучаю =)
смутило как раз то, что в первых двух вариантах (для CF ) написано ,что достаточно PIO, а третий (пожирнее) со всеми наворотами - это для HDD|CDROM
Harbour
Hmm, а разве необходимый минимум это не дешифратор wink.gif ?
Doka
Harbour, а это смотря для чего.
весь обмен допустимо реализовать на программном уровне, но загвоздка в ином:
если на уровне абстракции расписывать, то есть две трубы - одна входная, другая выходная.
по ним гоняются пакеты формата "адрес-длина-данные"
на приём пакета и запись в IDE проблем нет. Ставим ПЛИС c дешифратором и другой примитивной обвязкой.
Вопросы появляются, когда надо что-то передать _от_ IDE:
для этого надо что-то ПЛИСой из HDD считать и передать в выходную трубу.
а вот тут уже надо бы парсить вх.команды: с какого адреса регистров HDD и сколько раз считать
+ обработка всяких BUSY и ERRORов
Harbour
Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике.
Управдом
Цитата(Harbour @ Aug 17 2006, 03:47) *
Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике.
А можно попросить чуточку подробнее? Исходник есть (работает под MS-DOS на Octagon 400) начальство поставило задачу: в кратчайший момент перейти на ПЛИС что бы во первых: поднять скорость хотя бы до UDMA33, избавиться от M/B и ОС MS-DOS, уменьшить конструкцию как по габаритам, так и по энергопотреблению. Сложность в том, что с ПЛИС я не работал, и сейчас просто зашился с потоком информации. Собственно нужна помощь в выборе конкретной МС, которая обеспечит функциональную замену тому, что у нас сейчас есть: это регистратор, который собирает данные с 200 АЦП 100раз в секунду и записывает на HDD, так же осуществляет обратную передачу с HDD через интерфейс Ethernet во внешнее устройство. help.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.