Цитата(pvman @ Dec 13 2017, 12:41)
Для одной задачи нужно собрать девайс с 10 уартами.
Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту.
Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк?
скорость по уартам - 250килобит/с
Вопросов достаточно...
10 УАРТов, и что данные так и прут потоком?
Тогда применяя 2 процессора - считаем. С одной стороны на каждый подвешено 5 УАРТов и надо данные от них получать. А с другой стороны надо получать еще столько же данных из второго процессора и еще столько же туда отдать. Ну это если алгоритм требует полной картины. И при этом, данные от входов могут идти потоком, но данные между процессорами потребуют либо аппаратных сигналов, стробирующих кадры, либо при программной синхронизации потребуется протокол передачи данных. Сборка данных в кадры и разборка полученных данных. Да еще метки времени, наверняка и они понадобятся....
И мне кажется, что весь процессор на это и рухнет...
Или с такой скоростью надо опрашивать датчики, чтобы выловить изменения каких-то данных в потоке? Вот тогда здесь другие правила игры. Тогда можно сделать несколько дешевых контроллеров, чтобы они обрабатывали входные потоки на предмет изменений. И уже сжатый поток передавать на обработку...
Вот почему сказано "STM32"? Только потому что у него есть УАРТы? Типа это "Гайка М3"....
Почему бы не нарисовать алгоритм в виде блок-схемы. На нем указать потоки данных, объемы памяти, требуемые для обмена. И только потом из алгоритма рисовать блок-схему "вычислителя"... И в варианте с отдельным контроллером в ПЛИС или с гроздью 8-ми битных контроллеров для обработки УАРТов...
Так что скажете?