Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто работал с RealTimeClock микросхемами?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
DenisIV
Собственно, проблема в следующем: Раньше я использовал MK41T56N, но она слишком дорогая по сравнению с 12-й серией ПИКов. Возникла идея написать прогу для 12С508/509/F629/675 и т.д. что бы получить хоть какой-то приемлемый результат. Может кто с такой задачей сталкивался?
vvs157
Цитата(DenisIV @ Dec 14 2008, 15:58) *
Собственно, проблема в следующем: Раньше я использовал MK41T56N, но она слишком дорогая по сравнению с 12-й серией ПИКов. Возникла идея написать прогу для 12С508/509/F629/675 и т.д. что бы получить хоть какой-то приемлемый результат. Может кто с такой задачей сталкивался?
MK41T56N - это 8К RAM, батарейка на "горбе", плюс часы с кварцем. Что из этого вы хотите реализовать на PIC?
DenisIV
Цитата(vvs157 @ Dec 14 2008, 19:21) *
MK41T56N - это 8К RAM, батарейка на "горбе", плюс часы с кварцем. Что из этого вы хотите реализовать на PIC?

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

Кстати, если быть поточнее, то у MK41T56 64 байта озу, из которых 8 отведено под время/управление...
volodya
Цитата(DenisIV @ Dec 14 2008, 18:35) *
Батарейка и кварц внешние, по любому будут. 8К озу мне не надо(ну может байт 20-40), а часы необходимы, желательно учитывающие лето/зиму.

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


А ds1307/ds1302 - не подойдут ? - I2C шина часы и память + батарейка и часовой кварц.
Вроде по цене скромнее Вашего варианта МС.
AlexCrane
Есть
DS1337 i2c - без памяти
DS1338 i2c - с памятью
DS2417P 1-wire
PCF8584 - i2c - с памятью
DenisIV
Я согласен на счет скромности цены на 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 прогу смогу написать сам, но меня смущает как сделать обмен между часами и контроллером.
petrd
Цитата(DenisIV @ Dec 15 2008, 16:55) *
Для PIC прогу смогу написать сам, но меня смущает как сделать обмен между часами и контроллером.

Непонятно, что Вы все таки хотите ? Сделать часы на PIC без микросхемы RTC или в связке PIC+RTC?
Если в связке, то обмен реализовать как софтовый I2C (если использовать конечно RTC с протоколом I2C).
rx3apf
Цитата(DenisIV @ Dec 15 2008, 16:55) *
Я согласен на счет скромности цены на 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 средствами основного процессора. Хотя, конечно, случаи всякие бывают...
DenisIV
Цитата(petrd @ Dec 15 2008, 21:50) *
Непонятно, что Вы все таки хотите ? Сделать часы на PIC без микросхемы RTC или в связке PIC+RTC?
Если в связке, то обмен реализовать как софтовый I2C (если использовать конечно RTC с протоколом I2C).

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

Цитата(rx3apf @ Dec 15 2008, 22:16) *
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 цента... Проверь поставщиков...
DenisIV
Народ, ну неужели ни у кого никаких идей нет?
rezident
Цитата(DenisIV @ Dec 19 2008, 19:06) *
Народ, ну неужели ни у кого никаких идей нет?
Идея высказана давно: лучше (энергетически более эффективно) "спать" как можно более длительное время, а при необходимости "просыпаться" и на высокой частоте (тактирования) быстренько сделать все необходимые операции и снова "уснуть". Такой способ более универсальный и энергосберегающий, чем тот, при котором на небольшой частоте операции выполняются длительное время.
DenisIV
Цитата(rezident @ Dec 19 2008, 17:40) *
Идея высказана давно: лучше (энергетически более эффективно) "спать" как можно более длительное время, а при необходимости "просыпаться" и на высокой частоте (тактирования) быстренько сделать все необходимые операции и снова "уснуть". Такой способ более универсальный и энергосберегающий, чем тот, при котором на небольшой частоте операции выполняются длительное время.

Так наверное и поступлю. Проц действительно еще хорош и тем, что в прогу можно заложить компенсацию ухода часов (как например в мк41т56) И дешевле...
Спасибо всем откликнувшимся!
Сергей К
Цитата
Цена говорит за PIC10F200 (дешевле не нашел)
Чутьё подсказывает, что 12F629...
у PIC10F200 только внутрений генератор есть. К 12F629 можно и кварц пристроить.
Если не нужна высокая экономичность, то можно и с кварцем 32 кГц не засыпать.
Если же засыпать, то нужно средство, выводящее МК из спячки (причем с точными промежуткми времени, а не через WDT), ведь в сонном режиме таймер от штатного тактового генератора останавливается.

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

Цитата
но меня смущает как сделать обмен между часами и контроллером
тут уж как Вам удобнее. Проще всего написать обмен по SPI (но нужно как минимум 3-4 ножки задействовать), если есть еще одно устройство с таким интерфейсом - то подключить совсем не сложно. Для OneWire достаточно и одной ножки, но тут нужно четче соблюдать временные интервалы. Можно конечно и по UART организовать обмен....
SAR
Цитата(DenisIV @ Dec 20 2008, 15:37) *
Проц действительно еще хорош и тем, что в прогу можно заложить компенсацию ухода часов



Кстати, похоже в 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
zksystem
Цитата(DenisIV @ Dec 19 2008, 17:06) *
Народ, ну неужели ни у кого никаких идей нет?

посмотрите в сторону DS3231 у нее встроенный кварц и калибровка по температуре,
в своем изделии использовал DS1306, такие капризные часы... перешел на DS3231 - ну прям праздник!
Сергей Борщ
Цитата(DenisIV @ Dec 19 2008, 16:06) *
Народ, ну неужели ни у кого никаких идей нет?
К вашим рассчетам экономии добавить стоимость вашего рабочего времени, электроэнергии, аренды и т.п. Потом подумать, на каком количестве выпускаемых изделий экономия покроет ваши затраты и начнет приносить прибыль. Оценить время окупаемости и заняться чем-нибудь более продуктивным, например - улучшением функционала прибора, что даст больший экономический эффект.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.