Doka 4 15 августа, 2006 Опубликовано 15 августа, 2006 · Жалоба надо написать синтезируемый хост-контроллер для IDE HDD. не могу понять что собой представляет тот самый функциональный минимум, от которого можно отталкиваться в виде отправной точки. вроде как АТА без всяких извратов должны поддерживать все устройства но смутила дока на корку IDE-контроллера - там три разных версии и только последняя поддерживает HDD|CDROM. первые две - только CF. действительно ли поддержка пакетного режима ( ATAPI ) необходима только для CDROM и подобных устройств? является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы? что подразумевает собой термин "полная совместимость с АТА" (в функциональном плане)?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Джеймс 4 15 августа, 2006 Опубликовано 15 августа, 2006 · Жалоба является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы? Да. Повышение скорости обмена. В проекте достаточно реализовать только PIO. Ни про CD-ROM, ни про CF не знаю, поэтому не пишу. На всякий случай, напоминаю о существовании вот этого проекта... http://www.opencores.org/projects/ata Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 15 августа, 2006 Опубликовано 15 августа, 2006 · Жалоба Джеймс, спасибо. доку именно к этой корке я и изучаю =) смутило как раз то, что в первых двух вариантах (для CF ) написано ,что достаточно PIO, а третий (пожирнее) со всеми наворотами - это для HDD|CDROM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 16 августа, 2006 Опубликовано 16 августа, 2006 · Жалоба Hmm, а разве необходимый минимум это не дешифратор ;) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Doka 4 16 августа, 2006 Опубликовано 16 августа, 2006 · Жалоба Harbour, а это смотря для чего. весь обмен допустимо реализовать на программном уровне, но загвоздка в ином: если на уровне абстракции расписывать, то есть две трубы - одна входная, другая выходная. по ним гоняются пакеты формата "адрес-длина-данные" на приём пакета и запись в IDE проблем нет. Ставим ПЛИС c дешифратором и другой примитивной обвязкой. Вопросы появляются, когда надо что-то передать _от_ IDE: для этого надо что-то ПЛИСой из HDD считать и передать в выходную трубу. а вот тут уже надо бы парсить вх.команды: с какого адреса регистров HDD и сколько раз считать + обработка всяких BUSY и ERRORов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbour 0 17 августа, 2006 Опубликовано 17 августа, 2006 · Жалоба Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Управдом 0 18 декабря, 2006 Опубликовано 18 декабря, 2006 · Жалоба Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике. А можно попросить чуточку подробнее? Исходник есть (работает под MS-DOS на Octagon 400) начальство поставило задачу: в кратчайший момент перейти на ПЛИС что бы во первых: поднять скорость хотя бы до UDMA33, избавиться от M/B и ОС MS-DOS, уменьшить конструкцию как по габаритам, так и по энергопотреблению. Сложность в том, что с ПЛИС я не работал, и сейчас просто зашился с потоком информации. Собственно нужна помощь в выборе конкретной МС, которая обеспечит функциональную замену тому, что у нас сейчас есть: это регистратор, который собирает данные с 200 АЦП 100раз в секунду и записывает на HDD, так же осуществляет обратную передачу с HDD через интерфейс Ethernet во внешнее устройство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться