Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.01.2012, 13:31
|
|
Прохожий
Регистрация: 31.12.2011
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Atmega8 пробуждение из powerdown
Добрый день!
Вобщем есть мк из темы. Он будет общаться с компом (по uart) и отдавать ему данные (температуру) по запросу самого компа, в остальное время есть желание чтобы он спал, т.к. запросы будут редкими. Проблема в том, что uart может пробудить его только из idle, а сразу захотелось чтобы спал он в powerdown. Подскажите можно ли (теоретически можно) завести ресивер (RXD) на вход внешнего прерывания (скажем INT0) и пробуждаться по внешнему прерыванию? Если да, то как это лучше (схематически. Например: просто соеденить) сделать?
Спасибо.
|
|
|
|
06.01.2012, 13:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
Можно взять мега48-88 и включить на ноге приеиника ПинЧейндж.
Можно соединить ноги
Только не забывайте, что контроллер от кварца просыпается через 4...64 мс после прерывания - соответственно первые посылки будут игнорированы. Поэтому лучше тактировать от встроенного генератора и периодически калибровать генератор по посылкам от компьютера, или вводить паузы в протокол
|
|
|
|
06.01.2012, 15:00
|
|
Прохожий
Регистрация: 31.12.2011
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
Спасибо.
Я предполагал, что можно соединить ноги. Про задержки при пробуждении читал: несколько машинных циклов на пробуждение + еще время с кварцем. Считаю, что использовать кварц стоит для уменьшения процента ошибок при работе с com портом.
|
|
|
|
06.01.2012, 17:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,053
Сказал спасибо: 3,042
Сказали Спасибо 3,212 раз(а) в 2,182 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
В одном приборе использовал для пробуждения предварительную посылку байта 0х00 на минимальной скорости (1200 Бод -› (8+1)/1200=7.5мС). Но там кварц не помещался по определению, по-этому потом всё-равно шла процедура синхронизации.
|
|
|
|
06.01.2012, 19:24
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
На пике делал такое. Ногу RX на INT0. На скорости 9600 просыпалось и отвечало без потерь пакетов. Генератор RC.
|
|
|
|
06.01.2012, 19:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
АВР тоже на встроенном генераторе просыпается за 6 тактов = менее 1 мкс. Но его частота достаточно стабильна для СОМ только в комнатных условиях, в расширенном нужно предусмотреть калибровку через ОСККАЛ. У меня в старом проекте кажется все команды начинались с кода AAh потом код команды и сама команда - в ожидании ЮСАРТ отключен, по старт-биту контроллер просыпался но не включал ЮСАРТ, потом измерял длительности 1 в коде калибровки, во время 0 высчитывал приблизительное значение для ОСККАЛа (сравнивая значение в таймере с зашитой в чип константой), во время следующего 1 - снова уточнял значение, и так во время передачи одного AAh он успевал 4 раза калибрануться. Затем ждал окончания стоп-бита и сразу после него включал ЮСАРТ сбрасывал его флаги прерываний и отключал ПинЧейндж. В итоге всегда была идеальная калибровка по единственному байту. Мега48, прерывание по ПинЧейнджу на ноге ЮСАРТа. Скорость 115200, генератор 8 МГц
|
|
|
|
06.01.2012, 20:07
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
Да я проще это все решил. Сам по себе UART для связи с РС уже бесполезен. В любом случае нужен USB. Либо через FTDI, либо USB-HID. Вот эти варианты и использую. А INT0 завожу от VUSB.
|
|
|
|
06.01.2012, 23:27
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
Если мега только измеряет температуру и изредка общается с компьютером, и то только по запросу последнего, то зачем ей засыпать? Ведь получать питание, а следовательно и включаться в работу, она может и от компорта.
|
|
|
|
07.01.2012, 00:01
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
)))) Для измерения температуры с компьютера мега не нужна
|
|
|
|
07.01.2012, 00:17
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Atmega8 пробуждение из powerdown
Сообщение от Easyrider83
|
)))) Для измерения температуры с компьютера мега не нужна
|
А следовательно и пробуждать никого не надо
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Термометр на Atmega8
|
Mishanya_82 |
Песочница (вопросы новичков) |
2 |
25.01.2014 18:14 |
tiny13 и powerdown
|
-wired- |
Электроника - это просто |
1 |
31.03.2010 18:54 |
ATmega8
|
kurilka |
Микроконтроллеры, АЦП, память и т.д |
84 |
06.03.2010 16:03 |
Прерывания на atmega8
|
klim |
Микроконтроллеры, АЦП, память и т.д |
4 |
16.09.2008 11:05 |
ATMega8 + 24C512
|
pve70 |
Микроконтроллеры, АЦП, память и т.д |
11 |
01.09.2007 21:55 |
Часовой пояс GMT +4, время: 08:46.
|
|