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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> LPC1768 и RTC
igork80
сообщение Feb 28 2011, 09:29
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 15-02-11
Пользователь №: 63 002



Помогите разобраться. При замене на плате процессора LPC2368 на pin-to-pin LPC1768 не удается запустить RTC.
Проявляется следующий эффект:
При выключенном питании часы идут (во время начаньной инициализации считываются показания и они увеличиваются на время отключения питания)
Далее показания часов не изменяется до выключения питания.
В PCONP питание RTC включено.
Инициализация часов эффекта не производит.
На команду LPC_RTC -> CCR |= 0x1; не реагирует

Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 28 2011, 09:42
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вообще-то регистры RTC немного изменились. Библиотеку надо корректировать относительно 2368.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
igork80
сообщение Feb 28 2011, 09:51
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 15-02-11
Пользователь №: 63 002



Проблема в том, что нет никакого эффекта в инициализации.
Просто при включении питания часы стоят!

NVIC_DisableIRQ(RTC_IRQn);
LPC_RTC -> CCR = 0x0; //Clear the clock control register
LPC_RTC -> CIIR = 0x00000001;
LPC_RTC -> ALSEC = 0x00000005;
LPC_RTC -> AMR = 0x000000FE;
LPC_RTC -> CCR |= 0x1; //Start the RTC
NVIC_SetPriority(RTC_IRQn,15);
NVIC_EnableIRQ(RTC_IRQn);
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 28 2011, 11:00
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Дело может быть в регистре CALIBRATION.
Когда LPC_RTC -> CCR равен 0x01, то включена коррекция. Возможно CALIBRATION равен 0.
Нужно в конце инициализации присваивать LPC_RTC -> CCR = 0x11;

Ещё дело может быть в некорректных значениях некоторых регистров. Их нужно проверять и исправлять во время инициализации.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Mmatsnev
сообщение Feb 28 2011, 11:40
Сообщение #5





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



Почитайте Errata на данный кристалл.
RTC в LPC17xx по сути не работает! Исправить обещают в середине этого года!
Go to the top of the page
 
+Quote Post
igork80
сообщение Feb 28 2011, 11:59
Сообщение #6





Группа: Новичок
Сообщений: 5
Регистрация: 15-02-11
Пользователь №: 63 002



LPC_RTC -> CCR = 0x11; не помогло
в регистре LPC_RTC -> RTC_AUX бит RTC_OSCF установлен в 1
При записи в этот бит 1, он кратковременно сбрасывается, затем устанавливается повторно.
Возможно дело в кварце... Как можно это проверить? На LPC2368 все работало.
Go to the top of the page
 
+Quote Post
prgjz
сообщение Feb 28 2011, 13:01
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 3-01-07
Из: Germany
Пользователь №: 24 071



Работает на LPC1769 и LPC2387:
void rtc_init( void )
{
/// Enable power for RTC
PCONP_bit.PCRTC = 1;
// CTC reset and select RTC clock from 32 Khz.oscillator
#if __CORE__ < 7
if(LPC_RTC->CCR != 0x11)
LPC_RTC->CCR = 0x12;

#else
// If RTC is stopped, clear STOP bit.
if ( LPC_RTC->RTC_AUX & (0x1<<4) )
{
LPC_RTC->RTC_AUX |= (0x1<<4);
LPC_RTC->CCR = 0x12;
}
#endif
// Clear RTC interrupt register
LPC_RTC->ILR = 0xFF;
// Dasable all the alrams.
LPC_RTC->AMR = 0xFF;
// Enable only second count interrupt.
LPC_RTC->CIIR = 0x01;
// Disable all subsecond interrupts.
#if __CORE__ < 7
// Enable RTC
LPC_RTC->CCR = 0x11;
#else
LPC_RTC->CALIBRATION = 0;
LPC_RTC->CCR = 0x11;
#endif
rtc_read(0);
}
Go to the top of the page
 
+Quote Post
igork80
сообщение Feb 28 2011, 13:17
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 15-02-11
Пользователь №: 63 002



Дело было в кварце!
Заменили на другой и все заработало.
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 28 2011, 13:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(igork80 @ Feb 28 2011, 18:17) *
Дело было в кварце!
Заменили на другой и все заработало.

Только что устранил проблему с RTC на LPC1765 аналогичным образом. Заменил кварц на другой такой же. Кварц KX-327NHT фирмы Geyer. Причем на выходе генератора что-то похожее на генерацию было, но модуль RTC не работал - часы не шли. Замена на LPC1768 ничего не дала, только замена кварца решила проблему. На второй плате RTC с точно таким же кварцем (из одной упаковки) заработал сразу.
Go to the top of the page
 
+Quote Post
Mmatsnev
сообщение Feb 28 2011, 13:57
Сообщение #10





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



Граждане! Аккуратно прочитайте Errata!
Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется".
Go to the top of the page
 
+Quote Post
igork80
сообщение Feb 28 2011, 15:52
Сообщение #11





Группа: Новичок
Сообщений: 5
Регистрация: 15-02-11
Пользователь №: 63 002



Цитата(Mmatsnev @ Feb 28 2011, 16:57) *
Граждане! Аккуратно прочитайте Errata!
Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется".

Класс!
Go to the top of the page
 
+Quote Post
Axel
сообщение Feb 28 2011, 16:29
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



Цитата(igork80 @ Feb 28 2011, 18:52) *
Класс!


NXP из-за этого "класса" задерживают старшие версии этой серии. Но к июлю обещают все залатать...
Go to the top of the page
 
+Quote Post
pofikus
сообщение Mar 2 2011, 03:10
Сообщение #13


Участник
*

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



Цитата(Axel @ Feb 28 2011, 19:29) *
NXP из-за этого "класса" задерживают старшие версии этой серии. Но к июлю обещают все залатать...

а LPC1768 тоже обещали починить?
Go to the top of the page
 
+Quote Post
VslavX
сообщение Mar 2 2011, 05:32
Сообщение #14


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(Mmatsnev @ Feb 28 2011, 15:57) *
Граждане! Аккуратно прочитайте Errata!
Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется".

В Errata написано что не работает в температурном диапазоне -40..+85. И все. А домыслить уже можно по-разному, мне деваться было некуда - поэтому домыслил в таком ключе что в коммерческом диапазоне оно таки работает sm.gif.
Дело в том, что в 17xxx очень экономичный и "низкоамплитудный" генератор. Конденсаторы на "часовой кварц" надо ставить обязательно. Емкость желательно побольше - от 33пФ, тогда (по моему опыту) генератор запускается достаточно стабильно даже на кварцах с высоким последовательным сопротивлением.
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 3 2011, 00:37
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(VslavX @ Mar 2 2011, 10:32) *
Конденсаторы на "часовой кварц" надо ставить обязательно. Емкость желательно побольше - от 33пФ, тогда (по моему опыту) генератор запускается достаточно стабильно даже на кварцах с высоким последовательным сопротивлением.
А какая при этом получается погрешность частоты? Конденсаторы ведь не "от балды" ставятся, они выбираются в дополнение к емкостям выводов, монтажа, кварцедержателя так, чтобы суммарная емкость соответствовала нагрузочной емкости кварца (CL). Типовые значения CL для большинства часовых кварцев 12,5пФ и 6пФ. Я ставил 24пФ, но долговременной проверки точности хода RTC в LPC1768 и LPC1765 пока не проводил. У вас есть какой-то результат при использовании емкостей 33пФ?
Go to the top of the page
 
+Quote Post

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

 


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


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