Перейти к содержанию
    

Авто перепрограммирование флешей в устройствах

...кроме трех линий собственно SPI понадобятся еще провода CS от каждого к каждому....
Нафинг?

Все вместе пишут.

Упс .... Это уже обсуждается

Слейвы, успешно записавшие блок с последним адресом игнорируют следующие посылки пока не пойдет посылка с новым адресом блока.

Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись.
Ну хоть пару попыток надо ему дать? Мало ли - блок принят с ошибкой. Но это уже детали реализации.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут асинхронная передача

.... А ОК на выходе предлагал, чтобы после передачи все слейвы могли ответить одновременно. Ответ 0xFF - удалось записать блок, ответ 0x00 - не удалось. И пока мастер получает ответ отличный от 0xFF - он повторяет блок....

одновременно не получится.

Я еще обычно перед записью проверяю, а надо ли вообще что-то записывать, так уменьшается износ флэша...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут асинхронная передача
Если все отвечают на один запрос и в момент запроса уже ничем кроме него не заняты, то 0xFF от не-0xFF мастер отличит. Зато ему не нужно знать адреса слейвов и их количество.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Либо вообще тупо :blink: , соединить ВСЕ RXD и TXD вместе на всех устройствах и между собой в подобие однопроводной шины и настраивать TXD на выход только в моменты ответа конкретного устройства... Ничего внешнего вообще не понадобится, как и предлагалось выше. И подтяжку просто включить на каждом RXD.

Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще).

 

 

Про тип флешей нам ничего не известно. Но гигабитники вполне могут иметь на борту JTAG,

Обычная Parallel Flash Macronix или Spansion.

JTAG-ов нет.

Еще непонятна фраза "дублировать оригинал на копию", это что имелось в виду? Что есть одно устройство с некой прошивкой во флешь и ее надо зашить в остальные устройства? Тогда по любому из выше названных вариантов сливаете содержимое флешь на комп и далее прошиваете в остальные.

Я как раз и хочу реализовать это для того чтобы максимально упростить процесс и

избежать любого использования компа (в поле например), только шлейфик пинов на 6 pin to pin!

 

 

 

Пусть уж как-то индицируют , что не прошла запись.

Нафига это надо?

Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо!

А то что запись не прошла будет понятно когда слейв включат в рабочем режиме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще).

Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут.

Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо!

А то что запись не прошла будет понятно когда слейв включат в рабочем режиме.

Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера. Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут.

Я об этом писал :Сообщение #7

 

Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера

Соединяю всместе где? Спец кабель должен быть?

Хочу кабель пин то пин чтоб любой юзверь смог сделать.

 

Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее.

Это уже перебор простоты :biggrin:

 

Вобщем останавливаюсь на SPI. Всем спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вобщем останавливаюсь на SPI.

Да, да SPI :lol: , сами же себе противоречите...

Ну да, линий хочется поменьше.

Ну, успехов тогда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, да SPI :lol: , сами же себе противоречите...

Поменьше но без фанатизма :biggrin:

Три линии меня вполне устраивает, и протокол не сложный.

Ну, успехов тогда.

Ну, ОК тогда.

 

А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс?

Есть обычный ком порт на 9600.

В режиме перепрограммирования нужна скорость 2000000.

Процессоры тактируются от внутр. RC 32MHz c автоподстройкой частоты от часового кварца.

Боюсь на скорости 2Mb/s будут проблемы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Девайсы получают команду на перепрограммирование на скорости 9600 - и перенастраиваются на 2000000 -3 - 4000000. И могут спокойненько на сихронном режиме........

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И могут спокойненько на сихронном режиме........

Всё равно нужно три линии да и RX/TX на мастере нужно где то переворачивать.

 

А почему Вы против SPI?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я не против SPI. Есть ведь USART вот и прикинул. Кстати USART может работать как нормальный SPI , но линию SCK -выводить придётся

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...