ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
27159 Топик полностью
Ксения (24.04.2005 12:56, просмотров: 1) ответил Retex на Подскажите коммутатор 2в1 для шины SPI
А я хочу коммутатор 4в1 :-) Думаю, что зря к поставленной проблеме отнеслись как к блажи. Проблема в общем-то довольно животрепещущая. Вот посудите сами: Положим, что МК обслуживает не один АЦП, а целую "гроздь". Возникает закономерный вопрос - как их присоединить к МК? Самый, казалось бы, простой способ - соединить линии АЦП в одну шину (вход, выход, строб и сигнал готовности), а "активный" АЦП в этой связке назначать через установку CS (чип-селект). Например, поставить дешифратор, выходы которого развести на CS разных АЦП. Тогда двоичный код на входе дешифратора будет назначать тот АЦП, с которым будет вести диалог МК. А если число АЦП не велико и у МК есть свободные линии портов, то можно обойтись и без дешифратора, устанавливая CS напрямую через порт. Казалось бы такое решение решает все проблемы, но это впечатление ошибочно. Дело в том, что в приведенной схеме взаимодействия невозможно обслуживать АЦП по прерыванию от сигналов готовности (DReady). Ведь если "запертые" по CS АЦП не могут выдавать сигнал готовности, то использовать эти сигналы для выдачи прерывания невозможно. И остается малоэффективный способ постоянного циклического опроса АЦПов для выявления тех из них, которые уже выполнили преобразование. И этот циклический опрос будут тем неудобнее, чем большой работой (кроме опроса АЦП) загружен МК. Даже если сигналы готовности не объединять в шину, а направить на схему "И", то и в этом случае потребуется, чтобы CS у ВСЕХ АЦП были активированы. А если все АЦП активировать, то тогда ни о какой шине, объединяющий их входы-выходы не может быть и речи. И тут возникает именно так проблема, что была поставлена автором темы - требуется коммутатор.