реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Авто перепрограммирование флешей в устройствах, как бы сделать
ILYAUL
сообщение Nov 8 2012, 10:47
Сообщение #16


Профессионал
*****

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



Цитата
...кроме трех линий собственно SPI понадобятся еще провода CS от каждого к каждому....
Нафинг?
Все вместе пишут.
Упс .... Это уже обсуждается
Цитата
Слейвы, успешно записавшие блок с последним адресом игнорируют следующие посылки пока не пойдет посылка с новым адресом блока.

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


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 8 2012, 11:17
Сообщение #17


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (ILYAUL @ Nov 8 2012, 12:47) *
Слейвы, успешно НЕ записавшие блок в дальнейшей раздачи не учавствуют , а то найдётся один , который ни в какую писать не захочет - всё висяк. Пусть уж как-то индицируют , что не прошла запись.
Ну хоть пару попыток надо ему дать? Мало ли - блок принят с ошибкой. Но это уже детали реализации.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
YAM
сообщение Nov 8 2012, 11:39
Сообщение #18


Местный
***

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



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

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


--------------------
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 8 2012, 11:56
Сообщение #19


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (YAM @ Nov 8 2012, 13:39) *
Тут асинхронная передача
Если все отвечают на один запрос и в момент запроса уже ничем кроме него не заняты, то 0xFF от не-0xFF мастер отличит. Зато ему не нужно знать адреса слейвов и их количество.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 8 2012, 17:12
Сообщение #20


Гуру
******

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



Цитата(YAM @ Nov 8 2012, 10:25) *
Либо вообще тупо blink.gif , соединить ВСЕ 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) *
Пусть уж как-то индицируют , что не прошла запись.

Нафига это надо?
Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо!
А то что запись не прошла будет понятно когда слейв включат в рабочем режиме.
Go to the top of the page
 
+Quote Post
maksimp
сообщение Nov 8 2012, 17:48
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(zombi @ Nov 8 2012, 20:12) *
Идея хорошая. Но не хочется бы что бы слейвы "слышали" друг друга (хочется потокол попроще).

Соединяете вместе RX всех ведомых - и к TX мастера. Соединяете вместе TX всех ведомых - и к RX мастера. Ведомые слышать друг друга не будут.
Цитата(zombi @ Nov 8 2012, 20:12) *
Считаю что если слейв по какой либо причине не может записать свою флэш мастеру это по барабану - это проблема слейва. В ремонт его надо!
А то что запись не прошла будет понятно когда слейв включат в рабочем режиме.

Тогда ещё проще, достаточно одной линии - соединяете вместе RX всех ведомых - и к TX мастера. Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее.
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 8 2012, 18:08
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 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) *
Мастер отправлет первый пакет. Ждёт сколько по даташиту на флэш достаточно для записи. Отправляет ещё пакет. И так далее.

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

Вобщем останавливаюсь на SPI. Всем спасибо.
Go to the top of the page
 
+Quote Post
GDI
сообщение Nov 9 2012, 05:55
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



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


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
YAM
сообщение Nov 9 2012, 06:26
Сообщение #24


Местный
***

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



Цитата(zombi @ Nov 8 2012, 21:08) *
Вобщем останавливаюсь на SPI.

Да, да SPI lol.gif , сами же себе противоречите...
Цитата(zombi @ Nov 7 2012, 15:39) *
Ну да, линий хочется поменьше.

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


--------------------
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 9 2012, 08:37
Сообщение #25


Гуру
******

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



Цитата(YAM @ Nov 9 2012, 09:26) *
Да, да SPI lol.gif , сами же себе противоречите...

Поменьше но без фанатизма biggrin.gif
Три линии меня вполне устраивает, и протокол не сложный.
Цитата(YAM @ Nov 9 2012, 09:26) *
Ну, успехов тогда.

Ну, ОК тогда.

Цитата(GDI @ Nov 9 2012, 09:55) *
А у этих N-девайсов нет интерфейса, которым они наружу или друг с другом общаются во время нормальной работы? Почему бы не использовать этот интерфейс?

Есть обычный ком порт на 9600.
В режиме перепрограммирования нужна скорость 2000000.
Процессоры тактируются от внутр. RC 32MHz c автоподстройкой частоты от часового кварца.
Боюсь на скорости 2Mb/s будут проблемы.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Nov 9 2012, 19:20
Сообщение #26


Профессионал
*****

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



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


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 10 2012, 07:22
Сообщение #27


Гуру
******

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



Цитата(ILYAUL @ Nov 9 2012, 23:20) *
И могут спокойненько на сихронном режиме........

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

А почему Вы против SPI?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Nov 10 2012, 15:38
Сообщение #28


Профессионал
*****

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



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


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 11:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01494 секунд с 7
ELECTRONIX ©2004-2016