|
Авто перепрограммирование флешей в устройствах, как бы сделать |
|
|
|
Nov 8 2012, 10:47
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата ...кроме трех линий собственно SPI понадобятся еще провода CS от каждого к каждому.... Нафинг? Все вместе пишут. Упс .... Это уже обсуждается Цитата Слейвы, успешно записавшие блок с последним адресом игнорируют следующие посылки пока не пойдет посылка с новым адресом блока. Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Nov 8 2012, 11:39
|

Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291

|
Тут асинхронная передача Цитата(Сергей Борщ @ Nov 8 2012, 13:28)  .... А ОК на выходе предлагал, чтобы после передачи все слейвы могли ответить одновременно. Ответ 0xFF - удалось записать блок, ответ 0x00 - не удалось. И пока мастер получает ответ отличный от 0xFF - он повторяет блок.... одновременно не получится. Я еще обычно перед записью проверяю, а надо ли вообще что-то записывать, так уменьшается износ флэша...
--------------------
|
|
|
|
|
Nov 8 2012, 17:12
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(YAM @ Nov 8 2012, 10:25)  Либо вообще тупо  , соединить ВСЕ RXD и TXD вместе на всех устройствах и между собой в подобие однопроводной шины и настраивать TXD на выход только в моменты ответа конкретного устройства... Ничего внешнего вообще не понадобится, как и предлагалось выше. И подтяжку просто включить на каждом RXD. Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще). Цитата(GDI @ Nov 8 2012, 11:31)  Про тип флешей нам ничего не известно. Но гигабитники вполне могут иметь на борту JTAG, Обычная Parallel Flash Macronix или Spansion. JTAG-ов нет. Цитата(GDI @ Nov 8 2012, 11:31)  Еще непонятна фраза "дублировать оригинал на копию", это что имелось в виду? Что есть одно устройство с некой прошивкой во флешь и ее надо зашить в остальные устройства? Тогда по любому из выше названных вариантов сливаете содержимое флешь на комп и далее прошиваете в остальные. Я как раз и хочу реализовать это для того чтобы максимально упростить процесс и избежать любого использования компа (в поле например), только шлейфик пинов на 6 pin to pin! Цитата(ILYAUL @ Nov 8 2012, 13:47)  Пусть уж как-то индицируют , что не прошла запись. Нафига это надо? Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо! А то что запись не прошла будет понятно когда слейв включат в рабочем режиме.
|
|
|
|
|
Nov 8 2012, 17:48
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Цитата(zombi @ Nov 8 2012, 20:12)  Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще). Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут. Цитата(zombi @ Nov 8 2012, 20:12)  Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо! А то что запись не прошла будет понятно когда слейв включат в рабочем режиме. Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера. Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее.
|
|
|
|
|
Nov 8 2012, 18:08
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(maksimp @ Nov 8 2012, 20:48)  Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут. Я об этом писал :Сообщение #7 Цитата(maksimp @ Nov 8 2012, 20:48)  Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера Соединяю всместе где? Спец кабель должен быть? Хочу кабель пин то пин чтоб любой юзверь смог сделать. Цитата(maksimp @ Nov 8 2012, 20:48)  Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее. Это уже перебор простоты Вобщем останавливаюсь на SPI. Всем спасибо.
|
|
|
|
|
Nov 9 2012, 06:26
|

Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291

|
Цитата(zombi @ Nov 8 2012, 21:08)  Вобщем останавливаюсь на SPI. Да, да SPI  , сами же себе противоречите... Цитата(zombi @ Nov 7 2012, 15:39)  Ну да, линий хочется поменьше. Ну, успехов тогда.
--------------------
|
|
|
|
|
Nov 9 2012, 08:37
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Цитата(YAM @ Nov 9 2012, 09:26)  Да, да SPI  , сами же себе противоречите... Поменьше но без фанатизма  Три линии меня вполне устраивает, и протокол не сложный. Цитата(YAM @ Nov 9 2012, 09:26)  Ну, успехов тогда. Ну, ОК тогда. Цитата(GDI @ Nov 9 2012, 09:55)  А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс? Есть обычный ком порт на 9600. В режиме перепрограммирования нужна скорость 2000000. Процессоры тактируются от внутр. RC 32MHz c автоподстройкой частоты от часового кварца. Боюсь на скорости 2Mb/s будут проблемы.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|