Максимальная скорость у параллельного порта (вопрос про Ultralogic) |
Ответить |
Автор | |
Новичок Присоединился: 21 Июль 2004 Категория: Kazakhstan Online Status: Offline Публикации: 10 |
Опубликовано: 23 Август 2004 16:02 |
Здравствуйте! Возникла проблема при написании программы на Ultralogic'е для PC-совместимого контроллера Octagon Micro-PC 5025A. Стоит задача в опросе датчика на скорости около 100 кбод. и приеме информации с него на той же скорости через параллельный порт контроллера. При разработке программы мы столкнулись вот с чем: нужно сформировать пачку импульсов, таймерная переменная Ultralogic'a не подходит, слишком большая длительность импульса, цикл с инвертацией (при помощи логического элемента НЕ) работает, но длительность все равно велика. А вот способ с поочередным присвоением true/false, почему-то не работает Я уже и задержку вводил в виде пустого циклического счетчика, все равно на out'e порта без изменений, осциллограф ничего не кажет. Может быть железо контроллера не тянет, или какие другие блоки надо поставить? Поможите, люди добрые, кто чем может...
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Скорее всего, это ошибка в Вашей программе. Вероятно, Вы не учли, что данные на выходах обновляются в конце цикла. Тем не менее, если нужны такие скорости, лучший способ - это написать собственный модуль на ассемблере или на C. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
|
Насчет Ultralogic'а ничего сказать не могу и в килободах не понимаю...но
скорость обращения к LPT порту равна скорости обращения к порту на шине ISA. Для Pentium'ов - это примерно 1микросекунда на байт. У 386/486 и original ISA - 10микросекунд, если можно крутить настройки в биосе, то можно добится 1-2микросекунд |
|
SY,
EK |
|
Новичок Присоединился: 21 Июль 2004 Категория: Kazakhstan Online Status: Offline Публикации: 10 |
|
Ну, вот, например, две программы. В первой просто инвертирующий элемент, на входе у него вых. переменная порта "out" и на выходе она же. Во второй, два блока присваивания, первый "=False", второй "=True". Первая программа генерит меандр, но частота маленькая, вторая программа молчит. В чем дело не пойму... |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Участник Присоединился: 26 Февраль 2004 Категория: United Kingdom Online Status: Offline Публикации: 48 |
|
Я не знаю, что за датчик Вы применяете, (можете уточнить, и почему необходимо датчик именно на порт вешать?) но для большинства любых аналоговых время их отклика не превышает 200 мс. Потому увеличивать скорость опроса быстрее 200 мс попросту не имеет смысла.
|
|
С уважением,
Дмитрий Н. Милосердов mailto:dnmiloserdov@vsw.ru Управление АСУ ТП Дирекции по ИТ ОАО ВМЗ http www.vsw.ru |
|
Новичок Присоединился: 21 Июль 2004 Категория: Kazakhstan Online Status: Offline Публикации: 10 |
|
Из-за экономии средств, у нас не совсем стандартное решение, опрос непосредственно контроллером поворотного шифратора приращений фирмы "Pepperl+Fuchs" посредством LPT, прием кода текущего положения и последующая обработка информации. Скорость опроса большая исходя из требований датчика, не менее 100 кбод, длительность каждого "опросного" бита 20+/-10 мкс. Т.к разрядность датчика 25 бит, то при скорости вращения, скажем, 1000 об/с такие требования к скорости передачи вполне объяснимы... |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |