Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 11:49:44

Привет.
Обзавелся логическим анализатором (дешевым китайским клоном Saleae) и решил его проверить, посмотреть как выглядит передача данных по UART в сигналах.
Подключил ATmega32PU к компьютеру через переходник USB UART, повесил анализатор на ноги RX и TX, стал записывать семплы: пишу в терминале команду hello, микроконтроллер на нее отвечает. По записанным семплам вроде бы все как надо, только одно смутило - на Rx ногу в случайные промежутки времени приходит байт 0xFF - он никак не обрабатывается микроконтроллером, но тем не менее странно.
Подскажите отчего такое может быть?

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 12:23:51

мне кажется, такого в норме быть не должно. а байт 0xFF - это скорее всего кратковременное пропадание контакта в цепи - небось, на беспаечной макетке проводочками собрано все?

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 12:38:49

мне кажется, такого в норме быть не должно. а байт 0xFF - это скорее всего кратковременное пропадание контакта в цепи - небось, на беспаечной макетке проводочками собрано все?


Да, собирал на макетке. Проверил сейчас провода, чтобы контакт был, во время записи не трогал их - убрал подальше от клавиатуры.
Вот заскринил то как это выглядит:
https://gyazo.com/983e1325315917f99213d8a589ed2e0f

Channel 0 (сверху) это то что приходит на вход (Rx)
Channel 1 (снизу) это то что уходит в ответ с МК (Tx)

В Channel 0 вначале отправляется команда hello, справа видны одиночные байты FF.
В Channel 1 таких вещей не наблюдается, возможно все дело в переходнике USB UART, может быть там что-то барахлит. Но не в микроконтроллере или логическом анализаторе - иначе мусор был бы и в channel 1.

Вот эти мусорные FF вблизи:
https://gyazo.com/88bae9532dfd3b15639d83ccf44fd085

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 13:11:29

Очевидно же, это не FF-ки, а какие то всплески, которые анализатор считает за стартовый бит.
Разверните пошире этот провал и измерьте его длительность.

PS: А что за "долбёжка" снизу ? Это такой ответ длинный ? :)

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 13:30:48

Очевидно же, это не FF-ки, а какие то всплески, которые анализатор считает за стартовый бит.
Разверните пошире этот провал и измерьте его длительность.

PS: А что за "долбёжка" снизу ? Это такой ответ длинный ? :)


Вот он в максимальном приближении: https://gyazo.com/422b85503bf9a588de0189f33524a3cf
Там указывается width, frequency, period. Всплеск очень маленький да.

Да, десяток текстовых строк для стресс-теста самописной uart-библиотечки.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 13:48:27

А когда в порт ничего не передаётся, всплески из него тоже летят ?

PS: Вообще, можно забить на них. Модуль в МК вряд ли их посчитает полезными.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 13:51:48

Аlex писал(а):Очевидно же, это не FF-ки, а какие то всплески, которые анализатор считает за стартовый бит
вот-вот. и никакие "убрал подальше и не трогал" не помогут - в беспаечных макетках постоянно что-то странное может вториться само по себе. убедился на себе, когда SD-карту осваивал.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 14:00:39

А когда в порт ничего не передаётся, всплески из него тоже летят ?

PS: Вообще, можно забить на них. Модуль в МК вряд ли их посчитает полезными.


Когда ничего не передается, то никаких FF нет совсем.
Еще нюанс, мк работает на внутреннем генераторе частоты 1мгц и для передачи по UART включена опция x2, не знаю возможно здесь есть какая-то связь (но скорее всего нет)

Эти FF игнорируются мк, иначе он сообщил бы, что команда неверна - он принимает только hello, на другие запросы ругается :)

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 14:06:45

Значит косяк переходника. Забейте :)

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 14:36:07

Печально.
Переходник на PL2303TA, если что, вот такой: https://arduino.ua/prod2499-usb-uart-pe ... -s-kabelem
Беда с этими дешевыми китайскими переходниками )

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 14:44:00

да ничего с ним не беда! нормальный переходник, и логический анализатор нормальный, хоть и самый дешёвый клон китайский. у меня такого добра навалом. а вот контакты - это бич. кстати, на логическом анализаторе шлейфики тоже того самого говняного китайского качества, и тожемогут создавать кратковременные обрывы, воспринимаемые какими-то сигналами.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 14:54:19

Если бы проблема была в контакте, то при отсутствии активности тоже были бы провалы. А их нет.
Это явно переходник мудрит. Но, это вовсе не беда. Ничего страшного в этом нет. Просто забейте и работайте дальше :)

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 15:32:40

Было,налетал...
1) Повесить на RX пуллап/пуллдаун
2) Исключить длинные параллельные проводники - шлейф с анализатора(разделить на одиночные),беспаечную макетку - выкинуть на.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 17:07:55

Кстати, да, попробуйте подтянуть непосредственно вход анализатора к + сопротивлением. Уберётся ли эта гадость.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 19:15:41

С подтягивающим резистором определенно эффект есть - примерно 90% всех ff убирается, но кое-что остается.
Зато когда я убрал принимающий провод (RX) от USB UART и оставил только передающий (TX) и два проводка от анализатора, мистические ff пропали полностью на 100%.
Такие дела.
В принципе такой результат меня устраивает :)
Всем спасибо за советы.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 19:51:23

Длинные параллельные проводники - наводки на пины с высоким сопротивлением.
Именно с этим и столкнулся ARV на макетках с SD карточками.

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 20:14:08

dosikus писал(а):Именно с этим и столкнулся ARV на макетках с SD карточками
нет, как я и писал, столкнулся я с тем, что в беспаечной макетке проводки контачат далеко не всегда хорошо. длинных проводков у меня там не было, тем более параллельных - вы вообще видели на такой макетке параллельные проводники?!
пока адаптер карточки не припаял к проводкам - работало через раз.
а вот на логическом анализаторе параллельные проводнички запросто могут наводить сигналы на соседние входы - это тоже пройдено горьким опытом...

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 20:19:39

ARV, если разберешь эту хрень ты сам все увидишь.
Не ты первый попал на эти грабли, не забуду скину ссылку на чтиво.
А на счет фантомных сигналов на шлейфах - иследуйте вменяемые шлейфы, как они организованы.
В них сигналы чередуются с GND...

Re: Передача данных по UART - фантомный байт FF

Чт ноя 22, 2018 20:31:02

и что я там могу увидеть? неужели что-то, что опровергло бы тезис о ненадежности контакта в этой макетке?!

Re: Передача данных по UART - фантомный байт FF

Пт ноя 23, 2018 16:48:03

Кстати - сам лог. анализатор (который самый дешёвый, на CY7C68013A) может быть причиной всяких чудес. Сталкивался с тем, что при нормально работающей схеме (быстрый SPI), подключение лог.анализатора полностью рушило обмен. А если подключить его через буфер-повторитель на дополнительном чипе, то сразу всё становилось == ок. Даже для своего экземпляра л.анализатора собрал такой повторитель и теперь подключаюсь только через него.
Видимо входы такого лог.анализатора могут иметь или низкое сопротивление или повышенную ёмкость.
Ответить