реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Fusebit CKOPT, сбоит Atmega16
AndreyVN
сообщение Dec 5 2010, 08:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!

Сбоит Atmega16 16AU с кварцем 16Mhz. Питание +5.0 V.

Программу урезал до минимума - иницилизация LCD и все.
Иногда программа стартует, то есть и софт и железо исправны, в большинстве случаев - экран мертвый.

Естественно, при таких симптомах первые подозрения на тактирование и сброс.

Стал разбираться - ячейка CKOPT управляет усилителем в цепи кварцевого генератора,
стояла CKOPT=1, то есть, без усилителя (меньше помех, меньше ток потребления).

Документация явно требует для кварца 16 МHz включить буферный усилитель.
Цитата
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and
16 MHz with CKOPT programmed.

Вроде, все понятно, только включение усилителя в цепи кварца (CKOPT=0) ситуацию не изменило.
Помотрел старые проекты - Atmega 16 16 МHz уже пару лет прекрасно работает в режиме CKOPT=1.

Не хочется выкусывть 44-ногий чип, посоветуйте, что еще попробовать?
Go to the top of the page
 
+Quote Post
zombi
сообщение Dec 5 2010, 10:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Я бы глянул еще на CKSEL и SUT!
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Dec 5 2010, 11:49
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(zombi @ Dec 5 2010, 13:37) *
Я бы глянул еще на CKSEL и SUT!


Да, это тоже из управления тактированием, но здесь меньше сомнений:
CKSEL0=1
CKSEL1=1
CKSEL2=1
CKSEL3=1
SUT0=1
SUT1=1
Кварцевый резонатор, большое время нарастания питания (64 мкс).
Go to the top of the page
 
+Quote Post
Палыч
сообщение Dec 5 2010, 14:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(AndreyVN @ Dec 5 2010, 14:49) *
SUT0=1
SUT1=1
Может быть, поэтому и сбоит, что SUT=11 - зарезервировано. Максимальное значение - оно же заводская установка: SUT=10
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Dec 5 2010, 14:34
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Цитата(AndreyVN @ Dec 5 2010, 11:44) *
иницилизация LCD и все.
Иногда программа стартует, то есть и софт и железо исправны, в большинстве случаев - экран мертвый.
Сомнительный как-то выбор способа узнать "запустился ли дисплей MCU". Простой светодиодик не модно, ну...
... все задержки во всех дисплейных процедурах увеличить (в 100 раз, временно) хотя б?
Цитата
первые подозрения на тактирование и сброс.
Но никак не на дисплей же и не на процедуры работы с ним, логично.
Цитата
выкусывть 44-ногий чип
Нувыблинваще.
Цитата
что еще попробовать?
Проверить ещё раз ёмкости конденсаторов около кварца и разводку платы на всякий случай.
Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Dec 5 2010, 16:39
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(нечитатель @ Dec 5 2010, 17:34) *
Сомнительный как-то выбор способа узнать "запустился ли дисплей MCU". Простой светодиодик не модно, ну...
... все задержки во всех дисплейных процедурах увеличить (в 100 раз, временно) хотя б?Но никак не на дисплей же и не на процедуры работы с ним, логично.
Нувыблинваще.
Проверить ещё раз ёмкости конденсаторов около кварца и разводку платы на всякий случай.


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

А в целом, Вы оказались правы, проблема была на стороне LCD.
В чем именно разбираться не стал, откусил и привинтил новый.
А отловил именно как Вы и советовали, программным генератором на одной из ног меги.

Насчет ячейки CKOPT .
Забавно, CKOPT=1 мега кушает 61 mA, работает устойчиво на 16MHz.
CKOPT=0 мега кушает 61 mA, работает устойчиво на 16MHz. sm.gif







Цитата(Палыч @ Dec 5 2010, 17:16) *
Может быть, поэтому и сбоит, что SUT=11 - зарезервировано. Максимальное значение - оно же заводская установка: SUT=10


Не, если верить А.В.Евстигнеев Микроконтроллеры семейств Tiny и Mega фирмы Atmel., М.:Додека, 2006, стр 224,
то SUT =11 это кварцевый резонатор, 64 мкс задержка до сброса. В фирменном мануале не искал, но до сих пор
расхождений не было, хорошая книга.
Go to the top of the page
 
+Quote Post
314
сообщение Dec 5 2010, 16:41
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 17-08-07
Пользователь №: 29 855



При unprogrammed CKOPT амплитуда колебаний на генераторе 0.2В, при programmed CKOPT - 1.5В. Вот и вся разница.
Go to the top of the page
 
+Quote Post
zombi
сообщение Dec 5 2010, 21:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(AndreyVN @ Dec 5 2010, 19:39) *
Не, если верить А.В.Евстигнеев

Книги книгами а Datasheet всетаки первоисточник!

P.S. Кстати глянул DS : SUT=11 - зарезервировано только для Low-frequency Crystal Oscillator
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 19:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01831 секунд с 7
ELECTRONIX ©2004-2016