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

 
 
> LPC2134/01 (revD) странности с RTC
GetSmart
сообщение Aug 20 2008, 05:55
Сообщение #1


.
******

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



Запустил RTC от внешнего кварца 32768. Вроде идут. Но...
В регистре CTC должен храниться счётчик долей секунды. Обещано было что он 15 бит, соответственно пробегает от 0 до 32767. Я в старых своих проектах тупо его умножал на 1000 и сдвигал вправо на 15 бит чтобы получать значение миллисекунд. Но вчера обнаружил что он добегает от 0 до 65535. Во дела! smile.gif То есть когда он меньше 32768 - идёт первая половина секунды, больше - вторая.

Другая странность - во время работы процессора от VCC замыкаю часовой кварц и время не останавливается, а начинает бежать намного быстрее чем раньше. Раз в пять быстрее.

Третья странность - не могу запустить работу часов от PCLK, а не внешнего кварца. Устанавливаю CCR = 0x01 и часы просто останавливаются. Хотя хранят старые значения часов, минут и т.д. В PREINT и PREFRAC я естественно прописал нужные делители.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Aug 20 2008, 15:52
Сообщение #2


.
******

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



Цитата(zltigo)
Хотите получить какие-нибудь эффекты при неудачном стечении обстоятельств?

От эффекта Мёссбауэра я бы не отказался smile.gif Но думаю не прокатит. Или от эффекта низколетящего утюга smile.gif

Да, замыкая кварц часы начинают быстро бежать вперёд. А замыкая ёмкости кварца - останавливаются, как и положено.

А где указано, что нельзя менять CLKSRC "на ходу"? В мануале не нашёл такого.

Сообщение отредактировал GetSmart - Aug 20 2008, 15:52


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 20 2008, 16:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Aug 20 2008, 17:52) *
А где указано, что нельзя менять CLKSRC "на ходу"? В мануале не нашёл такого.

В описании бита CLKEN Clock Enable. When this bit is a one the time counters are enabled.
When it is a zero, they are disabled so that they may be initialized.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 21 2008, 13:33
Сообщение #4


.
******

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



Цитата(zltigo @ Aug 20 2008, 22:03) *
В описании бита CLKEN Clock Enable. When this bit is a one the time counters are enabled.
When it is a zero, they are disabled so that they may be initialized.
Тут речь только о счётчиках времени/даты. А о служебных битах речи нет. Так что я бы не стал преувеличивать смысл. Если счётчики прописывать на ходу, то ессно может перескочить секунда и в них будет не то что надо. У служебных битов таких приколов нет.

А вот я сегодня встретил приколы покруче. Из 5-ти LPC2134 четыре запустились с первого раза на ура. А один проц ни в какую не хотел. Сначала у него часы, минуты и секунды (а может и всё остальное) увеличивались каждую секунду на 1 одновременно smile.gif Потом я замкнул батарейку и они вообще перестали тикать, даже если рукой касаться кварца. Пришлось во время инициализации часов, после сброса проца, принудительно прописывать все регистры будильника, DOW и DOY еденицами. Никогда раньше такое не делал. Только после этого часики начали нормально тикать. Как у них там башню сорвало - до сих пор не понимаю smile.gif


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Aug 21 2008, 15:33) *
Тут речь только о счётчиках времени/даты. А о служебных битах речи нет.

Скажем так, нет речи о делении на "служебные" и "не служебные". Я предпочитаю остановить и сделать все без раздумий и толкований.
Цитата
Пришлось во время инициализации часов, после сброса проца, принудительно прописывать все регистры будильника, DOW и DOY еденицами. Никогда раньше такое не делал.

Наступал и инициализирую, если из регистров прочиталась ерунда
Код
    if( (MIN >= 60)||(HOUR >= 24)||(YEAR<2007)||(YEAR>2027) )
    {
          CCR &= (~CCR_CLKEN);         // Disable RTC;
        vDummyDelay_ms( 10 );
        SEC     = 0;
        MIN        = 0;
        HOUR    = 0;

        YEAR    = 2007;
        MONTH    = 2;
        DOM        = 1;
        DOY        = 58;

        ALSEC     = 0;
           ALMIN     = 0;
        ALHOUR     = 0;
        ALDOM     = 0;
        ALDOW     = 0;
        ALDOY     = 0;
        ALMON     = 0;
        ALYEAR     = 0;
....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 21 2008, 16:42
Сообщение #6


.
******

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



Цитата(zltigo @ Aug 21 2008, 21:11) *
Наступал и инициализирую, если из регистров прочиталась ерунда
Я почти уверен, что даже если в минутах, часах и году будут корректные значения, то часы могут глючить. ИМХО надо прописывать неиспользующиеся регистры всегда. Можно даже на ходу, особенно регистры будильника если он не используется. Кстати, все регистры RTC не инициализируются при сбросе (кроме PREINT и PREFRAC) и там может быть мусор, который надо вычищать. ХЗ как он влияет на логику часов. Приколы с увеличением всех регистров каждую секунду даже трудно объяснить.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GetSmart   LPC2134/01 (revD) странности с RTC   Aug 20 2008, 05:55
- - zltigo   Цитата(GetSmart @ Aug 20 2008, 07:55) Но ...   Aug 20 2008, 09:16
|- - GetSmart   Цитата(zltigo @ Aug 20 2008, 15:16) Цитат...   Aug 20 2008, 15:07
|- - zltigo   Цитата(GetSmart @ Aug 20 2008, 17:07) Ещё...   Aug 20 2008, 15:22
- - GetSmart   Цитата(zltigo)Уверены? Ну неоткуда большей частоте...   Aug 20 2008, 09:38
|- - zltigo   Цитата(GetSmart @ Aug 20 2008, 11:38) Вот...   Aug 20 2008, 13:53
||- - GetSmart   Цитата(zltigo @ Aug 21 2008, 21:11) Код i...   Aug 21 2008, 15:36
|||- - zltigo   Цитата(GetSmart @ Aug 21 2008, 17:36) Я о...   Aug 21 2008, 16:45
|||- - GetSmart   Цитата(zltigo @ Aug 21 2008, 22:45) А я ч...   Aug 21 2008, 16:53
|||- - zltigo   Цитата(GetSmart @ Aug 21 2008, 18:53) Суд...   Aug 21 2008, 17:20
|- - aaarrr   Цитата(GetSmart @ Aug 20 2008, 19:52) Да,...   Aug 20 2008, 16:08
- - GetSmart   Не могу понять проблему. Уже в двух из семи процес...   Aug 24 2008, 16:40
|- - zltigo   Цитата(GetSmart @ Aug 24 2008, 18:40) При...   Aug 24 2008, 16:48
- - GetSmart   Кварц и кондёры нормальные. Перепаиваю их на другу...   Aug 24 2008, 17:09
|- - zltigo   Цитата(GetSmart @ Aug 24 2008, 19:09) Ква...   Aug 24 2008, 17:22
- - GetSmart   Только что поменял кварц на отечественную лодочку ...   Aug 24 2008, 17:32
- - zltigo   Цитата(GetSmart @ Aug 24 2008, 19:32) Не ...   Aug 24 2008, 18:10
- - rezident   Цитата(GetSmart @ Aug 24 2008, 23:32) Тол...   Aug 24 2008, 18:37
- - zltigo   Цитата(rezident @ Aug 24 2008, 20:37) DT-...   Aug 24 2008, 20:24


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 04:38
Рейтинг@Mail.ru


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