Mega48. Как сменить источник тактирования на лету?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Не смог сам разобраться, кто сталкивался, подскажите. Надо при исполнении программы менять тактирование с внутреннего генератора на внешний кварц и обратно. Единственное что нашёл, это управление делителем частоты.
Моя родина Советский Союз.
Реклама
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Источник тактирования ядра выбирается исключительно фьюзами при программировании МК. По крайней мере я в этом уверен. Поправьте меня если не так.

А зачем вообще так делать? Колитесь.
Знание - сила!
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Вот засада.
Надо после отработки основного кода, на внутреннем генераторе, перейти на часовой кварц и ждать нового сеанса. Произойти это может по истечению заданного времени или по внешнему событию. Но самая эротика в том чтобы добиться минимально возможного тока потребления.
Моя родина Советский Союз.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

можно попробовать зашить фьюзы "тактирование от внешнего источника", и сигналом с ноги МК коммутировать этот источник... можно попробовать использовать внешнюю RC-цепь (если точность частоты не критична) - ее коммутировать проще...

а чем "режим сна" не устраивает? ожидая новый сеанс надо что-то делать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Уснуть не получится. Надо чтобы ADC продолжал мониторить напряжение. С точностью частоты тоже будет засада. По хорошему, надо два кварца использовать.
Моя родина Советский Союз.
Реклама
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

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

А что если в режиме "медляка" пробуждаться с нужной частотой, мониторить АЦП, и засыпать снова? И все это быстро-быстро?
Знание - сила!
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Про два генератора я уже думал, не получится. Сильно ограничены размеры устройства и ток потребления. Спать между измерениями ADC конечно можно, но, сколько понадобится времени на пробуждение. Надо мерить не менее 100 раз в секунду.
Моя родина Советский Союз.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Спать между измерениями ADC конечно можно, но, сколько понадобится времени на пробуждение. Надо мерить не менее 100 раз в секунду.
Я думаю получится. Все зависит от частоты ядра. Считать надо одним словом.
Знание - сила!
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Да с ядром то всё понятно. Я беспокоюсь за время на установление аналоговой часть ADC.
Сейчас попробовал померить ток потребления. Питание 3 вольта, из периферии включён один порт на выход. При работе от встроенного генератора 8МГц с делением на 8, 0.922ма. Тоже самое от кварца 1МГц без делителя, 0.813. Многовато, но обнадеживает.
Моя родина Советский Союз.
Вымогатель припоя
Аватара пользователя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Сообщение SergeBS »

Morse писал(а):Да с ядром то всё понятно. Я беспокоюсь за время на установление аналоговой часть ADC.
23.6 ADC noise canceller?
...
b. Enter ADC Noise Reduction mode (or Idle mode). The ADC will start a conversion once the CPU has been halted.
И соответственно CPU потреблять тоже будет по минимуму.
Опытный кот
Аватара пользователя
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев

Сообщение Аксель »

...Делал на компе эксперименты.
При включенном компе можно было перемычками уменьшать частоту системной шины без перезагрузки ОС (продолжало всё работать).
При увеличении частоты системной шины компьютер зависал.

МК конечно не ПК, :) но...
Скелет колобка состоит из черепа.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Вероятно, придётся отказаться от использования ADC в пользу компаратора, и использовать прерывания.
Моя родина Советский Союз.
Друг Кота
Аватара пользователя
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua

Сообщение NiTr0 »

А все же чем режим Idle не устраивает? В нем-то только гасится клок на ядро и флэшку... Все остальные девайсы - функционируют, если включены... Соответственно, АЦП готов к работе... Задать максимальный делитель клока 128, на время преобразования - вгонять в ADC Noise Reduction спячку... По завершению - опять в Idle (ADC Noise Reduction - в нем из таймеров работает только таймер 2, если его хватит - можно и этот режим пользовать).
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow

Сообщение Mozart »

а вы пробовали сделать внешний клок, и менять частоту внешнего клока самим процом???
External Clock
к примеру на кмоповской логике... и просто переключать резюки в цепи обратной свзяи...
правда проц будет подвисать.... как мне кажется...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Контактная информация:
Открыл глаза
Сообщения: 61
Зарегистрирован: Сб май 03, 2008 17:06:01

Сообщение DimonPhysic »

Не увеличивать размеры девайса не выйдет, я в этом уверен. Но проще всего, мне кажется, заделать на ПЛИС два кварцевых генератора и коммутатор. Если генераторы синхронизовать по уму то подвисать не будет, на мелкой логике представляю, могу набросать. А вообще, сложный это путь, ИМХО. Проще спящий режим.
Мучитель микросхем
Аватара пользователя
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow

Сообщение Mozart »

имхо: человек хочет понижать частоту тактирования, пускай... пока шишек не набьёт ничего не получится...
он же не спросил как лучше сделать он спросил
Надо при исполнении программы менять тактирование с внутреннего генератора на внешний кварц и обратно
вот ему ответили что источник задаётся при программировании фьюзов, и второе управление внешним генератором. только ИМХО сомнительно это всё.
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18682
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

ничего не сомнительно: совсем недавно по такому принципу сплошь и рядом делали на PIC-ах... делали тактирование от RC-цепи и отдельным портом подключали к этой цепи дополнительный резистор... порт в третьем состоянии - одна частота, порт в нуле - другая... аналогично можно управлять и отдельным генератором - ничего подвисать не будет...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Можно посмотреть в сторону интегральных генераторов. Недавно использовал LTC6907, там частота задается резистором, разные резисторы можно коммутировать полевиками. При использовании точных резисторов получается вполне пристойно, частоту держит. Габариты минимальны (корпус - шестиногий SOT)
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 140
Зарегистрирован: Пт фев 01, 2008 11:09:49
Откуда: СССР

Сообщение Morse »

Всем доброго времени суток. Вы дали много советов и много действительно дельных. К сожалению, использовать внешние генераторы и ПЛИСы не получится. Слишком большое потребление и габариты. Устройство над которым я сейчас работаю, будет питаться от одного элемента CR2477, и должно работать в течение не менее пяти лет, без замены элемента. Устройство состоит из аналоговой части, микроконтроллера, и радио канала. Аналоговую часть, а это усилитель заряда и три ФНЧ второго порядка, я ужал до 80 мкА, в рабочем состоянии. Контроллер придётся усыплять, и будить по таймеру или компаратору.
Моя родина Советский Союз.
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Пн ноя 12, 2007 20:53:05
Откуда: Одесса

Сообщение biDE »

Morse писал(а): будет питаться от одного элемента CR2477, и должно работать в течение не менее пяти лет, без замены элемента
ИМХО планку слишком высоко взяли: емкость CR2477 =1000мАч и чтобы ее хватило на 5лет, нужно высасывать в среднем 22мкА :shock: , или я не прав?
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»