Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: На ноутбуке не работает ByteBlaster...
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
sergunas
Похоже виной всему LPT порт на данном ноутбуке. То ли он урезанный, то ли он какой-то хитрый...?
В BIOS'е ноутбука можно выбрать 4 режима LPT порта: 1) Only Output 2) Bi-directional 3) EPP 4) ECP. Какой режим не ставлю, LPT порт ведёт себя одинаково, а точнее как Only Outputs. В системе (WinXP) он LPT порт определятеся как ECP порт принтера и принтер работает "на ура" от LPT-порта. А вот программирование из Max-Plus'a через ByteBlaster не работает sad.gif
bychkov_vladimir
Цитата(sergunas @ Jun 1 2005, 16:07)
Похоже виной всему LPT порт на данном ноутбуке. То ли он урезанный, то ли он какой-то хитрый...?
В BIOS'е ноутбука можно выбрать 4 режима LPT порта: 1) Only Output 2) Bi-directional 3) EPP 4) ECP. Какой режим не ставлю, LPT порт ведёт себя одинаково, а точнее как Only Outputs. В системе (WinXP) он LPT порт определятеся как ECP порт принтера и принтер работает "на ура" от LPT-порта. А вот программирование из Max-Plus'a через ByteBlaster не работает sad.gif
*


WinXP блокирует работу с любой периферией не снабженной своим драйвером.
Поэтому под ByteBlaster нужно поставить драйверочек.
делаеться очень просто...
добавлете новое оборудование как звуковое устройство и из папки maxplus2\drivers\win2000 - ставите драйвер
Shread
Была проблема с портом на ноуте IBM Think Pad(собственно с него сейчас и пишу), принтер работал, не работал ни Byte Blaster, ни MSP_Fet, ось стояла 2K.(хотя не работали ни под какой другой тож, кроме ASPLinux'а). Оказалось, что Windows криво выбирает конфигурацию для порта, порпобуйте в настройках порта потыкать разные конфигурации. В Биосе у меня не было выбрано особого типа порта. У вас точно правильно стоит драйвер для ByteBlaster'а?
Ни одна из NT платформ не дает прямого доступа к порту, для работы под ними нужен драйвер, об этом в справке макса написано нормально. Какие-то другие утилиты с портом работают, кроме принтера?
Вот тут можно скачать DriverLINX port Driver, когда мне бывает нада на LPT сделать я пользуюсь им, там есть примеры программок, с которые могут писать и читать порт. Если ничего не поможет, воспользуйтесь им(можно повесить кучку светодиодиков и кнопочек для проверки работоспособности порта.) Когда отлаживал одно из устройств, сделал удлиннитель, которы втыкался между компом и устройством, в котором стояли 74hc04 инвертора, и гора светодиодиков, для большей наглядности работы компа с устройством.
sergunas
спасибо за совет, попробую сделать как вы советуете, конечно, просто сейчас ноутбука под рукой, к сожалению, нет и проверить не могу.

Дело в том ещё, что на моём настольном компьютере под той же WinXP с теми же Max-Plus II, Quartus II и ByteBlaster MV всё работает и никаких драйверов я не ставил.

Второй момент, программа, написанная мной, использует EPP режим работы порта, на моём настольном компьютере работает без проблем, а на ноутбуке не хочет. Анализ показал, что на ноутбуке отстствует бит тайм-аута и совершенно не работает бит DIRECTION, управляющий направлением линий данных LPT порта, т.е. данные всё время выводятся наружу... Причём, повторю, что настройки BIOS оставляют эту ситуацию без изменений. Отсюда напрашивается вывод об некой урезанности LPT порта ноутбука, ведь так?
sergunas
to Shread
Цитата(Shread @ Jun 1 2005, 17:22)
Была проблема с портом на ноуте IBM Think Pad(собственно с него сейчас и пишу), принтер работал, не работал ни Byte Blaster, ни MSP_Fet, ось стояла 2K.(хотя не работали ни под какой другой тож, кроме ASPLinux'а). Оказалось, что Windows криво выбирает конфигурацию для порта, порпобуйте в настройках порта потыкать разные конфигурации...

честно говоря, пробовал и что-то не очень влияет на конечный результат...
Вы знаете, мой вопрос, может быть не столько в ByteBlaster'е (может действительно драйвер поможет) сколько с не работой LPT порта в режиме EPP. Этот режим уж точно не работает как показывает программный доступ к портам ввода-вывода, который работает.
Цитата(Shread @ Jun 1 2005, 17:22)
...поможет, воспользуйтесь им(можно повесить кучку светодиодиков и кнопочек для проверки работоспособности порта.) Когда отлаживал одно из устройств, сделал удлиннитель, которы втыкался между компом и устройством, в котором стояли 74hc04 инвертора, и гора светодиодиков, для большей наглядности работы компа с устройством.
*

согласен, с лампочками очень удобно, но мне хватило пощупать осциллографом, данные выставлялись в абсолютном согласии с моими программными манипуляциями, но только в режиме OnlyOuts
Shread
Как я понимаю вы работаете с портом в режиме"only outs", что значит по сути SPP(Standart Parallel Port), если криво стоят драйвера или еще чего-то сделано криво(программно), порт может не переключаться из SPP в ECP или, тем более EPP. Еще раз повторюсь, проверьте в windows конфигурацию порта, иль поставьте туда win98 и попробуйте там, тогда кривизну работы XPюши с портом можно будет оттбросить. Когда работает Byte Blaster, как я понимаю он использует ECP, а не SPP. EPP Тоже работать должен(конечно не обязан, но все же должен)
Еще вот что
Цитата
может действительно драйвер поможет

если вы не ставили сами драйвер, значит в нем и дело.
Я говорил не только про лампочки, я говорил про кнопочки, которые позволили бы проверить на чтение с порта, если что-то с него считывается, значит он уже работает не в SPP, SPP-режим поддерживает только передачу с компа.(утилита выше, умеет читать с порта, под winxp)
sergunas
Цитата(Shread @ Jun 1 2005, 19:21)
Как я понимаю вы работаете с портом в режиме"only outs", что значит по сути SPP(Standart Parallel Port),
*

да, но, вообще, я работаю (хочу работать) с LPT в режиме EPP, а LPT порт ноутбука упорно сидит в режиме Only Outs - я бы назвал его режимом SPP без бита Direction.
Цитата(Shread @ Jun 1 2005, 19:21)
если криво стоят драйвера или еще чего-то сделано криво(программно), порт может не переключаться из SPP в ECP или, тем более EPP.
*

может что и сделано криво, только на подавляющем большитстве компьютеров моя программулька общения с LPT портом по EPP работает. И вопрос как кривизну эту проверить, выявить?
Цитата(Shread @ Jun 1 2005, 19:21)
Еще раз повторюсь, проверьте в windows конфигурацию порта,
*

всё с виду вроде хорошо, что там можно проверить?
Цитата(Shread @ Jun 1 2005, 19:21)
иль поставьте туда win98 и попробуйте там, тогда кривизну работы XPюши с портом можно будет оттбросить.
*

Спасибо, за идею, поставить Windows'98, но наверное это крайний случай, к тому же новые версии того же Quartus уходят от win98.
Цитата(Shread @ Jun 1 2005, 19:21)
Когда работает Byte Blaster, как я понимаю он использует ECP, а не SPP.  EPP Тоже работать должен(конечно не обязан, но все же должен)
*

А вот это хороший вопрос: "какой нужен режим LPT порта ByteBlaster'у?"
Shread
Насколько я понимаю ByteBlaster работает с портом в режиме ECP, как и другие эмуляторы(тот же XDS510PP для TMS320). Если с Вашей программой все ок на других компах, с такой же осью, значит дело может быть только в железке порта, или в настройках его драйвера. У меня была проблема такого рода: ставлю windows, он назначает порту какую-то конфигурацию, автоматически(система->диспетчер устройст и т.п), с этой конфигурацией принтер работает но не один программатор нет, видимо не работают внешние прерывания, т.е когда инициатор обмена комп, а не устройство все ок. Попробуйте потыкать разные варианты конфигурации порта, уберите галку"автоматическая конфигурация", и ручками назначьте какую-нибудь, не вызывающую конфликтов с оборудованием другим. Под кривизной софта имел ввиду именно кривизну win драйверов для порта.
sergunas
Дрова от дачного всё же помогли, ByteBlaster на ноутбуке заработал, за что всем огромная благодарность!
EPP режим, ясно, нет...
Shread
Цитата(sergunas @ Jun 4 2005, 15:57)
Дрова от дачного всё же помогли, ByteBlaster на ноутбуке заработал, за что всем огромная благодарность!
EPP режим, ясно, нет...
*

Ну так вы всетаки пясните чем и как вы тестируете EPP?
Каким-то своим софтом, который работает на других машинах?
sergunas
Цитата(Shread @ Jun 4 2005, 16:25)
Ну так вы всетаки пясните чем и как вы тестируете EPP?
Каким-то своим софтом, который работает на других машинах?
*

да, своей программой, которая работает на других машинах

тестирую просто: 1) пишу в адрес 378h + 3, а строб адреса на выходе LPT-порта не формируется 2) не нахожу бита таймаута в регистре статуса (378h + 1), который бы устанавливался, если EPP цикл не прошёл, и который бы я мог обнулить 3) не вижу в действии бита DIRECTION в регистре контроля (378h + 2), т.е. данные, записанные в регистр данных (378h + 0) всегда выставлены наружу порта.

при этом настройки BIOS'а (режим порта, адрес порта) ничего не меняют, передёргивание галочек в свойствах порта - тоже, пробовал также менять драйвер с "ECP порт принтера" на "Порт принтера"
такие дела....
Shread
Странно все это <_<
Если в настройках порта в биосе есть такой пункт как EPP значит он должон быть. Для этого бука нет никаких специальных дров под чипсет/порт?
Каким оразом программа работает с портом?
prototype
Цитата(sergunas @ Jun 4 2005, 15:47)
да, своей программой, которая работает на других машинах

тестирую просто: 1) пишу в адрес 378h + 3, а строб адреса на выходе LPT-порта не формируется 2) не нахожу бита таймаута в регистре статуса (378h + 1), который бы устанавливался, если EPP цикл не прошёл, и который бы я мог обнулить 3) не вижу в действии бита DIRECTION в регистре контроля (378h + 2), т.е. данные, записанные в регистр данных (378h + 0) всегда выставлены наружу порта.

при этом настройки BIOS'а (режим порта, адрес порта) ничего не меняют, передёргивание галочек в свойствах порта - тоже, пробовал также менять драйвер с "ECP порт принтера" на "Порт принтера"
такие дела....
*

Вообще то рекомендую почитать спецификацию на IEEE1284. Для активации режима ЕРР нужно выполнить сначала целую процедуру, причём оконечное устройство не порте должно давать соответствующие ответы на запросы порта. Возможно есть реализации порта где достаточно просто писать в регистр данных ЕРР, но лично мне до сих пор попадались только вполне стандартные порты. Кстати байтбластер не имеет никакого отношения к ЕРР - он использует самый простой SPP, на ввод используются линии статуса. Просто ХР, как впрочем любая система на NT ядре не пускает к портам без драйвера.
sergunas
Цитата(Shread @ Jun 4 2005, 19:33)
Странно все это  <_<
*

согласен
Цитата(Shread @ Jun 4 2005, 19:33)
Если в настройках порта в биосе есть такой пункт как EPP значит он должон быть. Для этого бука нет никаких специальных дров  под чипсет/порт?
*

это хорошая мысль, можно будет попробовать поискать драйвера для чипсета ноутбука, по крайней мере, описание какое-нибудь...
Цитата(Shread @ Jun 4 2005, 19:33)
Каким оразом программа работает с портом?
*

стандартные процедуры записи и чтения порта ввода вывода по конкретному адресу, естественно, пользуюсь драйвером (giveio.sys) для доступа к портам по WinXP

Цитата(prototype @ Jun 6 2005, 08:09)
Вообще то рекомендую почитать спецификацию на IEEE1284. Для активации режима ЕРР нужно выполнить сначала целую процедуру, причём оконечное устройство не порте должно давать соответствующие ответы на запросы порта. Возможно есть реализации порта где достаточно просто писать в регистр данных ЕРР, но лично мне до сих пор попадались только вполне стандартные порты.
*

можете прислать пример кода как это делаете Вы? Спецификацию читал, может что упустил...

Цитата(prototype @ Jun 6 2005, 08:09)
Кстати байтбластер не имеет никакого отношения к ЕРР - он использует самый простой SPP, на ввод используются линии статуса...
*

у меня тоже такое впечатление, что он использует SPP, а не ECP
prototype
Я делал в своё время переферию, связанную с компом через LPT в режиме ЕРР. Помнится стоило большого труда убедить программиста что режим надо инициализировать, но потом все заработало и он был вынужден мне поверить rolleyes.gif
Мне хватило того что прилагаю (программисту - тоже).Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
sergunas
Ну, это вы дали инфу про переговоры, оно, конечно, полезно знать, благодарю. Но в моём случае не получается на ноутбуке (хосте) заставить порт работать в EPP режиме, поэтому переговоры, насколько я понимаю, в этом случае не помогают...

Или вы хотите сказать, что пока система не увидит при помощи переговоров, что к LPT порту подключено устройство, поддерживающее стандарт IEEE 1284, она (система) не будет инициализировать EPP режим? Очень мудренно как-то, тем более что на многих компьютерах таких заморочек нет, всё работает и без них.

Прошу прощения, если не так понял.
prototype
Цитата(sergunas @ Jun 7 2005, 09:21)
Или вы хотите сказать, что пока система не увидит при помощи переговоров, что к LPT порту подключено устройство, поддерживающее стандарт IEEE 1284, она (система) не будет инициализировать EPP режим? Очень мудренно как-то, тем более что на многих компьютерах таких заморочек нет, всё работает и без них.

Прошу прощения, если не так понял.
*


В точку, именно это я имел ввиду.
sergunas
ок, будем иметь это ввиду, пока проблему обошли, но если вопрос о необходимости EPP на том ноутбуке станет ребром, то попробуем Ваш совет...
Премного благодарен!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.