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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> RTC в ATmega, Power-save
777777
сообщение Dec 30 2010, 07:04
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(xelax @ Dec 30 2010, 10:49) *
И нет не слова о том чтобы сидеть всё это время в прерывании. Можно вообще ничего не ждать дополнительно, если сразу же засыпать не собираетесь.

Да это понятно. Но вот я выхожу из прерывания сразу после инкремента и сразу засыпаю. Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. Однако часы почему-то работают.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 30 2010, 07:24
Сообщение #17


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(777777 @ Dec 30 2010, 13:04) *
Да это понятно. Но вот я выхожу из прерывания сразу после инкремента и сразу засыпаю. Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. Однако часы почему-то работают.

Ну, короче, каждый делает так, как считает нужным. Мое дело - предупредить (поскольку я на это уже успел наступить два раза, и с переполнением, и с OC, и было весьма неприятно).
Go to the top of the page
 
+Quote Post
xelax
сообщение Dec 30 2010, 07:52
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(777777 @ Dec 30 2010, 13:04) *
Да это понятно. Но вот я выхожу из прерывания сразу после инкремента и сразу засыпаю. Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс. Однако часы почему-то работают.


Если работает не по даташиту, а вопреки, то это недокументированная возможность. И не факт, например, что в следующей партии будет работать так же.
Go to the top of the page
 
+Quote Post
zombi
сообщение Jan 2 2011, 11:11
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(xelax @ Dec 30 2010, 11:49) *
Можно вообще ничего не ждать дополнительно, если сразу же засыпать не собираетесь.

В том то и дело что именно сразу засыпать и собираемся!
Go to the top of the page
 
+Quote Post
777777
сообщение Jan 2 2011, 16:06
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(xelax @ Dec 30 2010, 13:52) *
Если работает не по даташиту, а вопреки, то это недокументированная возможность. И не факт, например, что в следующей партии будет работать так же.

Если бы это была errata, то можно было бы предположить, что мне попалась ревизия, в которой это исправлено. Но это не баг, а фича, причем даже понятно почему так должно работать - поскольку этот узел асинхронный, требуется синхронизация с внутренним клоком.
Go to the top of the page
 
+Quote Post
xelax
сообщение Jan 11 2011, 05:54
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(777777 @ Jan 2 2011, 22:06) *
Если бы это была errata, то можно было бы предположить, что мне попалась ревизия, в которой это исправлено. Но это не баг, а фича, причем даже понятно почему так должно работать - поскольку этот узел асинхронный, требуется синхронизация с внутренним клоком.


Просто время которое тратиться на пролог, тело и эпилог прерывания оказывается большим чем один цикл на TOSC1, необходимый для сброса логики прерывания, поэтому у вас и работает повторный вход в режим сна. Никакая это не фича, по крайней мере не фича микроконтроллера.

При более быстром тактировании эта фича легко превратится в багу, правда выше 8 МГц от внутреннего осциллятора всё равно не может тактироваться. Так что программа может жить и с этой фичей rolleyes.gif
Go to the top of the page
 
+Quote Post
zombi
сообщение Jan 11 2011, 11:59
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(xelax @ Jan 11 2011, 12:54) *
Просто время которое тратиться на пролог, тело и эпилог прерывания оказывается большим чем один цикл на TOSC1,

Цитата(777777 @ Dec 30 2010, 14:04) *
Тактирование от внутреннего RC-генератора 8 МГц, поэтому на всё уходит явно меньше 30 мкс.

777777 утвеждает что меньше 30 мкс.

На 8-ми MHz это примерно 244 такта. Думаю достаточно для простого увеличения счетчика (секунд).
А может всетаки меньше 8MHz ?
А какое резервное питание? Внутренний RC обеспечивает 8 MHz при резервном питании ?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 11 2011, 13:28
Сообщение #23


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(zombi @ Jan 11 2011, 17:59) *
777777 утвеждает что меньше 30 мкс.

Вот помнится мне, что этот эффект (повторный вход в прерывание) даже при времени выполнения меньше 30uS проявляется вовсе не каждый раз, я долго не мог въехать, почему какие-то подозрительные импульсы проскакивают нерегулярно, и часы спешат, но не очень сильно. Когда понял причину, поправил и специально не исследовал. Но в памяти что-то такое отложилось...

Go to the top of the page
 
+Quote Post

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

 


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


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