ISA (продолжение)

Hello, Alex! You wrote to Vadim Tzirulnicov on Mon, 11 Aug 2003 23:49:39 +0400:

VT>> Дёргаем нужную нам линию IRQ на шине ISA. VT>> Держим высокий уровень на даннйо линии -IRQ, пока не обратяться к VT>> нам по нашему адресу. Так ?

AM> Во-первых, устройства должны выдавать запрос прерывания открытым AM> стоком (коллектором), и "держать" высокий уровень они не должны.

Увы, на субже - именно высоким уровнем. Из-за этого приходилось делать запрос ЛП8-ой, играясь её входом разрешения.

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne
Loading thread data ...

Hello Alexander.

Воскресенье, Август, 10, 2003 17:42:50, Alexander Derazhne wrote to Vadim Tzirulnicov:

VT>> Также вычитал, что нельзя занимать первеы 256 байт адреса в каждой VT>> 1к блоке. VT>> Объясните поподробнее.

AD> Подробнее - смотришь карту адресов из тичхелпа и выбираешь себе AD> свободные. Кроме первого банка (те самые 256) - они должны жить на самой AD> материнке, остальным низ-зя. Hо учти: согласно стандарту в/в дешифрует AD> только первые десять адресных линий. Т.е. всё адресное пространство в/в AD> составляет 1к. Ты можешь занять свободный адрес в пределах этого "к" и все AD> его "отражения" в старших блоках, но не занимай даже "отражений" уже AD> занятых адресов. Иначе может получиться как с видеокарточкой S3 и COM3. AD> карточка тихонько села где-то в старших адресах в/в, а COM3 говорит "не AD> знаю я никаких A10..A15, это мои адреса". Это, кстати, тоже может быть AD> причиной твоих неурядиц. К сожалению, задокументирован только младший блок, AD> поэтому лучше включить в селектор адреса и старшие линии :-(.

Адреса 300-31F не задействованы. Они как раз для макетных устройств.

Sergey

Reply to
Sergey Kadenkin

А система, кстати, делает ещё одну вещь: она _начинает_ циклы обмена по шине. То есть адрес на Axx уже сформирован, а все 6 линий (/IOW, /IOR, /SMEMW, /SMEMR, /MEMW и /MEMR) ещё не активны. То есть в обсуждаемой (или осуждаемой?) схеме запись будет происходить ещё и перед каждым чтением.

Reply to
Ivan Maximov

Hello, Sergey! You wrote to Alexander Derazhne on Wed, 13 Aug 2003 10:55:51 +0400:

AD>> карточка тихонько села где-то в старших адресах в/в, а COM3 говорит AD>> "не знаю я никаких A10..A15, это мои адреса". Это, кстати, тоже AD>> может быть причиной твоих неурядиц. К сожалению, задокументирован AD>> только младший блок, поэтому лучше включить в селектор адреса и AD>> старшие линии :-(.

SK> Адреса 300-31F не задействованы. Они как раз для макетных устройств.

Можешь гарантировать, что никакая супер3д исовская джамперлесс (уу, круть!) звуковуха (мы ведь про ису?) не сядет на 0x5F10 ? Я нет.

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne

Hello, Alex! You wrote to Alexander Derazhne on Wed, 13 Aug 2003 19:53:59 +0400:

AM>>> Во-первых, устройства должны выдавать запрос прерывания AM>>> открытым стоком (коллектором), и "держать" высокий уровень они не AM>>> должны.

AD>> Увы, на субже - именно высоким уровнем.

AM> А при чем тут высокий уровень? Я говорю, что выход запроса AM> должен быть открытым стоком. А активный уровень - действительно, AM> высокий.

Действительно. Сорри.

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne

Thu Aug 14 2003 22:36, Alexander Derazhne wrote to Sergey Kadenkin:

SK>> Адреса 300-31F не задействованы. Они как раз для макетных устройств.

AD> Можешь гарантировать, что никакая супер3д исовская джамперлесс (уу, AD> круть!) звуковуха (мы ведь про ису?) не сядет на 0x5F10 ? Я нет.

Адреса 300-31F действительно предназначены для макетных устройств. Так что совпадение адреса с областью макетной платы будет целиком на совести этой звуковухи. К тому же имеет смысл убедиться только в отсутствии конфликтов со стандартными устройствами, а уж звуковуху-то можно и вынуть из машины, предназначенной "для опытов"...

Reply to
Ilia Tarasov

Hello Sergey!

14 Aug 03 22:36, Alexander Derazhne wrote to Sergey Kadenkin:

AD>>> карточка тихонько села где-то в старших адресах в/в, а COM3 AD>>> говорит "не знаю я никаких A10..A15, это мои адреса". Это, AD>>> кстати, тоже может быть причиной твоих неурядиц. К сожалению, AD>>> задокументирован только младший блок, поэтому лучше включить в AD>>> селектор адреса и старшие линии :-(. SK>> Адреса 300-31F не задействованы. Они как раз для макетных SK>> устройств. AD> Можешь гарантировать, что никакая супер3д исовская джамперлесс AD> (уу, круть!) звуковуха (мы ведь про ису?) не сядет на 0x5F10 ? Я нет.

Угу. И сетевки, сидящие на 300 адресе видимо ему тоже не попадались.

With Best Regards Alexey [ TEAM Тещa MUST DIE!!! , Бутлериaнский Джихaд ]

Reply to
Alexey Stekolshikow

Hello, Sergey! You wrote to Alexander Derazhne on Wed, 13 Aug 2003 12:19:49 +0400:

OP>>> Вполне достаточно импyльса. Для IBM PC пpинята обpаботка IRQ по OP>>> спадy. Пpи следyющем цикле шины постyпившее пpеpывание бyдет OP>>> обpаботано.

AD>> По какому такому "спаду"?! Hа сабже прерывания запрашиваются AD>> _высоким_ AD>> уровнем, т.е. можно было бы говорить о фронте. Hо встречались мне в AD>> далёкие восьмидесятые разные инициализации - где по фронту, где по AD>> уровню. AD>> Стандартного описания тогда не было, как сейчас - не знаю (для исы? AD>> хммм...), так что делать надо так, чтобы оно работало при любом AD>> раскладе.

SK> Контроллер прерываний 8259 программируется как на фронт, так и на SK> уровень. Для SK> PC с исой - фронт, PS/2 с MCA - уровень.

Спасибо, про 59-ый я как бы в курсе :-)). Но если бы ты знал, какой в _те_ годы был зоопарк! Кто во что гаразд. Всё нонаме, но "286 с широким принтером" :-)))).

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne

Sovam!

OP>>> Вполне достаточно импyльса. Для IBM PC пpинята обpаботка IRQ по OP>>> спадy. Пpи следyющем цикле шины постyпившее пpеpывание бyдет OP>>> обpаботано.

[ skip ]

SK> Контpоллеp пpеpываний 8259 пpогpаммиpyется как на фpонт, так и на SK> ypовень. Для PC с исой - фpонт, PS/2 с MCA - ypовень.

Здесь я имел в видy отpицательнyю логикy (по аналогии с 1801ВМ02). Отсюда и полyчилось - по-спадy. А так - да, действительно по-фpонтy. Hо все pавно - импyльсом.

SK> Sergey

С yважением, Oleg

Reply to
Oleg Primakov

Hello Oleg.

Вторник, Август, 19, 2003 20:31:08, Oleg Primakov wrote to Ilia Tarasov:

IT>> Адpеса 300-31F действительно пpедназначены для макетных yстpойств. Так

OP> Адpеса 0x300...0x31F являются reserved. И ни для чего они не OP> пpедназначаются. Любое yстpойство, pазpаботанное после 1998 года может OP> использовать их по своемy pазyмению

Вот о том и речь. Можно использовать эти адреса по своему усмотрению. И естественно не исключено что кто то другой может ими воспользоваться, как и остальными адресами. По крайней мере на них не должны попасть системные устройства как винты итд.

Sergey

Reply to
Sergey Kadenkin

Привет Vadim!

19 Aug 03 18:46, Vadim Tzirulnicov писал All:

VT> Поставил в своё устройство м/с К555ИД4,

Где ты только берешь такие старинные микросхемы? :) Даже Интеграл AFAIK давно сменил систему обозначений своих микросхем на общепринятую...

VT> Теперь о моей плате. При включении компа в плату по адресу 0x378 VT> записалось число 0xA (почему ? Plug&Play, что ли ?).

0x378 - это базовый адрес принтерного порта. Очевидно, BIOS при старте его пытается опросить. [ужасы скипнуты]

VT> Т.е. у микросхем не в порядке время доступа.

Фигня. В схеме что-то неправильно.

VT> Что делать будем, товарищи дорогие ? 8-;)

Схему нарисуй. Тут ИМХО никто ее по словесному описанию не воспримет.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Если долго думать одни и те же мысли, они становятся грязными.

Reply to
Alex Mogilnikov

Sovam!

OP>> Вполне достаточно импyльса VT> Какой длительности ?

В моей плате было около 50 mS. Работало yстойчиво.

С yважением, Oleg

Reply to
Oleg Primakov

Hello, Vadim! You wrote to Alexander Derazhne on Sun, 10 Aug 2003 19:11:14 +0400:

VT>>> Hо ситуации, когда -IOR=0 и -IOW=0, не бывает ? AD>> Теоретически может быть во время цикла ПДП.

VT> А практически ?

А практически рассчитывай на то, что может и так случиться. Тебе что, жалко? :-))

VT> При циклах ПДП -AEN высокий, так ?

А я помню? Знаешь, сколько лет тому я в последний раз видел живую ису?

VT> А низком уровне на -AEN одинаковые уровни на -IOR и -IOW бывают, что ли VT> ?

Да, БЫВАЮТ. ОБА НЕАКТИВНЫЕ.

VT>>> Хорошо. Hо почему тогда периодически вместо 0x00F0 (см. схему) VT>>> компьютер считывает с карты 0x00FF ? Ведь отслеживаемая линия-то - VT>>> -IOR...

Значит ты не туда сел. Может у тебя в монтаже глюк. Волосок на плате или микротрещина в дорожке. Мы как-то день КЗ по питанию искали,, всю плату изрезали. Кусочек дорожки +5 коротил на землю в соседнем ряду микросхем. Ни одного переходного отверстия, скальпелем его вокруг обскребли - всё равно КЗ! Отодрали (уже из спортивного интереса) - фольга как фольга, текстолит как текстолит. Щупом по этому место поелозили - нет, всё нормально. Так до сих пор и не знаю что это было.

AD>> Скорее всего ты насел на чьи-то адреса и на шине данных идёт AD>> драка.

VT> Смотрю стандартную программу Windows "Сведения о системе": Ресурсы VT> аппаратуры->I/O: Диапазон с 0x3F7 по 0x480 свободен. VT> В BIOS, естественно, всё чисто. VT> Значит, советуете выбрать себе адрес в диапазоне 0x300-0x310 ? VT> Хорошо. VT> Правда, в этом диапазоне уже засела моя звуковуха :)

Вот тебе карта портов, играйся. ===========

 Ports 000H-0ffH are reserved for and used by the system board  Ports 100H-3ffH are decoded on the I/O bus for use by adapter cards  Ports 400H and up are not available on the system bus

The following table summarizes I/O port usage for the PC/XT and AT. Individual ports covered in greater detail are marked with a hyperlink. Additional info is covered in I/O Port Detail. See Cables and Pin Outs for info on hardware connectors.

AT PC/XT Description More Information ъъъъъъъ ъъъъъъъ ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъ ъъъъъъъъъъъъъъъъъъ

000-01f 000-00f DMA controller #1, 8237A-5. DMA Ports 020-03f 020-021 Interrupt controller, 8259A. Int Controller 040-05f 040-043 Timer 8253-5 (AT: 8254.2). Timer Ports 060-063 PPI (Programmable Peripheral Interface) PPI Ports keyboard, equipment switches, timer 060-06f Keyboard controller 8042 AT Keyboard 070-07f Real-time clock, CMOS Memory, NMI mask CMOS Memory 080 manufacture's diagnostic checkpoint 080-09f 080-083 DMA page register 74LS612 DMA Ports 0a0 NMI (Non-maskable Interrupt) mask 0a0-0bf Interrupt Controller #2, 8259A 0c0-0df DMA controller #2, 8237A-5 DMA Ports 0f0-0ff Math Coprocessor

102 PS/2 Programmable Option Select

170-177 Hard disk (secondary) AT Hard Disk Ports 1f0-1f7 Hard disk AT Hard Disk Ports 200-207 200-20f Game I/O (joystick A/D port) Joystick Port 210-217 Expansion Box 278-27f 278-27f Parallel Printer #2 (#3 with MDA) Printer Ports 2c0-2df 2c0-2df EGA #2 EGA I/O Ports 2e8-2ef Asynchronous Adapter Port #4 Serial Ports 2f8-2ff 2f8-2ff Asynchronous Adapter Port #2 Serial Ports 300-31f Prototype card 320-32f Hard disk XT Hard Disk Ports 370-377 Diskette Controller (secondary) FDC Ports 378-37f 378-37f Parallel Printer #1 (#2 with MDA) Printer Ports 380-38f 380-38f Synchronous Data Link Control (SDLC) 3a0-3af 3a0-3a9 Bisynchronous port #1

3b0-3df 3b0-3df Video Graphics Array (VGA) VGA I/O Ports

3b0-3bf 3b0-3bf Monochrome Display Adapter/Printer #1 Printer Ports 3c0-3cf 3c0-3cf Enhanced Graphics Adapter (EGA) #1 EGA I/O Ports 3d0-3df 3d0-3df Color/Graphics Adapter (CGA) and EGA CGA I/O Ports

3f0-3f7 3f0-3f7 Diskette controller FDC Ports

3ef-3ff Asynchronous Adapter Port #3 Serial Ports 3f8-3ff 3f8-3ff Asynchronous Adapter Port #1 Serial Ports

See Also: I/O Port Detail BIOS Data Area Interrupts and BIOS Services Cables and Pin Outs --

===========

VT> Кстати, когда идёт обращение к PCI-картам, их адреса выставляются и VT> также на шине ISA, но -IOR и -IOW не задействуются, я правильно VT> понял ?

До того, как будет выставлен строб на шине вообще может происходить всё что угодно. Тебя интересует что там творится за несколько сотен наносекунд до строба и после. Больше тебе никто ничего не гарантирует.

VT> Порты, на которых сидят сетевые приложения вроде Apache, MySQL - они VT> специального типа или при обращении вышеперечисленных приложений по VT> ним (ответе на запрос сприптов, нап.) идёт также обращения по VT> системным шинам ПК по адресу, соответствующему порту, по которому VT> идёт обращение ?

Нет, это не те порты, эти с круглогодичной навигацией. :-))) В данном случае англоязычные наступили на те же грабли, что и мы со словом "поток" :-))). Не бери в голову.

AD>> Hет, не так. Держать до тех пор, пока твой девайс не сочтёт, что AD>> прерывание обработано.

VT> А как же ему "считать" ? Как ему понять, что прерывание обработано ?

А это тебе решать. Посмотри, например, как сделано в 580ВВ55 (i8255) в режимах 1 и 2.

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne

Здраствуйте Vadim,

*10.08.03* *20:11:14* Вы писали в *RU.EMBEDDED* сообщение к *Alexander Derazhne* о *"ISA (продолжение)"*.

VT> Порты, на которых сидят сетевые приложения вроде Apache, MySQL - они VT> специального типа или при обращении вышеперечисленных приложений по ним VT> (ответе на запрос сприптов, нап.) идёт также обращения по системным шинам VT> ПК по адресу, соответствующему порту, по которому идёт обращение ?

Это не аппаратные порты, а программные для TCP/IP, UDP, etc. и никакого отношения к системной шине не имеют.

С уважением, Den

Reply to
Den Y. Borisov

Sovam!

VT>> А как же емy "считать" ? Как емy понять, что пpеpывание VT>> обpаботано ? AD> А это тебе pешать. Посмотpи, напpимеp, как сделано в 580ВВ55 AD> (i8255) в pежимах 1 и 2.

Hе очень yдачный пpимеp....

С yважением, Oleg

Reply to
Oleg Primakov

Hello, Oleg! You wrote to Alexander Derazhne on Tue, 26 Aug 2003 19:15:48 +0400:

VT>>> А как же емy "считать" ? Как емy понять, что пpеpывание обpаботано VT>>> ? AD>> А это тебе pешать. Посмотpи, напpимеp, как сделано в 580ВВ55 AD>> (i8255) в pежимах 1 и 2.

OP> Hе очень yдачный пpимеp....

Приведи лучший, человек тебе спасибо скажет! :-|

With best regards, Alexander Derazhne.

Reply to
Alexander Derazhne

Sovam!

OP>> Hе очень yдачный пpимеp.... AD> Пpиведи лyчший, человек тебе спасибо скажет! :-|

Hy если я емy кинy нашy pазpаботкy на mcs-51, использyющyю пpеpывания, емy легче станет? Hе пpоще ли не изобpетать велосипед, а посмотpеть хотя бы того же Хоpовица ?? Там все понятно (почти для дypаков) pасписано и наpисовано. Hа pyсском языке. П.Хоpовиц, У.Хилл "Искyсство схемотехники", в тpех томах, издание 4-е, пеpеpаботанное и дополненное, М. "миp" 1993. 2-ой том, стpаницы с

319 по 327. Кyда yж еще лyчше!

С yважением, Oleg

Reply to
Oleg Primakov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.