ISA видеокарта в LPT порт / Адаптер ISA2LPT

Обсуждаем цифровые устройства...
Ответить
Родился
Сообщения: 7
Зарегистрирован: Вс окт 21, 2018 17:02:30

Сообщение DDMZ »

Постарался создать максимально простую схему на рассыпухе адаптера ISA to LPT.
Подключение ISA карт (видеокарт в частности) к LPT порту.
Сама схема во вложении.
Детали использованные в схеме распространенные и не дорогие.

В реальности схему эту еще не собирал, проверил только на симуляторе.
Прошу помочь проверить схему:
1. Возможно гдето нужны подтягивающие резисторы, или может в схеме нехватает конденсаторов? т.к. именно с этой мат частью у меня большие пробелы.
2. Мне непонятно: Обязательно ли установив IOR/IOW/MEMR/MEMW в состояние LO после каждого чтения/записи байта информации сбрасывать в HI. или можно так и оставить LO?
и просто после смены адреса и его защелки по ALE тупо ждать RDY ? и получив его делаем следующий адрес и получаем/отправляем новые данные?
Эту неясность я увидел в прошивки из соседний темы на форуме, где в прошивке к AVR автор перед каждым отправленым байтом ставит LO а потом обратно HI. А по даташиту ISA я вроде подобной необходимости не увидел. А в другой статье говориться что эти линии вообще при желании можно задать фиксировано и не трогать их.

Используемые детали:
U1, U2: К555ИР27, 74LS377N
U4, U5: К555ИЕ10, 74LS161N
U6: К555ИД14, 74LS139N
U8: К555АП6, 74LS245N
U9: К555ЛЕ1
U10: К555ЛА3 (Вариант К555ЛА1 если подключать к IOR,IOW,MEMR,MEMW)
C1: 1000мкф, 10В
R1: 1кОм

Используемые пины на LPT разъеме:
1: -> CLK (наш клокер, управляет счетчиком +1 к адресу и ставит защелку ALE)
2..9: <-> DATA (двунаправлен)
11: <- RDY ждем готовность от устройства
14: -> Режим настройки
16: -> Режим настройки
* Режим настройки:

Код: Выделить всё

00 Рабочий режим. Принимаем/отправляем данные
01 старшие 4бит адреса A16..A19 и IOR,IOW,MEMR,MEMW
10 средние лини адреса A8..A15. 
11 счетчик / лини адреса A0..A7.
(при установке счетчика нужно сделать CLK (pin 1) в HI)
Особенности работы:
- При одновременной установке сигналов MEMR и MEMW в LO генерируется сигнал RESET!
К555ЛА3 (по MEMR/MEMW =LO), либо К555ЛА1 (По MEMR/MEMW/IOR/IOW = LO)
- Если LO установлен MEMW и/или IOW то буфер U8 включается по направлению в видеокарту. В остальных случаях независимо от состояния MEMR или IOR находится в состоянии от видеокарты в LPT. Но возникает проблемма! Флуд от видяхи на линии данных препятсвующих настройке адреса. Поэтому в момент начала нстройки т.е. когда режим не 0! дешифратор U6 отключает этот буфер и он становится неактивным! и не срет на линии данных.
- ALE судя по описанию: защелкивается по заднему фронту т.е. когда CLK_HI установит новый адрес, при переходе CLK_HI в состояние LO прозейдет защелкивание адреса.
т.е. при работе ALE должно быть LO

Алгоритм работы (запись по адресам в видеокарту) (Это то как поидее должно работать но не факт):

Код: Выделить всё

- Видеокарта получает сигнал RESET т.к. MEMR и MEMW = 0. CLK =LO. MODE=00
- Устанавливаем Mode 01
- D0..D1 устаавливаем [A16,A17,A18,A19, 0, 1, 1, 1]
- Устанавливаем Mode 10
- D0..D1 устаавливаем [A8..A15]
- Устанавливаем Mode 11
- D0..D1 устаавливаем [A0..A7]
- CLK устанавливаем HI (Записали новый адрес в счетчик)
- Устанавливаем Mode 00
- D0..D1 устаавливаем [Данные в видеокарту]
- CLK устанавливаем LO
- CLK устанавливаем HI (следующий адрес)
- D0..D1 устаавливаем [Данные в видеокарту]
- CLK устанавливаем LO
и т.д. Возможно последовательность сигналов в MODE 00 иная нужно проверять на практике что луче. Возможно потребуется каждый раз после установки CLK в LO ждать RDY. Или нужно дергать MEMW в Lo/Hi ?
Нужно также понимать что при достижении Адреса A0..A7 в FF необходимо буде перейти в режим MODE отличный от 00 и задать новые параметры адреса и затем продолжить запись данных.
Т.е. адресс задается не каждый байт (как в примере с AVR), а только для каждого пакета данных, размер пакета до 256 байт.

Ответы на вопросы:
1. Зачем мне подключать видеокарту через LPT?
- Нужно выводить информацию на второй монитор, но чтобы этот монитор не был продолжением рабочего стола.
- Да чисто по фану :)
- Помимо видеокарты в этот ISA порт можно подключать и другие устройства.
2. Почему не AVR ?
- А чем он лучше? что в случае с AVR нужно писать программу и на ПК и для AVR. А в данном случае программу писать только на ПК.
- Мне больше нравится использовать микросхемы логики вместо AVR так ламповее.

Идея появилась давно, стал искать в интернете, вроде никто не реализовал подобного но нашел другие интересные статьи которые помогли мне в проектировании этого устройства и понимании логики его работы.
Список материалов которые я изучил:
1. https://www.radiokot.ru/forum/viewtopic.php?p=2206589
2. https://pinouts.ru/ParallelPorts/Parall ... nout.shtml
3. http://www.hardwarebook.info/ISA
4. http://exos.org.ru/download/isa.pdf
5. http://tinyvga.com/avr-isa-vga
6. https://habr.com/ru/post/406193/
7. http://exos.org.ru/download/portibm.zip
Вложения
ISA to LPT.png
Схема устройства ISA to LPT
(111.7 КБ) 755 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

1.подключать к современому кампу видео на ISA шину даже чесную апраратную 16бит :facepalm:
уже глупо...(выводить можно будет тока статику и тексть) :wink: ++++не ясно ка будет уживаться в системе твой драйвер твоего недо-LPT|ISA порта вель он должен иметь уровень 0 тоесть ЯДРА ОС
для других применений -спецплаты старых релизоф под эту ISA шину -может бытьб интереснее тока важен непрерывный и синхроный поток даных в "порт"-осилит ли оно его :oops: :dont_know: ... олсоблива если учесть что часть усьтройст тех времен реализовывали протокол шины упроошено включая дешики адреса девайса на шине-что при 1-3 платах в слотах прокатывало иногда кое как
2/ 555(74LS) медленои слаба надо 531/530(74S) ставить или ЛУЧШЕ современые CMOS 74АС
проверить сможеш какойнить карточкой ESS чипах ISA звуковух -если звук пойдет без сбоеф и провалоф при малой нагрузке на процик от твого драйва- порт кое как ГОДЕН!
да +5 и +12/-12 на шину брать тока с тогож БП компа

Добавлено after 2 minutes 52 seconds:
и да сейчас раритет сам чесный лпт порт !!
:idea: может стоит копать в сторону мостоф PCI\ISA или PCI-E/ISA? там и дрова не нужны и шинва будет полная апаратная !
чипа мостоф легко надергать с живызх бушных мамок под АМДК6/атлоны-класика и древние интеля (до хабовой эпохи)

Добавлено after 6 minutes 37 seconds:
останется напитсать модуклек в биос для подержки нового железа и интегрировать в основной биос-защить во флеху там до хуя места под этол можно даже рейды и сетку добавлять внутрь для карточек где не стои свой биос в кровати
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Реклама
Родился
Сообщения: 7
Зарегистрирован: Вс окт 21, 2018 17:02:30

Сообщение DDMZ »

>выводить можно будет тока статику и тексть
А мне больше и не надо :) Даже если будет работать как у автора статьи на HABR (и тут в соседней теме) мне будет достаточно. Но я думаю мой вариант будет работать побыстрее :) т.к. не приходится устанавливать новый адрес при отправке каждого байта.

>он должен иметь уровень 0 тоесть ЯДРА ОС
ничего подобно, пины на портах LPT и COM порт можно дергать из обычной программы. И частота дергания сигналами на ножках будет упираться в скорость работы одного ядра процессора (либо в скорость контроллера, но на моей плате такого не встречал). Если это порты встроенные в плату.
Ну и нестабильная длинна импульсов изза многозадачности и работы других фоновых приложений я думаю в этой ситуации не критична.

>555(74LS) медленои слаба надо 531/530(74S) ставить или ЛУЧШЕ современые CMOS 74АС
ок спасибо учтем, но вроде как скорости не большие и если будут достигать 2мб/с то это по сути не больше 300кгц.

>да +5 и +12/-12 на шину брать тока с тогож БП компа
Платы которые у меня есть к счастью питания кроме +5В не требуют :) но в целом доп питание кому нужно сможет сделать без проблем.

>и да сейчас раритет сам чесный лпт порт !!
Ну на моей плате он присутствует :) Но да согласен в современных платах его найти сложно... но есть копеечные USB->LPT они конечно медленнее работают чем нативный LPT в несколько раз, а есть еще мультикарты с LPT как для PCI так и для PCI-E

>останется напитсать модуклек в биос
это сильно муторно :) темболее получится 2 "иса" шины в компе.
В этом случае проще использовать разъем TPM он есть на современных платах, и там присосаться к шине LPC (аналог ISA).
И сделать конвертр LPC<->ISA, но на обычной логике его сложно будет сделать мне кажется... тут без AVR не обойтись.
На моей текущей плате TPM не выведен, а вот на ASUS H270 которая рядом лежит там TPM разъем присутствует.
Друг Кота
Аватара пользователя
Сообщения: 15711
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Есть классический вариант специализированной платы-расширителя под ISA шину.
Но он делается не под имитацию LPT, коих полно в готовом виде (на ISA/PCI шины в продаже не редкость),
а для установки на плате собственного устройства на основе разнообразных ИС/СБИС комплектов 580й или 1810 серий.
В области адрасов УВВ для того выделена специальная область (иногда конфликт с игровым портом/звуковой картой).
Даже книжа на ту тему в библиотеках должна бысть...
"Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC: Пер. с англ./Под ред.
У. Томпкинса, Дж. Уэбста. - М.: МИР, 1992"
...
Была еще парочка более поздних постсоветских авторов - но те значительно проще...
(в смысле сложности рассматриваемых конструкций)
:beer:

Касательно внешнего устройства отображения информации...
Там ни ISA ни LPT особо не требуется.
Смротрим в сторону управляемых из ПК "бегущих строк".
По факту - те же автономные дисплеи.А связь с оными всего-то через....
USB-TTL (USB-COM) интерфейс, который можно на любом компе отыскать.
8)
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Аватара пользователя
Сообщения: 240
Зарегистрирован: Вс авг 16, 2015 11:59:01

Сообщение Tronix »

Не так давно тоже пришлось замутить похожую тему:

Изображение

Зачем? Нужно было починить ISA-плату. В работающем обычном старом компе со вставленной ISA платой я упарился лазить с осцылом и лог анализаторами - очень не круто в динамике искать, что именно отвалилось. Сигналов много, и они довольно быстрые, и понять что где именно не работает - сложно. Поэтому покумекав, решил сделать такой вот "эмулятор" ISA шины, что бы сигналами можно было вообще пошагово управлять. Основными циклами (чтение из порта, запись в порт, чтение из памяти, запись в память), ну и даже вообще каждым отдельным сигналом по отдельности.

Камень воткнул какой валялся на столе, а валялся STM32F302RDT6. Так себе, конечно, контроллер для ногодрыга, да и вообще для данной задачи в целом, но какой был :-E~ Шину данных напрямую завел на 5в толерантные пины, подтянул 10к к 5V_VCC. Шину адреса через 3 защелки 555ИР23. Остальные управляющие сигналы к 5в толерантным пинам напрямую. Генерацию OSC 14,3 MHz сделал отдельно на 155ЛН1. Питается махарайка от +12В. Далее 3.3V на МК через обычный линейник 1117. Пять вольт пробовал тоже сперва через 7805, но оно греется как ад, поэтому вкорячил DC/DC 2.5A на TPS54260 и все холодненькое. Ну и с МИНУС 12 вольтами вообще засада, как я только над бедной mc34063 не издевался. Не возжелала она давать -12 вольт. Максимум что удалось от нее добиться - где-то около минус 8 вольт и падает в зависимости от нагрузки. Пробовал вместо нее поставить ту же TPS54260 и включить как negative voltage, но почему-то потерпел фейл - то работает, то дырка в микросхеме. После пятка штук решил прекратить эксперименты и вернулся к mc34063 и ее -8 вольтами. В принципе, операционникам на исследуемой плате хватило. Ну и починилась платка с помощью этого убердевайса.

А потом, да, включил и VGA видюху:

Изображение

Ну, все показывает:

Изображение

Но, как правильно тут уже заметили - медленно. В смысле текст то летает, а вот на графике уже всего кадров 10 в секунду где-то на любимом mode 13h, все-таки проброс 64Кб с HAL'овскими шевелениями ногами у STM32 - такое себе.. Конечно, можно и регистрами, GPIOx->BSR и как там они, но все равно до реальной скорости ISA не дотянет где-то наполовину.

Можно конечно прикрутить к этому делу USB, всмысле просто провод припаять к плате на пару ног контроллера, и сделать либо виртуальный COM-порт, либо вообще по-хорошему с булк-трансферами и libUSB, чтоб прям пакеты любого размера пулять на USB2.0 полной скорости. И даже пробросить эту хреновину в какой-нибудь эмулятор типа DosBox или PCem, чтобы, например на реальную SB AWE64 музло из DosBox играть. Но.... Ессно уже эта махарайка надоела и вообще, лень.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15711
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так это разные устройства...
1. Спецблок транслятора области УВВ в ISA шину ВНУТРИ ПК с целью обеспечения дополнительного вывода графической информации на вешний (дополнительный) дисплей.
2. Аппаратно-программный симулятор ISA/PCI шины на основе МК (или стендовый отладчик-анализатр компьютерных плат-расширителей).
8)
Как вариант 2 рассматривается также тестер карт ОЗУ.
8)
Реклама
Родился
Сообщения: 7
Зарегистрирован: Вс окт 21, 2018 17:02:30

Сообщение DDMZ »

Tronix
>подтянул 10к к 5V_VCC
А можно уточнить какие линии подтянул к 5В?

>Генерацию OSC 14,3 MHz сделал отдельно на 155ЛН1.
А по какой схеме? (можно ссылочку на картинку из интернета) а то в интернете схем то много, но там используются резисторы/конденсаторы, а у тебя на плате видно только микросхему+кварц.
Возможно они на оборотной стороне платы :)
У меня есть кварцы из мат плат. на 14.3Мгц
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

гварцевый гена на таком кварце легко заводится на 2 эдементах любой ттл/тлш
нужен квар и 1 резистор создаюший оос 1 элемента резик глето 0.4-1,5к кондеры можно не ставить если не нуден точный подгон частот
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Сообщение Wladimir_TS »

А разве ISA карты на отображают свою видеопамять на адресное пространство компьютера ? А отработка генерации прерывания по обратному ходу для CGA режимов как ? По крайней мера на старых VGA картах глюк с помехой при несинхронной записи в память был.
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

отображают дажен резервированые и кешируемые адреса вбиосе прописаны
прерывания кстати тоже генеритуют но там везде работает ПДП причем видиеокарты и продвинутый звук и мощные рейды имеют на борту не толко пзу своих биософ -попадающих в адреса старта биоса нои часто крупный масиф ОЗУ доступный через окно в 64/128к
а вот с CGA\hercules видющках не все так просто(их разрабатывали под 8 бит ХТ ISA шину колторая по спекам отличаласть от 16 битной АТ/АТХ
в старых мамках 386-586 даже был спецрежим апаратно включаемый для этого джампером(ну или из бивасу)
а боле свежие мамки под пень2.3(не все) а темпаче пень.4 этой херни УЖО не имели и старые видюшки на них не заводились или работали крайне некорректно сам като столкнулся пытаясь собрать 2 головый блок для промназначения где нужен был +_-вывод на 2(дополлнителный)чб мелкий дисплей работаюший в рещиме CGA|her
имеющаяся мамка была 4пенковаявая но с апаратной isa -vesa шиной-доволно редкая ка по наличию портоф/слтоф таки по форм фактору -фултауерная все слоты в наличие... долго я там с ней ебался пока догадался порезать пару дорожек и накидать соплей МГТФ-кой
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Прорезались зубы
Аватара пользователя
Сообщения: 240
Зарегистрирован: Вс авг 16, 2015 11:59:01

Сообщение Tronix »

[uquote="DDMZ",url="/forum/viewtopic.php?p=3818039#p3818039"]А можно уточнить какие линии подтянул к 5В?[/uquote]
D0-D7. Я это делал, так как хотел сначала вообще не переключать GPIO контроллера в режим input, а настроив его только как output open-drain. Но не взлетело,пришлось все-таки переключаться между input и output. А резисторная сборка так и осталась запаяна, ибо тупо лень было выпаивать.
[uquote="DDMZ",url="/forum/viewtopic.php?p=3818039#p3818039"]А по какой схеме? (можно ссылочку на картинку из интернета) а то в интернете схем то много, но там используются резисторы/конденсаторы, а у тебя на плате видно только микросхему+кварц.
Возможно они на оборотной стороне платы :)[/uquote]

Да по классической схеме типа такой:
gena.PNG
(3.49 КБ) 305 скачиваний
Только резюки 330 ом вроде поставил. Да, они снизу платы между ножками припаяны 0603 типоразмер.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Вс окт 21, 2018 17:02:30

Сообщение DDMZ »

Попробовал несколько схем генераторов симулировать в мультисим 14.2 с кварцем 15мгц
И на выходе частота получалась либо больше = 25Мгц, либо меньше в 2 раза = 7.5Мгц, а 66.66 наносекунд для 15Мгц не получалось.
Симулятор неправильно работает?
Вложения
quartz-sim.png
(52.02 КБ) 415 скачиваний
Электрический кот
Сообщения: 1056
Зарегистрирован: Сб сен 12, 2009 15:43:19

Сообщение khach »

[uquote="Tronix",url="/forum/viewtopic.php?p=3803999#p3803999"]Не так давно тоже пришлось замутить похожую тему:

Изображение[/uquote]
Да простит меня ТС.
Tronix
А можете проектом ( исходниками) поделиться? Тоже надо починить древний прибор, вернее его видеоадаптер, что то типа CGA. А воткнуть некуда.
Вопрос- а почему не использовали FSMC шину с преобразователями уровней? Ее конечно замедлять прийдется, в таймингах разбираться. Жалко, что у FSMC нет сигнала типа RDY ISA.
Прорезались зубы
Аватара пользователя
Сообщения: 240
Зарегистрирован: Вс авг 16, 2015 11:59:01

Сообщение Tronix »

khach, да какой там проект? Установить пин в 1, установить пин в 0 - вот и весь архисложный проект, не уступающий мегапроектам типа "мигни светодиодом на stm32". Да и на работе сорцы остались, хз теперь когда туда представиться возможность скатать.
А воткнуть некуда.
Да возьмите на авито или другой барахолке любую мамку с ISA времен socket370 или типа того. За условные 100-200-300 рублей можно в комплекте с памятью и процом найти. А порой и вообще бесплатно.
Контактная информация:
Ответить

Вернуться в «Цифровая техника»