Alhen 0 21 сентября, 2004 Опубликовано 21 сентября, 2004 · Жалоба Что-то непонятное творится с прерыванием на ISA шине: на одних компьютерах по фронту на других по срезу, длительность должна быть в определенных пределах? Может кто подскажет что почитать потому что у "Блохина" ничего про это не написано? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergM 0 21 сентября, 2004 Опубликовано 21 сентября, 2004 · Жалоба В спецификации на ISA. Ее под руками нет, но 2-ю редакцию на EISA см. в приложенном файле (2.6 МБ, естественно, на английском). eisabook.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-Tумблер- 0 5 ноября, 2004 Опубликовано 5 ноября, 2004 · Жалоба Что-то непонятное творится с прерыванием на ISA шине: Прерывания должны быть по нарастающему фронту. Но если кто-либо перепрограммирует контроллер прерывания то может получиться по уровню. Линия прерывания должна быть через резистор на землю. Иногда из-за экономии линий прерываний делают монтажное или с 3-м состоянием. Это может не очень хорошо работать.. т.е.: установить прерывание - активная 1 снять прерывания - 3-й стэйт. Если уровень убывает медленно фигня может получиться. После начала производства контроллеров (в том числе на основе x86) и одноплатных компьютеров с ISA на их основе появилась возможность программировать линии прерываний как угодно индивидуально. Это от конкретных разработчиков и программистов зависит. :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alhen 0 9 ноября, 2004 Опубликовано 9 ноября, 2004 · Жалоба Хочу поделиться своим экспериментом с прерываниями на шине ISA. Согласно книге EISA System Architecture (глава 4) запрос на прерывание производится с линии имеющей Z-состояние без каких-либо подтягивающих резисторов. Запрос на прерывание - это переход от низкого в Z-состояние. Контроллер прерываний сам имеет подтягивающий резистор и когда устройство запрашивает прерывание, то переход от низкого в Z состояние фактически является переходом от низкого к высокому на входе контроллера. Сам факт перехода запоминается контроллером и когда процессор откликается на прерывание, происходит проверка текущего состояния линии вызвавшей прерывание, если на ней высокий уровень – все нормально это действительно запрос на прерывание, если низкий - это помеха или ошибка. В своем проекте я формирую прерывание с помощью импульса (1мкс) -от Z к низкому и от низкого к Z. Удалось соединить несколько источников прерываний без конфликтов на одной линии IRQ. (Конфликты были программные и страшные – бесконечное множество пугающих окошек). Кому интересны детали, привожу описание (графическую схему, текст в AHDL) части проекта касающейся прерываний. Может я все таки, что-то делаю не так, но устройство реально работает. INT_ISA.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться