DS1302 - кварц
|
|
ADMIN |
Дата: Ср, 16.01.2008, 12:49 | Сообщение # 1 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
У кого есть соображения почему не запускается кварц? Может кто сталкивался?
|
|
|
|
ADMIN |
Дата: Сб, 19.01.2008, 08:35 | Сообщение # 2 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Сам разобрался. Бит HALF не сбросил. У кого вопросы пишите сюда.
|
|
|
|
Gennadiy |
Дата: Пн, 08.09.2008, 13:27 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
5
Замечания:
±
На сайте с 08.09.2008
Статус:
Offline
|
Здравствуйте! Есть аппарат в котором используется микросхема DS1302, проблемма в следующем, если обесточить эту микросхему(т.е отключить питание VCC1 и VCC2), то после включения кварц 32кГц не запускается, питание на кварц приходит. Подскажите как вы справились с этой проблеммкой. Спасибо.
Сообщение отредактировал
Gennadiy - Пн, 08.09.2008, 13:28
|
|
|
|
ADMIN |
Дата: Пн, 08.09.2008, 15:26 | Сообщение # 4 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Давно это было. Там, по-моему, не помню уже, к запуску кварца были требования - два кондера по 6 пФ и конструктив особенный (разводка платы). В ДШ описано. Но у меня запускался без кондеров и всего остального. В данном случае могу посоветовать поменять кварц, или кондерами поиграться, если они там есть.
|
|
|
|
Gennadiy |
Дата: Пн, 08.09.2008, 15:29 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
5
Замечания:
±
На сайте с 08.09.2008
Статус:
Offline
|
Спасибо за ответ! Не могли бы вы подробнее описать процедуру сброса CLOCK HALT FLAG?
|
|
|
|
demanik |
Дата: Пн, 08.09.2008, 20:23 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 08.09.2008
Статус:
Offline
|
Спасибо за ответ. Я прошу прощения, мой вопрос покажется вам слишком простым, но в этом собственно и заключается вся моя проблема, я не знаю как физически записать на конкретном устройстве этот бит в регистр секунд.Что для этого нужно, Какой-то специальный программатор или может есть другие способы? Опишите сам процесс, с какой стороны подойти. Очень нужно победить этот аппарат, буду вам признателен. Спасибо.
|
|
|
|
demanik |
Дата: Пн, 08.09.2008, 22:44 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (Gennadiy) я не знаю как физически записать на конкретном устройстве этот бит в регистр секунд посмотрите тут 8-сообщение: http://basicpic.moy.su/forum/8-59-1 Там рабочий кусок для записи и чтения DS1307
Попробуй всё и вся... может быть пол...
|
|
|
|
ADMIN |
Дата: Вт, 09.09.2008, 07:32 | Сообщение # 9 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
не путайте DS1302 с 3-проводным интерфейсом, с DS1307 с 2-проводным интерфейсом I2C
|
|
|
|
demanik |
Дата: Вт, 09.09.2008, 09:25 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 08.09.2008
Статус:
Offline
|
Я наверное немного неправильно задал вопрос. Вот есть плата, на которой стоит процессор AT90S2313 с нормальной рабочей программой, таймер DS1302(ну и много ещё чего), Так вот после того как села батарейка таймер остановился кварц не генерит, понятно что для того чтобы запустить таймер нужно сбросить седьмой бит в регистре секунд.КАК это сделать? Есть программатор Тритон V5.7, он поддерживает внутрисхемное программирование микросхем, в том числе и AT90S2313, но если я подключусь к шине SPI то как мне обратиться именно к нужному регистру таймера?
|
|
|
|
demanik |
Дата: Вт, 09.09.2008, 11:54 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (Gennadiy) Я наверное немного неправильно задал вопрос. Вам наверное нужно войти в меню установки времени, установить там время и подтвердить. При записи новых значений в часы проц по идее должен записать в регистр секунд 0 и кварц должен запуститься.
Попробуй всё и вся... может быть пол...
Сообщение отредактировал
demanik - Вт, 09.09.2008, 11:55
|
|
|
|
ADMIN |
Дата: Вт, 09.09.2008, 16:41 | Сообщение # 13 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 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 стоит, это он и есть, кварц не запускался из-за него. Поэкспериментируйте. программа для протона.
|
|
|
|
ADMIN |
Дата: Вт, 09.09.2008, 16:51 | Сообщение # 14 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Quote Но принцып запуска кварца (обнуления clock halt ) одинаковый или я ошибаюсь. Насчет этого не могу сказать, особо не интересовался DS1307. Я сейчас проектирую часы с термометром-термостатом вообще без DS-ок. Часы и минуты. Идут один-в-один. Прочитал про так называемый алгоритм Брезенхэма, позволяющий задавать при немного разных отрезках времени абсолютно точный общий ход часов. Используется он естественно не только для этого. Закончу, выложу. Там проблема небольшая, связанная с мерцанием отдельных сегментов во время прерывания. Но это только в протеусе, в реале руки не доходят собрать макет. Не хочется сырой проект выкладывать. Но если кому интересно, и желает попробовать исправить или оптимизировать программу, буду только рад, чужой опыт не помешает.
|
|
|
|
demanik |
Дата: Вт, 09.09.2008, 22:04 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (basicpic) Не хочется сырой проект выкладывать. Но если кому интересно Интересно бы взглянуть.Добавлено (10.09.2008, 4:04:36) ---------------------------------------------
Quote (basicpic) Так вот, не помню, в той или в другой ПП в конце 0 стоит Ммне для запуска хватает: I2CWrite SDA, SCL, RTC_write, 0, [0]
Попробуй всё и вся... может быть пол...
|
|
|
|