pvman 0 Posted December 13, 2017 · Report post Здравствуйте, коллеги! Для одной задачи нужно собрать девайс с 10 уартами. Уменьшить количество не получается, т.к. нужно работать с этими потоками, смешивать из них данные и т.д. Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту. Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк? скорость по уартам - 250килобит/с Quote Ответить с цитированием Share this post Link to post Share on other sites
krux 0 Posted December 13, 2017 · Report post смотря что и как смешивать, и с какими временнЫми (мин, макс) задержками. имхо, так похоже, что это будет нормальная задача для ПЛИС. Quote Ответить с цитированием Share this post Link to post Share on other sites
x893 0 Posted December 13, 2017 · Report post Грамотные решения всегда есть. на бумажке умножаем 250 х 6 = 1500 Исходя из этого и пляшем. Quote Ответить с цитированием Share this post Link to post Share on other sites
Vasil_Riabko 0 Posted December 13, 2017 · Report post STM32 с FSMC ( например STM32F217) + FPGA ( например EP3C25E144I7N ) Quote Ответить с цитированием Share this post Link to post Share on other sites
Den64 0 Posted December 13, 2017 · Report post Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту. Как осуществить обмен между ними? SPI Quote Ответить с цитированием Share this post Link to post Share on other sites
iosifk 0 Posted December 13, 2017 · Report post Для одной задачи нужно собрать девайс с 10 уартами. Понадобится как минимум два контроллера STM32, у которых по 6 уартов на борту. Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк? скорость по уартам - 250килобит/с Вопросов достаточно... 10 УАРТов, и что данные так и прут потоком? Тогда применяя 2 процессора - считаем. С одной стороны на каждый подвешено 5 УАРТов и надо данные от них получать. А с другой стороны надо получать еще столько же данных из второго процессора и еще столько же туда отдать. Ну это если алгоритм требует полной картины. И при этом, данные от входов могут идти потоком, но данные между процессорами потребуют либо аппаратных сигналов, стробирующих кадры, либо при программной синхронизации потребуется протокол передачи данных. Сборка данных в кадры и разборка полученных данных. Да еще метки времени, наверняка и они понадобятся.... И мне кажется, что весь процессор на это и рухнет... Или с такой скоростью надо опрашивать датчики, чтобы выловить изменения каких-то данных в потоке? Вот тогда здесь другие правила игры. Тогда можно сделать несколько дешевых контроллеров, чтобы они обрабатывали входные потоки на предмет изменений. И уже сжатый поток передавать на обработку... Вот почему сказано "STM32"? Только потому что у него есть УАРТы? Типа это "Гайка М3".... Почему бы не нарисовать алгоритм в виде блок-схемы. На нем указать потоки данных, объемы памяти, требуемые для обмена. И только потом из алгоритма рисовать блок-схему "вычислителя"... И в варианте с отдельным контроллером в ПЛИС или с гроздью 8-ми битных контроллеров для обработки УАРТов... Так что скажете? Quote Ответить с цитированием Share this post Link to post Share on other sites
x893 0 Posted December 13, 2017 · Report post MAX14830 + STM32 (если так хочется) и никаких вопросов и гемора с FPGA. P.S. Телепатия конечно помогла бы. Но какой вопрос- такой и ответ Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted December 13, 2017 · Report post Как осуществить обмен между ними? Есть ли грамотные решения для быстрого доступа к данным другого мк? скорость по уартам - 250килобит/с На i.MX RT1050 можно сделать минимум 16-ть UART-ов на базе Flexible I/O Это не считая 8-и встроенных нативных UART-ов Quote Ответить с цитированием Share this post Link to post Share on other sites
GefarD 0 Posted December 13, 2017 · Report post Последовательно не хотите подключать? Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted December 13, 2017 · Report post Если нужно много UART-ов да ещё с большой скоростью, то STM32 пожалуй будет самым худшим выбором. Ну разве, что немного лучше чем AVR Хотя если "без куба - никуда", то тут уже ничего не попишешь.... :laughing: Quote Ответить с цитированием Share this post Link to post Share on other sites
@Ark 0 Posted December 13, 2017 (edited) · Report post Здравствуйте, коллеги! Для одной задачи нужно собрать девайс с 10 уартами... Чтобы получить толковые советы, вам придется раскрыть постановку задачи. Когда вся картина будет понята, тогда и можно будет предлагать решения. Сейчас слишком много неизвестных подробностей, которые кардинально могут все изменить... Edited December 13, 2017 by @Ark Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted December 13, 2017 · Report post Nuvoton семейство NUC970 - даташит говорит о 10 полноценных UART-ах (!). Полноценные - это значит имеющие FIFO. 6 из них - глубиной 64 байта, 4 - глубиной 16 байт. Сколько выведено на пины - нужно смотреть конкретный корпус. Tiva (tm4c129) - 8 полноценных UART-ов (16-byte FIFO) + ещё 2 можно эмулировать программно. Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted December 15, 2017 · Report post Nuvoton семейство NUC970 - даташит говорит о 10 полноценных UART-ах (!). Есть минус - внешняя флешка. Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted December 15, 2017 · Report post Есть минус - внешняя флешка. Этот минус ничтожен по сравнению с необходимостью ставить 2 МК (как собирается автор), писать в них две прошивки, писать между ними обмен и т.п. Quote Ответить с цитированием Share this post Link to post Share on other sites
x893 0 Posted December 15, 2017 · Report post Вот бы посмотреть видео как будет создаваться программа для NU.... Начиная от монтажа на плату и заканчивая обменом данными. P.S. Видимо простой вариант с MAX14830 не подходит по уровню геморроя. Quote Ответить с цитированием Share this post Link to post Share on other sites