Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Максимальная скорость у параллельного порта (вопрос про Ultralogic)

 Ответить Ответить
Автор
Сообщение
Serenum Смотреть выпадающим
Новичок
Новичок


Присоединился: 21 Июль 2004
Категория: Kazakhstan
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - Serenum Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Максимальная скорость у параллельного порта (вопрос про Ultralogic)
    Опубликовано: 23 Август 2004 16:02
Здравствуйте! Возникла проблема при написании программы на Ultralogic'е для PC-совместимого контроллера Octagon Micro-PC 5025A. Стоит задача в опросе датчика на скорости около 100 кбод. и приеме информации с него на той же скорости через параллельный порт контроллера. При разработке программы мы столкнулись вот с чем: нужно сформировать пачку импульсов, таймерная переменная Ultralogic'a не подходит, слишком большая длительность импульса, цикл с инвертацией (при помощи логического элемента НЕ) работает, но длительность все равно велика. А вот способ с поочередным присвоением true/false, почему-то не работает  Я уже и задержку вводил в виде пустого циклического счетчика, все равно на out'e порта без изменений, осциллограф ничего не кажет. Может быть железо контроллера не тянет, или какие другие блоки надо поставить? Поможите, люди добрые, кто чем может...
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Август 2004 17:37

Скорее всего, это ошибка в Вашей программе. Вероятно, Вы не учли, что данные на выходах обновляются в конце цикла.

Тем не менее, если нужны такие скорости, лучший способ - это написать собственный модуль на ассемблере или на C.

Инженер-системотехник
+7 (916) 477 3925
Наверх
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Август 2004 17:57
Насчет Ultralogic'а ничего сказать не могу и в килободах не понимаю...но
скорость обращения к LPT порту равна скорости обращения к порту на шине ISA. Для Pentium'ов - это примерно 1микросекунда на байт. У 386/486 и original ISA - 10микросекунд, если можно крутить настройки в биосе, то можно добится 1-2микросекунд
SY,
EK
Наверх
Serenum Смотреть выпадающим
Новичок
Новичок


Присоединился: 21 Июль 2004
Категория: Kazakhstan
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - Serenum Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Август 2004 06:43
Первоначально опубликовано Максим Ананских

Скорее всего, это ошибка в Вашей программе. Вероятно, Вы не учли, что данные на выходах обновляются в конце цикла.

Тем не менее, если нужны такие скорости, лучший способ - это написать собственный модуль на ассемблере или на C.

Ну, вот, например, две программы. В первой просто инвертирующий элемент, на входе у него вых. переменная порта "out" и на выходе она же. Во второй, два блока присваивания, первый "=False", второй "=True". Первая программа генерит меандр, но частота маленькая, вторая программа молчит. В чем дело не пойму...

Наверх
dmitmil Смотреть выпадающим
Участник
Участник


Присоединился: 26 Февраль 2004
Категория: United Kingdom
Online Status: Offline
Публикации: 48
Свойства публикации Свойства публикации   Ответить, цитируя автора - dmitmil Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Август 2004 08:25
Я не знаю, что за датчик Вы применяете, (можете уточнить, и почему необходимо датчик именно на порт вешать?) но для большинства любых аналоговых время их отклика не превышает 200 мс. Потому увеличивать скорость опроса быстрее 200 мс попросту не имеет смысла.
С уважением,
Дмитрий Н. Милосердов                          mailto:dnmiloserdov@vsw.ru
Управление АСУ ТП Дирекции по ИТ ОАО ВМЗ
http www.vsw.ru
Наверх
Serenum Смотреть выпадающим
Новичок
Новичок


Присоединился: 21 Июль 2004
Категория: Kazakhstan
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - Serenum Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Август 2004 08:46

Первоначально опубликовано dmitmil

Я не знаю, что за датчик Вы применяете, (можете уточнить, и почему необходимо датчик именно на порт вешать?) но для большинства любых аналоговых время их отклика не превышает 200 мс. Потому увеличивать скорость опроса быстрее 200 мс попросту не имеет смысла.

Из-за экономии средств, у нас не совсем стандартное решение, опрос непосредственно контроллером поворотного шифратора приращений фирмы "Pepperl+Fuchs" посредством LPT, прием кода текущего положения и последующая обработка информации. Скорость опроса большая исходя из требований датчика, не менее 100 кбод, длительность каждого "опросного" бита 20+/-10 мкс. Т.к разрядность датчика 25 бит, то при скорости вращения, скажем, 1000 об/с такие требования к скорости передачи вполне объяснимы...

Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz