ILYAUL 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба ...кроме трех линий собственно SPI понадобятся еще провода CS от каждого к каждому.... Нафинг? Все вместе пишут. Упс .... Это уже обсуждается Слейвы, успешно записавшие блок с последним адресом игнорируют следующие посылки пока не пойдет посылка с новым адресом блока. Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись.Ну хоть пару попыток надо ему дать? Мало ли - блок принят с ошибкой. Но это уже детали реализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YAM 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Тут асинхронная передача .... А ОК на выходе предлагал, чтобы после передачи все слейвы могли ответить одновременно. Ответ 0xFF - удалось записать блок, ответ 0x00 - не удалось. И пока мастер получает ответ отличный от 0xFF - он повторяет блок.... одновременно не получится. Я еще обычно перед записью проверяю, а надо ли вообще что-то записывать, так уменьшается износ флэша... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Тут асинхронная передачаЕсли все отвечают на один запрос и в момент запроса уже ничем кроме него не заняты, то 0xFF от не-0xFF мастер отличит. Зато ему не нужно знать адреса слейвов и их количество. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Либо вообще тупо :blink: , соединить ВСЕ RXD и TXD вместе на всех устройствах и между собой в подобие однопроводной шины и настраивать TXD на выход только в моменты ответа конкретного устройства... Ничего внешнего вообще не понадобится, как и предлагалось выше. И подтяжку просто включить на каждом RXD. Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще). Про тип флешей нам ничего не известно. Но гигабитники вполне могут иметь на борту JTAG, Обычная Parallel Flash Macronix или Spansion. JTAG-ов нет. Еще непонятна фраза "дублировать оригинал на копию", это что имелось в виду? Что есть одно устройство с некой прошивкой во флешь и ее надо зашить в остальные устройства? Тогда по любому из выше названных вариантов сливаете содержимое флешь на комп и далее прошиваете в остальные. Я как раз и хочу реализовать это для того чтобы максимально упростить процесс и избежать любого использования компа (в поле например), только шлейфик пинов на 6 pin to pin! Пусть уж как-то индицируют , что не прошла запись. Нафига это надо? Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо! А то что запись не прошла будет понятно когда слейв включат в рабочем режиме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maksimp 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще). Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут. Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо! А то что запись не прошла будет понятно когда слейв включат в рабочем режиме. Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера. Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 8 ноября, 2012 Опубликовано 8 ноября, 2012 · Жалоба Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут. Я об этом писал :Сообщение #7 Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера Соединяю всместе где? Спец кабель должен быть? Хочу кабель пин то пин чтоб любой юзверь смог сделать. Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее. Это уже перебор простоты Вобщем останавливаюсь на SPI. Всем спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YAM 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Вобщем останавливаюсь на SPI. Да, да SPI , сами же себе противоречите... Ну да, линий хочется поменьше. Ну, успехов тогда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Да, да SPI , сами же себе противоречите... Поменьше но без фанатизма Три линии меня вполне устраивает, и протокол не сложный. Ну, успехов тогда. Ну, ОК тогда. А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс? Есть обычный ком порт на 9600. В режиме перепрограммирования нужна скорость 2000000. Процессоры тактируются от внутр. RC 32MHz c автоподстройкой частоты от часового кварца. Боюсь на скорости 2Mb/s будут проблемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 9 ноября, 2012 Опубликовано 9 ноября, 2012 · Жалоба Девайсы получают команду на перепрограммирование на скорости 9600 - и перенастраиваются на 2000000 -3 - 4000000. И могут спокойненько на сихронном режиме........ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 10 ноября, 2012 Опубликовано 10 ноября, 2012 · Жалоба И могут спокойненько на сихронном режиме........ Всё равно нужно три линии да и RX/TX на мастере нужно где то переворачивать. А почему Вы против SPI? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 10 ноября, 2012 Опубликовано 10 ноября, 2012 · Жалоба Да я не против SPI. Есть ведь USART вот и прикинул. Кстати USART может работать как нормальный SPI , но линию SCK -выводить придётся Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться