кот. уйдут на работу с внешней памятью.Или они будут заняты только для начальной загрузки?
два мк в одном устройстве
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
читал, а что скажете по третьему моему сообщению.Как быть с портами ?
кот. уйдут на работу с внешней памятью.Или они будут заняты только для начальной загрузки?
кот. уйдут на работу с внешней памятью.Или они будут заняты только для начальной загрузки?
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Реклама
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Девайс вопщем-то на поминает калькулятор , только ещё управляет нагрузками и реагирует на внешние раздражители. Igor_67 Я бы и рад последовать вашему совету, по внешней пзу , но я ни как не пойму как мк , заставить выполнять программу с внешней пзу
. Как считать или записать во внешнюю память мне ясно а вот выполнить..?..
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
тут по крайней мере 3 человека сказали про внешнюю память. неужели у микроконтроллера нет свободных портов?
по поводу вывода на кнопку:
может там уже используются кнопки? тогда можно использовать одну из них.
в общем:
если кнопку(1 вывод) и память(2 вывода) (кстати, если память с 1-wire , то 1 вывод) подключать к ногам, про которые заведомо известно, что они являются входами устройства, то влияния схемы "загрузчика" на первоначальную схему можно избежать.
по поводу вывода на кнопку:
может там уже используются кнопки? тогда можно использовать одну из них.
в общем:
если кнопку(1 вывод) и память(2 вывода) (кстати, если память с 1-wire , то 1 вывод) подключать к ногам, про которые заведомо известно, что они являются входами устройства, то влияния схемы "загрузчика" на первоначальную схему можно избежать.
Ставим плюсы: )
- Реклама
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
ага про внешнюю память то сказали только , по моему забыли что девайс не я разрабатываю и портов свободных нет ни одного. Как это всё будет работать , тоже не ясно ...ibiza11 писал(а):тут по крайней мере 3 человека сказали про внешнюю память. неужели у микроконтроллера нет свободных портов?
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
в самом начале программы (после инициализации стека), проверяете нажата ли кнопка.
если нажата, запускаете программу загрузчик, которая будет в цикле считывать данные из внешней памяти и записывать их в свою память программ (флеш память, для этого специальные команды есть). причем если в предыдущий раз начиналось с адреса, к примеру, 0х0000, то сейчас будет грузить начиная с адреса 0х8000, и наоборот.
если кнопка не нажата, то загрузчик не запускается и работает старая прошивка.
про свободные порты я писал выше.
если хотите чтобы вам все конкретно описали, дайте конкретную схему.
з.ы. У вас исходники программы есть или только .bin или .hex файл?
если нажата, запускаете программу загрузчик, которая будет в цикле считывать данные из внешней памяти и записывать их в свою память программ (флеш память, для этого специальные команды есть). причем если в предыдущий раз начиналось с адреса, к примеру, 0х0000, то сейчас будет грузить начиная с адреса 0х8000, и наоборот.
если кнопка не нажата, то загрузчик не запускается и работает старая прошивка.
про свободные порты я писал выше.
если хотите чтобы вам все конкретно описали, дайте конкретную схему.
з.ы. У вас исходники программы есть или только .bin или .hex файл?
Ставим плюсы: )
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
исходников нет только hex , схему чуть позже отсканю и выложу.
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
вот схема , когда я говорил что нет свободных портов , я соврал
один всё таки есть !.ibiza11 подробнее про программу загрузчик можно ?
- Вложения
-
- .rar
- (166.72 КБ) 191 скачивание
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Аууу, люди !!! , вы где ? 
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
Чего мудрить с портами, загрузчиками? ставишь внешнюю ПЗУ, допустим на 64кБ, с 0 адреса заливаешь 1ю прошивку, с адреса 8000h заливаешь 2ю прошивку, к МК старший адресный вывод ПЗУ (в данном случае А15) не подключаешь, а тупо ставишь на него тумблер, который будет на этот вывод подавать либо лог 0, либо 1. Переключил тумблер в положение "0", нажал сброс - работает первая прошивка, переключил тумблер в "1", нажал сброс - работает вторая. на использование внешней памяти нужно подать на вход МК "#EA" лог 0. Плюс подключение внешней ПЗУ к портам и доп. регистр младшего байта адреса (по даташиту)
Хотя можно обойтись одной внешней прошивкой (первая будет прошита в сам МК) и рулить входом "#EA".
Хотя можно обойтись одной внешней прошивкой (первая будет прошита в сам МК) и рулить входом "#EA".
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Что-то сдаётся мне не там копаем
. Просмотрел кучу схем на всех что я видел порты которые задействованны под внешнюю память больше ни на какую переферию не идут . Вот например : к порту Р2.0 подключена оптопара , которая в свою очередь , управляет насосом . В момент обращения к ПЗУ, на этом порте будет неизбежно менятся лог.уовень , нетрудно догадаться что будет твориться с бедным насосом и другими нагрузками . Отсюда напрашивается вывод: внешнее ПЗУ использовать в моём случае нельзя .. поправьте если не прав ... 
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
Я тут немного поразмыслил и вот что решил. В вашем случае можно сделать все по максимуму аппаратно. Оставить два МК как есть, каждый со своей прошивкой, порты и управляющие сигналы обоих МК запараллелить, кроме кварца и цепи сброса. Переключаться между ними можно так: подаем питание на первый МК (+ и -), в это время + второго МК засаживаем на "землю", нажимаем кнопку сброс на первом МК и любуемся результатом. Далее, при необходимости перехода на второй МК, подаем питание на второй МК, но предварительно сняв питание с первого МК и засадив + первого МК на "землю". Выжидаем порядка 100 мс для завершения всех внутренних переходных процессов в кристалле первого МК (можно поставить таймер), жмем сброс на втором МК и любуемся результатом. С ПЗУ затея здесь не прокатит, т.к. у семейства MCS51 жесткая привязка к адресам и что-либо поменять в прошивке или написать свой загрузчик не выйдет, нужно знать конкретно к каким адресам что привязано... Здесь нужен исходник... Можно, конечно поизвращаться и путем дизассемблирования, получить исходник на АСМе, но это такой гемор, что ай-да-ну...
Попробуйте сделать, как я описал выше (вариант с передергиванием питания), должно получиться. В крайнем случае можно попробовать применить буфферные элементы для развязки портов один от другого, но это как опция...
Попробуйте сделать, как я описал выше (вариант с передергиванием питания), должно получиться. В крайнем случае можно попробовать применить буфферные элементы для развязки портов один от другого, но это как опция...
Цапу крутить надо!!! Ку или не ку?
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Igor_67 , паралелить порты не получается
правда сажать на землю +5 в неиспользуемого мк , не пробовал но попробую для чистоты эксперимента
. Я тут тоже , поразмыслил на досуге и вот что получилось , не очень эстетично но работать вроде должно...
- Вложения
-
- 1.rar
- (5.55 КБ) 163 скачивания
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
А микрухи 4096 в девайсе уже стоят или вы их хотите дополнительно поставить? Как я понял, это ключи с управлением логическими уровнями? Мне кажется это будет неоправданное усложнение конструкции, да к тому же потребляемый ток возрастет прилично, да ведь и этими ключами надо как-то управлять... Все же сначала попробуйте мой вариант, мне кажется, такое решение будет наиболее простым 
Цапу крутить надо!!! Ку или не ку?
Если на портах есть защитные диоды (те, которые анодом к выводу, катодом к + МК) то второй МК с посаженным на "землю" плюсом будет сажать этими диодами порты второго. (Но что-то подсказывает мне, что там они должны быть).Igor_67 писал(а):в это время + второго МК засаживаем на "землю"
Зачем огород городить? ZIF-панелька - тоже вариант (правда не самый дешёвый).
Последний раз редактировалось DrWatson Вт дек 29, 2009 21:35:55, всего редактировалось 1 раз.
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
попробовал ваш вариант Igor_67 , но увы и ах , как и предполагалось чуда не произошло...
потому вытравил платку с кт3-ими и двумя мк-ми. Наверное завтра-послезавтра буду пробовать. О результатах отпишусь обязательно.
Всем удачных выходных!!! и с наступающииим!!! 
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
Опробовал свой вариант на 561кт3 , такая же хрень! не запускается девайсина. Наверное слишком большое сопротивление , в открытом канале 561кт3 около 300 ом 
Все мы работаем по методу Робинзона Крузо – ждем пятницу.
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
И всётаки есть справедливость , заработал таки сабж. После долгих плясок с бубном заметил, что при замыкании вывода +5в, неиспользуемый мк сильнее подсаживал линии портов к земле. В итоге пришёл к выводу что питание отключать не нужно . Вспомнил так-же, гдето читал что при ресет = 1 все линии портов переходят в высокоимпедансное состояние КАК РАЗ ТО ЧТО НУЖНО. В итоге всё получилось более чем просто . Все ноги мк запаралелены кроме ресет его подтянул резюками на 10 к к +5в и через релюшку и передёргиваю . Девайс чувствует себя прекрасно всем откликнувшимся большое спасибо !
Все мы работаем по методу Робинзона Крузо – ждем пятницу.


