Цитата(Kovrov @ Apr 7 2006, 00:33)

ещё больное место это установить (освобождать) линии в зет состояние..
как бы так бы изголиться....
Дык я же предложил вам муксер (мультиплексор) поставить. Но только не серии HCT! Типа 74HC257. Сигналы CS, SCK, DI от каждого МК завести на свою группу входов муксера. Арбитраж сделать на XORе типа 74HC86. Завести на входы XOR по CSу от каждого МК, на втором элементе 74HC86 проинвертировать и дальше на вход OE муксера. Состояние входа ОЕ должны проверять каждый из МК. Если МК CS сбросил, а вход OE остался в лог. 1, то значит произошел конфликт доступа. При этом выходы мультиплексора перейдут (или останутся) в высокоимпедансное состояние. А если будет наличествовать pull-up на его выходах, то для DataFlash это будет обычное НЕактивное состояние. Мультиплексор можно запитать от 3.3В и сразу же получить согласование уровней с входами DataFlash. Если хочется ВЫходные уровени схемы "арбитража и согласования" иметь TTL, то никто не мешает использовать свободный элемент 74HC86 в качестве повторителя, запитав ее от 5В. Согласовение же по входам мультиплексора легко делается с помощью последовательного включения резисторов. Например, для 74AC257 (ИМХО более предпочтительный муксер в данном случае, чем HC257) входная емкость не более 10pF, а макс. ток защитного диода 20мА. Так что резисторы, скажем 330 Ом, вообще нисколько не повлияют на работоспособность SPI до частоты этак в 10МГц. Не думаю, что ваш МК будет работать с DataFlash на более высокой частоте тактирования SPI.
Итого подытожим. Два корпуса м/с малой степени интеграции 74AC257 и 74AC(HC)86 вполне спасают отца русской демократии от придуманной им проблемы. Ферштейн?

P.S. забыл еще про адресацию входов написать. Если вдруг сами не додумаетесь, то заведите один из CSов на адресный вход S указанного мультиплексора. Соответственно для этого МК сигналы нужно завести на те входы муксера, которые выбираются при низком уровне на входе S. Никакого высокого приоритета для этого МК такая схема адресации сигналов не дает. Догадались почему?