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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 22.07.2022, 00:23  
alex_t2
Прописка
 
Регистрация: 16.09.2010
Сообщений: 157
Сказал спасибо: 22
Сказали Спасибо 125 раз(а) в 64 сообщении(ях)
alex_t2 на пути к лучшему
По умолчанию LGT8F328P не запускается прерывание АЦП

Перевожу потихоньку изделия c ATMega на LGT8F328, сегодня поймал интересное поведение этого чипа.
Изначальный проект сделан на Atmega168, запущено прерывание АЦП, преобразование однократное, в прерывании переключается канал, и снова запускается.
Запуск вот так:
Код:
	ldi TMP, 0b01100110	; читаем канал 6, опорный уровень AVCC, выравнивание по левому краю
	sts ADMUX, TMP
;запуск АЦП в режим одиночного преобразования
	ldi TMP, (1‹‹ADEN)|(1‹‹ADIE)|(1‹‹ADSC)|(0‹‹ADATE)|(5‹‹ADPS0);
	sts ADCSRA, TMP
Все как часики.
Переношу на LGT8F328P - и фигушки, прерывания нет, остальное работает.
В итоге нашел решение.
Код:
	ldi TMP, 0b01100110	; читаем канал 6, опорный уровень AVCC, выравнивание по левому краю
	sts ADMUX, TMP
;запуск АЦП в режим одиночного преобразования
	ldi TMP, (1‹‹ADEN)|(1‹‹ADIE)|(1‹‹ADSC)|(0‹‹ADATE)|(5‹‹ADPS0);
	sts ADCSRA, TMP
	sts ADCSRA, TMP
Почему-то стартует, если записать в ADCSRA два раза.
С первого раза не доходит?
Реклама:
alex_t2 вне форума  
Непрочитано 24.07.2022, 10:12  
vit66work
Прописка
 
Регистрация: 27.05.2009
Сообщений: 180
Сказал спасибо: 248
Сказали Спасибо 113 раз(а) в 42 сообщении(ях)
vit66work на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

Сообщение от alex_t2 Посмотреть сообщение
Почему-то стартует, если записать в ADCSRA два раза.
С первого раза не доходит?
Может ему небольшая задержка нужна после загрузки мультиплексора?
vit66work вне форума  
Сказали "Спасибо" vit66work
mike-y-k (24.07.2022)
Непрочитано 24.07.2022, 16:57  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

продукт 14…17 годов, последнее обновление данных - начало 17 года
Сайт продукта http://www.lgtic.com/lgt8fx8p/ и там все планируемое семейство только из одного варианта так и осталось.
Все переводы специалисты из поднебесной забраковали - есть много сокращений текста и неточностей…
Нет ни errata, ни appnote по использованию…
Переход выглядит сильно рискованным из-за очень вероятных проблем со стабильностью разработанного кода, источником которых будет ситуация с работой с встроенным HW, аналогичная описанной ТС. Без точных данных по работе от разработчика квест с тестированием получится весьма впечатляющим…
Минимальный разброс параметров и рабочее изделие при повторении минимум 50/50 превратится в мину замедленного действия из-за неизвестных временных параметров железа на борту…
Но попробовать никто не запрещает…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 25.07.2022 в 13:32.
mike-y-k вне форума  
Непрочитано 24.07.2022, 21:38  
alex_t2
Прописка
 
Регистрация: 16.09.2010
Сообщений: 157
Сказал спасибо: 22
Сказали Спасибо 125 раз(а) в 64 сообщении(ях)
alex_t2 на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

Сообщение от vit66work Посмотреть сообщение
Может ему небольшая задержка нужна после загрузки мультиплексора?
Тоже предположил, сначала. Пробовал по всякому, не идёт, и хоть ты что.
Потом для проверки сразу после инициализации вставил call на прерывание, и вдруг все заработало.
Двойная запись в регистр -это уже результат перебора вариантов "что ж ему надо-то".
Отписался сюда просто потому, что не нашел на просторах сети. Мало ли кому пригодится.
Так-то контроллер неплохой, а всех нюансов все равно не учесть.
Вот вачдог, например, у LGT установленный период держится как вкопанный, а у меги гуляет от температуры и питания в разы.
alex_t2 вне форума  
Непрочитано 24.07.2022, 22:37  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

alex_t2, информация возможно у сообщества есть, но только на китайском…
Я не просил знакомых в поднебесной связаться с указанным в заголовке страницы продукта номером в QQ поддержки…

Но из Вашего объяснения непонятно - двойная запись и одинарная запись и "call на прерывание" дают один результат?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 24.07.2022 в 22:40.
mike-y-k вне форума  
Непрочитано 24.07.2022, 23:22  
alex_t2
Прописка
 
Регистрация: 16.09.2010
Сообщений: 157
Сказал спасибо: 22
Сказали Спасибо 125 раз(а) в 64 сообщении(ях)
alex_t2 на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

Да, возможно есть, но беглый поиск ничего не дал, поэтому пришлось бороться собственными силами.
По логике программы настраивается однократный запуск АЦП, записью соответствующего бита в регистре, в прерывании выполняется то же самое действие, для повторного запуска. Поэтому двойная запись почти эквивалентна одинарной записи, плюс принудительный вызов функции, выполняющейся по прерыванию. За исключением чтения результата преобразования. Но это я тоже проверял, вставляя чтение регистра в процедуре инициализации. Помогла только двойная запись.
В общем, на баг очень похоже.
alex_t2 вне форума  
Непрочитано 25.07.2022, 00:12  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

alex_t2, так вопрос с поиском информации на китайском открыт - пока с индексацией поисковиками этого сегмента сети дела обстоят не очень радостно.
Очень популярный там QQ в остальном мире не сильно распространен, опять же из-за языкового барьера…
Так что если спросить на китайском - высок шанс найти информацию…
Маловероятно, что на эти грабли за столько лет никто не наступил…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 25.07.2022, 12:35  
elon
Почётный гражданин KAZUS.RU
 
Аватар для elon
 
Регистрация: 29.12.2004
Адрес: Bернулся в San Jose,CA,USA,Beach BLVD,свой дом,окна на океан-ничего личного,просто бизнес!
Сообщений: 1,098
Сказал спасибо: 22
Сказали Спасибо 423 раз(а) в 316 сообщении(ях)
elon на пути к лучшему
Сообщение Re: LGT8F328P не запускается прерывание АЦП

Сообщение от alex_t2 Посмотреть сообщение
Почему-то стартует, если записать в ADCSRA два раза.
С первого раза не доходит?
Извините что вмешиваюсь но просто как гипотеза .....
В power register есть бит который тормозит работу тактового генератора ацп по умолчанию , для того чтобы он вышел на рабочий режим нужно время , при запуске преобразования как у вас возможно бит PW сбрасывается и генератор просто не успевает выйти в рабочий режим и запуска перобразования по установке бита первый раз не происходит а второй раз при установке бита условий для запуска достаточно и вы получаете исправную работу , просто как вариант обьясняющий поведение ацп при старте в однократном режиме , а что касается информации так есть pdf на английском , правда он в служебном разделе у производителя но все же есть .
elon вне форума  
Эти 2 пользователя(ей) сказали Спасибо elon за это сообщение:
alex_t2 (25.07.2022), mike-y-k (25.07.2022)
Непрочитано 25.07.2022, 13:33  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: LGT8F328P не запускается прерывание АЦП

elon, а ссылку на английский PDF?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 25.07.2022, 15:16  
elon
Почётный гражданин KAZUS.RU
 
Аватар для elon
 
Регистрация: 29.12.2004
Адрес: Bернулся в San Jose,CA,USA,Beach BLVD,свой дом,окна на океан-ничего личного,просто бизнес!
Сообщений: 1,098
Сказал спасибо: 22
Сказали Спасибо 423 раз(а) в 316 сообщении(ях)
elon на пути к лучшему
Сообщение Re: LGT8F328P не запускается прерывание АЦП

Это служебный раздел , там доступ по логину/паролю , прямой ссылки нет , только индекс , без верификации доступа к файлам нет
elon вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Вызов прерывание ацп в avr-ках neox-neox Микроконтроллеры, АЦП, память и т.д 9 16.12.2011 14:33
Помогите чайнику симулировать АЦП прерывание на Proteus - e shatakhian Микроконтроллеры, АЦП, память и т.д 10 14.10.2011 03:26
Подскажите по dsPIC33: не всегда запускается прерывание от Timer1 night_light_ Микроконтроллеры, АЦП, память и т.д 1 08.09.2010 17:10
не обрабатывается прерывание от таймера во время АЦП rusakov_a Микроконтроллеры, АЦП, память и т.д 0 03.07.2008 01:33


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


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