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

 
 
> Детектирование резета в 89S52, Что происходит с ОЗУ при резете?
paskal
сообщение Oct 14 2008, 16:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



В системе на AT89S52 требуется различать по какой причине прошел старт процессора - по включению питания, или же после подачи активного сигнала на резет. Для этого в определенный участок ОЗУ пишу определенную сигнатуру, при старте сравниваю её с образцом. Если совпадает - был резет. До сих пор это нормально работало. Но вот понадобилось модифицировать программу, и обнаружилась удивительная вещь - метод работает в зависимости от того в каком адресе ОЗУ располагаю сигнатуру.
Вопрос следующий: неужели при резете ОЗУ может меняться? Может какаято микропрограмма, скрытая от пользователя, скажем та что программирует по SPI процессор, работает во время резета и пользуется при этом ОЗУ?
А может в 89S52 есть другой метод обнаружения старта по резету?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mrcashe
сообщение Oct 15 2008, 01:49
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 21-07-06
Из: Владивосток
Пользователь №: 18 987



Цитата(paskal @ Oct 15 2008, 03:57) *
В системе на AT89S52 требуется различать по какой причине прошел старт процессора - по включению питания, или же после подачи активного сигнала на резет. Для этого в определенный участок ОЗУ пишу определенную сигнатуру, при старте сравниваю её с образцом. Если совпадает - был резет. До сих пор это нормально работало. Но вот понадобилось модифицировать программу, и обнаружилась удивительная вещь - метод работает в зависимости от того в каком адресе ОЗУ располагаю сигнатуру.
Вопрос следующий: неужели при резете ОЗУ может меняться? Может какаято микропрограмма, скрытая от пользователя, скажем та что программирует по SPI процессор, работает во время резета и пользуется при этом ОЗУ?
А может в 89S52 есть другой метод обнаружения старта по резету?

Ненадёжная какая-то констрикция, я бы не расчитывал на такое поведение. В AT89S8253 для этой цели предусмотрен специальный бит POR (Power-On Reset). Его можно читать и потом сбросить. Но в S52 такого нет. Я бы попробовал добавить триггер, если модернизация девайса возможна, т.е. заместить такой внутренний бит внешним. При включении питания устанавливать триггер с помощью RC-цепочки, потом программно опрашивать и сбрасывать. Нужны 2 дополнительных ноги. Или заменить чип на AT89S8253.
Go to the top of the page
 
+Quote Post



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

 


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


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