| Форум РадиоКот https://radiokot.ru/forum/ |
|
| uart загадка https://radiokot.ru/forum/viewtopic.php?f=62&t=183529 |
Страница 1 из 2 |
| Автор: | uwrtey [ Вт июл 05, 2022 09:23:24 ] |
| Заголовок сообщения: | uart загадка |
Здрасте всем. Щас в отпуске, но меня не отпускает мысль о решении загадки, которая возникла за день до отъезда. Далее по тексту "Arduino" читать как "плата Arduino". Ни какой арду-зависимости тут нет. Прошики написаны на ассемблере. Значит, имею полетный контроллер, на базе меги_2560. В полетнике есть несколько UART. назовем их условно uart1, uart2 и тп.. Имеется устройство на базе платы arduino mini (это, та у которой нет на борту USB) в связке с платой преобразователем на базе rs232, и второй вариант на базе arduino nano (эта с USB ch 340) Прошивка написана мной собственноручно на ассемлере. Задача контроллера читать поток данных с полетного контроллера и перекодировать его в собственный формат. (Обе арду-платы прошиты одинаковой прошивкой) Сперва работал с первым вариантом ( тот что без usb ) и проблем не возникало, но ради удобства перешел на ардуино_нано ( который с usb ) и оказалось, что этот вариант не читает uart1 с полетного контроллера, но при этом нормально читает uart2 Хотя uart1 полетника не отличается от uart2! Даже осциллографом глянул, чтоб на всякий случай убедится.. Амплитуда одинаковая - 5 Вольт. Записал семплы с обоих портов - они идиентичны! Ну и самое смешное: первый вариант ( arduino mini без usb ) читает нормально все порты на полетнике! Ну, думаю, "значит" проблема в arduino nano... ( это которая с usb )... Смотрю на плату, а там на tx-rx светодиодики есть... Отпаял их - ничего не изменилось.. Думаю, может проблема в TTL конверторе ch340, установленном на arduino nano.. Подключился к tx-rx на arduino nano ( которая с usb ) преобразователем rs232 из первого варианта, не отпаивая родной TTL конвертор ch340. Все равно не читает. Еще раз подчерну, родной (ch340) TTL не отпаивал... Загадка заключается в том, что uart2 полетника arduino nano читает без проблем. А uart1 не отличается от uart2. Как такое возможно? П.С. предположу, что uart1 на плате полетника разведен не совсем корректо, но замечу, что первый вариант ( arduino mini ) работает нормально со всеми портами. еще под подозрением TTLконвертор на плате arduino nano ch340 - ведь я его не отпаивал. Хотя с uart2 оно работает. П.П.С. отличие в прошивках все же есть: это наличие ватчдога и залоченная прошивка на arduino nano |
|
| Автор: | Up2805 [ Вт июл 05, 2022 10:15:40 ] |
| Заголовок сообщения: | Re: uart загадка |
УАРТы софтовые или аппаратные? И в чем заключается это "не читает"? Не распознает старт-бит, выдаёт ошибку кадра, не соответствует скорость связи, приходят неверные данные, не та полярность сигнала? |
|
| Автор: | uwrtey [ Вт июл 05, 2022 12:03:42 ] |
| Заголовок сообщения: | Re: uart загадка |
Видимо Вы не внимательно читали. Связка Ардуино_Мини + rs232 читает любой из uart. А тот же самый код, но на плате Ардуино_Нано не читает uart1, но читает uart2 и 3... все настройки uart-ов естественно одинаковые. говорю же: даже осциллографом посмотрел на всякий случай. ( записанные семплы идиентичны ) Если я ничего не путаю, то на полетнике все uart хардварные. Вот только uart1 подключен через мультиплексор.... Может в этом дело ? (но ардуино мини работает исправно, значит не в этом) Неисправность проявляется так: на плате ардуино нано есть мега328, внутри нее программа, которая использует арпаратный уарт микроконтроллера. Она читает поток по Rx и перекодирует его в собственный формат и отправляет в Tx. Через встроенный в arduino nano конвертор на базе ch340 микроконтроллер подключен к ПК, на котором крутится терминалка. Так вот на экране ПК я не наблюдаю буковок и циферок в случае подключения к uart1 полетника.. Правда осциллографом не смотрел что на выходе у Меги 328 в этом случае... |
|
| Автор: | OKF [ Вт июл 05, 2022 12:13:39 ] |
| Заголовок сообщения: | Re: uart загадка |
Ну вот охота вам засирать людям мозги? Это ж надо столько писАть! Тогда как сам бы посмотрел/проверил/потестил всё что хош. Ужос! |
|
| Автор: | Eddy_Em [ Вт июл 05, 2022 12:23:55 ] |
| Заголовок сообщения: | Re: uart загадка |
Помнится, была такая шутка, мол, если не учить физику, то жизнь будет полна загадок ☺ Вот и здесь похоже: если не читать мануалы… |
|
| Автор: | Up2805 [ Вт июл 05, 2022 12:45:07 ] |
| Заголовок сообщения: | Re: uart загадка |
Читал внимательно и перечитывал несколько раз, и даже сейчас трижды перечитал. Но не увидел главного - поведения самой программы в микроконтроллере. Можно в Протеусе создать проект, закинуть прошивку, эмулировать УАРТ и пошагово просмотреть поведение кода. Потомучто так гадать можно сколько угодно. Может, просто с компом нет связи или не тот порт уарта настроен. Я не спец в ардуинах, но на разных платах стоят одинаковые ли микроконтроллер и пины совпадают ли? Щас загуглил - есть разные версии ардуино нано с разными контроллерами. |
|
| Автор: | uwrtey [ Вт июл 05, 2022 13:41:59 ] |
| Заголовок сообщения: | Re: uart загадка |
микроконтроллеры одинаковые - мега 328п с распиновкой проблемы нет. в коде я не сомневаюсь на другой платке все работает как часы. проверено годом эксплуатации. думаю, что гальваническая связь не такая как должна быть. может ch340 голову делает может еще чего.. ( может мега328 подделка китайская ) В протеус код сунуть не могу. в отпуске я. за день перед отъездом столкнулся с этим. А сейчас мысли не отпускают. Вот и гадаю, что же это может быть... Хотя бы теоретически. Куда копать. Добавлено after 2 minutes 48 seconds: как работает ch340 ? линии tx rx обрабатываются парраллельно одновременно или по осереди ? он ведь подключен обеими линиями к микроконтроллеру а в случае ардуино мини и rs232, последняя подключена только к линии TX. хотя тоже не клеится эта версия, так как с uart2 и uarr3 оно работает нормально. |
|
| Автор: | veso74 [ Вт июл 05, 2022 14:46:36 ] |
| Заголовок сообщения: | Re: uart загадка |
В китайской Arduino Nano между CH340G/C и ATmega328, вместе со светодиодами и их резисторами на +, стоят два резистора 1 kOhm, smd. Отпаяйте их. А я бы ничего не отпаивал по хардуер, а конструкцию перенес бы на Arduino Mini, они без CH340G/C. |
|
| Автор: | uwrtey [ Вт июл 05, 2022 15:14:28 ] |
| Заголовок сообщения: | Re: uart загадка |
veso74 писал(а): конструкцию перенес бы на Arduino Mini, они без CH340G/C. Ну я с нее и переехал. Я же писал об этом. Придется городить еще одну плату с rs232, так как данные нужно толкать в USB. Надо не костылями проблему решать, а кардинально. Про резисторы понял, но мне кажется это проблему не решит. Не может от резистора зависеть с каким портом будет работать микроконтроллер... Хотя натолкнуло на мысль. Может там ток недостаточный в линиях tx rx uart1. Это уже похоже на правду. |
|
| Автор: | electroget [ Вт июл 05, 2022 15:23:02 ] |
| Заголовок сообщения: | Re: uart загадка |
Далее по тексту "Arduino" читать как "плата Arduino". Значит, имею полетный контроллер, на базе меги_2560. В полетнике есть несколько UART. назовем их условно uart1, uart2 и тп.. Насколько я помню, у Ардуины всего один UART. Откуда берутся ещё UARTы? |
|
| Автор: | veso74 [ Вт июл 05, 2022 16:15:02 ] |
| Заголовок сообщения: | Re: uart загадка |
У меня такого не было, часто посылаю сигнал через другой преобразователь RX/X и с много модулей проблем не было. Предположил, что выполнили программного проверку, поэтому и предположил аппаратную проблему. Задайте статический режим пинов или очень медленную скорость и посмотрите уровни по крайней мере: с вольтметром. Проверить легко: мешает или нет апаратно CH340G/C (+ г. транслейт БГ->РУ). |
|
| Автор: | uwrtey [ Вт июл 05, 2022 21:15:38 ] |
| Заголовок сообщения: | Re: uart загадка |
electroget писал(а): Насколько я помню, у Ардуины всего один UART. На сколько я помню Arduino это проект. Это как сравнивать яблоки и килограммы. Если вы говорите про конкретную плату, то называйте её и не забудьте озвучить МК установленный на оную, а то всякие китайские версии существуют. А если Вы пытались меня упрекнуть в неграмотности, то гляньте сперва датащит на 2560, а потом продолжим (нет) этот бесполезный диалог. Добавлено after 13 minutes 31 second: посмотрите уровни по крайней мере: с вольтметром. Проверить легко: мешает или нет апаратно CH340G/C (+ г. транслейт БГ->РУ). Уровни смотрел сперва мультиметром, а потом и осциллографом - все в норме. А вот ток на линиях tx rx не проверял. Возможно даже что то не согласованно... с микрухи ch340 отрежу линию RX микроконтроллера ( прям дорожку перережу..) В этом проекте она не нужна, а в случае чего восстановить дело двух минут.. |
|
| Автор: | electroget [ Ср июл 06, 2022 04:17:38 ] |
| Заголовок сообщения: | Re: uart загадка |
А если Вы пытались меня упрекнуть в неграмотности... Мне нет никакого дела до вашей грамотности. |
|
| Автор: | BOB51 [ Ср июл 06, 2022 08:01:23 ] |
| Заголовок сообщения: | Re: uart загадка |
Если на нанке остался неудаленный бутлоадер - будут проблемы первые 2-5 секунд. И ... всегда помним, что CH340 (на ардуинке нано) еще и выводом reset управляет. |
|
| Автор: | uwrtey [ Ср июл 06, 2022 09:53:19 ] |
| Заголовок сообщения: | Re: uart загадка |
бутлодер ардуиновский? да откуда он? на асме пишу - нет его и в помине.. ch340 дергает ресет? это новость. спасибо, гляну.. // хотя эта версия тоже не годится. один порт читает, а другой нет... Добавлено after 5 minutes 41 second: Мне нет никакого дела до вашей грамотности. в 256 меге два уарта в 2560 - четыре |
|
| Автор: | veso74 [ Ср июл 06, 2022 10:40:42 ] | ||
| Заголовок сообщения: | Re: uart загадка | ||
... ch340 дергает ресет? это новость. Вам может пригодиться схема Arduino Nano. В разных модулях может быть разница.
|
|||
| Автор: | uwrtey [ Ср июл 06, 2022 17:07:11 ] |
| Заголовок сообщения: | Re: uart загадка |
за схему спасибо! |
|
| Автор: | BOB51 [ Ср июл 06, 2022 18:08:41 ] |
| Заголовок сообщения: | Re: uart загадка |
По умолчанию во всех адуринках установлен бутлоадер. Если его не удалить общим стиранием кристалла - он там и останется. Писать на ассемблере всю программу под мегу 328Р (32 килобайта памяти программ).... Это таки садомазохизьм... Даже для меня... В то же время использовать нанку или про-мини для "малых" прожек (до 4 килобайт кода) как-то ЖАБО давит... Но тут уж у кого чего больше залежалось.
|
|
| Автор: | uwrtey [ Ср июл 06, 2022 18:58:28 ] |
| Заголовок сообщения: | Re: uart загадка |
BOB51 писал(а): По умолчанию во всех адуринках установлен бутлоадер. Если его не удалить общим стиранием кристалла - он там и останется. Писать на ассемблере всю программу под мегу 328Р (32 килобайта памяти программ).... Это таки садомазохизьм... Даже для меня... В то же время использовать нанку или про-мини для "малых" прожек (до 4 килобайт кода) как-то ЖАБО давит... Но тут уж у кого чего больше залежалось. ![]() Вы не правы. Изучите вопрос. |
|
| Автор: | BOB51 [ Ср июл 06, 2022 19:34:57 ] |
| Заголовок сообщения: | Re: uart загадка |
Да все как-то "в стадии изучения" до сих пор еще не до конца разобрался... Можете ознакомиться: viewtopic.php?f=62&t=94201 viewtopic.php?f=62&t=156720
|
|
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


