Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Интерфейсный кабель Silabs CP2102
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
stas00n
Доброго времени суток всем. Столкнулся с такой проблемой. Мое устройство (PIC16F628A) должно общаться с ПК через виртуальный COM - порт, для этого имеется готовый кастомный интерфейсный кабель на CP2102. Проверяю работу в Hyperterminal'e, скорость 9600, 8N1. Посылаю запрос на устройство, получаю ответ от него, но начало пакета (3-3,5-4 символа) теряется, например, устройство отправляет
:F71110FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
а терминалка получает
1110FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
а то и вовсе
LLL2Á0
Такое ощущение, что задействован какой-то режим останова, для выхода из которого нужно время. Снижал скорость до 2400 - стабильно пропускает один символ в начале, подумал: "ага, сейчас я тебя обману", - отправляю из устройства "побудочный" символ, следом пакет - полет нормальный; разогнал обратно на 9600, добавил задержку между "побудочным" символом и основным пакетом (менял в пределах 1-8 мс) - не помогло - то нормально пакет дойдет, то битый, отношение примерно 50/50 sad.gif Надо полагать, проблема либо в драйвере, либо в "прошивке" самой CP2102. Проблемы в железе на данный момент исключаю, т.к. с интерфейсным кабелем на PL2303 (от какого-то телефона) все работает как часики. Посоветуйте, в каком направлении двигаться? Прочел по диагонали даташит и несколько аппноутов по данной микрухе, упоминаний о такой "фиче" не нашел. Устанавливал вновьскомпилированный драйвер по AN220. При сборке изменил только VID/PID на прошитые в кабеле, да отключил Serial Enumeration Support и Selective Suspend Support. С новым драйвером работает так же.
firstvald
Знаете что. А никакое квитирование у вас не используется? Попробуйте CTS на стороне вашего процессора туда сюда (GND или питание) поподключать. В телефонном шнурке сделано уже чтоб работало.
stas00n
Цитата(firstvald @ Jan 7 2011, 22:16) *
...А никакое квитирование...

Какое-то новое ругательство для меня sm.gif))
Для связи используются только линии RX, TX. CTS в шнурке не задействован, в данный момент там постоянно единица ТТЛ (3В), попробую сейчас поиграться.


Подключал CTS и к питанию, и к земле. Разницы нет, по прежнему начало пакета (после простоя) теряется, если передавать слитно, все идет четко.
stas00n
Коллеги, прошу прощения за поднятую панику. Все заработало. Что было, - стыдно признаться. Как бы это помягче сказать... лоханулся я по полной программе. В общем, сели батареи, от которых питается мой девайс, уровень лог. единицы на TX был всего 1.5В, странно, что вообще что-то принималось. Сам себе удивляюсь сейчас, как не додумался осциллографом тыкнуть в плату. Смутило то, что с другим кабелем работало, ранее смотрелось осциллографом, сигналы были в норме, вот и не грешил на свое железо, а тут такая засада.
firstvald
Ну так у Д Гранина в Искателях еще было написано, как разобрали установку и только тогда обнаружили, что батарея, от которой все питалось, до этого лежала несколько лет на подоконнике и заработала только от большого удивления. wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.