Шина ISA, доступ из винды

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Шина ISA, доступ из винды

Сообщение Леонид Иванович »

К чему всё это? Диапазона 0000-03FF для самодельных плат не хватает?
Аватара пользователя
mak_mak
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт ноя 30, 2010 22:27:49

Re: Шина ISA, доступ из винды

Сообщение mak_mak »

Я когда делал устройство на шину ISA, это была плата ввода - вывода, руководствовался книгой - Новиков_Калашников_Гуляев "Устройства сопряжения с персональным компьютером". Забросил эту книжку и ещё несколько по теме на http://www.onlinedisk.ru/file/860921/ Успехов!
P.S. Кстати работал я с этой платой в среде визуального программирования LabView - классная штука, советую. Работал в Win XP, не требовались дополнительные драйвера. Там есть компонеты In Port, Out Port, их вполне достаточно.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Шина ISA, где и как найти её адрес в компе?

Сообщение TripleKill »

Здравствуйте.

Я уже создавал похожую тему, думал туда дописать, но не могу найти её в поиске.
Дело вот какое. Есть комп с материнкой Chaintech 7AJA2. На ней имеется один разъём ISA.
1). Хотел бы попробовать до него из WinXP достучаться. Знаю, что система не разрешает программам прямое обращение к портам. PortTalk поможет решить проблему?
2). Как же всё-таки найти адрес шины в памяти? В прошлый раз, если не ошибаюсь, мне говорили, что она сидит в неком диапазоне, но уже не помню точных цифр. Как найти этот диапазон?
Вот скрин из диспетчера устройств, если поможет:
Изображение
3). Допустим, адресное пространство шины я нашёл. Теперь как мне задать адрес, как вывести/считать данные? У адреса и данных различные поддиапазоны в адресном пространстве шины, или как-то по-другому? Просто в книжках написано много о том, в каком порядке должны срабатывать сигналы, когда адреса выставлять, но ни слова о том, КАК это сделать. Ну или я литературу не ту смотрю...
4). Тот же вопрос про спецсигналы: MEMW, MEMR и др. Как мне устанавливать/считывать их?
5). Ещё б кода пример поглядеть, может есть у кого? Можно и на асме.

Спасибо.



Сюда перенес.

aen
petrenko
Друг Кота
Сообщения: 5321
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Шина ISA, где и как найти её адрес в компе?

Сообщение petrenko »

Извините, но Вы "прикалываетесь" что ли ?...
Или действительно не знаете, что по определению обзывается словом "шина" ?
"Шина" есть (грубо говоря) всего навсего некое количество проводников.
Где в программной оболочке и как Вы собираетесь увидеть медные проводники ? :o

А ещё в шину ISA входит также и провод с напряжением +5вольт( см. описание ISA ) - какой адрес по Вашему будет у пятивольтового провода ? :roll:

"Спец( ! )-сигналы : MEMW, MEMR ".. :))) "Пацталом ат смехов". :facepalm:
Простите, конечно, что так реагирую на Вашу мало-информированность, не обижайтесь, но Вам настоятельно советую "учить матчасть"*.
Это никакие не "спец-", а нормальные электрические сигналы управления записью в память и чтением из памяти... :(
Управлять ими как выводами порта не получится, ибо это не выводы порта вводо-вывода - если непонятно, что это значит - см.*.
Поисковые машины ( запрос == " назначение контактов ISA " выдаст что то вроде этого ) Вам в помощь !
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Шурики
Вымогатель припоя
Сообщения: 506
Зарегистрирован: Пн авг 31, 2009 22:10:50
Откуда: СК

Re: Шина ISA, где и как найти её адрес в компе?

Сообщение Шурики »

Да, шина это, действительно, набор проводников и у него не может быть адресного пространства.

А то, что указано на рисунке - это устройство, сидящее на этой шине.

Чтобы доступиться до физического устройства по шине (в данном случае ISA), надо идентифицировать и сконфигурировать каждое физическое устройство, сидящее в каждом физическом слоте.
Эти регистры для этого.

Вот для прочтения:

http://life-prog.ru/view_shpargalkiCompStroi.php?id=20
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Шина ISA, где и как найти её адрес в компе?

Сообщение TripleKill »

petrenko писал(а):Где в программной оболочке и как Вы собираетесь увидеть медные проводники ?


Никакие медные проводники я видеть не собирался. И спасибо за ссылку, но назначение выводов посмотреть не проблема.
Я всего лишь хотел узнать, как из программы управлять состоянием этих проводников, т.е. адреса/регистры, задающие состояние, например, адресных выводов.
Про 5 вольт Вы, конечно, сильно сказали, но я не настолько туп. Да и назначение "спец(!)-сигналов" мне тоже известно, но рад, что дал Вам повод для веселья.
Хорошо, я понял, что не могу управлять нормальными электрическими сигналами управления записью в память и чтением из памяти напрямую, т.е. нет выделенных регистров для управления состоянием этих сигналов? Тогда, если не трудно, поясните, каким образом их состояние изменяется? У меня пока только одна мысль - какая-то жёсткая логика. Например, при записи в адрес 0279 автоматически срабатывает некая последовательность сигналов управления. Не так?

Шурики писал(а):Вот для прочтения

Спасибо, действительно полезная информация. По поводу идентификации и конфигурации: а что, если в слоте ничего не сидит? В этом случае нельзя сигналами подёргать?

Вот, например, написано:
Программа конфигурирования проверяет данные, возвращаемые во время всех пар циклов чтения, и побитно собирает идентификатор. Если при переборе нескольких возможных адресов не удается считать корректного идентификатор, то принимается решение об отсутствии карт PnP в системе (вообще или с неназначенным CSN).


Это, как я понимаю, происходит при загрузке? Т.е. для того, чтобы система поняла, что слот не пустой, нужно что-то возвращать компьютеру? В противном случае что-то отправить или прочитать по шине не получится?

UPD. Вот картинку нагуглил.
Изображение

А ещё книгу, откуда, кажется, отрывок по Вашей ссылке приведён.
http://dfiles.ru/files/sk4os2bzw

Изучаю. Надеюсь, многие вопросы сами собой отпадут.
petrenko
Друг Кота
Сообщения: 5321
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Шина ISA, где и как найти её адрес в компе?

Сообщение petrenko »

TripleKill писал(а):.. Тогда, если не трудно, поясните, каким образом их состояние изменяется? У меня пока только одна мысль* - какая-то жёсткая логика. Например, при записи в адрес 0279 автоматически срабатывает некая последовательность сигналов управления. Не так** ?
...
Изучаю. Надеюсь, многие вопросы сами собой отпадут***.
*_Мысль у Вас правильная. Она самая - жёсткая логика.
"Подёргать"( опять этот ужасающий жаргон.. ) не получится, ибо, как я уже сказал, это не есть управляемый порт ввода-вывода.
**_Именно так. Как Вы и просите, поясняю : Жёсткая логика работает следующим образом : при выполнении команды возможно требуется считывание из памяти или запись в память или считывание из порта или запись в порт, тогда управляющий микрокод ( который в свою очередь получился при дешифрации кода команды ) подключает в нужной последовательности те транзисторы, которые сформируют электрические сигналы MEMW или MEMR или IOR или IOW а также электрические сигналы на шине адреса( они определят однозначно и жёстко конкретную ячейку памяти или конкретный порт в/в ), а потом произведут выдачу или приём данных из/в процессор(а) в/из шин(у/ы) данных.
***_Вот это правильно. "Учить матчасть" всегда полезно. Удачи. :)
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Cheba
Мучитель микросхем
Сообщения: 447
Зарегистрирован: Ср сен 26, 2012 14:12:47
Откуда: Київ

Re: Шина ISA, доступ из винды

Сообщение Cheba »

Я делал устройство ввода/вывода для ISA шины. Только это было 15 лет назад :)
Алгоритм построения подобной платы следующий: вовсе необязательно следовать полной спецификации и даже лепить ISAPnP, для обмена достаточно простейшей операции чтения/записи в память или порт ввода/вывода. Нужно только быть уверенным, что данный диапазон памяти или ввода/вывода физически больше никем не используется. Для памяти сейчас это точно не так и обмен через механизм чтения/записи в память через ISA с её ограничением в 16 мегабайт адресного пространства практически невозможен, но через порты ввода/вывода можно вполне работать и сейчас. Никаких "регистров состояния" и других прочих управляющих регистров в ISA нет, когда то это фактически было продолжение процессорной шины и корнями уходит в MULTIBUS и MICROBUS. Т.е. если программа, любая, и в Windows тоже (если у неё есть доступ к этому диапазону адресов) что-то читает или пишет по любому заданному адресу памяти (из диапазона первых 16 мегабайт) , или в заданный порт (а там ограничение на 10/12 бит адреса), то эти данные сразу будут на шине, и у адаптера задача дешифровать адрес по сигналу BALE (для портов ввода/вывода нужно также учитывать состояние AEN), и если он совпал, то выставить или считать данные с шины, в зависимости от MemRD/MemWR или IORD/IOWR.
Максимальная скорость работы в таком режиме - 4 или 8 МБ/сек ( в зависмости от того, используется 8разрядный или 16разрядный режим)


Широко известные ISA POST Card именно так делают - просто тупо слушают весь вывод в порт 0x80 и выводят его на индикатор. А BIOS в этот порт тупо что-то пишет, независимо от того, есть ли в машине хоть что-то слушающее этот порт.

А вот на PCI этот фокус уже не проходит, там, чтобы на шине хоть что-то появилось, нужно сначала пройти фазу конфигурации и сообщить, что именно и где мы хотим послушать.
Mickle
Поставщик валерьянки для Кота
Сообщения: 2337
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

Re: Шина ISA, доступ из винды

Сообщение Mickle »

Мне кажется, лучше собрать несложный универсальный адаптер для ISA и эксперименты продолжить на нём :) Хотя бы вот такой, аскетичный:

Изображение

Понадобится 3 распространённые микросхемы: К155ЛН1, К155ЛА2 и КР580ВВ55. Установкой перемычки JP2 или JP1 выбирается базовый адрес (208h или 218h). Адаптер занимает в пространстве портов ввода-вывода 4 последовательных адреса: по смещению +0 находится порт А ВВ55, далее порты B и C, самым последним (смещение +3) - регистр управления режимом интерфейса. К примеру, для установки всех портов ВВ55 на вывод в регистр управления записываем 80h, на ввод - 9Ch.

Во времена массовых апгрейдов УЧПУ советских станков такой адаптер собирали буквально на коленке для замены перфоленточного фотосчитывающего устройства. К одному адаптеру подключали два станка. Работало на AT 286.
Аватара пользователя
Ariadna-on-Line
Это не хвост, это антенна
Сообщения: 1479
Зарегистрирован: Вс май 13, 2012 00:01:54

Re: Шина ISA, доступ из винды

Сообщение Ariadna-on-Line »

Пока комп включен, процессор непрерывно что-нибудь читает из памяти/портов ввода или пишет в них. Так уж он устроен. Поэтому линии IOR, IOW, MEMR, MEMW "дергаются" непрерывно и без вас. Можете прекрасно из своей программы пИсать/читать память/порт. И всё будет ОК. Только как осциллографом вы увидите СВОИ "рывки-дерки" на фоне дикой мешанины остальных? Вот для этого и требуется схема дешифратора адреса. За этим мутным названием скрывается обыкновенный двоичный 10-12 разрядный компаратор, в котором сигнал IOR, IOW, MEMR, MEMW - тросто один из разрядов. Если компаратор у вас устроен полноценно, тогда вы сможете установить любой адрес памяти или портов, выбрать режим слежения за записью или чтением и шпионить за программами без зазренья совести. Такие штуки называют "снифферами". Наверно от Сниф-сниф, Снаф-снаф и Снуф-снуф. В смысле свинское любопытство ;>)))
Ответить

Вернуться в «Интеграция с ПК»