Corvus 1 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба Самый простой вариант с одним-единственным уартом - это повесить все на одну шину. +100 Если ещё не поздно переделать архитектуру, то RS-485 + адресация на датчиках с помощью перемычек. Самый простой, надёжный и проверенный вариант. Если такой возможности уже нет, то мультиплексировать UARTы. Либо внешним мультиплексором, либо внутренним ремапингом. Не знаю, что тут ещё обсуждать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба jcxz, во первых, у Вас написано ПО датчиков принимает кадр со своего RX, смотрит целевой адрес в кадре, если этот кадр предназначен не ему какой адрес? я же говорил, что все датчики должны быть идентичны. хотя я и пишу ПО для них тоже кроме того, как я понял, придется увеличивать скорость передачи, поскольку в системе 1 UART - 1 датчик они могут передавать одновременно, используя DMA Все не правы, потому что автор сам не знает, что хочет, а тему создал как эмоцию на "по идее, 8 должны примерно одновременно работать". мне надо выдерживать определенную частоту опроса датчиков. если этот опрос делать по одной шине, то нужно скорость в 8 раз больше Нормальное решение: RS485 + адресация в датчиках. согласен, но есть ограничения на габариты датчика. кроме того, когда опытный прибор проверяли, сбоев не возникало. разъемы применяются пластиковые, выступающих металлических частей вообще нет, кабель экранированный Что за защитные диоды стоят? Те, которые сливают помеху на землю и питание? Не боитесь, что питание подскочит и все спалит? да, они самые. есть стенд, где проводят испытания на статику. статикой били по всякому, сбить работу не удалось ни разу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба Самый простой вариант с одним-единственным уартом - это повесить все на одну шину. Нефиг тут кольцевать. Работоспособный и проверенный вариант. Какую шину??? UART - это не шина. Он допускает соединение только двух устройств. Читаем учебники. какой адрес? я же говорил, что все датчики должны быть идентичны. хотя я и пишу ПО для них тоже кроме того, как я понял, придется увеличивать скорость передачи, поскольку в системе 1 UART - 1 датчик они могут передавать одновременно, используя DMA Адрес (или идентификатор) уникальный для каждого датчика (для каждого узла сети). Назначаться может как например перемычками на плате или по уникальному ID в каком-либо чипе либо автоматически на этапе старта ПО (алгоритм я описал). Можно и вообще без адресов обойтись, если заранее известен порядок расположения датчиков в кольце. Скорость будет зависеть от необходимой частоты опроса датчиков, объёма данных и кол-ва датчиков. Но практически не будет зависеть от организации (кольцевая сеть или куча UART-ов). В случае мультиплексирования одного UART на неск. разных датчиков, максимальная скорость сбора может быть даже меньше, чем в случае кольцевой сети с широковещательным опросом датчиков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
psL 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба Какую шину??? UART - это не шина. Он допускает соединение только двух устройств. Читаем учебники. такую https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%....B5.D1.82.D1.8C UART - это всего лишь универсальный асинхронный приемопередатчик, а не RS232/RS422 Поэтому сеть или шина с точки зрения UART возможна. Кроме того потребуется увеличить скорость обмена, что не есть хорошо. Вас тут уже не единожды спрашивали: какая скорость обмена и период опроса каждого датчика? Присоединяюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба UART - это всего лишь универсальный асинхронный приемопередатчик, а не RS232/RS422 Поэтому сеть или шина с точки зрения UART возможна. Сеть и шина подразумевает подключение нескольких устройств к ней (более 2х). Приведите, пожалуйста, пример схемы соединения 3-х устройств посредством единственного UART и двух его линий RX/TX. Именно UART, а не RS-485 и т.п.! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
psL 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба Сеть и шина подразумевает подключение нескольких устройств к ней (более 2х). Приведите, пожалуйста, пример схемы соединения 3-х устройств посредством единственного UART и двух его линий RX/TX. Именно UART, а не RS-485 и т.п.! монтажное ИЛИ устроит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба Вас тут уже не единожды спрашивали: какая скорость обмена и период опроса каждого датчика? Присоединяюсь. в настоящий момент скорость 350 000 bit/s период опроса - 2,5 мс то есть сейчас мк опрашивает один датчик, через 1,25 мс второй и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба в настоящий момент скорость 350 000 bit/s период опроса - 2,5 мс то есть сейчас мк опрашивает один датчик, через 1,25 мс второй и т.д. Сколько байт в запросе и сколько байт в ответе? Сколько полезной информации генерит датчик и с какой частотой? Какое допустимое время реакции на событие? Что это за датчик? Есть подозрение, что стоит пересмотреть все архитектуру. 350 кБит/сек на 2 метра на 8 датчиков очень "сомнительное" решение. Думаю, вы это сами прекрасно понимаете, поэтому и не спешите все рассказывать - палками закидают)) Насчет габаритов: это каких размеров ПП, если для подключения 9 кабелей место есть, а для установки дополнительной микросхемы нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
psL 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба в настоящий момент скорость 350 000 bit/s период опроса - 2,5 мс то есть сейчас мк опрашивает один датчик, через 1,25 мс второй и т.д. каждые 1,25 мс опрашиваются четыре канала, после чего происходит переключение четный/нечетный? тогда по идее скорость д.б. в 4 раза увеличена, а не как вы пишете - в 8. но 1,4 мбит для асинхронной передачи по lvttl это тоже в общем как-то многовато Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба 350 кБит/сек на 2 метра на 8 датчиков очень "сомнительное" решение. Думаю, вы это сами прекрасно понимаете, поэтому и не спешите все рассказывать - палками закидают)) нет, я думаю, что эта лишняя информация вызовет лишние вопросы, которые в итоге ни к чему не приведут Сколько байт в запросе и сколько байт в ответе? Сколько полезной информации генерит датчик и с какой частотой? Какое допустимое время реакции на событие? Что это за датчик? Есть подозрение, что стоит пересмотреть все архитектуру. 350 кБит/сек на 2 метра на 8 датчиков очень "сомнительное" решение. 1 байт запрос - 16 байт ответ собственно, столько полезной информации и есть - 16 байт за 2,5 мс Время реакции чего на чего? Когда пришел запрос - датчик должен сразу передать данные, чтобы уложиться в тайминг. Понятно, что там может возникнуть прерывание или еще что-то, что вызовет задержку. Но эта задержка невелика и заложена в скорость передачи Говоря датчик, я подразумеваю микроконтроллер, который имеет буфер с данными (16 байт) и который по запросу эти данные выплевывает. Не знаю, как можно пересмотреть архитектуру, если частоту дискретизации полюбому нужно выдерживать Насчет габаритов: это каких размеров ПП, если для подключения 9 кабелей место есть, а для установки дополнительной микросхемы нет? согласен, странно, но на данный момент все именно так каждые 1,25 мс опрашиваются четыре канала, после чего происходит переключение четный/нечетный? тогда по идее скорость д.б. в 4 раза увеличена, а не как вы пишете - в 8. но 1,4 мбит для асинхронной передачи по lvttl это тоже в общем как-то многовато да, ошибся 1,4 мбит получится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба монтажное ИЛИ устроит? С таким-же успехом можете RX/TX в сеть 220V воткнуть. Не знаю, как можно пересмотреть архитектуру, если частоту дискретизации полюбому нужно выдерживать Поставить в центр сбора МК с 8-ю UART как минимум и с каждого датчика отправлять данные периодически как только они появились. Зачем кстати запрос от центра если датчик должен сразу данные отдать как только они появились, а появляются они каждые 2.5мс? Если так хочется всё-таки слать запрос - разведите TX от одного из UART центра на RX-ы всех датчиков параллельно и отправляйте его только один раз на все сразу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FluktuacyaVaccuma 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба А что мешает "отцу русской демократии" написать свой софтовый ЮАРТ? Дело-то минут на 15 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dima1060 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба С таким-же успехом можете RX/TX в сеть 220V воткнуть. Поставить в центр сбора МК с 8-ю UART как минимум и с каждого датчика отправлять данные периодически как только они появились. Зачем кстати запрос от центра если датчик должен сразу данные отдать как только они появились, а появляются они каждые 2.5мс? Если так хочется всё-таки слать запрос - разведите TX от одного из UART центра на RX-ы всех датчиков параллельно и отправляйте его только один раз на все сразу. Дело в том, что нужно 9 UART-ов) еще один, чтобы данные от всех датчиков слать по RS-485 Запрос - чтобы синхронизировать данные от датчиков. У них же частоты выдачи данных гуляют немного. А тут получается, я их выравниваю. А что мешает "отцу русской демократии" написать свой софтовый ЮАРТ? Дело-то минут на 15 то, что датчики работают через DMA, а для общего UART-а, как тут посчитали, нужна скорость 1,4 мбит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба монтажное ИЛИ устроит? может всё-таки монтажное И? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FluktuacyaVaccuma 0 23 декабря, 2015 Опубликовано 23 декабря, 2015 · Жалоба то, что датчики работают через DMA, а для общего UART-а, как тут посчитали, нужна скорость 1,4 мбит Как это? Т.е. датчики имеют прямой доступ к оперативной памяти процессора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться