razrab83 21 22 мая, 2023 Опубликовано 22 мая, 2023 (изменено) · Жалоба 1 час назад, jcxz сказал: Но если у вас в каждом устройстве есть USB, то можно сделать на USB (без UART-ов): Мастер - USB-host, ведомые - USB-slave. ТС же пишет, что в eps32 нет usb, а есть USB Serial. Т.е. это урезанный usb, до usb-device cdc. ни каких хостов там нет. и писать там usb стек не придется. Цитата USB Serial это устройство с фиксированной функцией, реализованной полностью аппаратно. Это значит, что USB Serial нельзя переконфигурировать на использование других функций, кроме как каналов обмена последовательными сообщениями (USB CDC) и отладки JTAG. да даже если взять стм32ф103 CPU - на котором есть "полноценный" usb. Как этим одним усб подключиться одновременно к пк и к другому cpu? Изменено 22 мая, 2023 пользователем razrab83 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ericN 3 22 мая, 2023 Опубликовано 22 мая, 2023 (изменено) · Жалоба В 22.05.2023 в 16:10, razrab83 сказал: ТС же пишет, что в eps32 нет usb, а есть USB Serial. да человек не читает другие сообщения, в том числе и ТС. Но переодически набрасывает на вентилятор.... самый первый пост ТС, самая первая строчка В 16.05.2023 в 22:37, Cirnas сказал: С ПК будет использоваться две одинаковые платы. vs В 22.05.2023 в 14:30, jcxz сказал: к тому же у вас разношёрстное железо Изменено 22 мая, 2023 пользователем ericN Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 37 минут назад, razrab83 сказал: ТС же пишет, что в eps32 нет usb ТС как я понял - ещё не определился на чём будет делать. 37 минут назад, razrab83 сказал: да даже если взять стм32ф103 CPU - на котором есть "полноценный" usb. Как этим одним усб подключиться одновременно к пк и к другому cpu? Обоими можно подключиться к ПК. Но у ТС в исходном сообщении говорится о подключении 2-го ведомого через первый. Зачем это - непонятно, но может обосновано как-то конструктивно. И нужно именно так. Не знаю - как у него там и зачем. Гадать не берусь. Поэтому оставляю это на его выбор. 20 минут назад, ericN сказал: да человек не читает другие сообщения, в том числе и ТС. Но переодически набрасывает на вентилятор.... В чём именно "набрасываю"? Конкретизируйте. А не читаете - это скорее вы. Удосужьтесь прочитать немного дальше первого сообщения. Увидите там и другие схемы от ТС. В которых уже совсем не "две одинаковые платы". В 17.05.2023 в 07:03, Cirnas сказал: Это вот это "2 одинаковые платы"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 22 мая, 2023 Опубликовано 22 мая, 2023 (изменено) · Жалоба 19 часов назад, mantech сказал: Вот и я об этом. Даже представить не могу, что может так затормозить 12мегабит FS усб, чтобы он не смог передать 115200 бит\сек нужное кол-во байт с задержкой более, чем в байт... Ну разве, что полное зависание компа, причем на уровне драйвера, т.е. ядра системы))))))) Может и тормозит иногда. Это вам просто везло. bulk - это вам не изохронная передача. Если на той же шине есть другое устройство а в писюке оно скорее всего есть то жизнь становится намного разнообразнее потому что транзакции начинают задерживаться. Как результат - "фигвам" а не кадр целиком. Нет, оно все придет... когда нибудь и порезанное на кусочки произвольного размера по желанию USB стека и с непредсказуемыми паузами между кусочками. Еще зависит от особенностей дров переходника USB-UART. У ftdi почему то любая транзакция - от 15 мс хоть 1 байт передавай на 921600 - все равно 15. В 21.05.2023 в 14:15, mantech сказал: "USB <-> usb/uart <-> uart/485" - это просто переходник с одного интерфейса на другой, протокол там может быть и модбас и просто набор символов... Просто набор символом может быть, modbus ASCII тоже а modbus RTU - нет потому что в этом убожестве жесткие тайминги являются обязательным элементом протокола а мост "USB <-> usb/uart <-> uart/485" не обеспечивает соблюдение надлежащих таймингов протокола RTU. Изменено 22 мая, 2023 пользователем _3m Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 27 минут назад, _3m сказал: bulk - это вам не изохронная передача. Если на той же шине есть другое устройство а в писюке оно скорее всего есть то жизнь становится намного разнообразнее потому что транзакции начинают задерживаться. Если на той же шине сидит USB-FS с активной изохронной точкой размером == 1023 байта, то на все остальные interrupt-, bulk- и control-передачи остаётся ~64 байта пропускной способности шины. А если учесть, что из interrupt-, bulk- и control-передач - bulk обладают наименьшим приоритетом, а другие устройства на шине решат в это время пообмениваться control- и interrupt-пакетами, то для bulk-а может вообще времени не остаться. И весь CDC просто ляжет на некоторое время. Если он конечно control-передачи не использует (тут не уверен; хотя наличие bulk в дескрипторе намекает на это). Это для тех кто "не задумывался, но ведь у меня работало": Нужно тестировать во всех возможных условиях работы, задумываясь - что может влиять на работу вашего решения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cirnas 0 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 3 hours ago, jcxz said: ТС как я понял - ещё не определился на чём будет делать. Обоими можно подключиться к ПК. Но у ТС в исходном сообщении говорится о подключении 2-го ведомого через первый. Зачем это - непонятно, но может обосновано как-то конструктивно. И нужно именно так. Не знаю - как у него там и зачем. Гадать не берусь. Поэтому оставляю это на его выбор. В чём именно "набрасываю"? Конкретизируйте. А не читаете - это скорее вы. Удосужьтесь прочитать немного дальше первого сообщения. Увидите там и другие схемы от ТС. В которых уже совсем не "две одинаковые платы". Это вот это "2 одинаковые платы"? Я действительно не определился с МК - немного игрался с девбордами на ESP32, отсюда и склонность к ним. Изначально было две разные платы - одна больше с датчиками работает и находится непосредственно возле ПК, а у второй больше релюшек и находится на расстоянии 10-30м. Команды для обеих раздает ПК. После того как посмотрел на готовые модули для автоматизации свел обе платы к общему функционалу и описал максимально изалированно от предметной области - в итоге логика плат еще упростилась и вынеслась максимально на ПК, ну а там мне уже сильно проще писать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 16 часов назад, jcxz сказал: Имеется один мастер и 2 ведомых (RS-485 например). Один ведомый подключен напрямую через свой UART к шине, второй - посредством моста USB-UART. Смешались в кучу кони, люди... Если имеется ОДИН мастер и 2 ведомых, то они могут быть только на ОДНОЙ шине, т.е. rs485, как один может получать напрямую, а второй через мост? У вас мост к ведомому подключен что-ли? Я говорю, что мост стоит только на ПК, который является мастером, с переходником на 485ю шину, остальные ведомые БЕЗ моста, и принимать они могут всегда одну и ту же инфу и ОДНОВРЕМЕННО... 1 час назад, Cirnas сказал: Я действительно не определился с МК - немного игрался с девбордами на ESP32 Зачем вам этот esp? Он по факту нужен только, если осн. требование - вайфай, если нет, то лучше это вообще не использовать, ИМХО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
destroit 9 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 1 час назад, Cirnas сказал: в итоге логика плат еще упростилась и вынеслась максимально на ПК Да в-сие-выше озвученном, есть полное отсутствие = логики . ПК-то, нафик ? У вас примитивный робот-поилка, с монетоприёмником ( картой), и зачем его опрашивать по USB ? Типа , а другое я (вы)-и-не видел ... ну-да, сейчас вас обучат ... нет, не обучат... вам не дали в сиём диспуте ни одного бесплатного-дельного совета . Знаете почему ? Вижу, догадываетесь ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 2 часа назад, _3m сказал: Если на той же шине есть другое устройство а в писюке оно скорее всего есть то жизнь становится намного разнообразнее потому что транзакции начинают задерживаться. Ну хорошо, возьмем макс. скорость 115200, имеем 12мегабит усб, допустим подключили его в корневой хаб, с 2 портами, а именно в корневом может быть только 2 порта, во второй воткнем комбик мышь+клава, в первый переходник на 485й. Далее, по скорости имеем приоритет в 2 порядка 12мбит - 100килобит, усб переходник работает пакетами по 64 байта за раз, что практически включает 1 пакет модбаса, ну если вы конечно не любите за раз читать \записывать по 100 регистров))) мышь с клавой прерывают порт каждую мсек, с запросом интеррупт трансфера, допустим тоже по 64 байта, т.е. грубо мы занимаем канал каждые 500мксек, и отправляем\принимаем 64 байта, которые при 12мбит уходят в порт за 60-70мксек, т.е. при скорости посылок 1 раз в 500мксек и загрузке канала 70мксек мы имеем почти 430мксек "паузы", как тут можно не успеть - для меня загадка... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 3 минуты назад, mantech сказал: посылок 1 раз в 500мксек и загрузке канала 70мксек мы имеем почти 430мксек "паузы", как тут можно не успеть - для меня загадка... Для меня тоже загадка как в дровах ftdi пересылка 1 байта занимает от 15мс независимо от битрейта но оно есть. Вы рассматриваете загрузку с точки зрения UART а надо с точки зрения USB стека и планировщика задач ОС. 22 минуты назад, mantech сказал: Зачем вам этот esp? Он по факту нужен только, если осн. требование - вайфай, если нет, то лучше это вообще не использовать, ИМХО. ESP это не только wifi но и микроконтроллер причем дешевый, мощный и распространенный. Если он освоен - почему бы его не использовать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 мая, 2023 Опубликовано 22 мая, 2023 (изменено) · Жалоба 35 минут назад, _3m сказал: в дровах ftdi пересылка 1 байта занимает от 15мс независимо от битрейта но оно есть. Наверно цепляется к какому-то шедулеру в ядре ОС. Тут еще вопрос, что за ОС винда или линукс... 35 минут назад, _3m сказал: а надо с точки зрения USB стека и планировщика задач ОС. Да без разницы, делайте пакет модбаса не больше 64х байт и он будет улетать за раз, без разницы от ОС и пр. хозяйства. Ну а если цель ответственная промавтоматика, то лучше не экономьте и купите комп с аппаратным уарт или плату аппаратного уарта. На своем опыте уяснил - усб и промавтоматика вещи трудносовместимые... Изменено 22 мая, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 22 мая, 2023 Опубликовано 22 мая, 2023 · Жалоба 5 часов назад, mantech сказал: как тут можно не успеть - для меня загадка... Если загадка, то советую ещё раз перечитать: 6 часов назад, jcxz сказал: Если на той же шине сидит USB-FS с активной изохронной точкой размером == 1023 байта, то на все остальные interrupt-, bulk- и control-передачи остаётся ~64 байта пропускной способности шины. А если учесть, что из interrupt-, bulk- и control-передач - bulk обладают наименьшим приоритетом, а другие устройства на шине решат в это время пообмениваться control- и interrupt-пакетами, то для bulk-а может вообще времени не остаться. И весь CDC просто ляжет на некоторое время. Если он конечно control-передачи не использует (тут не уверен; хотя наличие bulk в дескрипторе намекает на это). А также наконец-то открыть какое-нить толковое описание USB-шины и прочитать что такое "изохронные передачи". Да и про другие типы передач прочитать. И про их приоритеты. И как оно всё там работает. И тогда может наконец-то развеятся влажные мечты про микросекунды... 4 часа назад, mantech сказал: Да без разницы, делайте пакет модбаса не больше 64х байт и он будет улетать за раз, без разницы от ОС и пр. хозяйства. Видно, что документацию на USB вы не открывали никогда. Вот после такого и рождаются "фобос-в-грунты" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
siargy 7 23 мая, 2023 Опубликовано 23 мая, 2023 · Жалоба On 5/22/2023 at 8:28 AM, Arlleex said: ничего не мешает прокинуть CAN как будто по 8 байт пересылать это нормально. On 5/22/2023 at 7:47 AM, razrab83 said: Как ваше приложение на ПК в одном булке разделит на пакеты эти 10 байт? По загаловку, не? Вы про нормальные протоколы хоть что-то слышали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 188 23 мая, 2023 Опубликовано 23 мая, 2023 · Жалоба 4 минуты назад, siargy сказал: как будто по 8 байт пересылать это нормально. И в чем проблема? Ну по 64 передавайте, в CAN FD. Бонусом еще и быстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
siargy 7 23 мая, 2023 Опубликовано 23 мая, 2023 · Жалоба 21 hours ago, jcxz said: кольцо на UART. в одном месте проводок оборвался - все отвалилось. надежность100% ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться