Радости экспериментов с ISA и PCI
С момента появления домашних компьютеров существует возможность расширять их функционал путём установки большего количества RAM, более ёмких накопителей, дополнительных комплектующих. Но только с появлением IBM PC привычной стала идея о полностью открытой модульной компьютерной системе. А именно, концепция карт расширения позволила пользователям компьютеров не зависеть от конфигураций систем, предлагаемых производителями. Подобные конфигурации можно было, в ограниченных пределах, расширять комплектующими, рассчитанными исключительно на эти системы. Благодаря универсальным картам расширения появились целые отрасли промышленности, они стали и причиной возникновения большого рынка любительских устройств, которые можно было подключать к компьютерам.

В первом IBM PC было пять 8-битных слотов расширения, подключённых прямо к процессору 8088. Компьютер IBM PC/AT был основан на процессоре 80286, в результате слоты стали 16-битными. С помощью слотов расширения к компьютеру можно было подключать практически всё что угодно: графические и сетевые карты, дополнительную память, какие-то особые платы. Хотя для этих слотов расширения и не существовало официального наименования, во времена PC/AT их называли, соответственно, PC-шинами и AT-шинами. А название Industry Standard Architecture (ISA) — это ретроним, который придумали создатели клонов PC.
Такая открытость ISA означала то, что можно было достаточно легко и дёшево создавать собственные ISA-карты. То же касалось и шины PCI, которая появилась после ISA и была такой же открытой. В результате до сих пор существует полная жизни экосистема, в которой есть место и любительским звуковым картам, рассчитанным на слоты PCI или ISA, и картам расширения, позволяющим оснастить IBM PC 1981-го года поддержкой USB, и много чему ещё.
С чего начать тому, кто в наши дни хочет заняться работой с ISA- и PCI-картами?
Цена простоты

Сверху вниз: 8-битная XT-карта, 16-битная AT/ISA карта, 32-битная EISA-карта
О шине ISA, и о появившихся до неё шинах PC/AT, нужно знать одну важную вещь. Это — не особенно универсальные шины, так как они используются для работы с устройствами, подключёнными к шинам адреса и памяти процессоров 8088 и 80286. Это значит, что, например, тактовая частота шины равняется тактовой частоте соответствующего процессора. А именно, для PC-шины это — 4,77 МГц, а для PC/AT-шины — это 6-8 МГц. Хотя 8-битные карты обычно можно использовать в 16-битных слотах, нет гарантии того, что такие карты, подключённые к этим слотам, будут нормально работать.
По мере того, как разработчики клонов PC использовали в своих моделях компьютеров всё более быстрые процессоры, частота шины AT, в итоге, пришла к значениям, находящимся где-то между 10 и 16 МГц. Это, понятно, привело к тому, что многие существующие AT-карты (ISA) работали в подобных системах неправильно. Через некоторое время большинство производителей оборудования сделало так, чтобы частота шины не была бы напрямую связана с частотой процессора. Но несмотря на то, что в названии шины ISA есть намёк на нечто стандартизированное, настоящего стандарта этой шины не существовало.
Правда, была попытка стандартизировать замену ISA, получившую название Extended ISA (EISA). Эта 32-битная шина, работавшая на частоте 8,33 МГц, была создана в 1988 году. Хотя на рынке домашних компьютеров она и не «взлетела», некоторым вниманием она пользовалась среди пользователей серверного оборудования, особенно — как более дешёвая альтернатива собственной шине IBM Micro Channel architecture (MCA). Компания IBM задумывала эту шину в качестве замены ISA.
В итоге же шина ISA дожила до наших дней, сохранившись, в основном, в промышленном оборудовании и во встраиваемых системах (например, в виде шины LPC), в то время как в других сферах был сначала осуществлён переход на PCI, а позже — на PCIe. А вот интерфейсы для подключения видеокарт к компьютерам шли своим путём. Речь идёт о шинах VESA Local Bus (VLB) и Accelerated Graphics Port (AGP), которые представляют собой специализированные интерфейсы, нацеленные на нужды GPU.
Начало работы с новыми старыми технологиями

Естественным результатом этой бурной истории, в той её части, которая касается ISA, стало то, что тому, кто решил создать новую «карту расширения ISA», следует действовать с осторожностью. Для того чтобы подобное изделие отличалось бы по-настоящему широкой совместимостью, можно разработать 8-битную карту, которая может работать на шинах с частотами, находящимися в диапазоне от 4,77 до 20 МГц. А на разработку 16-битных карт стоит обратить внимание тем, кому не нужно поддерживать компьютеры, основанные на процессоре 8088. При разработке PC/104-карт вообще не должно быть никаких проблем с совместимостью, так как эта шина до крайности близка к наиболее стандартному варианту ISA.
При разработке устройств для ISA и PCI физический интерфейс тоже особых проблем не доставляет, так как и в том и в другом случаях используются контакты, расположенные на ребре платы. Именно такой вариант расположения контактов на платах, актуальный до наших дней, был выбран, преимущественно, из-за его дешевизны и надёжности. На плате расширения нет какого-то физического коннектора. Там, на краю, находятся лишь контактные площадки, которые позволяют подключить плату к слоту. При проектировании подобных плат, правда, надо обращать внимание на их толщину, так как от неё зависит надёжность контакта. Обычно хорошо показывает себя толщина платы в 1,6 мм.
Если кто-то хочет самостоятельно создать ISA или PCI-плату — в интернете можно найти параметры контактов для таких плат. Например — этот отличный обзор. Тут, в частности, есть сведения о расстоянии между контактными площадками, о форме платы в том месте, где находятся контакты, о размерах контактных площадок и о других параметрах плат и контактов.
При проектировании электрических цепей плат стоит знать о том, что ISA использует напряжение в 5 В, а PCI может использовать 5 В, 3,3 В, или и то и другое. В случае с PCI платы различают, используя выступы в PCI-слотах и выемки на картах (ключи). Так, если в слоте имеется один выступ, расположенный на расстоянии 56,21 мм от той его стороны, на котором находятся разъёмы подключаемой к нему карты, то это будет слот, рассчитанный на карты, поддерживающие напряжение 3,3 В. Выступ, расположенный на расстоянии 104,77 мм от края слота, указывает на слот для 5 В-карт. На краях карт есть соответствующие выемки. Если карта поддерживает и 5, и 3,3 В — то на ней будет две выемки (это — так называемые универсальные карты).

Ключи на PCI-картах и разъёмах
Существуют 32-битные и 64-битные варианты PCI. Причём, всеобщий интерес на рынке домашних компьютеров вызвал именно первый вариант шины. Если говорить о развитии PCI, то можно отметить интерфейс PCI-X. Эта шина, в 64-битном варианте, в основном, применялась в серверных системах. В PCI-X удвоена максимальная частота шины (с 66 до 133 МГц) и убрана поддержка 5 В. Поэтому PCI-X-карты часто работают при их установке в слоты PCI, рассчитанные на 3,3 В (то же самое справедливо и для PCI-карт, устанавливаемых в слоты PCI-X). 64-битная карта, и PCI, и PCI-X, может перейти в 32-битный режим в том случае, если она установлена в более короткий, 32-битный слот.
Работа с шинами
Каждое устройство, подключённое к шине, увеличивает нагрузку на неё. Кроме того, если речь идёт о шинах с общими линиями связи, важно, чтобы отдельные устройства могли бы отключаться от этих линий в то время, когда они эти линии не используют. Обычно для реализации такой схемы работы используется буферный элемент с тремя состояниями. Например — такой, как распространённый 74LS244.

Логическая схема 74LS244
74LS244 может не только обеспечивать изоляцию, что умеют и стандартные цифровые буферы. Этот элемент может переключаться в высокоимпедансное состояние (Hi-Z), что равносильно отключению устройства.
В случае с ISA-картами нам, для организации правильного взаимодействия с шиной, нужно нечто вроде 74LS244 или его двунаправленного варианта 74LS245. У каждой сигнальной линии должен быть буфер или «защёлка». Подробнее об этом можно почитать здесь. А тут описан хороший пример современной ISA-карты, называемой Snark Barker и представляющей собой клон SoundBlaster.
PCI-карты, по идее, тоже можно создавать, используя подобный подход, но обычно в коммерческих PCI-картах используют специализированные интегральные схемы для ускорения ввода-вывода, которые предоставляют компонентам карт простой интерфейс, похожий на ISA. Подобные решения в наши дни, правда, нельзя назвать дешёвыми (если только не рисковать, связываясь с чем-то вроде WCH CH365). Поэтому хорошей альтернативой подобным решениям является реализация PCI-контроллера на базе FPGA. MCA-версия вышеупомянутой карты Snark Barker использует для взаимодействия с шиной MCA CPLD. На сайтах вроде OpenCores имеются проекты, ориентированные на PCI, которые можно использовать в качестве отправной точки для собственных разработок.
Обмен данными с шинами ISA и PCI
После создания новенькой платы с золотыми контактами, и после того, как на ней распаяны буферные элементы или FPGA, нужно ещё и иметь возможность обмениваться данными с шиной ISA или PCI, пользуясь соответствующим протоколом. К счастью, существует множество материалов по ISA, например — этот. А вот протокол PCI, вроде протокола PCIe, это — «коммерческая тайна». В результате соответствующие данные можно официально (и небесплатно) достать лишь на сайте PCI-SIG. Правда, спецификации, всё же, «утекли» в общий доступ.
Конечно, можно использовать существующие ISA- или PCI-проекты в качестве шаблона или руководства для собственных проектов. Вышеупомянутые проекты CPLD/FPGA предлагают нам механизм, позволяющий избежать необходимости в самостоятельной реализации протоколов, а значит — помогают сразу добраться до самого интересного. Создателю платы, в любом случае, придётся использовать систему прерываний (IRQ) для соответствующей шины (выделенные сигнальные линии, основанные, в последних версиях PCI, на сообщениях), а так же учитывать возможность использования DMA (DRQn и DACKn в ISA). Рассказ о тонкостях шин ISA и PCI займёт целую статью. Правда, тем, у кого были ISA-карты с переключателями, или (что хуже), с ISA PnP (Plug’n’Pray), многое из этого должно быть уже знакомо.
Как и в случае с любой другой общей шиной, схема взаимодействия с шиной при записи или чтении данных предусматривает запрос доступа к шине у «хозяина шины» или, в случае с шиной PCI с несколькими «хозяевами», использование процедуры арбитража. К карте расширения, кроме того, можно обращаться напрямую (вот материал об этом, в котором речь идёт об ISA). В Linux это подразумевает использование программ ядра ( sys/io.h ). Сначала получают соответствующие разрешения, а потом уже можно отправлять данные в конкретный IO-порт, соответствующий карте. В целом это выглядит так:
if (ioperm(OUTPUT_PORT, LENGTH+1, 1)) < . >if (ioperm(INPUT_PORT, LENGTH+1, 1)) < . >outb(data, port); data = inb(port);
В случае с ISA адрес IO-порта задаётся в самой плате, а для распознавания адреса используется декодер, находящийся на линиях адресного сигнала. Часто на платах для выбора адреса, а так же — линий IRQ и DMA использовались переключатели или перемычки. Технология ISA PnP была призвана улучшить этот процесс, но по факту принесла больше вреда, чем пользы. В случае с PCI технология PnP является частью стандарта. Шина PCI осуществляет поиск устройств при загрузке, а встроенная ROM (BIOS) запрашивает у карт сведения об их нуждах, после чего адреса и другие параметры задаются автоматически.
Итоги
Конечно, если говорить о разработке собственных ISA- или PCI-плат, то тут были рассмотрены лишь самые основы этого дела. Но, надеюсь, мой материал позволил вам хотя бы увидеть общую картину происходящего. Многое из того, что нужно конкретному разработчику карт расширения, зависит от того, какую именно карту он хочет создать, от того является ли она простой 8-битной картой ISA (PC/XT), или 64-битной картой PCI-X.
Правда, шины ISA и PCI хороши тем, что они доступны даже любителям. Скорости этих шин, если нужно отлаживать или анализировать платы, вполне укладываются в возможности любительского аппаратного обеспечения и соответствующих осциллографов. Использование достаточно медленных параллельных шин данных означает, что дифференциальные сигналы тут не применяются, а это облегчает трассировку плат.
Хотя те старые шины, о которых мы говорили, не являются игроками той же лиги, что и шина PCIe, их возможности и их широкая доступность означают, что они могут дать старым компьютерам второй шанс. Даже если речь идёт о чём-то очень простом, вроде накопителя, основанного на флэш-памяти, предназначенного для первого IBM PC.
Занимались ли вы разработкой собственных ISA- или PCI-карт?
Шины PCI, PCI Express и ISA
Самое главное достоинство современного персонального компьютера — открытая архитектура. На практике это означает, что вы можете самостоятельно подобрать конфигурацию конкретного экземпляра компьютера под ваши нужды. И такой компьютер будет максимально приспособлен для решения именно ваших задач и лишен ненужного балласта в виде неиспользуемых компонентов.
Достигается это за счет возможности установить в компьютер ту или иную карту (плату) расширения. Например, если вы профессионально работаете со звуком, то просто устанавливаете звуковую карту соответствующего уровня; если вам требуется организовать подключение к беспроводной точке доступа, вы инсталлируете сетевую карту Wi-Fi и т.п.
В настоящий момент многие функции, ранее требовавшие для своей реализации установки карт расширения, изначально заложены в чипсет. Скажем, подавляющее большинство современных компьютеров имеют интегрированные звуковой и сетевой контроллеры. Иногда добавляют новые возможности и производители материнских плат, интегрируя (распаивая на основной плате) соответствующий контроллер. Примером могут служить порты IEEE1394.
Пока что большинство карт расширения для связи с остальными компонентами компьютера используют шину PCI. Физически это означает, что карта устанавливается в специальный разъем — слот — шины PCI на материнской плате.
Некоторое время назад была распространена шина ISA, скорость работы которой весьма невелика, но ее вполне хватало для карт расширения, не требующих фантастического быстродействия (модемов, звуковых карт). Популярность этой шины объяснялась принципом совместимости — можно было установить в компьютер карты расширения, выпущенные за несколько лет до этого. Но в настоящий момент все современные компьютеры не имеют шины ISA.
Зато появилась новая последовательная шина PCI Express («обычная» PCI и ISA — параллельные шины). Современные технологии позволили добиться высокой производительности при использовании минимального числа сигнальных линий (и, как следствие, числа контактов в разъеме). К тому же PCI Express весьма гибка — если для какой-то карты расширения не хватает быстродействия одной линии, можно объединить несколько линий PCI Express в одном разъеме. В остальном это такая же шина для подключения карт расширения. Более того, на программном уровне она совместима с «обычной» PCI.
Рассмотрим, как происходит взаимодействие карт расширения с остальными компонентами компьютера. Основную роль здесь играют прерывания (IRQ — Interrupt ReQuest). Если какой-либо карте необходимо передать или получить данные, она выставляет выделенное ей прерывание в активное значение, «сообщая» таким образом процессору о своих «потребностях». Процессор, обнаружив активное прерывание, прерывает работу с текущими данными и выполняет обработку запроса карты расширения, после чего «возвращается» к прерванной задаче.
Непосредственно сам процесс обмена данными происходит с помощью адресного пространства, выделяемого карте расширения. Если карте необходимо передать информацию, она записывает ее по выделенным адресам, если получить — считывает необходимые данные, обращаясь к выделенному адресному пространству.
При работе в 32-х разрядном режиме адресное пространство современных карт расширения обычно находится в диапазоне между и . Естественно, даже если у вас установлено 4 Гбайта оперативной памяти, вы не сможете использовать зарезервированные для карт адреса для хранения произвольных данных. Именно в этом лежит проблема многих разрядных операционных систем, «видящих», максимум, 3.5 Гбайта оперативной памяти. В разрядном режиме адресное пространство карт расширения в любом случае лежит выше границ имеющейся оперативной памяти, снимая данную проблему.
В «классическом» варианте имеется 16 прерываний. Часть из них жестко назначена определенным устройствам, остальные же могут использовать карты расширения.
| Номер прерывания | Использование картами | Назначение |
| 0 | – | Системный таймер |
| 1 | – | Используется контроллером клавиатуры |
| 2 | – | Дублирует прерывание 9 |
| 3 | + | Обычно используется для порта COM2 |
| 4 | + | Обычно используется для порта COM1 |
| 5 | + | Свободно, часто используется звуковыми картами для совместимости с Sound Blaster Pro, может использоваться контроллером USB |
| 6 | – | Используется контроллером флоппи-дисковода |
| 7 | + | Обычно используется для порта LPT |
| 8 | – | Часы реального времени |
| 9 | + | Используется системой расширенного конфигурирования и управления питанием (каскадировано с прерыванием 2), также может использоваться контроллером USB или видеокартой |
| 10 | + | Свободно |
| 11 | + | Обычно используется видеокартой |
| 12 | + | Используется мышью, подключаемой к порту PS/2, при ее отсутствии может использоваться другими устройствами |
| 13 | – | Используется сопроцессором |
| 14 | + | Обычно используется для первичного канала IDE-контроллера |
| 15 | + | Обычно используется для вторичного канала IDE-контроллера |
Помимо этого имеется одно немаскируемое прерывание (NMI), имеющее наивысший приоритет. Оно генерируется, когда возникает ошибка чтения данных из памяти, любая другая неисправимая ошибка в системе.
При использовании расширенного контроллера прерываний, атрибута любого современного компьютера, количество прерываний увеличивается до 24, что существенно упрощает наращивание возможностей компьютера за счет карт расширения и интегрированных контроллеров. К тому же современные карты расширения для шин PCI и PCI Express, как, впрочем, и многие аппаратные компоненты компьютера, способны разделять одну линию прерывания с другими устройствами, поэтому часто на одном прерывании «сидит» несколько устройств.
| Номер прерывания | Использование картами | Назначение |
| 0 | – | Системный таймер |
| 1 | – | Используется контроллером клавиатуры |
| 2 | – | Дублирует прерывание 9 |
| 3 | + | Обычно используется для порта COM2 |
| 4 | + | Обычно используется для порта COM1 |
| 5 | + | Свободно |
| 6 | – | Используется контроллером флоппи-дисковода |
| 7 | + | Обычно используется для порта LPT |
| 8 | – | Часы реального времени |
| 9 | – | Используется системой расширенного конфигурирования и управления питанием (каскадировано с прерыванием 2) |
| 10 | + | Свободно |
| 11 | + | Обычно используется видеокартой |
| 12 | + | Используется мышью, подключаемой к порту PS/2, при ее отсутствии может использоваться другими устройствами |
| 13 | – | Используется сопроцессором |
| 14 | + | Обычно используется для первичного канала IDE-контроллера |
| 15 | + | Обычно используется для вторичного канала IDE-контроллера |
| 16 | + | Как правило используется контроллером USB |
| 17 | + | Обычно используется интегрированной звуковой подсистемой (AC’97 или HDA) |
| 18 | + | Как правило используется контроллером USB |
| 19 | + | Как правило используется контроллером USB |
| 20 | + | Обычно используется интегрированной сетевой картой |
| 21 | + | Свободно |
| 22 | + | Свободно |
| 23 | + | Обычно используется контроллером USB 2.0 |
Физически контроллер прерывания «общается» с картой расширения посредством 4-х («классический» вариант) или 8-и (современные решения) сигнальных линий. Для начала рассмотрим «классический» вариант реализации контроллера.
Карта расширения для шины PCI может генерировать до 4-х запросов на прерывания (INT A#—INT D#). Основным является INT A# (если он занят или карте требуется более одного прерывания, используется INT B#, за ним INT C# и, в последнюю очередь, INT D#). Сигнальные линии по возможности разводятся так, чтобы каждой карте расширения досталась свой основной запрос на прерывание (INT A#). Но, учитывая, что на полноразмерных материнских платах слотов расширения для шины PCI обычно больше четырех, плюс, имеется слот AGP для графической карты, на плате могут быть реализованы интегрированные устройства, некоторые слоты оказываются совмещенными по линиям контроллера прерываний. Приведем пример практической реализации соответствия сигнальных линий контроллера прерываний и запросов.
| Слоты | Сигнальные линии | |||
| PIRQ 0 | PIRQ 1 | PIRQ 2 | PIRQ 3 | |
| AGP | INT A# | INT B# | ||
| PCI 1 | INT A# | INT B# | INT C# | INT D# |
| PCI 2 | INT D# | INT A# | INT B# | INT C# |
| PCI 3 | INT C# | INT D# | INT A# | INT B# |
| PCI 4 | INT B# | INT C# | INT D# | INT A# |
| PCI 5 | INT B# | INT C# | INT D# | INT A# |
На разных материнских платах совмещенными оказываются разные слоты. Это могут быть 4-й и 5-й слоты, как в приведенном примере, 1-й и 5-й, 2-й и 5-й и т.п., все зависит от производителя. Поэтому таблицу соответствия сигнальных линий контроллера прерываний и запросов лучше всегда уточнять в руководстве к материнской плате.
Как уже говорилось, в современных чипсетах количество сигнальных линий контроллера прерываний увеличено до 8-и, что позволяет развести карты расширения и интегрированные контроллеры на разные линии, значительно снизив вероятность неустойчивой работы или конфликта.
| Устройства | Сигнальные линии | |||||||
| PIRQ 1 | PIRQ 2 | PIRQ 3 | PIRQ 4 | PIRQ 5 | PIRQ 6 | PIRQ 7 | PIRQ 8 | |
| Слот AGP | INT A# | INT B# | ||||||
| Контроллер USB 1 | INT A# | |||||||
| Подсистема ACPI | INT B# | |||||||
| Контроллер USB 2 | INT B# | |||||||
| Подсистема AC’97 | INT B# | |||||||
| Контроллер LAN | INT A# | |||||||
| Контроллер USB 3 | INT C# | |||||||
| EHCI-контроллер | INT D# | |||||||
| Слот PCI 1 | INT D# | INT A# | INT B# | INT C# | ||||
| Слот PCI 2 | INT C# | INT B# | INT A# | INT D# | ||||
| Слот PCI 3 | INT D# | INT C# | INT A# | INT B# | ||||
| Слот PCI 4 | INT B# | INT A# | INT C# | INT D# | ||||
| Слот PCI 5 | INT C# | INT A# | INT D# | INT B# | ||||
| Слот PCI 6 | INT A# | INT B# | INT D# | INT C# | ||||
Кстати, в некоторых руководствах к материнским платам в таблице соответствия сигнальных линий контроллера прерываний и запросов указываются не все четыре запроса на прерывания (INT A#—INT D#), а только основной INT A#.
| Устройства | Сигнальные линии | |||||||
| PIRQ 1 | PIRQ 2 | PIRQ 3 | PIRQ 4 | PIRQ 5 | PIRQ 6 | PIRQ 7 | PIRQ 8 | |
| Слот 1 шины PCI | shared | |||||||
| Слот 2 шины PCI | shared | |||||||
| Слот 3 шины PCI | shared | |||||||
| Слот PCI Express 16x | shared | |||||||
| Слот 1 шины PCI Express 1x | shared | |||||||
| Слот 2 шины PCI Express 1x | shared | |||||||
| Слот 3 шины PCI Express 1x | shared | |||||||
| Интегрированная сетевая карта | shared | |||||||
| Контроллер SATA в режиме RAID/AHCI | shared | |||||||
| Контроллер IDE | shared | |||||||
| Контроллер IEEE1394 | shared | |||||||
| Интегрированный звук HDA | shared | |||||||
| 1-й USB 2.0 EHCI-контроллер | shared | |||||||
| 2-й USB 2.0 EHCI-контроллер | shared | |||||||
| 1-й USB-контроллер | shared | |||||||
| 2-й USB-контроллер | shared | |||||||
| 3-й USB-контроллер | shared | |||||||
| 4-й USB-контроллер | shared | |||||||
| 5-й USB-контроллер | shared | |||||||
| Контроллер SATA | shared | |||||||
Еще один механизм, который может применяться картой расширения, называется прямым доступом к памяти (DMA — Direct Memory Access). Он позволяет карте обмениваться данными с оперативной памятью напрямую, минуя процессор. Всего имеется 8 каналов, так же, как и в случае с прерываниями, один канал может использоваться несколькими устройствами.
| Номер канала | Использование картами | Назначение |
| 0 | + | Свободно |
| 1 | + | Свободно, часто используется звуковыми картами для совместимости с Sound Blaster Pro |
| 2 | – | Используется контроллером флоппи-дисковода |
| 3 | + | Обычно используется для порта LPT, функционирующего в режиме ECP или ECP/EPP |
| 4 | – | Используется самим контроллером прямого доступа к памяти |
| 5 | + | Свободно |
| 6 | + | Свободно |
| 7 | + | Свободно |
BIOS Setup позволяет выбрать режимы функционирования шин, например, указать возможность одновременного обращения к PCI и ISA, вручную назначить прерывание и канал прямого доступа к памяти для карты, вставленной в определенный слот (или закрепить прерывание за сигнальной линией контроллера) и т.д.
Полигон призраков
Подключение ISA-видеокарты (Подключение ISA-видеокарты к ПК на базе PIII)
Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Zuse Newbie Сообщения: 45 Зарегистрирован: 24.07.2008,22:07
Подключение ISA-видеокарты
Сообщение Zuse » 29.11.2008,14:55
Подключение ISA-видеокарты к ПК на базе PIII
Есть компьютер на базе Р3-733, на мат. плате есть слоты ISA, PCI, AGP. Есть ISA-видеокарта на чипсете Tridend TVGA9000C.
Пробовал устанавливать ее в ISA-слот — при старте монитор не включается.
Вопрос: можно ли заставить видеокарту работать на данном компьютере.
Zuse
ScoutPilot Advanced Member Сообщения: 529 Зарегистрирован: 16.03.2006,12:14 Откуда: Москва, Перово.
Суля по всему нет. Вот на Asus P2bf в ISA слоте видеокарта работает а в Asus P3Bf уже нет. ТАм не полноценное ISA оно как бы эмулируется или что-то в этом роде.
ScoutPilot
Zuse Newbie Сообщения: 45 Зарегистрирован: 24.07.2008,22:07
Сообщение Zuse » 29.11.2008,16:29
Материнская плата называется Shuttle AV11, построена на чипсете VIA VT82C693A.
Zuse
Teodor Advanced Member Сообщения: 4121 Зарегистрирован: 16.01.2006,09:07 Откуда: Николаев, Украина Контактная информация:
Вклад в сообщество
Сообщение Teodor » 29.11.2008,17:20
ScoutPilot писал(а): Вот на Asus P2bf в ISA слоте видеокарта работает а в Asus P3Bf уже нет. ТАм не полноценное ISA оно как бы эмулируется или что-то в этом роде.
Простите, но бред. Обе платы на основе одного и того же чипсета i440BX, поэтому различий никаких просто быть не может. У меня у самого P3B-F в качестве тестового стенда — все имеющиеся у меня ISA-16 карточки работают там нормально. Более того, я на ней восьмибитные видюхи и контроллеры тестировал — тоже все работают.
Zuse, несколько вопросов:
— как установлены джамперы на карте?
— видеокарта точно рабочая?
— монитор другой пробовался?
— машина сама по себе стартует (т.е. однократный гудок, но не показывает или же пищит «нет видео»)?
Если карточка 100% рабочая, то у меня смутное подозрение, что проблема родственная глюку с инициализацией Trident’ов в Ч/Б режиме на цветных мониторах. Кроме того, у меня есть видюха 16-бит на чипе Genoa, с которой не стартует ни один цветной монитор, а вот ч/б VGA’шка — без проблем. Возможно, с данным Trident’ом та же проблема.
Нерабочих компьютеров не бывает!
http://www.livejournal.com/community/hardware_museum
Teodor
Гость
Сообщение Гость » 29.11.2008,18:00
Присоединяюсь, на p3bf всё отлично с ISA и по другому и быть не может. Более того, на 875 чипсете тоже всё нормально с исой. Видеокарты не проверял, но звуковушки древние, даже не PnP ещё — работают. Хотя от реализации моста может зависеть (ITE или Winbond), но мне видимо повезло. А уж bx’у сам бог велел.
Гость
UFO Почётный пользователь Сообщения: 5650 Зарегистрирован: 12.12.2006,17:24
Вклад в сообщество
Сообщение UFO » 29.11.2008,18:54
Zuse писал(а): Пробовал устанавливать ее в ISA-слот — при старте монитор не включается.
Как вариант: выбор в Bios Setup очерёдности инициализации видео PCI/AGP ни на что не влияет?
Zuse Newbie Сообщения: 45 Зарегистрирован: 24.07.2008,22:07
Сообщение Zuse » 29.11.2008,19:08
Teodor писал(а): Zuse, несколько вопросов:
— как установлены джамперы на карте?
— видеокарта точно рабочая?
— монитор другой пробовался?
— машина сама по себе стартует (т.е. однократный гудок, но не показывает или же пищит «нет видео»)?
1) джамперы установлены так:
J5, J1 — close
пробовал также:
J5, J3, J1 — close;
J5, J2, J1 — close;
J5, J3, J2, J1 — close;
2) Насчет рабочести не могу быть уверен. Есть другая карточка неизвестного производителя, чипсет на ней такой же как на карте от Cirrus Logic CL-GD5402 (см. фото) на чипсете надпись — «acumos avga1 320-01»
http://images.people.overclockers.ru/82299.jpg
на ней нет джамперов, но она тоже не работает.
3) Другой монитор не пробовал, т.к. кроме 17″ ЭЛТ LG есть только 19″ ЖК Samsung.
4) Писки: 1 длинный 2 коротких (не найдена видеокарта)
Когда подключаю вместо первой вторую ISA-видеокарту — картина такая же.
Zuse
Teodor Advanced Member Сообщения: 4121 Зарегистрирован: 16.01.2006,09:07 Откуда: Николаев, Украина Контактная информация:
Вклад в сообщество
Сообщение Teodor » 29.11.2008,20:28
Zuse, теперь понятно, что виновата или видюха или мать, мониторы перебирать бесполезно. Для чистоты эксперимента проверяем эти видюхи на других материнках, а на этой материнке пробуем то, что подсказывает UFO — поменять очередность инициализации видеокарт. Мне недавно довелось материнку Biostar уламывать — у нее стояла очередность: вначале PCI, потом PCI-E. Так вот с установленной монтажкой Matrox RT X100 и видеокартой GeForce 8800GT материнка упорно пыталась инициализировать Matrox и пищала, что видюхи нет, даже не пытаясь инициализировать GeForce. Стоило вытащить Matrox, прекрасно опознала GeForce и после смены порядка инициализации: вначале PCI-E, потом PCI все заработало даже при вставленном Matrox’е. Правда, если сбросить BIOS, все повторится, но пришлось записать как «документированную фичу», поскольку менять мамку сейчас возможности нет. На материнке другого производителя (на таком же чипсете и полностью идентичной функционально) этот глюк не наблюдается.
Нерабочих компьютеров не бывает!
http://www.livejournal.com/community/hardware_museum
Teodor
uav1606 Advanced Member Сообщения: 5894 Зарегистрирован: 16.01.2008,22:04 Откуда: Енакиево Контактная информация:
Как подключить isa плату в современный компьютер
У нас стоит старый (~1993) спектрометр фирмы Dilor с CCD от Wright Instruments, есть старый компьютер и ISA-карта внутри, которая получает данные с CCD.
ISA-карта 16 bit
Вот её фото:
https://cloud.mail.ru/public/KYuc/fV6h7p11N
https://cloud.mail.ru/public/C7Mi/8VMywb7yT
https://cloud.mail.ru/public/3b1c/CU8viLPif
Вот сохранившийся мануал касательно работы с CCD
https://cloud.mail.ru/public/EApV/VmaMhpiGY
Не подскажете, есть ли возможность найти новую материнку, которая заработает с этой картой?
Материнка в старом компьютере: SP98AGP-X
https://cloud.mail.ru/public/Jv6m/5TANUcTFZ
Материнка поддерживала ISA PNP, также, как я понял, там стоит южный мост SIS 5595.
не значит ли это, что под Win XP такая ISA-карта заработает даже на новой промышленной материнке типа MB970 (http://www.ibase.com.tw/english/Product . ting/MB970) ?
Нашёл мануал, только под MB960: https://cloud.mail.ru/public/HbES/24yudS5hr
Внутри используется мост PCI-ISA ITE IT8888G https://cloud.mail.ru/public/9qHG/amzu4Z2M4
Есть драйверы под Win XP для старой материнки (штатная работа на Win 98), со старой всё ок.
Т.е. чем нужно руководствоваться, чтобы купить совместимую материнку?
Новая материнка нужна, чтобы полноценно использовать возможности Win XP и соединить Dilor с основным управляющим компьютером в лаборатории.
Последний раз редактировалось dimitriev Пт июн 30, 2017 13:51:43, всего редактировалось 4 раз(а).
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июн 29, 2017 17:57:59
вроде на кетайщине делают адаптеры
https://ru.aliexpress.com/popular/isa-pci-adapter.html
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июн 29, 2017 17:59:35
вроде на кетайщине делают адаптеры
https://ru.aliexpress.com/popular/isa-pci-adapter.html
Если я правильно понимаю, с таким адаптером драйвер не заработает? Адресация и всё такое.
И ещё, я так понимаю, смотреть в сторону таких плат — это смотреть в сторону промышленных компьютеров на основе объединительной платы + PICMG? Как этот зоопарк заживёт.
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июн 29, 2017 18:08:23
толком никто не скажет
у моих клиентов до сих пор древние машины с ISA по той-же причине приходится на плаву поддерживать
Приглашаем всех желающих принять участие в вебинаре, посвященном разработке узла питания в автономных устройствах, что является сложной задачей, т.к. необходимо не только выбрать надежный и качественный аккумулятор, но и правильно спроектировать схему управления и контроля. На вебинаре мы расскажем о линейке аккумуляторной продукции EVE, а также как выбрать правильную модель аккумулятора, режимы его работы, сформулировать требования для проектирования узла управления. Рассмотрим основные функциональные блоки работы аккумуляторного узла и компоненты для их реализации.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июн 29, 2017 18:11:46
толком никто не скажет
у моих клиентов до сих пор древние машины с ISA по той-же причине приходится на плаву поддерживать
Никто не пробовал обновлять?
Выбирая продукцию того или иного производителя, важно быть уверенным в надежности продукции. Компэл в качестве официального дистрибьютора представляет различные надежные литиевые аккумуляторы и батарейки от мирового лидера EVE Energy, в том числе популярного типа 18650. Для оказания помощи в подборе аккумуляторов этого типа, сочетающих оптимальные технические параметры и приемлемую цену, инженер Компэл провел собственное тестирование. Аккумуляторы типа 18650 изготавливаются по двум имеющимся электрохимическим системам – ICR и INR – с различной емкостью.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июн 29, 2017 18:16:10
очень у них софт скажем так. специфический
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Пт июн 30, 2017 04:03:06
Тут дело даже не столько в плате и ISA, сколько в софте. В 93 году не было ни XP, ни Win95-98. Была DOS и, в лучшем случае, надстройка над ней Windows 3.1.
Соответственно, софт с оборудованием скорее всего работал напрямую через регистры, что в последствии было запрещено и перешло в епархию драйверов устройств.
Так что, самый простой выход — старый комп со старым BIOS-ом.
Более сложный — если известны детали работы устройства (регистры, содержимое, режимы) — сделать устройство на МК, реализующее обмен с платой и передающее информацию в любой современный комп по USB или другому интерфейсу.
Сам в свое время столкнулся с похожей проблемой — софт фотоплоттера был написан для win98 и категорически отказывался работать в другой ОС. Так и поддерживали старый комп, пока не сдох сам плоттер.
Проблема проблем: время идет, а денег на обновление оборудования и софт не выделяют, хотя уже все сроки амортизации прошли и оборудование себя сто раз окупило.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Пт июн 30, 2017 08:48:30
Тут дело даже не столько в плате и ISA, сколько в софте. В 93 году не было ни XP, ни Win95-98. Была DOS и, в лучшем случае, надстройка над ней Windows 3.1.
Соответственно, софт с оборудованием скорее всего работал напрямую через регистры, что в последствии было запрещено и перешло в епархию драйверов устройств.
Так что, самый простой выход — старый комп со старым BIOS-ом.
Есть драйвер под Win NT 4, проверено, что он работает на Win XP
https://cloud.mail.ru/public/5Uyc/QGme8YUjL
(работает с SDK, найти коммерческую рабочую версию программу под XP и настроить на работу с картой не получилось).
Тут дело в том, что сам спектрометр имеет отличную механику и оптику, современные Horiba и Acton ему сильно уступают (покупали их; тенденции к удешевлению компонент и переносу производства в азиатские страны и проч.). Загвоздка в CCD, покупать её просто для обновления весьма дорого (просто для обновления установки, если «по-старинке» хорошо работает).
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Сб июл 01, 2017 16:57:34
dimitriev писал(а):
Есть драйвер под Win NT 4, проверено, что он работает на Win XP
https://cloud.mail.ru/public/5Uyc/QGme8YUjL
(работает с SDK, найти коммерческую рабочую версию программу под XP и настроить на работу с картой не получилось).
Т.е. толку от этого драйвера все равно нет и в XP работать с картой невозможно? Тогда какой смысл его упоминать? Это то же самое, что его нет.
Очень большие сомнения относительно работоспособности DOS и софта на новых платах с шустрыми процессорами: раньше в софте был такой прием — для формирования программных задержек, не зависящих от частоты процессора, программа прогоняла цикл вычислений, по времени выполнения которого определялось быстродействие.
Такие программы не работали уже на Pentuium 2 (или 1?, не помню уже), когда весь цикл помещался в кэше и выполнялся за 0 время, соответственно задержки невозможно было посчитать.
Единственное, это пробовать запускать программу в DOSBox, но как она будет работать с ISA — хз. Скорее всего, не будет, операционка не даст.
Что тут еще посоветуешь? Только пробовать.
На крайний случай всегда остается то, о чем я писал: организовывать работу с платой на МК — это реально, ISA — простая шина.
Мне такое пришлось делать 10-12(?) лет назад, когда сдохла плата с ISA и перспективы найти замену не было. Компьютерный софт переписали под XP, на ISA сидело 6 плат, МК их постоянно опрашивал, обмен с программой в компьютере шел через COM — нужды в быстрой пересылке больших объемов данных не было.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Сб июл 01, 2017 18:55:16
Задача делится на две составляющие — софтную и аппаратную. Если софта под современные компы и ОС нет, то дело трудное, хотя не безнадежное. Если еще жив старый досовский комп, можно подойти к делу пока не поздно с «заднего прохода»? — аппаратно содрать протокол прибора. По картинкам в шину кабеля уходят ок. 33 линий, организованных как 4 байт-размерных шины. И что-то там еще, по картинке не разберешь. По ножкам микрух (к которым подходят линии) определить какие шины — выходы, какие — входы. Выходы наверняка управляют прибором, входы — гонят данные от прибора. Спаять Т-образный переходник для подключения на параллельный порт анализатора или другого компа.
Наверняка протокол окажется очень и очень простой. Техника не любит заморочек.
Потом имея протокол, нарисовать расширитель для параллельного порта, например. Это не трудно.
Другое дело, как написать программу, чтобы интерпретировать данные от прибора и как-то потом использовать на выходе.
Считывать получаемые данные, сопоставлять с результатами, выдаваемыми на экран живой пока прикладной программой, и разбираться.
Промышленные приборы стоят оч. больших денег, так что поморочиться с такого рода экспериментами, если начальство пообещает заплатить, очень даже заманчиво. На таких делах росли китайцы. А нам слабо?
ПС. На работе предлагал начальству за «достойную оплату» и поддержку станками ессно. скопировать один-к-одному любой буржуйский прибор. Но.
Последний раз редактировалось Ariadna-on-Line Сб июл 01, 2017 19:45:24, всего редактировалось 1 раз.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Сб июл 01, 2017 19:45:09
Эх. Задал бы ты этот вопрос на два месяца раньше, подарил бы я тебе матринку на втором пне с ИСА слотами.
И даже, возможно, и на третьем пне валялась материнка — вроде бы тоже был на ней разъем, похожий на ИСА.
Сейчас я оттуда ушел. Скорее всего, уже все выкинули.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Сб июл 01, 2017 19:50:34
А прикладная программа бы заработала? Она же под DOS, как я понял.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вс июл 02, 2017 12:32:58
FAT раздел на диске сделай — и должна работать.
По крайней мере, корректно написанные досовские программы на i5 продолжают работать, пользуюсь до сих пор.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вс июл 02, 2017 14:00:02
У меня в резервном хранении фирмовый ПК с третьим пеньком (слотовым) и ISA шинкой. В рабочем состоянии.
Установлены DOS-WIN98 и WIN_XP (двухсистемный вариант).
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вс июл 02, 2017 14:13:08
ISA-карта внутри, которая получает данные с CCD.
а разобрать, что она с теми данными делает и вообче, как они представлены и сваять аналог?
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вс июл 02, 2017 15:37:11
То еще время надоо. Может даже дольше, чем оставшийся жизненный цикл установки, для которой та платка/прожка сооружались.
Тем более, что на сегодня «адресные поля «карт-прототипов»» вроде уже не соблюдают при разработке «стандартного расширения» (0х0300-0х031F в области УВВ).
На крайний случай для любителей сваять свою платку (может и PCI):
Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC.
Пер. с англ./Под ред. У. Томпкинса, Дж. Уэбстера. — М.:МИР, 1992.
Последний раз редактировалось BOB51 Вс июл 02, 2017 15:50:40, всего редактировалось 1 раз.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вс июл 02, 2017 15:42:38
кхе.
наши-бы заинтересовались. но у них немного другая конструкция
а если смотреть ширше. так и летаем на » союзах»
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Ср июл 05, 2017 21:56:05
Умудрился после последнего вытаскивания/вставки ISA-карт (8го. по очереди; в этот раз — чтобы сделать фотографии всех карточек в т.ч. для 1го поста) передавить материнку и закоротить (как минимум) входы для старта системы. Что там ещё могло сгореть, не стали разбираться.
Нашли у себя мат. плату P2B (https://cloud.mail.ru/public/Fjnu/LVmJQzFn3). Миграция на неё прошла успешно (что не внесло большей ясности касательно ISA DMA, у неё чипсет 400-й серии), всё работает, ищу дальше возможность апгрейда в штатном режиме.
Добавлено after 4 minutes 1 second:
У меня в резервном хранении фирмовый ПК с третьим пеньком (слотовым) и ISA шинкой. В рабочем состоянии.
Установлены DOS-WIN98 и WIN_XP (двухсистемный вариант).
1 ISA это мало.
Если я правильно понимаю, на нашу «новую» можно установить пентиум-3 до 800 Мгц. А для резервной у неё мало ISA.
dimitriev писал(а):
Есть драйвер под Win NT 4, проверено, что он работает на Win XP
https://cloud.mail.ru/public/5Uyc/QGme8YUjL
(работает с SDK, найти коммерческую рабочую версию программу под XP и настроить на работу с картой не получилось).
Т.е. толку от этого драйвера все равно нет и в XP работать с картой невозможно? Тогда какой смысл его упоминать? Это то же самое, что его нет.
Нет, есть SDK на С++, позволяющий получить изображение с камеры, он работает на XP (в корректной связке с драйвером, без проблем).
(!) оно получает просто картинку в пикселях, без привязки к нм.
Сейчас заказываем USB-GPIB карту с анализатором, чтобы считать GPIB команды и управлять дифракционной решеткой спектрометра. После этого останется одна проблема, пересчёт пикселей в нм. То, что дисперсия бывает разной, уже не раз убеждался (получить её от разработчиков даже для нового прибора невозможно). Придётся искать нужную библиотеку штатной программы и использовать hex rays или что-то другое.
bolek писал(а):
Если еще жив старый досовский комп, можно подойти к делу пока не поздно с «заднего прохода»? — аппаратно содрать протокол прибора. По картинкам в шину кабеля уходят ок. 33 линий, организованных как 4 байт-размерных шины. И что-то там еще, по картинке не разберешь. По ножкам микрух (к которым подходят линии) определить какие шины — выходы, какие — входы. Выходы наверняка управляют прибором, входы — гонят данные от прибора. Спаять Т-образный переходник для подключения на параллельный порт анализатора или другого компа.
Наверняка протокол окажется очень и очень простой. Техника не любит заморочек.
Потом имея протокол, нарисовать расширитель для параллельного порта, например. Это не трудно.
Другое дело, как написать программу, чтобы интерпретировать данные от прибора и как-то потом использовать на выходе.
Считывать получаемые данные, сопоставлять с результатами, выдаваемыми на экран живой пока прикладной программой, и разбираться.
Промышленные приборы стоят оч. больших денег, так что поморочиться с такого рода экспериментами, если начальство пообещает заплатить, очень даже заманчиво. На таких делах росли китайцы. А нам слабо?
ПС. На работе предлагал начальству за «достойную оплату» и поддержку станками ессно. скопировать один-к-одному любой буржуйский прибор. Но.
Моя основная цель сейчас защитить кандидатскую, а лезть в такие дебри. Нет, не заплатит. Я смотрел осциллографом в режиме Streaming с временным шагом ~12 нс сигнал по коаксиалу, он очень. занятный (при указанных 10 Мбод словно мне не хватает разрешения мин. раза в 4). Мне кажется, заметно занятнее той краткой информации, что есть в мануале. Я не смог разобраться. Хотя основная проблема в том, что мне не хватило временного разрешения осциллографа в потоковом режиме. Можно попросить прибор с меньшим временным шагом у коллег, но. [он задействован в измерениях и не понятно, на какое время просить]
Такие манипуляции чреваты проблемами, например, для CCD-камеры, — по коаксиалу передаётся много разных параметров, помимо изображения. Можно их сбить (если начать экспериментировать с подачей сигнала), и не уверен, что в программе для Win 98 я смогу все восстановить (изначально всё работало под DOS, но тот компьютер не сохранился, под Win 98 поддержка программой была сделана с потерей части функционала, 2ой момент: у меня нет установщика штатной программы этой версии Для её установки от фирмы приезжал сервисмен с файлами настройки, насколько я понял, обычного установщика не достаточно, либо меня ввели в заблуждение. Последние годы это делается через Teamviewer, и используются другие программы с более прозрачной установкой. Сходу провести установку, чтобы программа увидела и камеру, и спектрометр, у меня не удалось.
В каждой версии установщика, который у меня «на руках», перечень поддерживаемого оборудования менялся. Словно каждый установщик правили и высылали под конкретные приборы. Они года до 2007 пытались поддерживать универсальную программу для всех спектральных приборов, потом их поглотили, программу и поддержку старых приборов забросили).
А можно просто спровоцировать аварийную работу CCD.
Хотя тут только одна реальная проблема, — отсутствие прибора (или «быстрой» карточки) под рукой и непонятное кол-во времени, которое это займёт. Ну и опасность выставить параметры так, чтобы спровоцировать аварийную работу CCD (слишком кратко написан мануал).
А если точнее, то необходимое условие, чтобы всё получилось, — получить «пиксели -> нм», без этого автоматизацию не провести. А это — искать нужную библиотеку, где это происходит, лезть в ассемблерный код или псевдо C, эта задача сама по себе времязатратна, и поэтому нужно разумно подходить к решению других.
Добавлено after 11 minutes 19 seconds:
Очень большие сомнения относительно работоспособности DOS и софта на новых платах с шустрыми процессорами: раньше в софте был такой прием — для формирования программных задержек, не зависящих от частоты процессора, программа прогоняла цикл вычислений, по времени выполнения которого определялось быстродействие.
Такие программы не работали уже на Pentuium 2 (или 1?, не помню уже), когда весь цикл помещался в кэше и выполнялся за 0 время, соответственно задержки невозможно было посчитать.
Единственное, это пробовать запускать программу в DOSBox, но как она будет работать с ISA — хз. Скорее всего, не будет, операционка не даст.
В DOS-боксе явно не заработает.
Пока вижу две основных проблемы (для выбора рабочей замены), — эта с задержками и непонятная ситуация с (не)поддержкой ISA DMA.
Об использовани этого режима (насколько понимаю) упоминатся в мануале работы с CCD в первом посте.
Кто-то её пытался обходить (http://www.flaterco.com/kb/ISA_chipsets.html), но я пока не вполне переварил как, разбираюсь.
Т.е. новая материнка тоже на чипсетах 400 серии, в который PCI/ISA мост внутри южного моста, а не отдельно навешен производителем материнки (как у него это получилось). Так что пока мутно всё.
Добавлено after 5 hours 17 minutes 37 seconds:
можно подойти к делу пока не поздно с «заднего прохода»? — аппаратно содрать протокол прибора. По картинкам в шину кабеля уходят ок. 33 линий, организованных как 4 байт-размерных шины. И что-то там еще, по картинке не разберешь. По ножкам микрух (к которым подходят линии) определить какие шины — выходы, какие — входы. Выходы наверняка управляют прибором, входы — гонят данные от прибора. Спаять Т-образный переходник для подключения на параллельный порт анализатора или другого компа.
Наверняка протокол окажется очень и очень простой. Техника не любит заморочек.
Потом имея протокол, нарисовать расширитель для параллельного порта, например. Это не трудно.
Вот 4 файла, к примеру, которые я получил, измеряя параллельно осциллографом в режиме Streaming с шагом емнип от 12 нс (может, 11) и выше, что происходит на коаксиале
В каких условиях каждый из них — уже не помню.
Я ожидал увидеть «24 bit length packets, 7 start bits + 17 data bits» (команды камере, изображение с камеры или статус камеры) или что-то подобное на 10 МБодах, но не срослось.
С ISA-платы есть 2ой выход, DB-37, но вкратце, он данных не передаёт, и им можно в этом вопросе пренебречь.
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Чт июл 06, 2017 09:29:51
Вроде внешне на мою похожа.
Только посадочных мест для ОЗУ у меня 4 слота.
Третий пенек — штука редакя (слотовый).
Мне какой достался — тот и поставился. На 6хх мегагерц вытянуть удалось.
Гляну дома поточнее параметры своего «монстро»
Заголовок сообщения: Re: Подключение ISA-карты к новой промышленной материнке
Добавлено: Вт окт 20, 2020 13:41:04
Надо бы отписаться, что в итоге было сделано (год назад запустил, когда нам удалось купить новую CCD-камеру).
1) В конечном счёте был прослушан обмен данными спектрографа с компьютером по GPIB с помощью анализатора прибора NI GPIB-USB-HS+. Это дало обмен данными для управления дифракционными решётками, вращающимися по косекансному принципу.
2) В рамках Windows 98 я не смог получить обмен данными при управлении дифракционной решеткой, вращающейся по синусному принципу. Управление шло через COM-порт. Поэтому был сделан ручной разветвитель COM-порта, и все данные слушались параллельно внешним компьютером (на всякий случай был использован переходник usb-COM с гальванической развязкой). Так был получен обмен данными по COM-порту.
//большое спасибо khach за помощь с пунктами 1 и 2!
3) Horiba, наследник Dilor, после очередного штурма их тех поддержки, наконец прислала фрагмент библиотеки программы Labspec версии 2 (следующие версии не поддерживали данный спектрометр, возможно, 3 версия ещё поддерживала, но у меня не было нужной рабочей сборки программы, она собиралась, я так понимаю, под конкретную систему). В этом фрагменте описывалось управление косекансными и синусными дифракционными решётками. Фрагмент был не полным, и большего я получить не смог, поэтому пункты 1 и 2 пригодились для восстановления протокола обмена.
4) Пересчёт переменной в соответствующей команде в нм для синусного механизма был не корректен в данном фрагменте исходного кода библиотеки (библиотека была, как я понимаю, для немного другой системы), поэтому он был взят из исходников программ на qbasic на предыдущем диске, которые запускались на Windows 95, — это была предыдущая версия софта для управления системой.
5) Оттуда же (из исходников на qbasic) была взята формула для частного случая (данная установка, косекансные решётки) для пересчёта положения на CCD-чипе (пкс) в длину волны (нм). Также в процессе общения с Horiba на основе их мануала была получена чуть более общая формула для пересчёта, с учетом угла наклона фокальной плоскости, как для этой системы (XY800 + Symphony 2), так и для другой (iHR 550 + Symphony 2). qbasic дал калибровочный множитель для эффективного фокусного расстояния для косекансного механизма (a + b / lambda_c), где lambda_c — длина волны, соответствующая центральному пикселю. Для синусного было сделано по аналогии, на основе результатов аппроксимации спектров, записанных программой Labspec 2 (пкс -> нм), в формулу был введён множитель (a + b * lambda_c). Значения калибровочных коэффициентов были получены в результате аппроксимации спектров, выдаваемых Labspec 2.
Удивила работа и плохая осведомленность тех поддержки Horiba, которая не представляла, что за формула зашита в их новые библиотеки, которые позволяют управлять в рамках Origin (и в старые программы тоже), и что пришлось формулу выводить. В итоге в процессе очередного захода они наконец прислали архив, в котором был найден excel-файл с нужной формулой для спектрометра iHR550 (другая установка), и полученная формула была верифицирована (и затем использована для связки спектрометр iHR550 + ccd Symphony 2).
6) Старая CCD-матрица была заменена на новую. Старая сообщалась через карточку-«велосипед», которая вставлялась в ISA-слот и через BNC-разъем получала спектры и управляла температурой. Новая CCD — Symphony 2, управляемая по usb. Horiba прислала, помимо CCD, ещё пластину-переходник для сопряжения старого спектрографа XY800 и новой матрицы Symphony 2, заявив, что продают как есть, без каких-либо гарантий. CCD-камера была заказана в нестандартной, вертикальной конфигурации (а не стандартной угловой). Переходник был не идеален, на середину матрицы центрировать не удалось, в результате юстировки минимальный сдвиг составил ~ 27.7 пикселей от центра (всего чип на 1024 пикселя по оси длин волн). Были сняты спектры на новой системе, в результате аппроксимации было получено это расхождение. Старые значения коэффициентов a и b для каждой группы решёток подошли, их оставили.
7) Для того, чтобы новая CCD-камера Symphony 2 управляла задвижкой в спектрографе XY800, был сделан простой адаптер с внешним питанием для корректировки уровня управляющего импульса и сопряжения интерфейсов: BNC на новой CCD, DIN4 на блоке управления XY800 (внутри, видимо, поляризованное реле или аналог).
8 ) Итого: собрана модифицированная система, написан новый софт для нового компьютера. Спектрограф XY800 теперь сопрягается через переходник NI GPIB-USB-HS+ (2 косекансных решетки, «большой» спектрометр, задержки на старой GPIB отличались, поэтому одна из решеток запустилась только, если «троить» пересылаемые байты данных на максимальной задержке) и через COM-порт (мини-спектрометр). CCD-камера была заменена на Symphony 2.
Последний раз редактировалось dimitriev Ср окт 21, 2020 11:37:25, всего редактировалось 1 раз.
Часовой пояс: UTC + 3 часа