Страница 1 из 1
Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 08:55:23
Angry Engineer
День добрый, столкнулся вот с такой проблемой: Имеется МК ATmega328p к UART которого подсоединен BT передатчик (HM-11) и преобразователь USB-UART (для отладки протокола обмена). Все работает, то есть могу рулить МК как через терминал с ПК так и через терминал смартфона через BT. Но встала задача добавить к этому делу Wi-Fi (естественно в нормальном режиме будет использоваться либо Wi-Fi либо BT) так вот при подключении к МК Wi-Fi шилда (ESP-07/12) как совместно с BT так и без него происходит вот такая фигня - через преобразователь USB-UART я могу только слышать МК, но входящие пакеты до него не доходят. UART интерфейс Wi-Fi модуля живой (на АТ команды откликается). Куда смотреть? Питание компонентов схемы 3.3В (то есть дело явно не в отсутствии согласователей уровня)
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 13:02:10
BOB51
"...Куда смотреть? ..."
В документацию на железо и на протоколы.
Как вариант - посадить одного из абонентов на софтовый UART.

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 14:56:32
ARV
Я вообще не понял, как ТРИ уарта между собой соединяются...
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 15:13:23
BOB51
Это АРДУИНКА (причем из "простейших" - вероятно "нана") - на собственно аппаратный UART схемотехнически подвешен USB-COM, его же выводы (по замыслу конструкторов ардуино) при отсутствии работы с консолью IDE в ПК могут быть использованы для иного потребителя.
А посикоку при работе с ПК одного Rх-Tх может бысть мало предусмотрен софтовый UART на любые иные выводы.
У топикстартера вообще-то идея стыковки "звездой" одного хаба(собственно его самоделка) с тремя потребителями.
Причем ни заморачивться адресацией ни аппаратным выбором абонента желания не видать.

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 15:42:23
alex_
Могу предложить Мегу324 у неё на борту 2 аппаратных UARTa, ну или что нибудь из STM32 взять, там вроде UARTов поболее будет.
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 18:57:20
Angry Engineer
[uquote="ARV",url="/forum/viewtopic.php?p=3310251#p3310251"]Я вообще не понял, как ТРИ уарта между собой соединяются...[/uquote]
да как бы ничего сверхъестественного, есть управляющий МК который будет гадить данными либо через BT либо через WiFi включая либо отключая их. Соединение простое: RxD BT и RxD WiFi на TxD МК. одновременно работает только один приемопередатчик (за счет включения либо отключения ногами МК)
[uquote="BOB51",url="/forum/viewtopic.php?p=3310262#p3310262"]Это АРДУИНКА (причем из "простейших" - вероятно "нана") - на собственно аппаратный UART схемотехнически подвешен USB-COM, его же выводы (по замыслу конструкторов ардуино) при отсутствии работы с консолью IDE в ПК могут быть использованы для иного потребителя.
А посикоку при работе с ПК одного Rх-Tх может бысть мало предусмотрен софтовый UART на любые иные выводы.
У топикстартера вообще-то идея стыковки "звездой" одного хаба(собственно его самоделка) с тремя потребителями.
Причем ни заморачивться адресацией ни аппаратным выбором абонента желания не видать.

[/uquote]
нет, увы не ардуинка, самопляс уже изготовленный. пытаюсь понять где накосячил. зачем мне адресация потребителя если конвертер висит для того чтоб слушать порт во время отладки, а в нормальном режиме будет работать либо WiFi либо BT путем физического отключения микросхемы командой с МК. Что тут адресовать? BT с WiFi общаться между собой не должны. UART использую аппаратный
[uquote="alex_",url="/forum/viewtopic.php?p=3310283#p3310283"]Могу предложить Мегу324 у неё на борту 2 аппаратных UARTa, ну или что нибудь из STM32 взять, там вроде UARTов поболее будет.[/uquote]
как писал выше уже все распаял. BT совместно с конвертером живут, а вот WiFi не хочет, но мне очень хочется. отдельно МК c WiFi общается
Добавлено after 10 minutes 27 seconds:
не ардуинка
https://c.radikal.ru/c05/1802/63/c143f8791ee0.jpg но от этого не лучше
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 19:44:12
BOB51
Самодельная сборка на основе ардуинки - еще "поприколистее"...

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 19:47:45
Angry Engineer
ну ладно, фиг с ним, пусть будет ардуина. вопрос все же остается - как послушать шину между двумя устройствами не уваливая ее? ну и факультативно - почему с одной парой работает а с другой нет, что я упускаю?
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 19:51:29
ARV
Angry Engineer писал(а):как послушать шину между двумя устройствами не уваливая ее?
послушать - элементарно: сколько угодно RXD цеплять к единственному TXD. а вот передать из нескольких TXD в единственный RXD не получится без каких-то извращений. видимо, тут у вас собака и порылась...
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 19:56:17
Angry Engineer
для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 19:57:56
BOB51
Поставить аппаратный репитер - перехватчик линий связи. И с него вести сигнал на логический анализатор/консоль терминала.
Чего-нить подобного
http://img.radiokot.ru/files/20529/1cvf6ek97p.GIF
Почему работает Х.З. - честно такое еще не пробовал, пока работал только с стандартными Rx/Tx приложениями-примитивами.
А вот ежли программа писалась под ардуинку - или использование того, что в среде предоставлено или разбираться с библиотеками.
Дугое дело без бутлоадера и в соответствующем "чистом" компиляторе (хотя-бы АВРстудии - у ардуиноIDE своя "надстройка"излишняя по сравнению с чистым СИ заложена для удобства пользователя, обход много внимания и знаний требует).
Вобщем... ежли "влоб" не удалось - принимаемся штудировать документацию.

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:00:53
Angry Engineer
Прошивка писалась в Atmel Studio 7 бутлоадера нет ибо еще не осилил (да и задач таких не стояло). Проблема в том что в документации только распиновка и АТ комманды
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:04:16
BOB51
Тогда или аппаратный репитер-повторитель или программный UART для дополнительных потребителей.
Где-то не уживаются (по программе или аппаратно - вычитывать даташиты надо).

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:09:19
Angry Engineer
опять же мега как говорит даташит поддерживает мультипроцессорный uart с одним мастером без всяких доп костылей
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:17:34
BOB51
Это ежли каждый потребитель ПЕРСОНАЛЬНО АДРЕСУЕМ (в самом потребителе данное свойство предусмотрено).
Другое дело - был бы протокол и шина I2C или иная с уже заложенной аппаратной адресацией.

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:49:43
Angry Engineer
i2c всем хороша конечно но медленная
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:54:51
ARV
[uquote="Angry Engineer",url="/forum/viewtopic.php?p=3310448#p3310448"]для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?[/uquote]
даже не одновременно два передатчика в одну линию работать не должны, разве что вы как-то будете переводить одну из линий TXD в режим с высоким импедансом... но это я и имел ввиду под извращениями
Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 20:57:40
BOB51
Я ж и намякиваю - самый простой выход из "уже все запаяно" - добавить внешний аппаратный модуль (репитер/коммутатор).

Re: Проблема с UART интерфейсом
Добавлено: Пт фев 16, 2018 21:00:08
Angry Engineer
[uquote="ARV",url="/forum/viewtopic.php?p=3310487#p3310487"][uquote="Angry Engineer",url="/forum/viewtopic.php?p=3310448#p3310448"]для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?[/uquote]
даже не одновременно два передатчика в одну линию работать не должны, разве что вы как-то будете переводить одну из линий TXD в режим с высоким импедансом... но это я и имел ввиду под извращениями[/uquote]
а как же мультипроцессорный уарт? или это не одно и то же?
Re: Проблема с UART интерфейсом
Добавлено: Сб фев 17, 2018 09:31:08
BOB51
Это про возможность передавать/принимать адресный байт и данные с отличием в виде программируемого флага ...
Особый режим работы - но физического интерфейса это не касается - во всех случаях это стандартные линии rx/tx на которых в каждый момент времени может быть активным только один передатчик. Приемников может быть и больше - при условии, что они умеют распознавать адресную посылку и определяться кому адресованы передаваемые данные.
