Параллельное программирование

Обсуждаем контроллеры компании Atmel.
Ответить
Аватара пользователя
Protosha
Открыл глаза
Сообщения: 69
Зарегистрирован: Вс сен 30, 2012 15:04:05

Параллельное программирование

Сообщение Protosha »

Всем доброго здравия!
Есть 2 микроконтроллера Atmega8 (с одинаковыми кварцами) и, к примеру, PORTB1, который у одной микросхемы на земле, а у другой на питании. Прошивка одна на 2 микроконтроллера, в которой определяется где ножка, от чего зависит дальнейшая работа программы. Вопрос в том, возможно ли одновременно запрограммировать 2 микроконтроллера через USBasp (например просто запараллелив все выводы программирования) ?
Реклама
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Параллельное программирование

Сообщение СКАЗОЧНИК »

Параллельное программирование - это маленько не то, о чем вы спрашиваете. Однако звучит оригинально. )))
Если хотите, можете попробовать запараллелить два МК, будете первооткрывателем. Получится, то обязательно об этом сообщите. Кому-нибудь будет интересно.
Станислав
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Параллельное программирование

Сообщение ARV »

Мне кажется, одновременно одинаковоыми прошивками прошить 2 микроконтроллера вполне можно. Только надо линию MISO от одного МК не использовать.
Т.е. все управляющие сигналы от программатора подаются на оба (или сколько хотите) микроконтроллера, а отвечает программатору только один. Думаю, в этом случае ничто не помешает прошиться всем.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Re: Параллельное программирование

Сообщение СКАЗОЧНИК »

Я не разбирался в этой теме... Точно там нет такого, что ответы могут быть разными по таймингам? Или ожидание отсыла очередной команды? Вдруг один МК быстрее запишет, а другой будет ждать еще?
Точно эта тема специфичная.

З.ы. Либо прошивать их на самой медленной скорости, которую способен программатор выдать.
Станислав
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Параллельное программирование

Сообщение ARV »

SPI - синхронный интерфейс, все ответы формируются по сигналу CLK, но все МК должны быть изначально фьюзами настроены на одинаковую тактовую частоту, ну или, как минимум, достаточную для прошивки на комфортной скорости.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
dm37
Родился
Сообщения: 10
Зарегистрирован: Вс апр 02, 2017 18:20:34

Re: Параллельное программирование

Сообщение dm37 »

Лучше, конечно, прошивать каждый контроллер по отдельности, так спокойнее.
Но если уж очень хочется, то можно:
- выхода с MISO объединить на логическом элементе (И, ИЛИ, можно попробовать на диодах)
- также выхода MISO подать на входа элемента исключающее ИЛИ, на выходе получим сигнал ошибки (возможно потребуется поставить на выходе небольшой конденсатор для устранения тычков при не одновременном ответе)
- сигналом ошибки с элемента исключающее ИЛИ блокировать результирующий сигнал MISO, или даже RESET (можно сигнал ошибки пропустить через триггер)

Правда понять какой микроконтроллер дал ошибку вряд ли получиться

Замыкать выхода MISO не нужно, можно сжечь выход

Если же у вас цель установить на плате только один разъём для программирования, то можно программировать по отдельности, а микроконтроллер выбирать перемычкой, например, коммутируя сигнал RESET или CLK
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Параллельное программирование

Сообщение ARV »

dm37 писал(а):выхода с MISO объединить на логическом элементе (И, ИЛИ, можно попробовать на диодах)
зачем? :shock:
dm37 писал(а):также выхода MISO подать на входа элемента исключающее ИЛИ, на выходе получим сигнал ошибки
зачем?! :shock: :shock:
dm37 писал(а):сигналом ошибки с элемента исключающее ИЛИ блокировать результирующий сигнал MISO, или даже RESET
зачем?! :shock: :shock: :shock:
т.к. интерфейс SPI полностью синхронный интерфейс, все сигналы на нем меняются по фронтам/спадам сигнала CLK. если будет некоторая несинхронность, то в рамках допусков к интерфейсу, т.е. эта разница никоим образом не сможет повлиять ни на что.
для прошивки достаточно подавать в программатор ответ любого из МК, игнорируя остальные, как я выше писал.
верифицировать при этом прошивку можно будет так же только у одного МК.
однако, я в своей практике не сталкивался с необходимостью это делать - всегда все шьётся верно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
dm37
Родился
Сообщения: 10
Зарегистрирован: Вс апр 02, 2017 18:20:34

Re: Параллельное программирование

Сообщение dm37 »

to ARV
что значит "зачем"? вы всегда объединяете два выхода, при условии, что они не открытый коллектор? Откройте datasheet и посмотрите как устроен выход микроконтроллера.
Вы пишете "зачем", а потом снова предлагаете работать с одним микроконтроллером. Т.е. верификация одного микроконтроллера полностью отсутствует и вы считаете, что это нормально?

Отвечать не нужно, ваше мнение я услышал
Ответить

Вернуться в «AVR»