AndreyVN 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Всем привет! Сбоит 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-ногий чип, посоветуйте, что еще попробовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Я бы глянул еще на CKSEL и SUT! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndreyVN 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Я бы глянул еще на CKSEL и SUT! Да, это тоже из управления тактированием, но здесь меньше сомнений: CKSEL0=1 CKSEL1=1 CKSEL2=1 CKSEL3=1 SUT0=1 SUT1=1 Кварцевый резонатор, большое время нарастания питания (64 мкс). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 11 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба SUT0=1 SUT1=1 Может быть, поэтому и сбоит, что SUT=11 - зарезервировано. Максимальное значение - оно же заводская установка: SUT=10 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_noise 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба иницилизация LCD и все. Иногда программа стартует, то есть и софт и железо исправны, в большинстве случаев - экран мертвый. Сомнительный как-то выбор способа узнать "запустился ли дисплей MCU". Простой светодиодик не модно, ну... ... все задержки во всех дисплейных процедурах увеличить (в 100 раз, временно) хотя б? первые подозрения на тактирование и сброс.Но никак не на дисплей же и не на процедуры работы с ним, логично. выкусывть 44-ногий чипНувыблинваще. что еще попробовать?Проверить ещё раз ёмкости конденсаторов около кварца и разводку платы на всякий случай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndreyVN 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Сомнительный как-то выбор способа узнать "запустился ли дисплей MCU". Простой светодиодик не модно, ну... ... все задержки во всех дисплейных процедурах увеличить (в 100 раз, временно) хотя б?Но никак не на дисплей же и не на процедуры работы с ним, логично. Нувыблинваще. Проверить ещё раз ёмкости конденсаторов около кварца и разводку платы на всякий случай. Этот дисплей с мегой уже в нескольких конструкциях опробован, поэтому задержки и программа иницилизации сомнений не вызывают. А в целом, Вы оказались правы, проблема была на стороне LCD. В чем именно разбираться не стал, откусил и привинтил новый. А отловил именно как Вы и советовали, программным генератором на одной из ног меги. Насчет ячейки CKOPT . Забавно, CKOPT=1 мега кушает 61 mA, работает устойчиво на 16MHz. CKOPT=0 мега кушает 61 mA, работает устойчиво на 16MHz. :) Может быть, поэтому и сбоит, что SUT=11 - зарезервировано. Максимальное значение - оно же заводская установка: SUT=10 Не, если верить А.В.Евстигнеев Микроконтроллеры семейств Tiny и Mega фирмы Atmel., М.:Додека, 2006, стр 224, то SUT =11 это кварцевый резонатор, 64 мкс задержка до сброса. В фирменном мануале не искал, но до сих пор расхождений не было, хорошая книга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
256 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба При unprogrammed CKOPT амплитуда колебаний на генераторе 0.2В, при programmed CKOPT - 1.5В. Вот и вся разница. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Не, если верить А.В.Евстигнеев Книги книгами а Datasheet всетаки первоисточник! P.S. Кстати глянул DS : SUT=11 - зарезервировано только для Low-frequency Crystal Oscillator Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться