Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.12.2010, 17:29  
sasareccer
Частый гость
 
Аватар для sasareccer
 
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
sasareccer на пути к лучшему
По умолчанию Непонятки Watchdog (mega48+proteus)

Моделирую в Proteus на mega48. Включаю "собаку" и по даташиту время срабатывания до RESET должно быть от 16ms до 8 sec. А у меня в протеусе (v 7.5 SP3) получается максимум 4 ms. Специально набросал проектик, где тупо после включения инициализирую порт, включаю Watchdog на 8sec и в бесконечном цикле "дрыгаю" ногой, а осциллографом смотрю ширину пачки импульсов, которые успеют натикать до срабатывания Watchdog. И получается только максимум 4 ms, а не 8 sec, разница в 2000 раз.
Если менять биты Bit 5, 2..0 - WDP3..0, то и у меня меняется время задержки срабатывания RESET, пропорционально как в даташите, но это время всегда в 2000 раз меньше. В чем причина - не могу понять. Прошу помощи.
Миниатюры:
Нажмите на изображение для увеличения
Название: m48_Watchdog.JPG
Просмотров: 44
Размер:	88.7 Кб
ID:	15540  
Вложения:
Тип файла: rar tmp Wa.rar (42.3 Кб, 58 просмотров)
Реклама:
sasareccer вне форума  
Непрочитано 13.12.2010, 22:11  
-Dreamer-
Частый гость
 
Регистрация: 22.03.2010
Адрес: Севастополь
Сообщений: 26
Сказал спасибо: 5
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
-Dreamer- на пути к лучшему
По умолчанию Re: Непонятки Watchdog (mega48+proteus)

Не знаю как в Протеус-е v7.5, проверил в v7.7 все работает правильно. Время соответствует даташиту, При максимальном делителе ~ 8сек.

Код запуска таймера:
wdr ;Предварительный сброс таймера
ldi r16,0b00011000
sts $60,r16 ;Запуск
ldi r16,0b00101001
sts $60,r16 ;Установка предделителя
wdr

Ваш код:
wdr
LDI R30,LOW(57)
STS 96,R30
LDI R30,LOW(41)
STS 96,R30
wdr

Также верен.
-Dreamer- вне форума  
Непрочитано 13.12.2010, 22:35  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Непонятки Watchdog (mega48+proteus)

Рабята, а ничего, что вы предделитель и настройки собаки в один и тот же регистр настройки "собаки" пишете?
Кстати,
Код:
out WDTCSR,r16
быстрее работает. Вдвое.
omercury вне форума  
Непрочитано 13.12.2010, 23:00  
-Dreamer-
Частый гость
 
Регистрация: 22.03.2010
Адрес: Севастополь
Сообщений: 26
Сказал спасибо: 5
Сказали Спасибо 8 раз(а) в 5 сообщении(ях)
-Dreamer- на пути к лучшему
По умолчанию Re: Непонятки Watchdog (mega48+proteus)

Вы, наверное не cовсем поняли, о каком предделителе идет речь. Имеется ввиду
Предделитель сторожевого таймера.
Дело в том, что для меги48, в прочем, как и для большинства других,
Выделен один! регистр управления, он же как вы правильно заметили- WDTCSR
он же WDTCR(мега 8,16...)
Который совмещает! управление и коэффициент предделения.
Поэтому выш код- out WDTCSR,r16
Не совсем понятен.
Также еще один момент. В меги48 для регистра WDTCSR нет «зеркала» в регистровом файле($60)
Поэтому команду OUT использовать нельзя!

Последний раз редактировалось -Dreamer-; 13.12.2010 в 23:23.
-Dreamer- вне форума  
Непрочитано 14.12.2010, 00:23  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Непонятки Watchdog (mega48+proteus)

Сообщение от -Dreamer- Посмотреть сообщение
Также еще один момент. В меги48 для регистра WDTCSR нет «зеркала» в регистровом файле($60)
Поэтому команду OUT использовать нельзя!
Oops. Точно. Спасибо!
Тогда всё правильно, должно работать. для надёжности остаётся только так:
Код:
.include "m48def.inc"
ldi	r16,(1‹‹WDCE)|(1‹‹WDE)
sts	WDTCSR,r16
ldi	r16,(1‹‹WDE)|(1‹‹WDP3)|(1‹‹WDP0)
sts	WDTCSR,r16
omercury вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus не сбрасывает флаг RBIF в регистре INTCON korpinbox Proteus 3 23.08.2011 23:33
AVR Watchdog alberio Микроконтроллеры, АЦП, память и т.д 7 19.08.2010 14:26
Proteus 7.6 SP4 вышел. Обновляемся! Easyrider83 Proteus 7 16.02.2010 21:26
LPT b PROTEUS romshe Proteus 0 01.11.2009 18:22
[Решено] Проблема с eeprom в Proteus Memfis666 Proteus, KiCAD и другие ECAD 1 01.10.2009 15:38


Часовой пояс GMT +4, время: 21:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot