Проблема с длительностью импульса #visa,rs-232

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
rbl
assistant
assistant
Сообщения: 122
Зарегистрирован: 09 дек 2014, 10:14
Версия LabVIEW: 7-2015
Откуда: Санкт-Петербург
Контактная информация:

Проблема с длительностью импульса #visa,rs-232

Сообщение rbl »

Есть необходимость "подружиться" с устройством на микроконтроллере по rs-232, при этом в цикле обмена нужно периодически менять бит четности (mark,space). Настройки com - стандартные, скорость 57600.
При реализации возникла проблема - в 100 мс цикле устройство иногда не отвечает на команду (00 33). Начал разбираться с осциллографом и заметил, что в случае, когда устройство не отвечает - длительность отдельных импульсов другой длительности (чаще всего длинней ~на 7 мкс), при этом осциллограф (agilent) декодирует число верно. При реализации этой же задачи на С, такой проблемы нет.
Кто-нибудь сталкивался с подобной проблемой?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Проблема с длительностью импульса #visa,rs-232

Сообщение Borjomy_1 »

Надавать-бы по ушам тому программисту, который реализовал на микроконтроллере такое извращение. Спрашивается, а почему он не пошел дальше и не сделал динамическое переключение битов? Добрый вам совет: если есть возможность надавить на разработчика, то требуйте стандартного обмена. НАВЕРНЯКА есть решение передавать дополнительный бит, хотя-бы отдельной командой, тем более, что пропускную способность вы полностью не исчерпали.
Могу вам предложить взять два порта. Один настроить на одни параметры, а другой на другие. И переключаться программно между ними.
Upd. каким способом вы переключаете бит четности? Полной переинициализацией порта или установкой соответствующего свойства?
rbl
assistant
assistant
Сообщения: 122
Зарегистрирован: 09 дек 2014, 10:14
Версия LabVIEW: 7-2015
Откуда: Санкт-Петербург
Контактная информация:

Re: Проблема с длительностью импульса #visa,rs-232

Сообщение rbl »

Сие извращение под сеть микроконтроллеров уже реализовано и как функционирует. ;) Я предлагал переделать все под cRio, но верхи решили съэкономить и подложили мне такую свинью.
На 2 порта не получится, т.к. на этом блоке всего 1н вход на ftdi и через него нужно организовать обмен со всеми входящими в него микроконтроллерами.
Бит четности меняется установкой свойства, после чего выдерживается задержка, а потом посылается команда.

ps. Вышеописанный эффект за выходные внезапно пропал и все задышало нормально... поставил на суточный прогон.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Проблема с длительностью импульса #visa,rs-232

Сообщение Borjomy_1 »

rbl, Исходя из моего опыта, если сбой один раз проявился, рано или поздно, он будет повторяться.... Надо предусмотреть меры выявления этого сбоя и полного реинита, что-ли.
rbl
assistant
assistant
Сообщения: 122
Зарегистрирован: 09 дек 2014, 10:14
Версия LabVIEW: 7-2015
Откуда: Санкт-Петербург
Контактная информация:

Re: Проблема с длительностью импульса #visa,rs-232

Сообщение rbl »

Что это было самому интересно... Пару дней гуглил и так и не нашел ничего похожего.
rbl
assistant
assistant
Сообщения: 122
Зарегистрирован: 09 дек 2014, 10:14
Версия LabVIEW: 7-2015
Откуда: Санкт-Петербург
Контактная информация:

Re: Проблема с длительностью импульса #visa,rs-232

Сообщение rbl »

Сейчас еще раз анализировал осцилограммы и есть у меня подозрение, что это шалил стоп-бит.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»