igork80 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Помогите разобраться. При замене на плате процессора LPC2368 на pin-to-pin LPC1768 не удается запустить RTC. Проявляется следующий эффект: При выключенном питании часы идут (во время начаньной инициализации считываются показания и они увеличиваются на время отключения питания) Далее показания часов не изменяется до выключения питания. В PCONP питание RTC включено. Инициализация часов эффекта не производит. На команду LPC_RTC -> CCR |= 0x1; не реагирует Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Вообще-то регистры RTC немного изменились. Библиотеку надо корректировать относительно 2368. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igork80 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Проблема в том, что нет никакого эффекта в инициализации. Просто при включении питания часы стоят! 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); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Дело может быть в регистре CALIBRATION. Когда LPC_RTC -> CCR равен 0x01, то включена коррекция. Возможно CALIBRATION равен 0. Нужно в конце инициализации присваивать LPC_RTC -> CCR = 0x11; Ещё дело может быть в некорректных значениях некоторых регистров. Их нужно проверять и исправлять во время инициализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mmatsnev 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Почитайте Errata на данный кристалл. RTC в LPC17xx по сути не работает! Исправить обещают в середине этого года! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igork80 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба LPC_RTC -> CCR = 0x11; не помогло в регистре LPC_RTC -> RTC_AUX бит RTC_OSCF установлен в 1 При записи в этот бит 1, он кратковременно сбрасывается, затем устанавливается повторно. Возможно дело в кварце... Как можно это проверить? На LPC2368 все работало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prgjz 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Работает на 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); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igork80 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Дело было в кварце! Заменили на другой и все заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Дело было в кварце! Заменили на другой и все заработало. Только что устранил проблему с RTC на LPC1765 аналогичным образом. Заменил кварц на другой такой же. Кварц KX-327NHT фирмы Geyer. Причем на выходе генератора что-то похожее на генерацию было, но модуль RTC не работал - часы не шли. Замена на LPC1768 ничего не дала, только замена кварца решила проблему. На второй плате RTC с точно таким же кварцем (из одной упаковки) заработал сразу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mmatsnev 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Граждане! Аккуратно прочитайте Errata! Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igork80 0 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Граждане! Аккуратно прочитайте Errata! Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется". Класс! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба Класс! NXP из-за этого "класса" задерживают старшие версии этой серии. Но к июлю обещают все залатать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pofikus 0 2 марта, 2011 Опубликовано 2 марта, 2011 · Жалоба NXP из-за этого "класса" задерживают старшие версии этой серии. Но к июлю обещают все залатать... а LPC1768 тоже обещали починить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 2 марта, 2011 Опубликовано 2 марта, 2011 · Жалоба Граждане! Аккуратно прочитайте Errata! Дело в том, что в кристалле есть ошибка! Сейчас при текущем кварце и в текущих условиях часы будут работать, но НЕТ никакой гарантии, что при другой температуре или с другим кварцем это все "заведется". В Errata написано что не работает в температурном диапазоне -40..+85. И все. А домыслить уже можно по-разному, мне деваться было некуда - поэтому домыслил в таком ключе что в коммерческом диапазоне оно таки работает :). Дело в том, что в 17xxx очень экономичный и "низкоамплитудный" генератор. Конденсаторы на "часовой кварц" надо ставить обязательно. Емкость желательно побольше - от 33пФ, тогда (по моему опыту) генератор запускается достаточно стабильно даже на кварцах с высоким последовательным сопротивлением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 3 марта, 2011 Опубликовано 3 марта, 2011 · Жалоба Конденсаторы на "часовой кварц" надо ставить обязательно. Емкость желательно побольше - от 33пФ, тогда (по моему опыту) генератор запускается достаточно стабильно даже на кварцах с высоким последовательным сопротивлением.А какая при этом получается погрешность частоты? Конденсаторы ведь не "от балды" ставятся, они выбираются в дополнение к емкостям выводов, монтажа, кварцедержателя так, чтобы суммарная емкость соответствовала нагрузочной емкости кварца (CL). Типовые значения CL для большинства часовых кварцев 12,5пФ и 6пФ. Я ставил 24пФ, но долговременной проверки точности хода RTC в LPC1768 и LPC1765 пока не проводил. У вас есть какой-то результат при использовании емкостей 33пФ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться