Обсуждаем контроллеры компании Atmel.
Ответить

Re: atmega328pb

Пт апр 12, 2019 18:13:13

При отладке будьте осторожней с Lock битами - в документации это есть, но как-то очень не заметно. При их установке (любых) не возможна работа по протоколу DWI. В частности, вы не сможете перейти в режим SPI. Я, пока разобрался, несколько чипов залочил.

Re: atmega328pb

Сб апр 13, 2019 01:48:10

Спасибо за предупреждение:)

Re: atmega328pb

Пн май 24, 2021 01:10:22

Размещу тут проблемку и решение, а то на неадекватных форумах не получается...

И так, проблема в Atmega328PB:
Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе.
На простейшем коде (мигание СДИ + софтовые задержки) зависание после первого цикла на втором.

Поведение:
Касание пальцами выводит из зависания...

Нашёл:
При последовательном касании выводов металлической спицей, на PE3 зависание пропадает.
Подтяжка пинов PE0-3, сконфигурированных на вход, решила проблему! Статистически, 100% выведение из зависания происходит по касанию пина.

Прерывания ни как не настраивались специально, были только настроены порты, прописан стэк и отключен компаратор:
"ldi Temp,0b10000000
out ACSR,Temp ; выключаем компаратор"

SEI в коде вообще отсутствует.

Вероятнее всего Z-состояние входов (т.к. обвязки ещё нет) не влияет на поведение. Есть огромная доля вероятности, что виной тому узлы QTouch, т.к. в модели МК с индексом просто "P" подобного не встречалось.

Re: atmega328pb

Пн май 24, 2021 11:42:17

Все неиспользуемые выводы необходимо переводить на ВЫХОД. Создание проблемы и её героическое решение.

Re: atmega328pb

Пн май 24, 2021 21:53:43

Все неиспользуемые выводы необходимо переводить на ВЫХОД. Создание проблемы и её героическое решение.

Начинается... Чушь от не внимательности.
Читаем ешё раз и внимательно выше:
bafomet911 писал(а):Платка не вставлена в устройство, т.е. есть минимальная обвязка, большая часть ног портов висит в воздухе.


Т.е в аппарате куда вставляется плата всё разведено и подключено. В колодке для прошивки замечено аномальное поведение. О чём и доложено!

Re: atmega328pb

Ср май 26, 2021 11:03:35

DrLithium, а у вас пин RST в воздухе не висит случайно?

Re: atmega328pb

Ср май 26, 2021 12:57:18

На колодке (которая дополнительно надевалась на плату) распаян резистор с конденсатором по классике. Т.ч . точно нет.

З.Ы. Можно ещё заметить, что подтяжка внутреннем резюком сыграла плохую шутку - повлияла на стабильность внешней цепочки, и по этому логический ноль не появляется. Пришлось снимать подтяжку внутреннюю и оставлять только внешнюю цепь.

Видимо некоторые "умники" (чуть выше), не в курсе того, что на всех форумах рекомендуют отказываться от внутренней подтяжки, в угоду внешней.

У меня тут выбор не стоит, плату вкраиваю в промышленный аппарат. И тут всё не просто... 3-и сутки голова пухнет над проектом.

Re: atmega328pb

Ср май 26, 2021 22:39:39

Странные у вас чудеса творятся, я таких на своей 328 не разу не замечал, есть ещё 2 мысли:
* от чего тактируетесь, кварц или внутрянка?
* стабильность питания, или может чего с провода питания прилетает.
Если есть проблема значит, что то её вызывает, надо искать причину.

Re: atmega328pb

Ср май 26, 2021 22:53:59

на всех форумах рекомендуют отказываться от внутренней подтяжки

а как от неё отказаться умники с форумов знают?

Есть огромная доля вероятности, что виной тому узлы QTouch

Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.

Re: atmega328pb

Чт май 27, 2021 08:53:51

parovoZZ писал(а):
на всех форумах рекомендуют отказываться от внутренней подтяжки

а как от неё отказаться умники с форумов знают?

Элементарно, ставь внешнюю :tea:

Re: atmega328pb

Чт май 27, 2021 09:31:06

Внешняя подтяжка не ведёт от отказа от внутренней.

Re: atmega328pb

Чт май 27, 2021 09:50:27

В смысле, нафига включать внутреннюю если уже есть внешняя :facepalm:

Re: atmega328pb

Чт май 27, 2021 10:01:26

нафига включать внутреннюю

Можно страницу даташита, где сказано про такое действие.

А если вывод ресета обычный GPIO - тогда что куда подтягивать?

Re: atmega328pb

Чт май 27, 2021 10:33:07

Можно страницу даташита, где сказано про такое действие.

А если логически подумать, нафига делать одно и тоже дважды причём одновременно?
А если вывод ресета обычный GPIO - тогда что куда подтягивать?

Если он сконфигурирован как GPIO то от ресета он уже отключен, далее настраиваем так как нам нужно, ведь для чего то его отключили от ресета?
Последний раз редактировалось alex_ Чт май 27, 2021 10:41:39, всего редактировалось 1 раз.

Re: atmega328pb

Чт май 27, 2021 10:40:10

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

Re: atmega328pb

Чт май 27, 2021 10:41:40

на всех форумах рекомендуют отказываться от внутренней подтяжки

а как от неё отказаться умники с форумов знают?

Есть огромная доля вероятности, что виной тому узлы QTouch

Есть тиньки с такой фигнёй (0-ой и 1ой серии). Описанных проблем нет.


М.б. ключевое слово "внутренняя" наведёт тех умников на верную мыслю. Я глупый, я просто знаю, останые пусть догадываются или погуглят. )

М.б. и есть такие тиньки... Но в данном случае наверное надо было записать видос, со 100% излечением из зависона по касанию? Или поспорить, что 10/10... или не, 100/100 отработает! Я бы на палец поспорил, против вашей феррари. ) Просто времени жаль и так проблем хватает...

З.Ы. В студии проект работает шикарно, в железе не желает... Скажу сразу, пишу на ассемблере. Прерывания не пашут знаете ли... Сначала думал, что накосячил, поправил что нашёл, но не работает. Далее подумал PCINT не пашет, попробовал INT0 - аналогично. Подумал что таблица прерываний окривела - нет. В таблице меток в конце которой общий reti на случай срабатывания "левого" прерывания, обычно комментируются нужные прерывания, а метки с обработкой кидают после инициализации. Дак светодиод в списке по своим прерыванием (PCINT2:, если его не закомментить) загорается от PD7, а в копии (PCINT2:, если первую метку закомментить) под инициализацией - нет! Т.е. вектор перехода попадает на место! Чудеса! Разберусь что это было, дам знать...

Re: atmega328pb

Чт май 27, 2021 10:51:57

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

Re: atmega328pb

Чт май 27, 2021 10:55:32

я не говорил, что какой-то из вариантов плох, я обращал внимание всех на тот факт, что выбор надо делать в каждом случае осознанно и по обстоятельствам. скажем, допускать перегрузку пина МК - плохо всегда, и не стоит это закладывать. а подтяжка может быть иной раз хороша внешняя, а иной раз - внутренняя. тут однозначности нет и быть не может.

только и всего.

Re: atmega328pb

Чт май 27, 2021 10:58:57

Тут просто товарищ parovoZZ, если я его правильно понял, утверждает, что нужно использовать 2 типа подтяжки разом.

Re: atmega328pb

Чт май 27, 2021 11:02:38

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

так вот, я бы сказал, что при наличии внешней подтяжки менее 10К наличие или отсутствие внутренней вообще никак не влияет ни на что. а случаев внешней подтяжки порядка сотен килоом мне неизвестно... но при такой подтяжке внутренняя может существенно влиять на поведение схемы.
Последний раз редактировалось ARV Чт май 27, 2021 11:03:17, всего редактировалось 1 раз.
Ответить