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

Здравствуйте, коллеги!

Для одной задачи нужно собрать девайс с 10 уартами.

Уменьшить количество не получается, т.к. нужно работать с этими потоками,

смешивать из них данные и т.д.

Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту.

Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк?

 

скорость по уартам - 250килобит/с

Поделиться сообщением


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

смотря что и как смешивать, и с какими временнЫми (мин, макс) задержками.

имхо, так похоже, что это будет нормальная задача для ПЛИС.

Поделиться сообщением


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

Грамотные решения всегда есть.

на бумажке умножаем 250 х 6 = 1500

Исходя из этого и пляшем.

Поделиться сообщением


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

Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту.

Как осуществить обмен между ними?

SPI

Поделиться сообщением


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

Для одной задачи нужно собрать девайс с 10 уартами.

 

Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту.

Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк?

 

скорость по уартам - 250килобит/с

Вопросов достаточно...

10 УАРТов, и что данные так и прут потоком?

Тогда применяя 2 процессора - считаем. С одной стороны на каждый подвешено 5 УАРТов и надо данные от них получать. А с другой стороны надо получать еще столько же данных из второго процессора и еще столько же туда отдать. Ну это если алгоритм требует полной картины. И при этом, данные от входов могут идти потоком, но данные между процессорами потребуют либо аппаратных сигналов, стробирующих кадры, либо при программной синхронизации потребуется протокол передачи данных. Сборка данных в кадры и разборка полученных данных. Да еще метки времени, наверняка и они понадобятся....

И мне кажется, что весь процессор на это и рухнет...

 

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

 

Вот почему сказано "STM32"? Только потому что у него есть УАРТы? Типа это "Гайка М3"....

Почему бы не нарисовать алгоритм в виде блок-схемы. На нем указать потоки данных, объемы памяти, требуемые для обмена. И только потом из алгоритма рисовать блок-схему "вычислителя"... И в варианте с отдельным контроллером в ПЛИС или с гроздью 8-ми битных контроллеров для обработки УАРТов...

Так что скажете?

Поделиться сообщением


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

MAX14830 + STM32 (если так хочется) и никаких вопросов и гемора с FPGA.

P.S. Телепатия конечно помогла бы. Но какой вопрос- такой и ответ

Поделиться сообщением


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

Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк?

скорость по уартам - 250килобит/с

На i.MX RT1050 можно сделать минимум 16-ть UART-ов на базе Flexible I/O

Это не считая 8-и встроенных нативных UART-ов

Поделиться сообщением


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

Если нужно много UART-ов да ещё с большой скоростью, то STM32 пожалуй будет самым худшим выбором. Ну разве, что немного лучше чем AVR :biggrin:

Хотя если "без куба - никуда", то тут уже ничего не попишешь.... :laughing:

Поделиться сообщением


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

Здравствуйте, коллеги!

Для одной задачи нужно собрать девайс с 10 уартами...

Чтобы получить толковые советы, вам придется раскрыть постановку задачи.

Когда вся картина будет понята, тогда и можно будет предлагать решения.

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

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

Поделиться сообщением


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

Nuvoton семейство NUC970 - даташит говорит о 10 полноценных UART-ах (!).

Полноценные - это значит имеющие FIFO. 6 из них - глубиной 64 байта, 4 - глубиной 16 байт.

Сколько выведено на пины - нужно смотреть конкретный корпус.

Tiva (tm4c129) - 8 полноценных UART-ов (16-byte FIFO) + ещё 2 можно эмулировать программно.

Поделиться сообщением


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

Nuvoton семейство NUC970 - даташит говорит о 10 полноценных UART-ах (!).

 

Есть минус - внешняя флешка.

Поделиться сообщением


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

Есть минус - внешняя флешка.

Этот минус ничтожен по сравнению с необходимостью ставить 2 МК (как собирается автор), писать в них две прошивки, писать между ними обмен и т.п.

Поделиться сообщением


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

Вот бы посмотреть видео как будет создаваться программа для NU....

Начиная от монтажа на плату и заканчивая обменом данными.

 

P.S. Видимо простой вариант с MAX14830 не подходит по уровню геморроя.

Поделиться сообщением


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

×
×
  • Создать...