Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Проблема с UART интерфейсом

Пт фев 16, 2018 08:55:23

День добрый, столкнулся вот с такой проблемой: Имеется МК 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

"...Куда смотреть? ..."

В документацию на железо и на протоколы.
Как вариант - посадить одного из абонентов на софтовый UART.
8)

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 14:56:32

Я вообще не понял, как ТРИ уарта между собой соединяются...

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 15:13:23

Это АРДУИНКА (причем из "простейших" - вероятно "нана") - на собственно аппаратный UART схемотехнически подвешен USB-COM, его же выводы (по замыслу конструкторов ардуино) при отсутствии работы с консолью IDE в ПК могут быть использованы для иного потребителя.
А посикоку при работе с ПК одного Rх-Tх может бысть мало предусмотрен софтовый UART на любые иные выводы.
8)
У топикстартера вообще-то идея стыковки "звездой" одного хаба(собственно его самоделка) с тремя потребителями.
Причем ни заморачивться адресацией ни аппаратным выбором абонента желания не видать.
8)

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 15:42:23

Могу предложить Мегу324 у неё на борту 2 аппаратных UARTa, ну или что нибудь из STM32 взять, там вроде UARTов поболее будет.

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 18:57:20

Я вообще не понял, как ТРИ уарта между собой соединяются...

да как бы ничего сверхъестественного, есть управляющий МК который будет гадить данными либо через BT либо через WiFi включая либо отключая их. Соединение простое: RxD BT и RxD WiFi на TxD МК. одновременно работает только один приемопередатчик (за счет включения либо отключения ногами МК)

Это АРДУИНКА (причем из "простейших" - вероятно "нана") - на собственно аппаратный UART схемотехнически подвешен USB-COM, его же выводы (по замыслу конструкторов ардуино) при отсутствии работы с консолью IDE в ПК могут быть использованы для иного потребителя.
А посикоку при работе с ПК одного Rх-Tх может бысть мало предусмотрен софтовый UART на любые иные выводы.
8)
У топикстартера вообще-то идея стыковки "звездой" одного хаба(собственно его самоделка) с тремя потребителями.
Причем ни заморачивться адресацией ни аппаратным выбором абонента желания не видать.
8)

нет, увы не ардуинка, самопляс уже изготовленный. пытаюсь понять где накосячил. зачем мне адресация потребителя если конвертер висит для того чтоб слушать порт во время отладки, а в нормальном режиме будет работать либо WiFi либо BT путем физического отключения микросхемы командой с МК. Что тут адресовать? BT с WiFi общаться между собой не должны. UART использую аппаратный

Могу предложить Мегу324 у неё на борту 2 аппаратных UARTa, ну или что нибудь из STM32 взять, там вроде UARTов поболее будет.

как писал выше уже все распаял. 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

Самодельная сборка на основе ардуинки - еще "поприколистее"...
:(

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 19:47:45

ну ладно, фиг с ним, пусть будет ардуина. вопрос все же остается - как послушать шину между двумя устройствами не уваливая ее? ну и факультативно - почему с одной парой работает а с другой нет, что я упускаю?

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 19:51:29

Angry Engineer писал(а):как послушать шину между двумя устройствами не уваливая ее?
послушать - элементарно: сколько угодно RXD цеплять к единственному TXD. а вот передать из нескольких TXD в единственный RXD не получится без каких-то извращений. видимо, тут у вас собака и порылась...

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 19:56:17

для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 19:57:56

Поставить аппаратный репитер - перехватчик линий связи. И с него вести сигнал на логический анализатор/консоль терминала.
Чего-нить подобного
http://img.radiokot.ru/files/20529/1cvf6ek97p.GIF
8)
Почему работает Х.З. - честно такое еще не пробовал, пока работал только с стандартными Rx/Tx приложениями-примитивами.
А вот ежли программа писалась под ардуинку - или использование того, что в среде предоставлено или разбираться с библиотеками.
Дугое дело без бутлоадера и в соответствующем "чистом" компиляторе (хотя-бы АВРстудии - у ардуиноIDE своя "надстройка"излишняя по сравнению с чистым СИ заложена для удобства пользователя, обход много внимания и знаний требует).
Вобщем... ежли "влоб" не удалось - принимаемся штудировать документацию.
:beer:
Последний раз редактировалось BOB51 Пт фев 16, 2018 20:01:35, всего редактировалось 1 раз.

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:00:53

Прошивка писалась в Atmel Studio 7 бутлоадера нет ибо еще не осилил (да и задач таких не стояло). Проблема в том что в документации только распиновка и АТ комманды

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:04:16

Тогда или аппаратный репитер-повторитель или программный UART для дополнительных потребителей.
Где-то не уживаются (по программе или аппаратно - вычитывать даташиты надо).
:dont_know:

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:09:19

опять же мега как говорит даташит поддерживает мультипроцессорный uart с одним мастером без всяких доп костылей

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:17:34

Это ежли каждый потребитель ПЕРСОНАЛЬНО АДРЕСУЕМ (в самом потребителе данное свойство предусмотрено).
Другое дело - был бы протокол и шина I2C или иная с уже заложенной аппаратной адресацией.
8)

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:49:43

i2c всем хороша конечно но медленная

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:54:51

для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?

даже не одновременно два передатчика в одну линию работать не должны, разве что вы как-то будете переводить одну из линий TXD в режим с высоким импедансом... но это я и имел ввиду под извращениями

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 20:57:40

Я ж и намякиваю - самый простой выход из "уже все запаяно" - добавить внешний аппаратный модуль (репитер/коммутатор).
8)

Re: Проблема с UART интерфейсом

Пт фев 16, 2018 21:00:08

для внесения ясности, под передачей из нескольких в одно вы подразумеваете одновременную (тут я в курсе что будет содомия) ? или просто объединения в одну сеть достаточно для проблем?

даже не одновременно два передатчика в одну линию работать не должны, разве что вы как-то будете переводить одну из линий TXD в режим с высоким импедансом... но это я и имел ввиду под извращениями


а как же мультипроцессорный уарт? или это не одно и то же?

Re: Проблема с UART интерфейсом

Сб фев 17, 2018 09:31:08

Это про возможность передавать/принимать адресный байт и данные с отличием в виде программируемого флага ...
Особый режим работы - но физического интерфейса это не касается - во всех случаях это стандартные линии rx/tx на которых в каждый момент времени может быть активным только один передатчик. Приемников может быть и больше - при условии, что они умеют распознавать адресную посылку и определяться кому адресованы передаваемые данные.
8)
Ответить