| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Стркутурна схема 4-х канального IDE |
| Автор: Reminaru 17.12.2013, 12:31 |
| Помогите, пожалуйста построить структурную схему 4-канального контроллера IDE для подключения по 4-устройств на каждом канале. |
| Автор: Reminaru 17.12.2013, 14:50 | ||||
Ну смотри там задание сейчас кину Постройте структурную схему N-канального контроллера IDE для подключения по K- устройств на каждом канале. у меня n=4 k=4 может вместо ide ata имеется ввиду, так как одно на другое заменили, можень нарисовать? |
| Автор: xvr 17.12.2013, 19:12 |
IDE и есть ATA (точнее PATA). 4 девайса на канал не включить никак - на 1 канал всего 1 сигнал для выбора устройства, т.е. максимум 2 устройства. |
| Автор: Reminaru 16.1.2014, 12:00 | ||
Да я знаю, только препод сказал, я понимаю, что нельзя, что это кто-то пробовал и не прижилось, ответьте на 2 вопроса я поставлю зачет, первый как решить в этом случае вопрос с прерыванием, ответ будет поставить 32 разрядный контроллер прерываний, а второй вопрос какая будет адрессация, ну как я понял надо поставить блок расшения и аппаратно решить вопрос с адрессацией, ну допустим блок есть а как к нему уже подсоединить сами устрйоства? |
| Автор: xvr 16.1.2014, 12:41 |
| Стандартным образом подключить к PATA каналу 4 устройства нельзя никак, вообще никак. Можно сам канал PATA использовать как некий расширитель, но в этом случае со стороны ОС этот канал уже не будет стандартным ATA каналом, и подключенные к нему устройства должны обрабатываться каким то своим собственным драйвером. Если это приемлемо, то тут можно сделать все, что угодно. PATA - это просто несколько регистров и в пространтстве ввода вывода. К ним можно много чего подключить. |
| Автор: tzirechnoy 16.1.2014, 20:18 | ||||||||
Что он там курит? Кто что пробовал? В обязательном наборе команд PATA передаётся однобитный адрес устройства (или через спецыальный провод, или спецыальным битом в заголовке reg read/reg write) -- что там вообще пробовать? Просто не существует способов обмениваться некоторыми базовыми командами PATA более чем с двумя серийными PATA-устройствами на одном пассивном кабеле.
С прерыванием как раз никаких вопросов нет -- прерывание процэссора замечательно шарится между скольки угодно устройствами. Драйвер определяет необходимые действия чтением регистров контроллера. На шыне -- отвечать на запросы можэт только выбранный контроллером диск. Учитывая, что начиная кажэтся с ATA-2 выбирать можно не отдельным проводом, а через бит в заголовке пакета -- ну, сделайте другие (несовместимые с серийно изготавливаемыми изделиями) заголовки, в которых devno будет два бита.
Какая можэт быть адресацыя у четырёх slave-устройств на шыне, если ужэ есть пример адресацыи двух устройств одним битом? По-моему, всё очевидно.
Серийные, с обеспечением обратной совместимости -- по сути никак. Если бы это было можно -- скорее всего это бы сделали, расшырили бы до 16 устройств чтобы было вровень со SCSI. Свои, несовместимые -- берёшь и подключаешь, типичная общая шына, учитывая большые запасы по подключённой ёмкости -- она ещё много устройств выдержыт. |