Почему бы и нет, хоть 10 объединить. По сути это будет мультипроцессорная система с shared memory, классический вариант. Единственное, нужно только чтобы мк както договорились между собой, кто шину драйверит ) Должен быть какойто механизм hand-shake. Классический вариант с арбитрацией: предположим, есть 10 мк. Если какомуто мк нужно обратиться в sram он выставляет запрос. И среди этих 10 мк один является еще арбитром - все запросы идут к нему. А он уже раздает гранты по какомуто алгоритму (fixed priority, weighted round robin и т.д.), т.е. арбитрирует. Получается, доступ к sram есть только у того мк, кому дали грант - он запускает dma а затем говорит арбитру что закончил (и переводит выводы в 3e состояние чтобы не конфликтовать со следующим кто полезет в sram). В общем, мк это такой же процессор, можно хоть кластер на них построить. И память не нужна двупортовая
|