Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: terrarus, ivan_fd  
DS1302 - кварц
ADMIN Дата: Ср, 16.01.2008, 12:49  |                                                                                                                Сообщение # 1
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

У кого есть соображения почему не запускается кварц? Может кто сталкивался?
ЯНДЕКС Дата: 16.01.2008
ADMIN Дата: Сб, 19.01.2008, 08:35  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Сам разобрался. Бит HALF не сбросил. У кого вопросы пишите сюда.
Gennadiy Дата: Пн, 08.09.2008, 13:27  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2008

Статус: Offline

Здравствуйте!
Есть аппарат в котором используется микросхема DS1302, проблемма в следующем, если обесточить эту микросхему(т.е отключить питание VCC1 и VCC2), то после включения кварц 32кГц не запускается, питание на кварц приходит.
Подскажите как вы справились с этой проблеммкой. Спасибо.

Сообщение отредактировал Gennadiy - Пн, 08.09.2008, 13:28
ADMIN Дата: Пн, 08.09.2008, 15:26  |                                                                                                                Сообщение # 4
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Давно это было. Там, по-моему, не помню уже, к запуску кварца были требования - два кондера по 6 пФ и конструктив особенный (разводка платы). В ДШ описано. Но у меня запускался без кондеров и всего остального. В данном случае могу посоветовать поменять кварц, или кондерами поиграться, если они там есть.
Gennadiy Дата: Пн, 08.09.2008, 15:29  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2008

Статус: Offline

Спасибо за ответ! Не могли бы вы подробнее описать процедуру сброса CLOCK HALT FLAG?
demanik Дата: Пн, 08.09.2008, 20:23  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Gennadiy)
подробнее описать процедуру сброса CLOCK HALT FLAG?

В DS1307 бит 7 регистра 0 (регистр секунд) - это бит останова часов (clock halt - CH). Когда этот бит установлен в 1, тактовый генератор выключен. Когда сброшен в 0, - тактовый генератор включен.
После снятия основного питания и батареи (или при первом включении) этот бит устанавливается в 1, его нужно снимать програмно. Просто записать в регистр секунд 0. В DS1302 я думаю также.


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Пн, 08.09.2008, 20:27
Gennadiy Дата: Пн, 08.09.2008, 22:05  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2008

Статус: Offline

Спасибо за ответ. Я прошу прощения, мой вопрос покажется вам слишком простым, но в этом собственно и заключается вся моя проблема, я не знаю как физически записать на конкретном устройстве этот бит в регистр секунд.Что для этого нужно, Какой-то специальный программатор или может есть другие способы? Опишите сам процесс, с какой стороны подойти. Очень нужно победить этот аппарат, буду вам признателен. Спасибо.
demanik Дата: Пн, 08.09.2008, 22:44  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Gennadiy)
я не знаю как физически записать на конкретном устройстве этот бит в регистр секунд

посмотрите тут 8-сообщение: http://basicpic.moy.su/forum/8-59-1
Там рабочий кусок для записи и чтения DS1307


Попробуй всё и вся... может быть пол...

ADMIN Дата: Вт, 09.09.2008, 07:32  |                                                                                                                Сообщение # 9
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

не путайте DS1302 с 3-проводным интерфейсом, с DS1307 с 2-проводным интерфейсом I2C
demanik Дата: Вт, 09.09.2008, 09:25  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (basicpic)
не путайте DS1302 с 3-проводным интерфейсом, с DS1307 с 2-проводным интерфейсом I2C

Но принцып запуска кварца (обнуления clock halt ) одинаковый или я ошибаюсь.


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Вт, 09.09.2008, 09:26
Gennadiy Дата: Вт, 09.09.2008, 09:34  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 08.09.2008

Статус: Offline

Я наверное немного неправильно задал вопрос. Вот есть плата, на которой стоит процессор AT90S2313 с нормальной рабочей программой, таймер DS1302(ну и много ещё чего), Так вот после того как села батарейка таймер остановился кварц не генерит, понятно что для того чтобы запустить таймер нужно сбросить седьмой бит в регистре секунд.КАК это сделать? Есть программатор Тритон V5.7, он поддерживает внутрисхемное программирование микросхем, в том числе и AT90S2313, но если я подключусь к шине SPI то как мне обратиться именно к нужному регистру таймера?
ЯНДЕКС Дата: 09.09.2008
demanik Дата: Вт, 09.09.2008, 11:54  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Gennadiy)
Я наверное немного неправильно задал вопрос.

Вам наверное нужно войти в меню установки времени, установить там время и подтвердить. При записи новых значений в часы проц по идее должен записать в регистр секунд 0 и кварц должен запуститься.


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Вт, 09.09.2008, 11:55
ADMIN Дата: Вт, 09.09.2008, 16:41  |                                                                                                                Сообщение # 13
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

вот проект, делал часы на больших индикаторах, с термометром и как раз на DS1302. Правда то ли кварц на ДС-ке не правильно подобрал, то ли еще что, но часы стабильно отставали через неделю на 1-2 минуты. Программу работы с часами нашел в сети, остальное сам на скорую руку собирал, торопился, интересно было, комментов нет.
Там строчка
Code

RST =1                       ' Ready for transfer  
         SHOut DTA, CLK, lsbfirst, [$8e ,0]      ' Enable write  
         RST =0

или
Code

DS1302_WRITE:
                     If SECONDS.7=1 Then SECONDS.7=0
             RST = 1
                     SHOut DTA, CLK, lsbfirst, [$be,SECONDS,MINUTES,HOURS,DATE,MONTH,DAY,YEAR,0]
             RST = 0
Return

Так вот, не помню, в той или в другой ПП в конце 0 стоит, это он и есть, кварц не запускался из-за него. Поэкспериментируйте. программа для протона.

Прикрепления: 2302263.rar (112.5 Kb)
ADMIN Дата: Вт, 09.09.2008, 16:51  |                                                                                                                Сообщение # 14
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote
Но принцып запуска кварца (обнуления clock halt ) одинаковый или я ошибаюсь.

Насчет этого не могу сказать, особо не интересовался DS1307. Я сейчас проектирую часы с термометром-термостатом вообще без DS-ок. Часы и минуты. Идут один-в-один. Прочитал про так называемый алгоритм Брезенхэма, позволяющий задавать при немного разных отрезках времени абсолютно точный общий ход часов. Используется он естественно не только для этого. Закончу, выложу. Там проблема небольшая, связанная с мерцанием отдельных сегментов во время прерывания. Но это только в протеусе, в реале руки не доходят собрать макет. Не хочется сырой проект выкладывать. Но если кому интересно, и желает попробовать исправить или оптимизировать программу, буду только рад, чужой опыт не помешает.
demanik Дата: Вт, 09.09.2008, 22:04  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (basicpic)
Не хочется сырой проект выкладывать. Но если кому интересно

Интересно бы взглянуть.

Добавлено (10.09.2008, 4:04:36)
---------------------------------------------

Quote (basicpic)
Так вот, не помню, в той или в другой ПП в конце 0 стоит

Ммне для запуска хватает: I2CWrite SDA, SCL, RTC_write, 0, [0]


Попробуй всё и вся... может быть пол...

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: