Перейти к содержанию
    

Кто работал с RealTimeClock микросхемами?

Собственно, проблема в следующем: Раньше я использовал MK41T56N, но она слишком дорогая по сравнению с 12-й серией ПИКов. Возникла идея написать прогу для 12С508/509/F629/675 и т.д. что бы получить хоть какой-то приемлемый результат. Может кто с такой задачей сталкивался?

Изменено пользователем DenisIV

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, проблема в следующем: Раньше я использовал MK41T56N, но она слишком дорогая по сравнению с 12-й серией ПИКов. Возникла идея написать прогу для 12С508/509/F629/675 и т.д. что бы получить хоть какой-то приемлемый результат. Может кто с такой задачей сталкивался?
MK41T56N - это 8К RAM, батарейка на "горбе", плюс часы с кварцем. Что из этого вы хотите реализовать на PIC?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

MK41T56N - это 8К RAM, батарейка на "горбе", плюс часы с кварцем. Что из этого вы хотите реализовать на PIC?

Батарейка и кварц внешние, по любому будут. 8К озу мне не надо(ну может байт 20-40), а часы необходимы, желательно учитывающие лето/зиму.

 

Кстати, если быть поточнее, то у MK41T56 64 байта озу, из которых 8 отведено под время/управление...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Батарейка и кварц внешние, по любому будут. 8К озу мне не надо(ну может байт 20-40), а часы необходимы, желательно учитывающие лето/зиму.

 

Кстати, если быть поточнее, то у MK41T56 64 байта озу, из которых 8 отведено под время/управление...

 

А ds1307/ds1302 - не подойдут ? - I2C шина часы и память + батарейка и часовой кварц.

Вроде по цене скромнее Вашего варианта МС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я согласен на счет скромности цены на dallas/maxim, но скромность PIC12F629-I/SN еще скромнее... на тех же 20-25% Т.е. примерная цена мк41т56 $1.5, ds1302/7 $1.3 а PIC12F629 $0.9. Если выпустить не одну тысячу приборов получится прямая экономия $600если PIC($200 если ds1307) на тысячу по сравнению с мк41т56. Это аргумент в сторону PIC. Хотя мне не принципиален девайс, но альтернативы я не вижу. Поэтому и спрашиваю совета: может другой проц или ещё что-то... (на логике не предлагать)

Для PIC прогу смогу написать сам, но меня смущает как сделать обмен между часами и контроллером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для PIC прогу смогу написать сам, но меня смущает как сделать обмен между часами и контроллером.

Непонятно, что Вы все таки хотите ? Сделать часы на PIC без микросхемы RTC или в связке PIC+RTC?

Если в связке, то обмен реализовать как софтовый I2C (если использовать конечно RTC с протоколом I2C).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я согласен на счет скромности цены на dallas/maxim, но скромность PIC12F629-I/SN еще скромнее... на тех же 20-25% Т.е. примерная цена мк41т56 $1.5, ds1302/7 $1.3 а PIC12F629 $0.9.

Для PIC прогу смогу написать сам, но меня смущает как сделать обмен между часами и контроллером.

629 для этого не очень подходит - нет подходящих ресурсов. Кстати, одним контроллером по-любому не обойтись, так что к стоимости придется приплюсовать как минимум стоимость сдвоенного диода. Потребление, опять же, как ни крути, хоть самые микропотребляющие PIC или MSP, но до типичных 500...1000 nA у "аппаратных" RTC не доберешься, и там, где на 10 лет хватало махонькой литиевой пуговицы, какой-нибудь CR2032 хватит хорошо если на год. Однако, если потребление некритично, а ход RTC надо поддерживать эпизодически, а остальную часть времени чтобы питать от более-менее емкого источника, то можно, конечно. Скажем, взять 16F610 (которая еще дешевле), таймер пустить от кварца, по прерыванию просыпаться в RC-режиме и обслуживать RTC, а связь с внешним миром - самое простое, это программный UART.

 

IMHO, если это так критично, правильнее попробовать сделать RTC средствами основного процессора. Хотя, конечно, случаи всякие бывают...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно, что Вы все таки хотите ? Сделать часы на PIC без микросхемы RTC или в связке PIC+RTC?

Если в связке, то обмен реализовать как софтовый I2C (если использовать конечно RTC с протоколом I2C).

Именно на базе PIC без микросхемы I2C.

 

629 для этого не очень подходит - нет подходящих ресурсов. Кстати, одним контроллером по-любому не обойтись, так что к стоимости придется приплюсовать как минимум стоимость сдвоенного диода. Потребление, опять же, как ни крути, хоть самые микропотребляющие PIC или MSP, но до типичных 500...1000 nA у "аппаратных" RTC не доберешься, и там, где на 10 лет хватало махонькой литиевой пуговицы, какой-нибудь CR2032 хватит хорошо если на год. Однако, если потребление некритично, а ход RTC надо поддерживать эпизодически, а остальную часть времени чтобы питать от более-менее емкого источника, то можно, конечно. Скажем, взять 16F610 (которая еще дешевле), таймер пустить от кварца, по прерыванию просыпаться в RC-режиме и обслуживать RTC, а связь с внешним миром - самое простое, это программный UART.

 

IMHO, если это так критично, правильнее попробовать сделать RTC средствами основного процессора. Хотя, конечно, случаи всякие бывают...

Потребление не настолько критично(6 месяцев и аккум 80mah 3.6v) диодика хватит и внутреннего от встроенной защиты (конечно, 0.6v жалко...) Вот только я на распутье: сделать ли тактовую частоту 32/4=8кГц и на ней пытаться всё делать (это будет ~10uA) и это будет самый дешевый проц без векторов прерываний или взять проц чуть подороже, отпустить проц в спячку на 1с и просыпаясь считать время.

Цена говорит за PIC10F200 (дешевле не нашел)

Чутьё подсказывает, что 12F629...

А я пока пытаюсь просчитать, как может работать прога и что успеет сделать на 32кГц тактовой и какой интерфейс получится.

P.S. 629 дешевле 610 на 2 цента... Проверь поставщиков...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, ну неужели ни у кого никаких идей нет?
Идея высказана давно: лучше (энергетически более эффективно) "спать" как можно более длительное время, а при необходимости "просыпаться" и на высокой частоте (тактирования) быстренько сделать все необходимые операции и снова "уснуть". Такой способ более универсальный и энергосберегающий, чем тот, при котором на небольшой частоте операции выполняются длительное время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Идея высказана давно: лучше (энергетически более эффективно) "спать" как можно более длительное время, а при необходимости "просыпаться" и на высокой частоте (тактирования) быстренько сделать все необходимые операции и снова "уснуть". Такой способ более универсальный и энергосберегающий, чем тот, при котором на небольшой частоте операции выполняются длительное время.

Так наверное и поступлю. Проц действительно еще хорош и тем, что в прогу можно заложить компенсацию ухода часов (как например в мк41т56) И дешевле...

Спасибо всем откликнувшимся!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цена говорит за PIC10F200 (дешевле не нашел)

Чутьё подсказывает, что 12F629...

у PIC10F200 только внутрений генератор есть. К 12F629 можно и кварц пристроить.

Если не нужна высокая экономичность, то можно и с кварцем 32 кГц не засыпать.

Если же засыпать, то нужно средство, выводящее МК из спячки (причем с точными промежуткми времени, а не через WDT), ведь в сонном режиме таймер от штатного тактового генератора останавливается.

 

В своей самоделке на PIC16F877 (887) я вначале делал программные часы, но точность была не велика (с штатным кварцем на 4 МГц). Позже поставил DS1307 к которой вместо батарейки пристроил ионистор на 0,1Ф (это устройство у меня каждый день включается и ионистор подзаряжается. На сутки заряда хватает, а больше я не пробовал).

 

но меня смущает как сделать обмен между часами и контроллером
тут уж как Вам удобнее. Проще всего написать обмен по SPI (но нужно как минимум 3-4 ножки задействовать), если есть еще одно устройство с таким интерфейсом - то подключить совсем не сложно. Для OneWire достаточно и одной ножки, но тут нужно четче соблюдать временные интервалы. Можно конечно и по UART организовать обмен....
Изменено пользователем Сергей К

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проц действительно еще хорош и тем, что в прогу можно заложить компенсацию ухода часов

 

 

Кстати, похоже в 24 серии ПИКов есть отдельный модуль Real-Time Clock and Calendar (RTCC), и ничего вообще писать программно не надо:

 

• Time: Hours, Minutes and Seconds

• 24-Hour Format (Military Time)

• Calendar: Weekday, Date, Month and Year

• Alarm Configurable

• Year Range: 2000 to 2099

• Leap Year Correction

• BCD Format for Compact Firmware

• Optimized for Low-Power Operation

• User Calibration with Auto-Adjust

• Calibration Range: ±2.64 Seconds Error per Month

• Requirements: External 32.768 kHz Clock Crystal

• Alarm Pulse or Seconds Clock Output on RTCC pin

Изменено пользователем SAR

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, ну неужели ни у кого никаких идей нет?

посмотрите в сторону DS3231 у нее встроенный кварц и калибровка по температуре,

в своем изделии использовал DS1306, такие капризные часы... перешел на DS3231 - ну прям праздник!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...