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

 
 
> Авто перепрограммирование флешей в устройствах, как бы сделать
zombi
сообщение Nov 6 2012, 22:09
Сообщение #1


Гуру
******

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



Есть N изделий с иксмегами и мс.флеш на борту.
Флэшки 1-2 мегагигабитники.
Надо организовать автоматическиое перепрограммирование флешей (дублирование оригинала на копию/и)
Нужно что бы чел. выбрал одно изделие в качестве оригинала (планирую DIPswich)
а остальные N шт. в качестве подчинённых, нажал кнопку и содержимое флэшки оригинала скопировалось на все подчинёные.
Как бы организовать обмен ??? SPI, TWI, COM ???
Каждое изделие имеет свой ID.
Любое из изделий может быть как мастером так и подчинённым.
У меня идеи есть, но не хочется изобретать велосипед.
Может есть наработки в этом плане?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Артём_
сообщение Nov 6 2012, 22:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ Nov 7 2012, 00:09) *
Есть N изделий с иксмегами и мс.флеш на борту.
Флэшки 1-2 мегабитники.
Надо организовать автоматическиое перепрограммирование флешей (дублирование оригинала на копию/и)
Нужно что бы чел. выбрал одно изделие в качестве оригинала (планирую DIPswich)
а остальные N шт. в качестве подчинённых, нажал кнопку и содержимое флэшки оригинала скопировалось на все подчинёные.

Слишком мало конкретики: какие флешки, какой у них интерфейс, какая серия?

Цитата(zombi @ Nov 7 2012, 00:09) *
Как бы организовать обмен ??? SPI, TWI, COM ???

Флешки с COM-портом? Как называются?
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 6 2012, 23:16
Сообщение #3


Гуру
******

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



Цитата(_Артём_ @ Nov 7 2012, 02:36) *
Слишком мало конкретики: какие флешки, какой у них интерфейс, какая серия?

Какая разница? проц знает как и что писать.
Цитата(_Артём_ @ Nov 7 2012, 02:36) *
Флешки с COM-портом? Как называются?

biggrin.gif
Надо связать несколько иксмег, передать содержимое флэши одного изделия в другое/ие.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 7 2012, 07:49
Сообщение #4


Гуру
******

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



Может достаточно просто кнопки на каждом устройстве? На каком нажал - тот и мастер. Мастер начинает обмен, остальные автоматом становятся слейвами. Я бы делал на UARTe, как самом простом из перечисленных трех.


--------------------
На любой вопрос даю любой ответ
"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 7 2012, 12:39
Сообщение #5


Гуру
******

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



Цитата(Сергей Борщ @ Nov 7 2012, 11:49) *
Может достаточно просто кнопки на каждом устройстве? На каком нажал - тот и мастер. Мастер начинает обмен, остальные автоматом становятся слейвами.

Это не принципиально.
Цитата(Сергей Борщ @ Nov 7 2012, 11:49) *
Я бы делал на UARTe, как самом простом из перечисленных трех.

То же склоняюсь к такому мнению.

Цитата(Сергей Борщ @ Nov 7 2012, 16:19) *
В случае же UARTа можно обойтись одной линией с подтяжкой, которую все будут слушать и передавать открытым коллектором.

Ну да, линий хочется поменьше.
С комом вроде бы всё красиво, но получается что все RX и TX будут соединены.
Для слейвов всё ок, а вот у мастера нужно наоборот.
Думаю использовать в каждом изделии по два компорта у которых RX первого соединён с TX второго а TX перв. с RX второго и в завмсимости от мастер/слейв активизировать нужный ком.
Но блин жалко два компорта под это дело занимать.
Go to the top of the page
 
+Quote Post
maksimp
сообщение Nov 8 2012, 03:49
Сообщение #6


Местный
***

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



Тогда, как предлагалось выше в теме, соединяйте вместе все RX и TX всех контроллеров. И подтяжку на + резистором на всякий случай, что уровень не плавал.
Здесь важно чтобы в каждый момент времени все контроллеры кроме не более чем одного переводили свою TX ногу в третье состояние. Такой вариант на самом деле мало отличается от RS-485. Протокол и логика работы точно такие же.
Go to the top of the page
 
+Quote Post
YAM
сообщение Nov 8 2012, 07:25
Сообщение #7


Местный
***

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



Для такаго варианта самое оно - это использовать драйвер CAN как приемо-передатчик, причем внешний и только для такого программирования, а остальное, да, кнопочка на мастере и вперед...
Передачу данных сделать аля широковещательной для одновременного программирования, потом контроллировать только CRC от слэйвов всей области либо кусками.

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


--------------------
Go to the top of the page
 
+Quote Post
zombi
сообщение Nov 8 2012, 17:12
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 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
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- zombi   Авто перепрограммирование флешей в устройствах   Nov 6 2012, 22:09
|- - ILYAUL   Цитата(Сергей Борщ @ Nov 7 2012, 11:49) Я...   Nov 7 2012, 11:10
||- - Сергей Борщ   QUOTE (ILYAUL @ Nov 7 2012, 13:10) А чем ...   Nov 7 2012, 12:19
|- - iosifk   Цитата(zombi @ Nov 7 2012, 16:39) С комом...   Nov 7 2012, 12:54
||- - zombi   Цитата(iosifk @ Nov 7 2012, 15:54) Интерф...   Nov 7 2012, 16:08
|- - maksimp   Цитата(zombi @ Nov 7 2012, 16:39) Ну да, ...   Nov 7 2012, 18:08
||- - zombi   Цитата(maksimp @ Nov 7 2012, 22:08) Испол...   Nov 7 2012, 18:29
||- - Сергей Борщ   QUOTE (YAM @ Nov 8 2012, 09:25) Передачу ...   Nov 8 2012, 10:28
|||- - YAM   Тут асинхронная передача Цитата(Сергей Борщ ...   Nov 8 2012, 11:39
|||- - Сергей Борщ   QUOTE (YAM @ Nov 8 2012, 13:39) Тут асинх...   Nov 8 2012, 11:56
|- - YAM   Цитата(zombi @ Nov 8 2012, 21:08) Вобщем ...   Nov 9 2012, 06:26
|- - zombi   Цитата(YAM @ Nov 9 2012, 09:26) Да, да SP...   Nov 9 2012, 08:37
- - GDI   Про тип флешей нам ничего не известно. Но гигабитн...   Nov 8 2012, 08:31
- - ILYAUL   Цитата...кроме трех линий собственно SPI понадобят...   Nov 8 2012, 10:47
|- - Сергей Борщ   QUOTE (ILYAUL @ Nov 8 2012, 12:47) Слейвы...   Nov 8 2012, 11:17
- - GDI   А у этих N-девайсов нет интерфейса, которым они на...   Nov 9 2012, 05:55
- - ILYAUL   Девайсы получают команду на перепрограммирование н...   Nov 9 2012, 19:20
|- - zombi   Цитата(ILYAUL @ Nov 9 2012, 23:20) И могу...   Nov 10 2012, 07:22
- - ILYAUL   Да я не против SPI. Есть ведь USART вот и прикинул...   Nov 10 2012, 15:38


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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 10:51
Рейтинг@Mail.ru


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