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

 
 
 
Reply to this topicStart new topic
> проблеме с запуском кварца
serdz
сообщение Dec 21 2004, 08:01
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 21-12-04
Пользователь №: 1 582



Высокочастотный кварц подклячаю к XIN XOUT как в даташитах и в программе
:

BCSCTL1 |= XTS;
do
{
IFG1 &= ~OFIFG;
for (i = 0xFF; i > 0; i--);
}
while ((IFG1 & OFIFG) != 0);

кварц иногда не запускается, после того как не запустился надо выключить прождать несколько секунд (10-15) и потом включить, только тогда кварц запустится. Причем если сделать RESET то кварц сразу запустится.
Вместо RC на RESET пробовал ставить MAX809 такая же ситуация.
Что делать?
Go to the top of the page
 
+Quote Post
VAI
сообщение Dec 21 2004, 09:38
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Как у Вас с разводкой платы? Частота кварца? Конденсаторы какие на кварце?
Я использую вместо кварца Муратовские керамические резонаторы со встроенными емкостями.
Программно я делаю примерно так. При сбое генератора вызовется прерывание и он опять заведется.

Код
unsigned int OSCFault_isr;              // глобальная переменная - счетчик вызов прерывания по OSCFault - для контроля

void init( void )
{
 WDTCTL = WDTPW + WDTHOLD;             // Stop WDT
 IE1 |= OFIE;                          // разрешим прерывание по сбою тактового генератора XT1 (флаг устанавливается при POR и при сбое)
                                       // это прерывание NMI, настройка ХТ1 произойдет после разрешения OFIE
......
 OSCFault_isr = 0;
}

/* --- NMI_isr() ------------------------------------------------------------------------------------------ **
*  прерывание по сбою тактового генератора XT1
*  ЖДЕМ, когда заведется генератор
*
* Контроль вызова этого прерывания: при вызове в процессе измерения
* игнорировать результаты этого измерения
* -------------------------------------------------------------------------------------------------------- */
#pragma vector=NMI_VECTOR
__interrupt  void NMI_isr( void )        //    14 * 2 - 0xfffc Non-maskable
{
//  Настроим основное и вспомогательное тактирование
 BCSCTL1 |= XTS;                       // вспомогательное тактирование ACLK = LFXT1 = HF XTAL
 do
 { IFG1 &= ~OFIFG;                     // Clear OSCFault flag
   delay_us( 100 );                    // Time for flag to set (> 50 us)
 } while (( IFG1 & OFIFG ) != 0 );      // OSCFault flag still set?
 BCSCTL2 |= SELM_3;                    // основное тактирование MCLK = LFXT1
 IE1 |= OFIE;                          // разрешим прерывание по сбою тактового генератора XT1 (флаг устанавливается при POR и при сбое)
 if ( !++OSCFault_isr )                 // счетчик вызов прерывания по OSCFault - для контроля сбоя генератора в программе
   OSCFault_isr--;                     // защита от переполнения
}


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Monstrer
сообщение Dec 21 2004, 16:32
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 13-11-04
Из: Нижний Новгород
Пользователь №: 1 120



Добрый вечер
Все таки я думаю что проблема с кварцем и еще.
если вы используете кварц более 5 Мгц, то есть такая особенность, что TimeOut 255 для синхронизации ядра недостаточен - попробуйте просто увеличить счетчик раза в 3-4.
Go to the top of the page
 
+Quote Post
serdz
сообщение Dec 21 2004, 17:18
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 21-12-04
Пользователь №: 1 582



Сегодня потратил целый день и выяснил, что с кварцем все в порядке.
Проблема была в RESETe, при выключении питания очень на короткое время RC цепочка не всегда ресетит процессор, помог только супервизор причем когда междк ним и процессором стоит 10К резистор (без резистора тоже иногда не ресетит).
Go to the top of the page
 
+Quote Post
Alex2172
сообщение Dec 22 2004, 10:31
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 25-08-04
Пользователь №: 537



Цитата(serdz @ Dec 21 2004, 20:18)
Сегодня потратил целый день и выяснил, что с кварцем все в порядке.
Проблема была в RESETe, при выключении питания очень на короткое время RC цепочка не всегда ресетит процессор, помог только супервизор причем когда междк ним и процессором стоит 10К резистор (без резистора тоже иногда не ресетит).
*


Аналогичный баг допустил. (привык к тому что AVR все умеет и на MSP понадеялся). Короче при выключении питания на кондере 4uF в схеме питания остается >0.5V, который медлено разряжается. Пока не разрядится Reset не сработает правильно. Теперь придетс супервизор искать с низким потреблением или переходить на MSP430F16xx и ему подобные.
Go to the top of the page
 
+Quote Post
kpv
сообщение Dec 22 2004, 11:52
Сообщение #6


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

Группа: Свой
Сообщений: 138
Регистрация: 1-06-04
Из: Nighny Novgorod
Пользователь №: 27



TPS3836E18DBV TexasInstruments <1mkA
супервизор просто необходим (для MSP), там где нет BOR.
так как внутренний POR срабатывает уже тогда, когда ничего гарантировать в работе кристалла нельзя.


--------------------
Go to the top of the page
 
+Quote Post
Alex2172
сообщение Dec 24 2004, 06:51
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 25-08-04
Пользователь №: 537



Цитата(kpv @ Dec 22 2004, 14:52)
TPS3836E18DBV TexasInstruments <1mkA
супервизор просто необходим (для MSP), там где нет BOR.
так как внутренний POR срабатывает уже тогда, когда ничего гарантировать в работе кристалла нельзя.
*


Или
MAX6854-MAX6869 - низкопотребляющие (170 нА) супервизоры
Совместимость по выводам с TPS3836-TPS3838
Go to the top of the page
 
+Quote Post
shindarah
сообщение Feb 28 2005, 21:16
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 23
Регистрация: 28-02-05
Пользователь №: 2 946



А чем вас не устраивает LP2951? И стабилизатор и супервизор, всё работает, всё всегда ресетится и никаких проблем! Единственное надо обратить внимание на его нагрузочную способность - а так всё отлично и на StarterKit они такой ставят... А по поводу емкостей на высокочастотном кварце так там их вообще не должно быть... всё и так отлично работает...
Go to the top of the page
 
+Quote Post
Alex2172
сообщение Mar 1 2005, 07:38
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 25-08-04
Пользователь №: 537



Цитата(shindarah @ Mar 1 2005, 00:16)
А чем вас не устраивает LP2951? И стабилизатор и супервизор, всё работает, всё всегда ресетится и никаких проблем! Единственное надо обратить внимание на его нагрузочную способность - а так всё отлично и на StarterKit они такой ставят... А по поводу емкостей на высокочастотном кварце так там их вообще не должно быть... всё и так отлично работает...
*

Очень интересно. Речь шла о низкопотребляющих супервизорах. Объясните плиз как сделать так, чтобы LP2951 потреблял <1 uA.
Go to the top of the page
 
+Quote Post
shindarah
сообщение Mar 1 2005, 22:00
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 23
Регистрация: 28-02-05
Пользователь №: 2 946



Цитата(Alex2172 @ Mar 1 2005, 10:38)
Цитата(shindarah @ Mar 1 2005, 00:16)
А чем вас не устраивает LP2951? И стабилизатор и супервизор, всё работает, всё всегда ресетится и никаких проблем! Единственное надо обратить внимание на его нагрузочную способность - а так всё отлично и на StarterKit они такой ставят... А по поводу емкостей на высокочастотном кварце так там их вообще не должно быть... всё и так отлично работает...
*

Очень интересно. Речь шла о низкопотребляющих супервизорах. Объясните плиз как сделать так, чтобы LP2951 потреблял <1 uA.
*



Извиняюсь не заметил...
Я делал как-то с низким потреблением одну штуковину... Уже в серию её запустил. Там тоже была проблема с включением, но там я супервизор ставить не стал.
На вход RST завел RC цепочку, и поставил кнопку, после инициализации вход переводил на NMI и по прерыванию переводился в спящий режим, а по нажатию кнопки снова включался, а все остальные схемы запитал от REFa, питание от батарейки, в спящем режиме потребление "никакое", с кнопкой включения выключения проблем никаких. Бывают проблемы при замене батарейки, примерно один раз из 5, решаются тем, что батарейка вытаскивается и устанавливается снова... Проверено - всё работает на более 500 образцах... Пока никто не жаловался!
Go to the top of the page
 
+Quote Post
Vyatka
сообщение Apr 6 2005, 07:16
Сообщение #11





Группа: Новичок
Сообщений: 6
Регистрация: 1-03-05
Пользователь №: 2 963



Цитата(Alex2172 @ Dec 22 2004, 13:31)
Цитата(serdz @ Dec 21 2004, 20:18)
Сегодня потратил целый день и выяснил, что с кварцем все в порядке.
Проблема была в RESETe, при выключении питания очень на короткое время RC цепочка не всегда ресетит процессор, помог только супервизор причем когда междк ним и процессором стоит 10К резистор (без резистора тоже иногда не ресетит).
*


Аналогичный баг допустил. (привык к тому что AVR все умеет и на MSP понадеялся). Короче при выключении питания на кондере 4uF в схеме питания остается >0.5V, который медлено разряжается. Пока не разрядится Reset не сработает правильно. Теперь придетс супервизор искать с низким потреблением или переходить на MSP430F16xx и ему подобные.
*


А зачем такой большой конденсатор? У меня больше 0,1 нигде нет и вроде
работает.
Go to the top of the page
 
+Quote Post
VVL1
сообщение Apr 15 2005, 21:48
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 15-04-05
Из: Kieff
Пользователь №: 4 190



Не забывайте запускать WD. Если до след. запуска питание кондёра не успело сесть. Тогда кварц запусть нужно вручную. И не забыыайте, что флаги нужн сбрасывать вручную, те которые OSCFLT. Внутри кристала стоит защита от "дурака". Если чего не так сделал, т.е. пытаешся остановть DCO, а HS кварц ещё не фурычит - автоматом будет работать от DCO. Что-бы поправить нужно все флаги посбрасывать. HS Osc Fault определяется так: стоит кондёр и резюк, после Поелвик с защёлкиванием флага в тригер. Если кварц не фурычит - на кондёре ничего не детектируется, тогда защёлкивается флаг OSCFLT. Дальше только через ручной сброс этого флага. Так как он работает во всей схеме выбора(гарантированого рабочего) источника MCLK.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 23:24
Рейтинг@Mail.ru


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