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

Aug 19, 2003 Last reply: 22 years ago 1 Replies

Поставил в своё устройство м/с К555ИД4, к входам "&" которой приваял -IOR и -IOW, т.е. за основу взял теперь схему контроллера параллельного порта (?3/2002). Посадил на 0x378, выключя предварительно встроенный контроллер в мат. плате - как оказалось, встроенный контроллер по прежнему продолжал сидеть на



0x378, хотя в BIOS'е значилось Onboard Parallel Port: Disabled. Посадил его на 0x278, тогда только угомонился... Теперь о моей плате. При включении компа в плату по адресу 0x378 записалось число 0xA (почему ? Plug&Play, что ли ?). Впрочем, и во встроенном порте записывается при включении то же число. Послал один раз некое число - не записалось (outportb(0x378,1)). Поставил цикл:

while(!kbhit()){ outportb(0x378,1); } - записалось в регистр.



Включил режим чтения: while(!kbhit()){ outportb(0x378,6); printf("%x",inportb(0x378)); }



- новое число в регистр не пишется, а из выходного буфера читается то верное число, то 0xff...



Т.е. у микросхем не в порядке время доступа. Частота ISA равнялась на этот момент 8МГц. Выставил в BIOS макс. частоту 7,159МГц - не помогло...



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



Hello, Vadim! You wrote on Tue, 19 Aug 2003 14:46:46 +0000 (UTC):

VT> Поставил в своё устройство м/с К555ИД4, к входам "&" которой приваял VT> -IOR и -IOW, т.е. за основу взял теперь схему контроллера VT> параллельного порта (?3/2002).

Судя по соседнему письму, ты не совсем понимаешь что куда припаиваешь :-((.

VT> Посадил на 0x378, выключя предварительно встроенный контроллер в VT> мат. VT> плате - как оказалось, встроенный контроллер по прежнему продолжал VT> сидеть на 0x378, хотя в BIOS'е значилось Onboard Parallel Port: VT> Disabled. Посадил его на 0x278, тогда только угомонился... VT> Теперь о моей плате. При включении компа в плату по адресу 0x378 VT> записалось число 0xA (почему ? Plug&Play, что ли ?). Впрочем, и во VT> встроенном порте записывается при включении то же число. VT> Послал один раз некое число - не записалось (outportb(0x378,1)). VT> Поставил цикл:

VT> while(!kbhit()){ VT> outportb(0x378,1); VT> } - записалось в регистр.

VT> Включил режим чтения: VT> while(!kbhit()){ VT> outportb(0x378,6); VT> printf("%x",inportb(0x378)); VT> } VT> - новое число в регистр не пишется, а из выходного буфера читается VT> то верное число, то 0xff...

VT> Т.е. у микросхем не в порядке время доступа. Частота ISA равнялась VT> на этот момент 8МГц. Выставил в BIOS макс. частоту 7,159МГц - не VT> помогло...

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

Вынь плату из машины. С свободной дисковой соски вытяни землю и +5. Проверь чтобы это были они. На краешке ламелей платы (или на их контактых площадках, если есть) создай ситуацию своего адреса и AEN. На шине данных -

0х55 или 0хАА (по вкусу). IOW и IOR. притяни резисторами по 1К к питанию. Приготовь тумблер для замыкания IOW на землю. Подключи всё это хозяйство к вытянутому из компа питанию. Посмотри что на выходе селектора адреса, что на управлении твоими регистрами. Замкни тумблер, повтори предидущую операцию. Сними IOW, подай IOR, снова просмотри управление решистрами и шинниками. Что-то ты найдёшь, гарантирую :-))). Ну, а потом можно и в реальную шину.

With best regards, Alexander Derazhne.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required