|
Тактирование в Atmega8A, Использование часового кварца вместе с внутренним RC-генератором |
|
|
|
Oct 18 2010, 07:05
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 5-07-06
Пользователь №: 18 607

|
Устройство - тахометр с ЖКИ. Контроллер должен тактироваться от кварца 32768Гц и находится в режиме Power-save. По таймеру, каждую секунду, должен просыпаться и считать количество отработанных часов. При этом ЖКИ выключен. Но есть проблема - когда нажимаешь на кнопку включается ЖКИ и информация на него должна выводиться быстро. А часового кварца не достаточно. Есть желание включать внутренний RC-генератор и выключать при переходе в режим Power-save. Такое возможно?
|
|
|
|
|
Oct 18 2010, 08:12
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(-=MISHA=- @ Oct 18 2010, 11:05)  А часового кварца не достаточно. Есть желание включать внутренний RC-генератор и выключать при переходе в режим Power-save. Такое возможно? Так и нужно сделать, а часовой кварц (на тех же выводах) использовать для тактирования Timer2. Просыпаться по прерываниям от этого таймера и от кнопки. Но учесть особенности работы Timer2 в асинхронном режиме - из обработчика прерываний нельзя выходить раньше очередного такта генератора (как обходить - подробно описано в даташите). Цитата(Палыч @ Oct 18 2010, 12:06)  Часовой кварц применён с целью: "не заморачиваться" с точностью хода часов? Почему бы не применить кварц на более высокую частоту (не часовой), но предусмотреть калибровку Ваших устройств по точности измерения времени? Человек стремится получить минимальное энергопотребление, и тут даже тактирование от часового кварца не лучший вариант, RC-генератор для того и сделан.
|
|
|
|
|
Oct 18 2010, 08:21
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 5-07-06
Пользователь №: 18 607

|
Цитата(Палыч @ Oct 18 2010, 12:06)  Часовой кварц применён с целью: "не заморачиваться" с точностью хода часов? Почему бы не применить кварц на более высокую частоту (не часовой), но предусмотреть калибровку Ваших устройств по точности измерения времени? Я забыл сказать, что тахометр будет питаться от генератора, который выдает ток до 60мкА. Он будет питать устройство и подзаряжать 3х вольтовую батарею. Если тактировать высокочастотным кварцем, то потребление слишком большое для данного генератора. Цитата(rx3apf @ Oct 18 2010, 12:12)  Так и нужно сделать, а часовой кварц (на тех же выводах) использовать для тактирования Timer2. Просыпаться по прерываниям от этого таймера и от кнопки. Но учесть особенности работы Timer2 в асинхронном режиме - из обработчика прерываний нельзя выходить раньше очередного такта генератора (как обходить - подробно описано в даташите). Как же тогда настроить Atmega? Установить во фьюзах тактирования от внутреннего RC-генератора? В спящем режиме контроллер сам выберет часовой кварц?
|
|
|
|
|
Oct 18 2010, 08:34
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(-=MISHA=- @ Oct 18 2010, 12:21)  Я забыл сказать, что тахометр будет питаться от генератора, который выдает ток до 60мкА. Он будет питать устройство и подзаряжать 3х вольтовую батарею. Если тактировать высокочастотным кварцем, то потребление слишком большое для данного генератора. Кстати, при таком бюджете потребления, если взять "правильный" индикатор, его можно было бы даже не отключать. Цитата Как же тогда настроить Atmega? Установить во фьюзах тактирования от внутреннего RC-генератора? В спящем режиме контроллер сам выберет часовой кварц? Тактирование - RC, Timer2 настроить для работы в асинхронном режиме с внешним кварцем, разрешить прерывания таймера (переполнение или компаратор, как удобнее), прескалер установить тоже как удобнее. В паузах выдавать idle (настроив режим как power save, но не как power down !). Таймер будет продолжать работать, потребляя довольно скромно (даже в первых m8, при питании 3.6V потребление было меньше 10 uA, новые жрут гораздо меньше). По событию просыпаемся, RC-генератор сам включается (мгновенно), и можно делать что угодно. Потом опять idle и так далее...
|
|
|
|
|
Oct 18 2010, 08:36
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 5-07-06
Пользователь №: 18 607

|
Цитата(Палыч @ Oct 18 2010, 12:30)  Например, тактировать от RC-генератора, а Timer2 от часового кварца. Понял. Спасибо всем за помощь! Буду пробовать.
|
|
|
|
|
Oct 19 2010, 11:06
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Народ, мелкий вопрос в тему. Как вы измеряете маленькие токи потребления? У меня связка МК и чип приемопередатчика 433 МГц. МК в пауер-даун потребляет 0,1 мкА, а чип в стендбае потребляет 0,05 мкА. В сумме получается около 0,15 мкА, ну чуть больше, т.к. питание 3В, а не 2.2. Для измерения есть только старенький тестер шлумбергер 7150, но он берёт где-то от 1 мкА. Как быть?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Oct 20 2010, 06:57
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
Цитата(=GM= @ Oct 19 2010, 19:23)  0,15 мкА* 1 кОм = 0,15 мВ
Усилить? А смещение? Как потом под измерение подвести измерительную базу? Если интересует потребление в статике или среднее - проще всего использовать ионистор. Замерить напряжение в один момент времени, затем через определенный интервал - дальше простая арифметика.
|
|
|
|
|
Oct 21 2010, 03:14
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 11-02-08
Пользователь №: 34 931

|
А почему именно 1 КОм? А если 100 КОм? И еще один момент. RC-генератор построен так, что конденсатор подключен к земле. Если к нему параллельно подключить еще один - будет больше емкость, меньше частота. А коммутировать можно с помощью этой же Меги То есть если нужно помедленнее - перевел ножку на вывод ( например к земле притянул ). Если побыстрее - ножку на ввод и пусть болтается... Вот такая арифметика.
|
|
|
|
|
Oct 21 2010, 09:03
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
На 100 кОм будет падение 15 мВ, можно измерить достаточно точно, но как подключить МК? В первый момент после включения он находится не в слипе, значит потребляет ток, скажем, 0,1 мА, падение на 100 кОм составит 10В, а питать можно только от 5В. Значит, МК не заработает. Куда деваться?
Надеюсь, насчёт конденсатора вы шутите :-). Во-первых, есть 2% ограничение атмела на скорость изменения клока. Подключая конденсатор в некий период времени, вы можете превзойти это ограничение. Во-вторых, атмелы имеют предделитель клока, можно легко получить клок в широком диапазоне, начиная от сотни герц. Кстати, есть определённая процедура смены клока, если вы не в курсе.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|