Arlleex 172 Вчера в 17:12 Опубликовано вчера в 17:12 · Жалоба Возникла тут у меня небольшая задача переделать железяку, которой лет 20, на новую элементную базу. Старый компьютер "каким-то образом" общается с самодельной железкой, которую делали те, коих уже давно нет. Девайс (подчиненное устройство) довольно простая вещь по своей сути, протокол обмена там, думаю, простейший. В биосе компьютера максимум что узнал, это то, что LPT настроен в режиме EPP. Решил к STM32 подключить LPT, но вот полез в интернеты, но информации по электрическому подключению не кулибинными способами как-то мало. Кто-то станочки степ-дир подключает, кто-то бабушке скилы тру-хацкера демонстрирует, вешая гирлянды светодиодов на шину данных. Но читая чуть более осмысленные статьи-заметки, понял, что LPT в части физического подключения крайне "свободен" в реализации, настолько свободен, что некоторые девайсы были попросту несовместимы: то какие-то подтягивающие резисторы китайцы забыли приколхозить, то буферы двунаправленные с пуш-пульным выходом применяли, выпаливая LPT хоста. В общем, радостей мало. Сам протокол обмена там, вроде, простейший - горсть сигналов квитирования/строба и 8 бит шины данных. Но вот что делать с аппаратной частью? Как бы сделать сразу так, чтобы не промахнуться и не спалить чего-нибудь? На ум приходит шину данных (поскольку только она потенциально двунаправленная в зависимости от реализации LPT хоста) пропустить через двунаправленный шинный буфер с выходом типа открытый сток, подтянув резисторами к питанию на "уличной" стороне. Может, кто-то уже съел собаку на этом? Какие подводные камни? Каким образом (кем и по какому событию) переключается направление шины данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 3 Вчера в 18:30 Опубликовано вчера в 18:30 · Жалоба 1 час назад, Arlleex сказал: Каким образом (кем и по какому событию) переключается направление шины данных? 2 мин гугления тыц C5: Режим ввода-вывода данных. Устанавливает направление порта данных, 1=вход, 0=выход (обратите внимание, что порт принтера должен быть настроен на двунаправленное использование в BIOS (режим PS/2), чтобы этот бит имел эффект). C6: Не используется. C7: Не используется (хотя в некоторых реализациях этот бит используется вместо C5 для настройки ввода-вывода данных) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 172 Вчера в 18:59 Опубликовано вчера в 18:59 · Жалоба 28 минут назад, Freibier сказал: 2 мин гугления тыц C5: Режим ввода-вывода данных. Устанавливает направление порта данных, 1=вход, 0=выход (обратите внимание, что порт принтера должен быть настроен на двунаправленное использование в BIOS (режим PS/2), чтобы этот бит имел эффект). C6: Не используется. C7: Не используется (хотя в некоторых реализациях этот бит используется вместо C5 для настройки ввода-вывода данных) И где тут описание ножки физического порта LPT, отвечающей за выбор направления передачи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardWareMan 2 Вчера в 19:02 Опубликовано вчера в 19:02 · Жалоба Разве трудно найти букварь на IEEE 1284? Там полностью всё расписано картинками, эпюрами и таймингами. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 172 Вчера в 19:12 Опубликовано вчера в 19:12 · Жалоба 8 минут назад, HardWareMan сказал: Разве трудно найти букварь на IEEE 1284? Там полностью всё расписано картинками, эпюрами и таймингами. О. Не сразу вразумил, что на это дело был стандарт. Спасибо, ознакомлюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 Вчера в 19:13 Опубликовано вчера в 19:13 · Жалоба Помнится... norton link не тпкбовал спец портрв. Приём шёл по битам статуса. Передача оьычным спрсобом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardWareMan 2 Вчера в 19:53 Опубликовано вчера в 19:53 (изменено) · Жалоба 41 minutes ago, Arlleex said: О. Не сразу вразумил, что на это дело был стандарт. Спасибо, ознакомлюсь. Что касается физической части, то там всё просто и даже были специальные микросхемы согласования. Что-то типа такого: Правда, в случае с STM32 придётся придумывать согласование с LVTTL/LVCMOS. С другой стороны, зная электрические параметры на выходе интерфейса можно сделать сразу правильное согласование между STM32 и кабелем устройства IEEE 1284. Хммм... 74LVX161284 Features: • Level 1 and 2 signaling support • 3.3V +/- 10% VCC operation • Translation capability allows the cable-side to interface with 5V signals • Guaranteed 800mV minimum hysteresis on control inputs • B and Y output resistance optimized to drive IEEE 1284 prescribed cable • B and Y outputs in high impedance mode during power down • 14mA B Port source/sink capability • I/Os on cable-side B Port have integrated pull-up resistors • Flow-through pin configuration • Single-chip solution 72419.pdf ieee-1284-a_b_c_994.pdf Изменено вчера в 19:55 пользователем HardWareMan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 3 Вчера в 20:55 Опубликовано вчера в 20:55 · Жалоба 1 час назад, HardWareMan сказал: там всё просто Если я правильно понял, то ТС спрашивает к какому пину DB25 подключить пин DIR этой мс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardWareMan 2 14 часов назад Опубликовано 14 часов назад (изменено) · Жалоба 9 hours ago, Freibier said: Если я правильно понял, то ТС спрашивает к какому пину DB25 подключить пин DIR этой мс. У ТС вполне конкретная задача: освежить ведомое устройство, подключенное через LPT. Т.е., то, что находится на ПК и до физического порта DB25 должно остаться как есть, причём если будет миграция на другую комбинацию ПК то устройство должно остаться совместимым. Отсюда вывод: устройство надо сначала сделать электрически совместимым, а затем уже логически (по протоколу). Я уже показал выше, что были вполне себе штатные драйверы кабеля LPT, причём они совместимы под разные режимы (не обязательно использовать именно все). Это будет полностью электрически совместимое устройство с любым стандартным LPT портом, хоть на ноутбуке хоть на ПК. Далее. ТС зашёл немного не правильно в тему. Его можно понять: он хочет сделать именно так как надо а не как дешевле. Но я бы начал с анализа схемы старого устройства и если оно работет то записал бы любым доступным LA активность на шине для анализа самого протокола. 16 каналов не хватит, конечно, но вероятно не все статусы могут быть использованы да и не все биты данных нужны для понимания арбитража и можно будет сравнить с эпюрами из букваря на IEEE1284 и определить, стандартный там протокол SPP/BIDIR/EPP/ECP или нет. Поэтому, первично было бы правильным посмотреть как именно организовано согласование старого устройства с кабелем LPT по факту и, вероятно, просто повторить эту модель было бы достаточно. Но ТC не приводил нам ни фото старого устройства, ни его схемы (даже отреверсеной), так что нам остаётся только гадать. Вероятно, устройство под NDA вообще находится. Ну и отвечая собственно на вопрос "где на DB25 сигнал DIR?" - ответ нигде. Этот сигнал управляется самим устройством, когда оно по протоколу определяет, что должно переключить направление. Т.е., по умолчанию устройство должно соответствовать режиму SPP. А в букваре чётко показано, какие сигналы покидают устройство а какие нет: IEEE-1284-2000.pdf Изменено 14 часов назад пользователем HardWareMan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 172 14 часов назад Опубликовано 14 часов назад · Жалоба 7 минут назад, HardWareMan сказал: Далее. ТС зашёл немного не правильно в тему. Его можно понять: он хочет сделать именно так как надо а не как дешевле. Да, верно - этих девайсов планируется сделать на объем ремонтного фонда: тот хлам, который починить не удалось, заменяется на свежий. Цитата Но я бы начал с анализа схемы старого устройства и если оно работет то записал бы любым доступным LA активность на шине для анализа самого протокола. 16 каналов не хватит, конечно, но вероятно не все статусы могут быть использованы да и не все биты данных нужны для понимания арбитража. Я сразу таким путем настроен идти)) Уже распаял переходник LPT-LPT с отростками на логический анализатор. Цитата Но ТC не приводил нам ни фото старого устройства, ни его схемы (даже отреверсеной), так что нам остаётся только гадать. Вероятно, устройство под NDA вообще находится. На самом деле мне было бы самому гораздо проще, если бы хоть какая-то схема осталась: ни схемы, ни плат (разводки), ни программного обеспечения - все в небытии. Насколько я понял, когда-то заказчику впарили девайсы без особых заморочек с КД, процессом разработки и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardWareMan 2 13 часов назад Опубликовано 13 часов назад · Жалоба 39 minutes ago, Arlleex said: Да, верно - этих девайсов планируется сделать на объем ремонтного фонда: тот хлам, который починить не удалось, заменяется на свежий. *** На самом деле мне было бы самому гораздо проще, если бы хоть какая-то схема осталась: ни схемы, ни плат (разводки), ни программного обеспечения - все в небытии. Насколько я понял, когда-то заказчику впарили девайсы без особых заморочек с КД, процессом разработки и т.д. Но ведь раз есть ремонт то есть и анализ, разве не так? А может есть вариант временно снять один экземпляр на неразрушающее изучение на некоторое время? Ну или на крайний случай сгонять к заказчику с фотоаппаратом и на месте пофотографировать подробно со всех сторон плату и потом хотя-бы так пытаться что-то изучать? А без каких-то начальных вводных это уже из разряда гадания выходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 228 13 часов назад Опубликовано 13 часов назад · Жалоба 1 час назад, Arlleex сказал: Я сразу таким путем настроен идти)) Уже распаял переходник LPT-LPT с отростками на логический анализатор. На али вроде полно LPT-USB переходников, для которых обещают "IEEE 1284". Типа такого: https://www.aliexpress.com/item/1005006873754603.html Заказать у нескольких разных продаванов разных подобных USB-LPT. Возможно какой-то нормально заработает с вашим девайсом. А дальше уже спокойно изучать обмен с ним по этому LPT. А от электрических проблем и конфликтов разве не помогут параллельные резисторы ом по 100 по каждой линии? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 172 11 часов назад Опубликовано 11 часов назад · Жалоба 2 часа назад, HardWareMan сказал: Но ведь раз есть ремонт то есть и анализ, разве не так? А может есть вариант временно снять один экземпляр на неразрушающее изучение на некоторое время? Ну или на крайний случай сгонять к заказчику с фотоаппаратом и на месте пофотографировать подробно со всех сторон плату и потом хотя-бы так пытаться что-то изучать? А без каких-то начальных вводных это уже из разряда гадания выходит. Да это наши блоки. Мы разработчики. Только не я лично, а нейкий дядя, лет 30 назад паявший нечто, что потом другой дядя смог продать в небольшом тираже. 2 часа назад, jcxz сказал: А от электрических проблем и конфликтов разве не помогут параллельные резисторы ом по 100 по каждой линии? Вряд ли, да и это не есть штатный режим. P.S. Подключил переходником с коротенькими проводочками от сигнальных пинов - и обмен прекратился... То ли наводки ломают сразу обмен, то ли что-то еще. Припаяно все отлично, к этому не может быть вопросов. Вот и наблюдаю эффект разработки через задницу - видимо, тот, кто делал эту железку, сделал как смог и лишь бы по кое-какерски работало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardWareMan 2 11 часов назад Опубликовано 11 часов назад · Жалоба 2 hours ago, jcxz said: На али вроде полно LPT-USB переходников, для которых обещают "IEEE 1284". Типа такого: https://www.aliexpress.com/item/1005006873754603.html Заказать у нескольких разных продаванов разных подобных USB-LPT. Возможно какой-то нормально заработает с вашим девайсом. А дальше уже спокойно изучать обмен с ним по этому LPT. А от электрических проблем и конфликтов разве не помогут параллельные резисторы ом по 100 по каждой линии? Кастомные устройства обычно не работают с такими переходниками. Эти переходники отчасти лишь поддерживают стандарт, только в части SPP/EPP пакетно в одну сторону. Т.е., чисто для принтера. Поэтому, когда ты его втыкаешь в комп ты видишь не LPT порт а "Поддержка USB принтера". А с принтерами они отлично работают а у тех же HP были свои нативные даже в виде "Адаптер для USB". Вот такая хрень: И да, они не работали с LPT сканерами, ибо те использовали либо BIDIR либо ECP (с DMA, которые быстрые). А что касается кастомщины, так такие переходники не работают от слова совсем, потому что USB не поддерживает битбанг и он не маппит в пространство портов LPT какие-то регистры. Только пакетная передача данных на эндпоинт данных, которая уже контроллером загоняется как SPP со стробами и прочим. 18 minutes ago, Arlleex said: P.S. Подключил переходником с коротенькими проводочками от сигнальных пинов - и обмен прекратился... То ли наводки ломают сразу обмен, то ли что-то еще. Припаяно все отлично, к этому не может быть вопросов. Вот и наблюдаю эффект разработки через задницу - видимо, тот, кто делал эту железку, сделал как смог и лишь бы по кое-какерски работало. Ну раз устройство на руках, может всё же стоит посмотреть на входные цепи интерфейса? А может даже нам показать получится какой-нибудь кусочек из этих цепей? Что касается помех на адаптере, может там, конечно, дело и с импедансом, но для этого должны быть большие скорости, как у ECP: там в режиме DMA до 2Мбайт/с а значит по проводу 2 МГц летает, провод для этого с витыми парами используется (в букваре на 1284 описан). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baza 30 10 часов назад Опубликовано 10 часов назад · Жалоба Есть давно такая штука http://ra3pkj.ru/page2.shtml https://www-user.tu-chemnitz.de/~heha/basteln/PC/USB2LPT/index.en.htm китайцы лепят клоны на её основе для mach3 https://purelogic.ru/catalog/kontroller_plcm-lpt-2__interfeys_usb/ http://homecnc.ru/electro/33-lpt-dlya-cnc работал с ним, поддерживает даже программы, которые дергают пинами и слушают порт в прямом доступе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться