реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> IDE host-controller, необходимый минимум
Doka
сообщение Aug 15 2006, 09:52
Сообщение #1


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



надо написать синтезируемый хост-контроллер для IDE HDD.
не могу понять что собой представляет тот самый функциональный минимум, от которого можно отталкиваться в виде отправной точки.
вроде как АТА без всяких извратов должны поддерживать все устройства
но смутила дока на корку IDE-контроллера - там три разных версии и только последняя поддерживает HDD|CDROM. первые две - только CF.
действительно ли поддержка пакетного режима ( ATAPI ) необходима только для CDROM и подобных устройств?
является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?
что подразумевает собой термин "полная совместимость с АТА" (в функциональном плане)??


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Aug 15 2006, 17:57
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(Doka @ Aug 15 2006, 13:52) *
является ли поддержка DMA для HDD необходимой функцией, или это способ уменьшения издержек и повышения общего быстродействия системы?


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

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

На всякий случай, напоминаю о существовании вот этого проекта...
http://www.opencores.org/projects/ata
Go to the top of the page
 
+Quote Post
Doka
сообщение Aug 15 2006, 21:49
Сообщение #3


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



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


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Harbour
сообщение Aug 16 2006, 01:31
Сообщение #4


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Hmm, а разве необходимый минимум это не дешифратор wink.gif ?
Go to the top of the page
 
+Quote Post
Doka
сообщение Aug 16 2006, 23:17
Сообщение #5


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Harbour, а это смотря для чего.
весь обмен допустимо реализовать на программном уровне, но загвоздка в ином:
если на уровне абстракции расписывать, то есть две трубы - одна входная, другая выходная.
по ним гоняются пакеты формата "адрес-длина-данные"
на приём пакета и запись в IDE проблем нет. Ставим ПЛИС c дешифратором и другой примитивной обвязкой.
Вопросы появляются, когда надо что-то передать _от_ IDE:
для этого надо что-то ПЛИСой из HDD считать и передать в выходную трубу.
а вот тут уже надо бы парсить вх.команды: с какого адреса регистров HDD и сколько раз считать
+ обработка всяких BUSY и ERRORов


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Harbour
сообщение Aug 17 2006, 03:47
Сообщение #6


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Берем стандарт, выбираем нужный режим, например PIO, пишем/слямзиваем/отлаживаем простой исходник на C под MS-DOS, который делает то что нужно с винтом, далее в FPGA - или делаем FSM или мостырим процик на 7-10 команд и на нем повторяем то что уже работает в тестовом исходнике.
Go to the top of the page
 
+Quote Post
Управдом
сообщение Dec 18 2006, 10:56
Сообщение #7





Группа: Новичок
Сообщений: 7
Регистрация: 18-12-06
Пользователь №: 23 634



Цитата(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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th July 2025 - 04:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016