Страница 1 из 2
Помощь с исходниками
Добавлено: Чт дек 17, 2020 16:03:09
stepanici85
Здравствуйте форумчане.Обращаюсь к более знающим товарищам с просьбой подредактировать прошивку под другую часовую микросхему.маленикое предисловие, знакомый радиолюбители подарил лампы ин18 и ин8 и было решено собрать на них часы.понравился проект с этого сайта ,вот он
https://cxem.net/mc/mc415.php .Но беда в том что в нём использована часовая микросхема pca2129 которую у нас в Молдавии не купить но есть в наличий ds3231.Обратился к автору часов с просьбой подогнать прошивку под ds3231,писал и в личку и в темы на которые он подписан но к сожалению ответа так и не получил.хотя автор часто появляется на форуме, вот и решил обратится к вам за помощью. Помогите пожалуйста с подгонкой прошивки под ds3231,ниже привожу исходники и ссылку на сайт с описанием на русском ds3231.
http://microsin.net/adminstuff/hardware ... e-rtc.html
Лампы есть, детали заказаны и печатка в процессе изготовления -будет жалко если так и не получится довести проект до конца.
Если что общался и к участникам форума паяльник за помощью но видать им тема ламповых часов не интересна так как помощь не не получил. Надеюсь здесь мне помогут благо тут много любителей часов на газоразрядных индикаторах.
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 16:22:00
BlackKilkennyCat
Могу,но попозже, через пару дней.
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 16:35:11
stepanici85
Спасибо большое что откликнулись ,мне не горит. Можно и через пару дней, я к тому времени как раз вытравлю печатку и соберу всё в кучу.
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 22:36:10
Мурик
Зачем внешняя часовая микросхема если часы встроены в микроконтроллер и есть вывод под батарейку?
На схеме это вывод 1 VBAT.
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 22:44:28
BlackKilkennyCat
Мурик, хочешь переписать всю программу?

я готов переделать модуль под ds3231, сиё не сложно, но перелопачивать всё из-за чьей-то безграмотности совершенно не хочу...
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 23:05:33
Мурик
Почему всю? Только часть связанную с часами. Ее все равно придется переделывать.
Re: Помощь с исходниками
Добавлено: Чт дек 17, 2020 23:31:18
stepanici85
[uquote="Мурик",url="/forum/viewtopic.php?p=3943078#p3943078"]Зачем внешняя часовая микросхема если часы встроены в микроконтроллер и есть вывод под батарейку?
На схеме это вывод 1 VBAT.[/uquote]
Могу предположить что применение внешней часовой микросхемы увеличивает точности хода часов.
Re: Помощь с исходниками
Добавлено: Пн дек 21, 2020 02:53:47
BlackKilkennyCat
Возникают вопросы.
Что делает выход CLKOUT ?
Почему его подтянули к земле?
Он сконфигурирован как выход 1 гц, физически является open-drain, и его использование нигде не видать, ни как PB1, ни как альтернативно...
Его конфигурация выполнена таким макаром:
Код: Выделить всё
void pca2129_init(uint8_t t_meas, uint8_t out){
uint8_t r = 0;
r |= (t_meas<<6) | (out<<0); // запись значений дл¤ отправки в pca2129
I2C_Write(0xA2, 0x0F, r);
}
хотя, учитывая единственный вызов, достаточно было бы:
Код: Выделить всё
#define pca2129_init() I2C_Write(0xA2, 0x0F, 0x46);
ну или хотя бы не смещать 0 раз...
в общем, DS3231 теоретически можно заставить выдавать 1Гц, но мне не ясно условие его работы: VCC < VPF:
Battery-backed square-wave enable. When set to logic 1 with INTCN = 0 and VCC < VPF, this bit enables the 1Hz square wave. When BBSQW is logic 0, INT/SQW goes high impedance when VCC falls below VPF. This bit is disabled (logic 0) when power is first applied.
я так понял, что работа будет лишь когда питание стало меньше критичного, т.е. можно заставить мигать светодиодик "замени батарейку"
Vpf = power failure= примерно 2.5 вольт.
Так что, надо что-то с ним решать.
Re: Помощь с исходниками
Добавлено: Вт дек 22, 2020 18:08:00
stepanici85
Здравствуйте.Понятия мои в программирование около нулевые так что всё понял в общих чертал. Но все-таки что-то удалось мне нарыть, может это как-то поможет в понятия алгоритма работы данного вывода. В обсуждениях под статьей проекта один пользователи просил прошивку под ds1307 и они если не ошибаюсь по алгоритмам работы пошожи между собой а в некоторых случаях можно даже заменить между собой (как вычитал там у них адреса регистров совпадают) но при условии что не исполизован пресловутый вывод CLKOUT(адреса разные). Ниже привожу изходники под ds1307 и коментариий автора,, Теперь микруха выбирается через дефайн PCA2129 в файле main.h.
1 - используется pca2129
0 - используется ds1307
То, что в архиве, скомпилировано под ds1307. ,,
файл по непонятным причинам не получается прикрепить, ссылка по которой можно скачать исходник
https://cloud.mail.ru/public/WMZa/cmBygbYZr
Re: Помощь с исходниками
Добавлено: Вт дек 22, 2020 18:18:53
BlackKilkennyCat
тогда имеет смысл выбрать ds1307, раз под нее всё готово, выход частоты у неё схож с pca2129.
Но смущает, что я не понял схемы. То ли чего-то не увидел, то ли схема сырая. Если бы делал я - то разобрался бы с этим, иначе какие-то непонятности в одном месте могут предполагать и в другом.
Re: Помощь с исходниками
Добавлено: Вт дек 22, 2020 18:42:35
stepanici85
Хотелось бы конечно использовать ds3231 у нее и точности лучше и не надо внешнего кварца. Раз не получится подогнать под ds3231 то уже придется применить ds1307.
Re: Помощь с исходниками
Добавлено: Вт дек 22, 2020 18:47:16
BlackKilkennyCat
точность - вопрос решаемый. Наверняка есть какая-то коррекция хода в ds1307, плюс разместить так, чтобы температурных колебаний было минимально. И прочие детальки в обвязке часов брать наиболее термостабильные.
Re: Помощь с исходниками
Добавлено: Вт дек 22, 2020 19:21:52
stepanici85
Может ещё кто-то подтянется и внесет ясность как сконфигурировать ,, CLKOUT ,, (3-тий вывод ds3231) чтобы всё в купе заработало.
Re: Помощь с исходниками
Добавлено: Чт дек 24, 2020 12:43:09
stepanici85
Здравствуйте. прошу о помощи, помогите пожалуйста разобраться и все-таки подружить мк с ds3231.платы уже на 50% собраны, завтра приедет недостающая часть деталей. Обидно если это всё так и останется просто кучей спаяных между собой деталей.Исполизование ds1307 пока оставлю на самый крайний случай, да и нету у меня её в наличии.
Re: Помощь с исходниками
Добавлено: Сб дек 26, 2020 22:23:28
Zhuk72
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3945052#p3945052"]В общем, DS3231 теоретически можно заставить выдавать 1Гц, но мне не ясно условие его работы: VCC < VPF:
Battery-backed square-wave enable. When set to logic 1 with INTCN = 0 and VCC < VPF, this bit enables the 1Hz square wave. When BBSQW is logic 0, INT/SQW goes high impedance when VCC falls below VPF. This bit is disabled (logic 0) when power is first applied.
я так понял, что работа будет лишь когда питание стало меньше критичного, т.е. можно заставить мигать светодиодик "замени батарейку"
Vpf = power failure= примерно 2.5 вольт.
Так что, надо что-то с ним решать.[/uquote]
Если по адресу 0x0E прописать в биты INTCN, RS1 и RS2 нули, то на выводе INT/SQ будет меандр 1 Гц. Если при этих условиях бит BBSQW по тому же адресу выставить в 1, то при понижении питания меандр будет продолжать выдаваться, а если BBSQW = 0, то вывод INT/SQ перейдет в высокоимпедансное состояние.
Кстати, его надо подтягивать к плюсу.
Re: Помощь с исходниками
Добавлено: Вс дек 27, 2020 00:19:43
BlackKilkennyCat
Zhuk72, а я вот иначе прочитал.
When set to logic 1 with INTCN = 0 and VCC < VPF, this bit enables the 1Hz square wave.
Когда выполнено условие ( INTCN = 0 и VCC < VPF) тогда установка бита в 1 выдаст меандр 1 Гц.
Что-то не видно тут "при понижении питания меандр будет продолжать выдаваться"
Я в таких случаях тест на практике делаю, но у меня нет таких RTC.
Re: Помощь с исходниками
Добавлено: Вс дек 27, 2020 11:26:46
Zhuk72
(VCC < VPF) = "при понижении питания" (т.е. ниже 2.5V).
Дальше
Если по адресу 0x0E прописать в биты INTCN, RS1 и RS2 нули
т.е.
INTCN = 0
соответственно
на выводе INT/SQ будет меандр 1 Гц
Так что я писал то же, что и вы.
Если выразить на Си, то
Код: Выделить всё
if((INTCN ==0) && (RS1 ==0) && (RS2 == 0) && (BBSQW = 1) && (VCC < VPF)) INT/SQ = 1Hz
else INT/SQ = Hi-Z
Re: Помощь с исходниками
Добавлено: Вс дек 27, 2020 19:17:38
BlackKilkennyCat
Да. На Си именно так.
Ну, в общем, одинаково поняли.
Значит, для применения этих RTC в той схеме необходимо решить вопрос с нужностью этих 1 Гц.
Re: Помощь с исходниками
Добавлено: Вс дек 27, 2020 23:42:32
Zhuk72
[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3945052#p3945052"]Возникают вопросы.
Что делает выход CLKOUT ?
Почему его подтянули к земле?
Он сконфигурирован как выход 1 гц, физически является open-drain, и его использование нигде не видать, ни как PB1, ни как альтернативно...[/uquote]
Зачем его притянули к 0 сказать не могу, но в main он используется несколько раз, в основном цикле и при настройке часов (ищите по CLOCK).
Вот только настройку этого пина я не нашел.
Re: Помощь с исходниками
Добавлено: Вс дек 27, 2020 23:59:18
BlackKilkennyCat
а, да, есть. но я-то искал по схеме как PB1, а в main.h есть #define CLOCK (GPIOB->IDR & GPIO_IDR_IDR0)
что-то опять не сходится