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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
sKWO
сообщение Apr 2 2008, 16:58
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(ILYAUL @ Apr 2 2008, 19:56) *
Всё таки я его запустил.

Поздравляю, не знал что столько проблем может быть с часовым кварцом.
Ставил простой, выпаянный с китайских часов к МЕГЕ8535 и 88, 168 тикал как "часы" smile.gif


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
alux
сообщение Oct 23 2008, 11:10
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



У меня также не запускается часовой кварц, подключеный к AT90USB1287. Конденсаторов на выводах кварца нет. Пример RTC взял из AVR134, немного подкорректировал:
Код
void rtc_Init(void)
{                          
    //volatile unsigned int temp0, temp1;  
//    for(temp0=0; temp0<0x0040; temp0++)   // Wait for external clock crystal to stabilize
//        for(temp1=0; temp1<0xFFFF; temp1++);
delay_ms(2000);

    DDRF |= (1<<MCLK);
    PORTF |= (1<<MCLK);         // Настроить MCLK на выход
        
    TIMSK2 &=~((1<<TOIE2)|(1<<OCIE2A));     // Disable TC2 interrupt
    ASSR |= (1<<AS2);           // set Timer/Counter2 to be asynchronous from the CPU clock
                                // with a second external clock(32,768kHz)driving it.  
    TCNT2 = 0x00;
    TCCR2B = 0x05;              // prescale the timer to be clock source / 128 to make it
                                // exactly 1 second for every overflow to occur
    while(ASSR&0x11);           // Wait until TCNT2, TCCR2B is updated    // TC2
    
    TIFR2 |= (1 << TOV2);
    TIMSK2 |= (1<<TOIE2);       // set 8-bit Timer/Counter2 Overflow Interrupt Enable                            
    
    __enable_interrupt();       // set the Global Interrupt Enable Bit    
}
Проблема в отсутствии конденсаторов или в настройках? МК распаян на монтажной платке. Работоспособность проверяю изменением пина (BEEP) в обработчике прерывания TIMER2_OVF_ISR(). Кварц - на расстоянии 1...1,5 см от выводов TOSC1, 2.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 23 2008, 14:03
Сообщение #18


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Да вот и я на этом прокололся в свое время. И порты настраивал - нафинг не надо и емкости вешал и кварцы менял , пока в DS не нашёл сию строчку "Applying an external clock source to TOSC1 requires EXCLK in the ASSR Register written to one logic one. Сие онзначало - чтобы запустить часовой кварц надо бы подключить внутренний генератор , при этом эти выходы перестают быть портами ВВ . Специально проверил это и в Вашем DS , а точнее эта выделенная строчка оттуда - У Вас параграф 6.9 Т.е. В регистре ASSR установите EXCLK - 1( один)


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
alux
сообщение Oct 23 2008, 15:33
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Цитата(ILYAUL @ Oct 23 2008, 17:03) *
пока в DS не нашёл сию строчку "Applying an external clock source to TOSC1 requires EXCLK in the ASSR Register written to one logic one. Сие онзначало - чтобы запустить часовой кварц надо бы подключить внутренний генератор , при этом эти выходы перестают быть портами ВВ .
Сие означает совсем другое - у Вас плохо с английским smile.gif
На самом деле установка EXCLK бита в "1" означает работу от внешнего источника тактовых импульсов (32768 Гц) , подключенного к TOSC1 выводу вместо кварца 32768 Гц.

PS. Проблема была в кварце: поменял на выпаяный из старого советского будильника кварц, и все заработало, даже без конденсаторов.

Но, все-же, конденсаторы нужны - для кварца 12pF надо повесить на выводах на землю по 25pF, так не нашел никакой информации о наличии встроенных конденсаторах в данном контроллере.

Сообщение отредактировал alux - Oct 24 2008, 11:47
Go to the top of the page
 
+Quote Post
alux
сообщение Dec 28 2009, 09:21
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Пришлось снова поднимать старую тему...
Не работает асинхронный таймер на Atmega8535.
Фьюзы запрограммированы так:
CKOPT=0, CKSEL=F, SUT=2.
Основной кварц - 16МГц.
Часовой кварц припаян на соответствующие ножки мк без конденсаторов.
Код
#pragma vector=TIMER2_OVF_vect
__interrupt void TIMER2_OVF_ISR()
{  
    PORTD ^= (1 << GREEN);
}

void Initialise()
{
   delay_ms(1000);

    // Timer2 initialisation with a second external clock (32,768kHz) driving it
    // Set Timer/Counter2 to be asynchronous from the CPU clock
    ASSR |= (1 << AS2);          
  
    TCNT2 = 0x00;
    TCCR2 = 0x05;  //(1 << CS22) | (0 << CS21) | (1 << CS20); // prescale the timer to be clock source/128 to make it
                                                     // exactly 1 second for every overflow to occur
    //while(ASSR & ((1 << TCR2UB) | (1 << TCN2UB)));   // Wait until TCNT2, TCCR2B is updated  
      
    TIFR |= (1 << TOV2);      // Clear TC2 interrupt flag
    TIMSK |= (1 << TOIE2);    // set 8-bit Timer/Counter2 Overflow Interrupt Enable  

    MCUCR = (1 << SE);        // Idle по команде __sleep()

__enable_interrupt();   // allow all enabled interrupts
}

void main()
{
    Initialise();           // set up I/O registers, flags & variables

    for(;;)
    {  
        //Idle. Спать до следующего прерывания
        __sleep();
    }
}


Если раскоментировать строчку while(ASSR & ... , то программа остается в этом цикле навсегда.
Без этой строчки программа работает, но не запускается прерывание таймера2.
Эрраты на Atmega8535 нет. Какие будут соображения?
Go to the top of the page
 
+Quote Post
million68
сообщение Dec 28 2009, 09:58
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 9-03-07
Из: USSR
Пользователь №: 26 007



А. Другой кварц (мож этот не запускается, посмотрите осцилом)
В. Внешний клок (AS2=0) для проверки программы на глюки...
Go to the top of the page
 
+Quote Post
alux
сообщение Dec 28 2009, 13:27
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Проблема была в кварце.
Go to the top of the page
 
+Quote Post
niXto
сообщение Dec 28 2009, 13:48
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607



Если контроллер в TQFP-корпусе - проверьте монтаж и удалите все следы флюса от кварца, дорожек и ножек чипа. В 90% проблем с часовым кварцем на меге - именно это. Проверьте осциллографом или частотомером наличие генерации
Go to the top of the page
 
+Quote Post
awtoap
сообщение Dec 29 2009, 16:51
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 25-04-07
Пользователь №: 27 301



Проблема в кварцах (либо херовом генере в меге). В своё время я тоже долго долбался с этим. Были куплены кварцы штук сорок а запускаться не хотели сразу, точнее запускались где-то через минуту. Потом случайно нашел один кварц купленный на рынке и с ним все заработало сразу... Но выкидывать кучу купленных кварцев мне не захотелось и начал методом тыков экспериментировать...в результате всё воркен...добавил всего лиш задержку в код в нужном месте.

//Init Timer2
TCCR2B:= (1 shl CS22) or (1 shl CS21) or (1 shl CS20); //1024 Presc
Delay_ms(400); //Добавлено для быстрого выхода генератора часового кварца на рабочий режим
ASSR:= (1 shl AS2); //Enable Async Mode (включение тактирования от часового кварца)
TCNT2:= 0;
TIMSK2:= (1 shl TOIE2); //Enable Timer2 Int Overflov
Go to the top of the page
 
+Quote Post
VVlad
сообщение Feb 1 2010, 13:22
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Так значит, кварцевые резонаторы трудно проверить вне схемы, только подключением к процессору? Следы флюса не дают кварцу запуститься? Это верно и для других микроконтроллеров? В частности для MSP430F2012?
Go to the top of the page
 
+Quote Post

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

 


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


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