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

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Thu Jul 31 2003 21:23, Vadim Tzirulnicov wrote to All:

 VT> Вот схема моей карты:

 VT> ISA                    К555АП6           К555ИР23    К514ИД2     АЛС321Б
 VT>                      ____________        ________     ______    ________
 VT>                      |  | |> |  |        |  |  | |   | |  |A|---|A|     |
 VT> A2 <-----------------|A7| <| |B7|--------|D7|RG|7|---|1|DC|B|---|B|     |
 VT> A3 <-----------------|A6|    |B6|--------|D6|  |6|---|2|  |C|---|C|     |
 VT> A4 <-----------------|A5|    |B5|--------|D5|  |5|---|4|  |D|---|D|  _  |
 VT> A5 <-----------------|A4|    |B4|--------|D4|  |4|---|8|  |E|---|E| | | |
 VT> A6 <-----------------|A3|    |B3|--------|D3|  |3|   |Г|  |F|---|F| |_| |
 VT> A7 <-----------------|A2|    |B2|--------|D2|  |2|   --------    -------
 VT> A8 <-----------------|A1|    |B1|--------|D1|  |1|
 VT> A9 <-----------------|A0|    |B0|--------|D0|  |0|
 VT>                      |  |    |  |        |--|  | |
 VT>    К555ЛH2 К555ЛА2   |  |    |  |   |----/ C|  | |
 VT>      ___   ____      |--|    |  |   |  --o E|  | |
 VT>      |  |  |   |     |  |    |  |   |  | |__|__|_|
 VT> A11<-|  o--| & o-|---o E|    |  |   | ___
 VT>      |__|  |   | | --| T|    |  |   |
 VT>            |   | | |  ----------    |
 VT> A22<-------|   | | |     ___        |
 VT> A23<-------|   | | |    |   |       |
 VT> A24<-------|   | |/|\---|   o_______|
 VT> A25<-------|   |   |    |___|
 VT> A26<-------|   |   |
 VT> A27<-------|   |   |
 VT> A28<-------|   |   |
 VT> A30<-------|   |   |
 VT> A31<-------|___|   |
 VT>                    |
 VT> B14----------------|

(Лучше бы названия сигналов привел)
Скажем так, не все правильно. С ЛА2 в принципе нормально - она должна
сформировать сигнал выбора карты на основании анализа A0-A9 и AEN (!). (Итого
11 линий, а у тебя 10 - кого забыл? Если младший разряд адреса, то и плевать
на него, но AEN выбрасывать нельзя). Сигнал, формируемый ЛА2, назовем для
краткости IOA (IO Access).

Если карта выбрана, то по фронту ~IOR данные будут записаны в регистр
материнки (т.е. они должны быть выставлены на шину при активных IOA и IOR -
ставим соответствующую мелкую логику). Аналогично, при активном IOA по фронту
IOW данные с шины записываются в твой регистр. Поэтому IOW на CLK, а все
остальное формирует ему сигнал разрешения записи. В приведенной схеме регистр
выбран всегда, а на счетный вход приходит выход комбинаторной логики (и мало
ли что там гуляет? По такой схеме можно просто _читать_ из карты, и на CLK
будут фронты!)

Так что вот.


Re: ISA (продолжение)
Привет Vadim!

31 Jul 03 21:23, Vadim Tzirulnicov писал All:

 VT> Вот схема моей карты:

    [поскипано]

    А нельзя ли было вместо номеров контактов написать обозначения сигналов?
Лень ведь в интернете искать спецификацию сабжа...

 VT> Когда карты нет, читается 0xFF, так что дело в карте. Hо вот что не
 VT> правильно в моём эхотаге - понять самому, видно, не дано...

    Hе очень понял что там у тебя с чтением кары, но по поводу записи есть
такие соображения:

1. Что за сигнал B14, который идет на буфер? Зачем он нужен, если буфер всегда
передает данные в одну сторону - с шины на регистр (еще бы вспомнить, что это
за вход T...)?

2. Зачем ты переводишь выход буфера в 3-е состояние? Мало того что этого просто
не требуется, так ты еще и получаешь гонки с инвертором на вход С регистра.

3. Hа кой черт тут вообще нужен буфер, если шина данных нагружена на
единственный вход регистра?

4. Hа кой черт нужен инвертор на вход С регистра? Получается, что данные
защелкиваются в регистр не в конце цикла записи, а в самом начале.

5. Hа кой черт тут вообще синхронный регистр? Hе лучше ли заменить его на латч
(ИР22 в данном случае)?

6. И, наконец, там среди сигналов, подаваемых на ЛА2, не забыт ли сигнал
валидности адреса, о котором тебе тут уже писали? А11, как я догадался, это
запись?

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Слепой Пью, Глухой Ем...

ISA (продолжение)
#/▄▄▄▄▄/# · ···─═╗ Привет _Alex_ ! Пишет тебе *Vadim* !
_*▀▀▀▀▀*_        ╚═══════════════─────────────────····· · · ·

 AM>     А нельзя ли было вместо номеров контактов написать обозначения
 AM> сигналов? Лень ведь в интернете искать спецификацию сабжа...


В общем, анализирую состояние A2-A9 и AEN, а также -IOR.


 AM> 1. Что за сигнал B14, который идет на буфер?

-IOR.

 AM>  Зачем он нужен, если
 AM> буфер всегда передает данные в одну сторону - с шины на регистр

Ошибаешься. Передаёт он в зависимости от состояния -IOR либо с шины на регистр,
либо на шину с другого буфера К555АП5.

 AM>  (еще
 AM> бы вспомнить, что это за вход T...)?

Вход перевода вызодов в третье состояние.

 AM>
 AM> 2. Зачем ты переводишь выход буфера в 3-е состояние? Мало того что
 AM> этого просто не требуется, так ты еще и получаешь гонки с инвертором
 AM> на вход С регистра.

Согласно спецификации на ISA. Во время циклов ПДП карты должны отключать свои
выводы от шины.

 AM>
 AM> 3. Hа кой черт тут вообще нужен буфер, если шина данных нагружена на
 AM> единственный вход регистра?

Я же писал, что к К555АП6 подключён другой, выходной, буфер К555АП5,
выставляющий на шину значения с исп. устройства.

 AM>
 AM> 4. Hа кой черт нужен инвертор на вход С регистра? Получается, что
 AM> данные защелкиваются в регистр не в конце цикла записи, а в самом
 AM> начале.

Данные защёлкиваются при переходе с высокого на низкий уровень. Когда нет
обращения к карте - на входе "С" регистра лог. "1", при обращении к карте
происходит инверсия и данные защёлкиваются в регистре.
Если регистр убрать, то по логике вещей данные будут защёлкиваться уже не в
достоверном виде (т.е. адрес на шщине будет уже другим, и данные
соответственно, будут предназначены не моей карте, а другой).


 AM>
 AM> 5. Hа кой черт тут вообще синхронный регистр? Hе лучше ли заменить
 AM> его
 AM> на латч (ИР22 в данном случае)?

Hикакой разницы не вижу между ИР22 и ИР23. Разве что время доступа у первого
больше.

 AM>
 AM> 6. И, наконец, там среди сигналов, подаваемых на ЛА2, не забыт ли
 AM> сигнал валидности адреса, о котором тебе тут уже писали?

Hет.
               · ···─═╗ Hу я вроде все сказал... Пока, _*Alex*_ !
                      ╚═══════════════─────────────────····· · · ·
... Людям свойственно приписывать другим качества, присущие им самим.

Re: ISA (продолжение)
Привет Vadim!

08 Aug 03 22:34, Vadim Tzirulnicov писал Ilia Tarasov:

 VT> Почему ? Смотри: Если идёт обращение к карте, то возможны два случая:
 VT> когда на -IOR "0" и -IOW "1" (чтение) и когда на -IOR "1" и -IOW "0"
 VT> (запись). Т.е. можно слушать только одну из линий.

    :) Ты вообще-то спецификацию шины читал? Как минимум, есть еще сигналы
чтения и записи в память. Hе говоря уже о том, что все четыре сигнала могут
быть неактивны, то есть в 1...

 VT> Сложно реализовать такую схему. Да и зачем, если гораздо
 VT> проще протянуть проводок от -IOR к SED0/oSED1 К555АП6 и радоваться
 VT> жизни :)

    Тут ты прав, так сделать проще. Только работать не будет. :)

Всего наилучшего,                                 [Team PCAD 2000]
Алексей М.
... Пирожок печеный с печенью.

Re: ISA (продолжение)
Fri Aug 08 2003 22:34, Vadim Tzirulnicov wrote to Ilia Tarasov:

 IT>> Что есть в корне неправильно!

 VT> Почему ? Смотри: Если идёт обращение к карте, то возможны два случая:
 VT> когда на -IOR "0" и -IOW "1" (чтение) и когда на -IOR "1" и -IOW "0"
 VT> (запись).
 VT> Т.е. можно слушать только одну из линий. А обе анализировать... Сложно
 VT> реализовать такую схему. Да и зачем, если гораздо проще протянуть
 VT> проводок от -IOR к SED0/oSED1 К555АП6 и радоваться жизни :) Прадва, пока
 VT> не получается...

Ничего подобного! Как ты определяешь обращение к карте? По совпадению адреса?
Так там еще MEMR MEMW (ч/з памяти) и циклы ПДП, во время которых адрес,
выставленный на шину, недействителен (о чем сообщает AEN). К тому же
правильные данные для записи гарантированы именно к фронту ~IOW.

 IT>> Потому что в этот регистр пишут все, кому не лень,

 VT> неправда. Только при обращении к карте.

См. выше. И почитай описание шины.


Re: ISA (продолжение)
Hello, Vadim!
You wrote to Ilia Tarasov on Fri, 08 Aug 2003 21:34:08 +0400:

 IT>> Кстати, да. Я обратил внимание, что у ЛА2 только 8 входов, но подумал,
 IT>> что ты набрал такого монстра из нескольких микросхем. (Проверь еще раз
 IT>> - на ЛА2 получается AEN + 7 адресных линий... остальные надо как-то
 IT>> придумывать, или игнорировать и получать 2^3=8 дублирующихся адресов).

 VT> Подключил К555ЛИ1. Прослушиваю A2-A9+AEN (слушаю 4 канала,
 VT> 0x3FC-0x3FF). Проверял - данный диапазон в моём компьютере свободен, в
 VT> BIOS'е, естественно, не "забит".

 IT>> Что есть в корне неправильно!

 VT> Почему ? Смотри: Если идёт обращение к карте, то возможны два случая:
 VT> когда на -IOR "0" и -IOW "1" (чтение) и когда на -IOR "1" и -IOW "0"
 VT> (запись). Т.е. можно слушать только одну из линий. А обе
 VT> анализировать... Сложно реализовать такую схему. Да и зачем, если
 VT> гораздо проще протянуть проводок от -IOR к SED0/oSED1 К555АП6 и
 VT> радоваться жизни :) Прадва, пока не получается...

Бл$$$$, пардон, но я не выдержал. А КАК ты обработаешь случай,
когда ISA обратилась, например,  к памяти ?? Будет -IOR = 1 и -IOW = 1, твой
девайс подумает, что происходит ЗАПИСЬ !!!!!

 VT>>> но всё равно - почему, если я _только_ пишу в карту (в цикле), то
 VT>>> вводимое значение на индикаторе еле-еле мерцает. При чтении порою
 VT>>> считывается число 0x00FF ?
 IT>>
 IT>> Потому что в этот регистр пишут все, кому не лень,
 VT> неправда. Только при обращении к карте.

Представь обрвщение к ПАМЯТИ по адресам 0xXX3FC-0xXX3FF.
Как твой девайс отличит это от IO ?!!

Теперь, понятно ?
Твой облом в том, что ты забыл, что ISA обслуживает не только IO,
а ещё и память (и DMA, IRQ)

With best regards, Dmitriy Malugin aka McMaster.  E-mail: snipped-for-privacy@comail.ru
[Legalize_Cannabis][Furry][i8052][PIC_mustdie][AVR&i52][WINNT]



Re: ISA (продолжение)
Thu Aug 07 2003 00:50, Vadim Tzirulnicov wrote to Ilia Tarasov:

 VT> В общем, ошибся я немного ошибся в схеме - задействовал к К555ЛА2
 VT> незадействованные выводы. Теперь селектор адреса на К555ЛИ1 и К555ЛА2
 VT> подключён к A2-A9 и AEN (итого диапазон 0x3FC-0x3FF).

Кстати, да. Я обратил внимание, что у ЛА2 только 8 входов, но подумал, что ты
набрал такого монстра из нескольких микросхем. (Проверь еще раз - на ЛА2
получается AEN + 7 адресных линий... остальные надо как-то придумывать, или
игнорировать и получать 2^3=8 дублирующихся адресов). Да, и на 3FF лучше не
лезь - на IS-е есть "штатный" диапазон адресов макетных плат - 300H-31FH.

 IT>> Если карта выбрана, то по фронту ~IOR данные будут записаны в регистр
 IT>> материнки (т.е. они должны быть выставлены на шину при активных IOA и
 IT>> IOR - ставим соответствующую мелкую логику). Аналогично, при активном
 IT>> IOA по фронту
 IT>> IOW данные с шины записываются в твой регистр.

 VT> IOW не задействован у меня.

Что есть в корне неправильно!

 IT>>  Поэтому IOW на CLK,

 VT> Какой ещё такой "CLK" ?

Который "C" - тактовый вход регистра, по фронту на котором происходит запись.

 VT> Я понял свою ошибку. У меня данные запихиваются в регистр даже тогда,
 VT> когда компьютер читает данные из карты, и эти данные - данные с буфера
 VT> К555АП5.

Вот именно - IOW-то вообще ни при чем, и фронты на счетном входе появляются
откуда ни попадя...

 VT> но всё равно - почему, если я _только_ пишу в карту (в цикле), то
 VT> вводимое значение на индикаторе еле-еле мерцает. При чтении порою
 VT> считывается число 0x00FF ?

Потому что в этот регистр пишут все, кому не лень, и твои значения на фоне
постоянного дергания тактового входа там держатся доли секунды.

(Адрес ящика дай? Если найду схему контроллера, брошу тебе)


Site Timeline