Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: контроллер ICP CON
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Evgenius_Alex
Доброго времени суток!

Если кто сталкивался, проконсультируйте, пожалуйста. Имеется контроллер ICP CON i7561. (Преобразователь USB to RS232/RS422/RS485)
Передаю символ с Hyper Terminal на порт USB данного контроллера, на контактах DATA+, DATA- RS485 интерфейса сажусь осциллографом.
При передачи ряда одинаковых символов происходят искажения последнего бита, причём ровно через символ, т.е. если послать с терминала
последовательность "1111111111" на выходе получается что-то вроде "1@1@1@1@1@". В тоже время при передачи последовательности
неодинаковых символов - искажений не происходит, например если послать "1234567890", на выходе тоже "1234567890".
Пробовал с двумя контроллерами - ICP CON i7561 и ICP CON i7188E5. Ситуация идентичная. Игрался с настройками терминала (скорость,
паритет) - не помогает.

В чём может быть проблема?

Спасибо!
kolobok0
Цитата(Evgenius_Alex @ Oct 26 2011, 23:38) *
...порт USB...последовательность "1111111111" на выходе получается что-то вроде "1@1@1@1@1@"....В чём может быть проблема?...


бу-га-га
контроллер не правильно отрабатывает физ. уровень? sm.gif))

вот вам цитата на русском из инета..

"Прием данных должен удовлетворять требованию возможности засинхронизировать приемник и передатчик в любой момент времени. Таким образом, не разрешается передавать непрерывный поток нулей или единиц по линиям данных. Протокол USB гарантирует синхронизацию за счет заполнения битами. Это означает, что, после 6 непрерывных единиц или нулей на линиях данных, вставляется одно одиночное изменение (один бит). Сигналы по линиям USB передаются в коде NRZI. В коде NRZI каждый '0' представляется путем сдвига текущего уровня сигнала, а каждая '1' путем удержания текущего уровня. На уровне битового заполнения это означает, что каждый нулевой бит вставляется в поток логических данных после 6 непрерывных логических 1."

удачи вам
(круглый)
Evgenius_Alex
[quote name='kolobok0' date='Oct 27 2011, 12:05' post='987388']
бу-га-га
контроллер не правильно отрабатывает физ. уровень? sm.gif))

Вы неправильно поняли.

Я имел ввиду, что передаю с Hyper Terminal последовательность символов '1', т.е. 31 в hex или 00110001 в бинарном формате.
Проблему уже решил. Это был глюк самого Hyper Terminal, который искажал последний бит.

Проверил с другой терминальной программой - COM Port Toolkit 3.9 - всё работает нормально.
Поэтому, пользуйтесь другими терминальными программами.


DmitryM
Цитата
Я имел ввиду, что передаю с Hyper Terminal последовательность символов '1', т.е. 31 в hex или 00110001 в бинарном формате.
Проблему уже решил. Это был глюк самого Hyper Terminal, который искажал последний бит.

Не надо рассказывать про глюк HyperTerminal, проверено не однократно. Смотрите настройки, стоповые биты, управление потоком и т.п.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.