Страница 1 из 2
два мк в одном устройстве
Добавлено: Ср дек 23, 2009 13:48:21
dimon-790
Всем привет! Вот таким вопросом озадачен на данный момент: как организовать переключение , с одного мк на другой ? мк зовётся at89c55.
Пробовал перекидывать питание и ресет чёт не заводиться

кварцы отдельные. Не уж-то без коммутации портов ни как?

Добавлено: Ср дек 23, 2009 14:36:43
kalobyte
ты о чем?
Добавлено: Ср дек 23, 2009 20:05:39
Aheir
Чет я тоже не понял...
Если предположить, что требуется попеременное выполнение МКами каких-то задач, причем порты у них "разделяемые" (читай - запараллелены), то надо по паре проводков организовать связь между ними. Отработал одни, сказал об этом второму и перевел свои порты в третье сотояние, чтоб не мешать, ждет команды. Второй подождал чутка, ногами подрыгал, сказал первому, давай, мол, теперь ты, и тоже отключил ноги и стал ждать команды...
Добавлено: Чт дек 24, 2009 02:03:17
neon-f
я нифига не понимаю в контролерах, но выскажусь. А почему нельзя все слепить на одном контролере, ведь их множество видов с разным кол-вом ножек, памяти. И всю логику работы вашего устройства пусть выполняет один контролер......
Добавлено: Чт дек 24, 2009 02:31:57
DrWatson
Может человек хочет сделать резервирование контроллера за счет дублирования: вышел из строя один, второй выполняет поставленную задачу.
Добавлено: Чт дек 24, 2009 04:01:45
Easyrider
DrWatson писал(а):Может человек хочет сделать резервирование контроллера за счет дублирования: вышел из строя один, второй выполняет поставленную задачу.
На случай сильной солнечной радиации на околоземной орбите?

Добавлено: Чт дек 24, 2009 08:31:31
dimon-790
Млин может не удачно выразился ?:oops: ,ладно попытаюсь ещё раз.Есть девайс заводской на него существуют две версии прошивки обе в оди контроллер не влезут, но если-бы и влезли, как их переключать? У меня возникла другая идидея, прошить эти прошивки в разные контроллеры.Но теперь возникает всё та-же проблема(как их переключать? ). Понятно что можно вынуть из панельки один мк, и засунуть другой , но для этого надо каждый раз разбирать девайс что категорически неприемлемо.
Добавлено: Чт дек 24, 2009 09:01:30
ibiza11
ставите внешнюю память (+2 вывода), кнопку на Reset и кнопку на свободный вывод (+1 вывод), заливаете в свой контроллер бутлоадер,реагирующий на положение кнопочки: Кнопка нажата - заливает другую прошивку, не нажата - оставляет прежней. во внешней памяти две прошивки.
пример:
работает девайс, нужно сменить прошивку - зажимаете кнопку, после этого сбрасываете контроллер кнопкой ресет, бутлоадер меняет прошивку.
как вам?
p.s. кстати, какой контроллер то? если без бутсектора, то не прокатит)))
Добавлено: Чт дек 24, 2009 11:22:48
Meteor
Не понимаю. Есть программа разбитая на 2 МК.
Как между ними передачу результатов и промежуточных данных организовать? Взять хотя бы стек. Один забил стек до уровня А, в то время как второй вообще не реагировал на события...
Что то громоздкое все получается...
Или я в чем то не прав?
Добавлено: Чт дек 24, 2009 12:49:17
dimon-790
ibiza11 писал(а):ставите внешнюю память
Тогда порты работающие с внешней памятью не доступны для другой работы,по крайней мере на момент обращения к этой самой (внешней памяти)
ibiza11 писал(а):
p.s. кстати, какой контроллер то? если без бутсектора, то не прокатит)))
см. первый пост.
Добавлено: Чт дек 24, 2009 12:59:26
dimon-790
Meteor писал(а):Не понимаю. Есть программа разбитая на 2 МК.
"Ну вы блин даёте!",ну ведь написано же чёрным по белому
dimon-790 писал(а):
Есть девайс заводской на него существуют две версии прошивки
зачем придумывать?, неужели нельзя прочитать сообщение?...
Добавлено: Чт дек 24, 2009 13:41:36
neon-f
а переключать нужно на "Горячую"?? Если да, то как минимум в контролере должны быть свободные ресурсы(хотяб 1 нога, и немного памяти). И модифицировать прошивку немного понадобится. Или же повесить микроконтроллеры через мультиплексоры.
Если на "горячую" ненужно, ну придумайте что то на ключах, на реле, на тумблерах......., смотря что вам больше понравится, и покажется проще в изготовлении.
Добавлено: Чт дек 24, 2009 13:49:27
dimon-790
Всё проблема решена!. Всем спасибо за участие и с наступающим!

Добавлено: Чт дек 24, 2009 18:05:43
ibiza11
dimon-790 писал(а):Всё проблема решена!. Всем спасибо за участие и с наступающим!

вот так всегда. решил проблему, а с остальными даже не поделился. нехорошо! форум все таки.
Добавлено: Чт дек 24, 2009 19:48:49
Igor_67
КагбЭ, к 89С55 лучше подцепить внешнюю память типа 27С512 и залить туда обе прошивки по разным адресным пространствам и переключать мааааленькой программкой, зашитой в сам МК. Серия MCS51 (к коей и относится АТ89С55) очень хорошо работает с внешней памятью (ПЗУ). Жаль, что немного опоздал с советом.

Добавлено: Пт дек 25, 2009 08:12:01
dimon-790
ibiza11 писал(а):вот так всегда. решил проблему, а с остальными даже не поделился. нехорошо! форум все таки.
И впрямь как-то не хорошо. Короче запаралелил все ноги обоих мк,за исключением ресета и xtal. Вот их как-раз и коммутирую , три ноги с одного и со второго столько-же. Счаз кумекаю что поставить п2к , релюшку или ещё что..?
P.S. чуть не забыл мк поставил 89с55wd оба(до этого были разные один 55 другой 55wd).
Добавлено: Пт дек 25, 2009 19:02:37
DrWatson
Контактные переключатели неплохо "дребезжат". Лучше каждому МК повесить свой кварц, а входы RESET переключать RS-триггером, на входах которого переключатель. Например так:
Добавлено: Сб дек 26, 2009 00:55:23
Redrik Shuhart
мож просто еепром на метр повесить к мк?
Добавлено: Вс дек 27, 2009 08:17:23
dimon-790
Однако рано я начал праздновать победу

. Девайс запускается не стабильно , притом один из мк запускается и работает нормально а другой через раз и работает криво, некоторы клавиши не работают и т.д.
Redrik Shuhart , подробностями можете поделиться ?
Добавлено: Вс дек 27, 2009 09:46:04
Igor_67
dimon-790 , вы мой пост-то читали? Я ж написал как это сделать.
Заливаете обе прошивки в ПЗУ по разным начальным адресам, например, первую - начиная с адреса 0010Н, а вторую - начиная с адреса 07FFH. Пишете управляющую программмку на несколько байт кода для 89С55. Например, чтобы сразу при старте начинали читаться начальные адреса ПЗУ, а , допустим при поступлении лог. 0 на Р2.2 - сброс проца и чтение ПЗУ с адреса 07FFH. И все.
Еще, как вариант, правда не самый лучший, можно поставить и два МК, каждый со своей прошивкой, только выводы портов надо объединить через буфер (каждый порт каждого МК), например 555АП5. Иначе, влияние МК друг на друга неизбежно, отсюда и нестабильность. Это касается не только портов , но и управляющих сигналов, таких как ALE. Но, ИМХО, по первому варианту (С ПЗУ) гораздо проще и дешевле, и корпусов в разы меньше!