Генератор на 32768Гц. с цифровой подстройкой на МК

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

Здравствуйте уважаемые коты. :).
Есть потребность в изготовлении задающего генератора с цифровой коррекцией хода для электронных часов на советских БИС . Так как знания в программировании МК у меня нулевые, поэтому и прошу помощи. Требуется программа для МК позволяющая выдавать на выходе МК сигнал частотой 32768Гц. с возможностью коррекции/подстройки с помощью джамперов. Так как пишу в теме про PIC, значит программа в идеале могла бы быть под PIC16F628. :oops: Проект далеко не коммерческий, поэтому пишу в этом разделе, а не в "Есть работа". Уверен что программа простейшая, и не составит ни какого труда для опытного программиста. Может кто откликнется? :roll:

P.S технические подробности обязательно сообщу, если кто заинтересуется/предложит помощь.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так вроде и у советских часовых микрух входы генератора под такой кварц имелись...
Зачем дополнительную городушку, да еще с цифровой коррекцией коррекцией для бытового варианта цеплять? Тем более, что с согласованием уровней тоже поблемы повылазить могут (для той же 145-й серии). И ежли на МК, так может проще сразу секунд-генератор, чем дробленку выдавать - базовые генераторы МК предпочитают целые величины - даже с дробленкой для UART и то иногда проблемы бывають...
:dont_know:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

BOB51 писал(а):Так вроде и у советских часовых микрух входы генератора под такой кварц имелись
Имеются естественно. Генератор нужен для модификации уже готовых часов с целью повышения точности хода. Согласование уровней и т.д. и т.п. для меня не представляет абсолютно никаких проблем. Нужна прошивка, вот с этим беда. :cry:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 164
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Откуда: не с Уфы

Сообщение Родэрик »

Допустим, что 32768 периодов в секунду на ноге мы добились, а каков должен быть шаг поправки?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

Скажем ±10мкс. в секунду, или, если возможно, ±1мкс. в секунду. :oops:
Последний раз редактировалось korob Пн мар 21, 2016 14:23:38, всего редактировалось 1 раз.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Родэрик писал(а):а каков должен быть шаг поправки?
И самое главное - зачем он, если можно просто собрать точный и хорошо откалиброванный генератор на 32767 ?
Подстройку частоты можно сделать с помощью подстроечного конденсатора.
±1мкс. в секунду
Херня получится. Тем более, с 10 мкс. Уход периода на 1 мкс., при частоте 32 Кгц, даст уход частоты на 1 Кгц. О какой точности тут может идти речь ?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

Аlex писал(а):Уход периода на 1 мкс., при частоте 32 Кгц...
Причём здесь это? Я говорю о итоговой коррекции (после деления на 32768) ±1мкс. в секунду.
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Друг Кота
Аватара пользователя
Сообщения: 25584
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

А в чем проблема-то? :dont_know:
Вы не знаете как сделать интерфейс такой регулировки или не знаете как сделать саму эту регулировку?
Но саму секунду регулировать достаточно проблематично - придется сильно завышать тактовую частоту. Гораздо проще делать коррекцию времени в течении суток, увеличивая или уменьшая коэффициент деления входного прескалера по алгоритму Брезенхема.
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

КРАМ писал(а):А в чем проблема-то?
korob писал(а):...знания в программировании МК у меня нулевые...
:(
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

korob писал(а):Я говорю о итоговой коррекции (после деления на 32768) ±1мкс. в секунду.
Можно формировать 1 секунду самим контроллером и гораздо точнее. Собрал на макетке имитатор 176ИЕ12 на ATtiny2313. Пока формируется импульсы Т1...Т4 и секунда.
СпойлерИзображение
Жаль, что ориентируетесь на PIC. Можно было бы порезвиться.
Друг Кота
Аватара пользователя
Сообщения: 25584
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

korob писал(а):знания в программировании МК у меня нулевые
Ну так есть повод их приподнять до первого уровня.
Раз Вы открыли тему в ПИКах, значит берите доступный Вам контроллер и начинайте.
Часы на контроллерах можно выполнить по двум схемам тактирования. Либо кварц 32768 используют в качестве тактового генератора самого МК, либо на этом кварце делают второй генератор (он есть в МК и подключен к 1-му таймеру), а сам МК работает от внутреннего RC-генератора с достаточно высокой тактовой частотой. Обычно 4 или 8 МГц. Основное время МК спит, а на первом таймере делают генератор прерываний, который и реализует раз в секунду просыпание контроллера и инкремент времени.
Коррекция хода достигается периодическими разовыми торможениями - ускорениями этого генератора прерываний путем изменения его предделителя и/или предустановки самого таймера в прерывании.
Схему таких коррекций в течении суток выполняют по алгоритму Брезенхема, что позволяет уменьшить "муар" результирующей шкалы времени.
Последний раз редактировалось КРАМ Пн мар 21, 2016 16:51:34, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

akl писал(а):Можно формировать 1 секунду самим контроллером
Дело в том что нужно для
korob писал(а):модификации уже готовых часов с целью повышения точности хода
:wink:
akl писал(а):Жаль, что ориентируетесь на PIC. Можно было бы порезвиться.
Да я не религиозен в этом вопросе. :tea: Просто озвученных контроллеров у меня полтора ведра :))) , надёргал из списанной системы ТВ кодирования. Так что если ATtiny, пусть будет ATtiny. :)
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

korob писал(а):Я говорю о итоговой коррекции (после деления на 32768) ±1мкс.
Где вы об этом говорили ? :facepalm:
Речь идёт о частоте, а Вы о времени говорите. Что из этого можно понять ?

Ну и задам ещё раз вопрос. Чем не устроит Вас обычный калиброванный генератор ? Зачем нужен МК ?
Друг Кота
Аватара пользователя
Сообщения: 15736
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Так вопрос таки открытым остался:
чего имитировать?
одну линию с меандром 32768 Гц
или
одну линию с меандром 1 Гц
или
две линии соответствующие подключению кварца заданной частоты к выводам целевой БИС
?
:roll:
Насчет цифровой коррекции "условными енотами" - так любой промежуточный предделитель на 16-разрядном таймер-счетчике с данной задачей с успехом справится.
8)
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

BOB51 писал(а): Насчет цифровой коррекции "условными енотами" - так любой промежуточный предделитель на 16-разрядном таймер-счетчике с данной задачей с успехом справится.
8)
Если на выходе 1 Гц хотим получить, то можно. Для выхода 32678 - не получится.
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

BOB51 я тоже себе это представляю как управляемые счётчик-делитель, который раз в секунду в зависимости от значения коррекции меняет коэффициент счёта в ту или иную сторону.

P.S Нужен выход 32768Гц. А коррекция осуществлялась бы таким способом, что бы после деления до секунд (уже в часах) её можно было бы варьировать ±1мкс. в секунду.
Для выхода 32678 - не получится.
Почему?
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

korob писал(а):Нужен выход 32768Гц.
korob писал(а):я тоже себе это представляю как управляемые счётчик-делитель
А что он делить будет, если на выходе нужна частота в 32768 ?
Предположим, делитель будет 8-ми биный, это деление на 256. Тогда входная частота перед делителем должны быть 8388608 Гц.
Что Вы тут хотите корректировать ? Делить не на 256, а например, на 255 ? Тогда частота на выходе будет 32896 Гц. И причём тут мкс./сек. , тоже непонятно...
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

Ну например по-умолчанию делим тактовую 8МГц.(если такое возможно) на 244, раз в секунду меняем коэффициент счёта делителя на 245/243 на одно/два/три/и т.д. (в зависимости от необходимой коррекции) заполнения счётчика, а потом снова делим на 244. Через секунду всё повторяем. Т.е. из общего деления мы выкидываем/добавляем один или несколько тактов входной частоты 8МГц. Разве так не выйдет? :oops:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

1. https://datasheets.maximintegrated.com/ ... S32kHz.pdf
2. Как уже говорили частоту двигать подстроечным конденсатором. Часто подстроечник уже есть возле "гробика". Зачем вам именно цифровая коррекция?
3. Из дешевого ВЧ мусора сложно сделать генератор со стабильностью 10^-6. Будет плавать как кварц, так и ёмкости. Температура ушла и приехали. В результате получится не лучше чем с генератором на кварце 32768. Если только не делать термостат или подбирать емкости по ТКЕ.
4. Почему бы не обновить начинку часов? Скажем на том же пике и M41T81 или его внутр. часах с программной коррекцией.
Друг Кота
Аватара пользователя
Сообщения: 6643
Зарегистрирован: Чт авг 09, 2012 01:09:39
Откуда: Ливны

Сообщение korob »

1. Знаем. :) Но дорого очень. И опять же стабильность хороша, а вот точность ±1мин. в год. :(
2. Знаем. :) Нестабильно.
3. И опять знаем. :)
4. Это же не наш метод.© Часы на современной начинке уже есть, от kaligraf переделанные под ВЛИ, с коррекцией, точность -8с. в год :shock: , точней не получилось. :) Вот и здесь хочу подобную коррекцию. :oops:
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Ответить

Вернуться в «PIC»