Программа без проблем работает на ПК где нормально работает Windows
2000/XP т.е. это как минимум Celeron 500 и 64МБ ОЗУ, на менее мощных
компьютерах и особенно под управлением Windows 98/ME возможно некорректное
функционирование программы проявляющиеся в том, что после нажатия
на кнопку запуска измерения кнопка меняет свое название на "Сброс"
и ни каких результатов измерения не появляется. Это связано "медленной"
обработкой событий USB шины, т.е. система попросту не успевает передать
всю информацию за выделенное ей время. Для устранения этого необходимо
открыть файл usb_osc.ini который должен находится в той папке, куда
была произведена установка (по умолчанию в C:\Program Files\USB Oscillograph)
и найти строчки:
[system]
usb_wr_timeout=50 - таймаут записи, мс
usb_rd_timeout=50 - таймаут чтения, мс
эти два параметра задают промежуток времени в мс (таймаут) за который
система должна успеть передать (wr) и прочитать (rd) блок данных из
устройства. По умолчанию оба таймаута равны 50 мс, на ПК с Athlon
XP 1700 и 512МБ ОЗУ под управлением Windows XP все замечательно передает
за 50 мс, на ПК с Celeron 600 и 192МБ ОЗУ под управлением Windows
XP значение таймаутов можно увеличить до 100 мс, хотя и на 50 мс все
работает, но на Celeron 600 и 192МБ ОЗУ под управлением Windows 98
для нормальной работы значение таймаутов должно быть как минимум 400-500
мс. Также был проведен тест для ПК с Pentium 200 и 32МБ ОЗУ под Windows
98 как ни странно программа работала даже на этом компьютере но таймауты
были около 1000 мс.
Кроме того, в файле usb_osc.ini есть еще два важных системных параметра:
usb_reset_timeout=50 -
задержка после сброса, мс
wait_reset_trigger=300 - задержка до сброса зависшей синхронизации,
мс
После сброса устройства необходимо выдержать некоторую задержку, для
того чтобы Windows успел сконфигурировать устройство, т.е. выполнить
стандартные функции инициализации, выделения адреса и т.д. Чем медленнее
компьютер, тем дольше выполняются эти действия, а значит и больше
должна быть задержка, она примерно должна быть равна таймауту обмена,
т.е. при увеличении какого либо из таймаутов следует увеличить и задержку
после сброса.
Значении wait_reset_trigger определяет через, сколько будет произведен
сброс устройства, если были изменены параметры синхронизации и устройство
не отреагировало на них, т.е. зависло. Смысл данного параметра можно
пояснить на следующем примере: включили абсолютную синхронизацию,
задали уровень 5 В, максимальный уровень сигнала 2 В, т.е. условие
синхронизации никогда не выполнится - устройство все время будет находится
в режиме ожидании и на экране не будет ни каких изменений. Изменяем,
уровень синхронизации до 1 Вольта, после это изменения программа ждет
wait_reset_trigger мс, если устройство не отреагировало, а оно в данном
случае не может отреагировать, так как ждет выполнения невозможного
условия синхронизации, то происходит сброс устройства и естественно
окончание измерения. А задержка нужна для того, чтобы дать возможность
устройству ответить, вдруг условия синхронизации вполне выполнимы,
но происходят довольно редко, например раз в 250 мс. Если предыдущие
условие синхронизации таки выполнится, то устройство не будет сброшено
в течении wait_reset_trigger после изменения условия синхронизации,
а значит, измерение не будет сброшено, и результаты будут выведены
на экран.
Также в разделе [system] появилась строка:
show_exchange_error=1
Данная строка была введена из-за того, что были выявлены некоторые
проблемы в работе устройства при работе с ноутбуком и при установленной
старой версии драйверов. Проблемы заключались в следующем: после
запуска программы отображалась только одна закладка логического
анализатора из-за того, что ПО определяла железяку как урезанную
версию, а это в свою очередь происходило из-за того, что драйвер
ядра (Jungo WinDriver) не корректно читал данные из устройства.
Так как никаких ошибок при этом не выдается и данных проблем не
было ни на одном из 10-ти компьютеров, на которых тестировалось
устройство, и все устройства из первой партии тоже работали корректно,
то возможность появления данной ошибки не учитывалась. Для того
чтобы определить из-за чего, т.е. какая ошибка произошла во время
обмена и добавлена эта строка. Если устройство ведет себя некорректно
или вообще не работает то пожалуйста установите значение этого параметра
в 1 и вышлите мне коды произошедших ошибок, если же все нормально
работает то данную функции можно отключить установив значение параметра
в 0.
|