EF
Делаю сейчас простое устройство по работе. По сути, конфигурируемый PWM генератор (ну только под задачу и достаточно странный. Готовых нет. МК - не вариант)
На вход: шина SPI-слейв. По переходу CS в low (active) происходит фиксация параметров регистров, которые далее отправляются в ответ. Если установлен еще 1 бит физической линии, то в момент отправки значений регистров в мастера производится еще и установка параметров звеньев (о них далее).
На выход: есть 16-32 звена (блоки, которые генерируют ШИМ (почти). Все одинаковы. На каждый надо 3 32-х битных конфигурационных значения (3 регистра)). Каждый модуль еще с обратной связью и может в регистры конфигурации биты выставлять.
Вопрос: как организовать лучше эксклюзивный доступ на чтение-запись?
Мои варианты решения:
1. Создать регистровый файл на нужное количество регистров (для всех модулей PWMn) и модуль, который проходится по всем регистрам и дублирует их регистры-дубликаты из каждого модуля.
2. Сделать у регистрового файла кучу шин. Чтобы все были независимы. Уже звучит как говнокод.