Перейти к содержанию

Как Лучше Всего Замутить Сеть Из Нескольких Мк


Рекомендуемые сообщения

Вопрос кажется простым, но не тут то было.

Задача - штатными средствами мк (абстрактного) построить сеть шинной архитектуры. Дистанции можно сказать никакие. На одной плате стоит 6 контроллеров. Кроме can варианты есть? Желательно еще чтобы минимум обвеса из микрух требовалось.

Как то с шинами особо не сталкивался, поэтому спрошу совета

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Один можно сделать ведущим. Хотя лучше чтобы все могли отправлять и принимать равноправно

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Чето пока думаю кроме CAN что-то сложно придумать. Но она собака очень замусорена служебной и пакеты короткие. Неудобно как то смотрится

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Аппаратно во многих МК есть TWI (I2C). Правда для создания именно сети для обмена большими массивами информации вариант так себе...

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Все бы ничего, но нужен мастер

Оптимально был бы uart, но он собака точка точка...

Есть правда вариант uart закольцевать по линиям rx tx и передавать сообщения от любого всем по кольцу с подтверждением по возврату пакета источнику. И арбитраж как будто бы автоматом вырисовывается, даже если несколько узлов автоматом начнут передачу. В пакет только добавить маркер источника для опознавания на кольце. Ну и маркер адресата тоже не помешает. Как только ошибки опознавать и инициировать повтор. По контрольной сумме и таймауту на источнике?

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для начала стоит оценить объём и характер передаваемых данных и определиться с типом микроконтроллера (разрядность, быстродействие, периферия). Дальше плясать от наличия подходящей периферии (скорее всего это будет TWI или UART). А вообще, 6 микроконтроллеров на одной плате это что-то из области извращений, лучше обойтись одним, но помощнее. Если всё-таки очень хочется странного, то можно взять RS-485, он как раз UART превращает в шину, но в нём сложно с разруливанием коллизий, поэтому крайне желательно наличие мастера. Ну и ничего не мешает в рамках одной платы сделать общую шину из UART без всяких драйверов, только на выходы нужно резисторы повесить, чтобы не пожечь порты при коллизии.

Ссылка на комментарий
Поделиться на другие сайты

Процы будут stm32. Пакеты фиксированной длинны по 64 байта. 6 процов на одной плате это условно. Реально 6 одинаковых устройств в одном шкафу. То есть практически рядом

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Раньше рассматривал вариант, что то вроде самодельного ПЛК из нескольких модулей (требовалась высокая скорость обмена) и был такой вариант (применительно к вашему варианту):

Каждый модуль имеет 5 входов и 1 выход, все модули соединяются друг с другом. Т.е. выход одного модуля заходит во все модули, приём ведётся от всех модулей (каждый по своему проводу).

Передача должна была идти манчестером с CRC только в одну сторону (без подтверждения). Принимающая сторона должна была диагностировать ошибку по отсутствию данных от других модулей. Протокол обмена уже не существенен, можно придумать любой. В этом варианте медь можно было бы легко заменить на оптику и разнести устройства на значительное расстояние. Манчестер предполагалось обрабатывать на прерываниях микроконтроллера (по фронту, срезу), в идеале использовать ПЛИС (только на приём манчестера с выделением своих данных по адресу модуля).

Изменено пользователем dm37
Ссылка на комментарий
Поделиться на другие сайты

Можно кинуть ещё один сигнальный проводок, который будет сигнализировать, что кто-то в данный момент передаёт данные. Вопрос с арбитражем решён.

Что касается интерфейса. UART можно развязать обычными диодами, запрараллелив все передатчикии и приёмники в одну шину. Адресация разрулит все остальные вопросы.

Ссылка на комментарий
Поделиться на другие сайты

Как уже сказали выше - RS-485. В телемеханике на газопроводах использовался (в 2000-е годы, сейчас не знаю) в качестве КП промышленный компьютер (i486DX66, 4Mb RAM), в нём модуль процессора (аналог материнской платы PC) со всей периферией соединялся по RS-485 (цифровой и аналоговый ввод-вывод, модемы). ОС была QNX, то есть быстродействия хватало на режим реального времени. Единственное ограничение - должен быть один мастер, он по очереди опрашивает ведомых или раздаёт им команды. Легко реализуется аппаратно (USART).

Ссылка на комментарий
Поделиться на другие сайты

485 это сильно круто для микросистемы, как мне кажется. Ну и на счет мастера. Я сначала подумал, что смогу один выделить под мастер, но все больше прихожу к выводу, что лучше оставить узлы равноправными.

А вот запараллеленый уарт с проводком сигнала арбитража уже выглядит намного интереснее. Только вижу одну проблему - занятие шины при ожидании передачи несколькими узлами может быть одновременным и никак не поддающимся проверке

А чем будет плох кольцевой уарт? По идее в нем нет даже теоретической возможности коллизий при пакетах равного размера. Ну и реализация аппаратная сами понимаете - чистая фигня из проводов. Программная часть только пока местами смущает.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Так в стм же как минимум по 2 уарта, и если все мк объединить в кольцо, то можно даже выйграть, ведь можно в обе стороны кольца одновременно слать данные, и все это аппаратно.

А что если их вообще по 1wire подключить? Как дс18б20. Там никогда коллизий не происходит, кто дольше удержал шину тот и матерится, единственное нужно будет расставить приоритетность, кто-то ведь нужные данные будет слать, а кто-то не очень важные и можно подождать. Или задать жесткую адресацию, у кого попросили тот и матюкается

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

В том то и дело, что по 2 упрта не потребуется. Если взять уарт и скажем линию тх отдать следующему узлу, а rx предыдущему, то получится кольцо. Если передаем, то всегда следующему. Он принимает, смотрит ему это или нет и передаёт дальше, пока пакет не найдет адресата. А адресат в свою очередь продолжает передачу, пока пакет не вернется на источник для подтверждения. Если пакет на источник не вернулся или пришел поврежденным, то передача повторяется. Шапка пакета содержит адрес источника, адрес приемника, номер пакета, и контрольную сумму. Должно наверное хватить. Высоких скоростей не требуется, пакеты короткие. Понятно что пропускная способность такоц шины будет в N раз ниже скорости передачи, где N число узлов. Но зато минимум аппаратных затрат. Можно даже гальваноразаязку сделать по простейшей схеме на оптопарах.

Надо будет попробовать макетик сделать и посмотреть как это все будет работать и сколько в конечном итоге потребуется буферов для пакетов. Библиотечку накатать опять же.

Еще подумал. В в пакет надо будет ввести поле индикатор корректного приема. Оно будет передаваться нулевым, а возвращаться не нулевым, если приемник получил телеграмму.

Если ограничить емкость такой сети 8-ю узлами, то можно делать и бродкаст. И авто определение числа узлов. И масштабировать такая сеть сможет без корректировки прошивки на узлах. Получится псевдокан по сути.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Скорость можно увеличить, если вести передачу как к предыдущему таки следующему мк, причём можно организовать опрос в начале,где какой мк находится, и слать посылки по кратчайшему пути, не всегда в одном направлении.

И так можно одновременно в обе стороны отправлять, двум мк сразу

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

Изменено пользователем Viktor26

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Это если на каждом мк использовать по паре уарт. Но тогда и кольца не требуется. Достаточно просто соединить все узлы. Но беда в том, что уарт порой весьма ценный ресурс, даже если их по 3 штуки на борту.

Однако для коротких инфопакетов высокая скорость не требуется.

Ручная пристройка сети это конечно здорово, но лучше когда модель сети абстрактна и не зависит от физического расположения узлов

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

А ещё же есть эта крутая штука -dma, да тут Пентиум 3 как минимум получается))

Да, я так и имел в виду, по паре уартов на мк.

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Это уже к сети отношения не имеет ) (дма)

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Я имел в виду, что уарты сами по себе поточат, а программа сама по себе работает, через дма обращается к памяти где уарт посылки складывает. Круто ))

Изменено пользователем Viktor26

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Да это само собой. Поэтому даже и не обсуждается )

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

А can можно подключать напрямую без шинных формирователей?

Я с ним просто плоховато знаком. Все что успел вычитать из того и делаю выводы

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Так CAN - это протокол, на физическом уровне это и есть RS-485. А он, в свою очередь, просто UART, приспособленный к витой паре (нужно только два провода, а не три RX TX GND). Так что всё это = UART с точки зрения программы. Главное выбрать принцип арбитража - либо отдельным проводом либо назначить одного мастером.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо. Задумалсо...

Стоит ли изобретать велосипед, если он уже и так изобретен. Попробую еще поподробнее CAN покурить

В Кане по моему мастера нет. Там телеграммы, адреса и одна на всех шина с арбитражном по приоритету пакета. У кого дольше держится ноль на передаче тот и правее, остальные зтыкаются. Но с точки зрения софта это не заметно. Софт просто должен сформировать пакет и передать модулю Кан, а что там дальше уже его не волнует.

Интересный механизм аппаратной фильтрации. То что не тебе не принимается.

Смущает только высокая избыточность и очень короткие пакеты

Длина пакета имхо вынужденная. Потому как при значительных размерах на линии начнутся заметные лаги. Поэтому пакеты принудительно сделаны коротышами.

В принципе Кан и не предназначен для активного инфообмена, это же шина управления.

Короче он мне все больше нравится. Надо курить. Еще бы научить его без шинных формирователей работать. Пин в пин

В стм32 Кан аппаратный и весьма мощный. (Читаю) вещ сама в себе с полной поддержкой всех функций протокола.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...