Помощь с исходниками

Кто любит RISC в жизни, заходим, не стесняемся.
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Помощь с исходниками

Сообщение stepanici85 »

Здравствуйте форумчане.Обращаюсь к более знающим товарищам с просьбой подредактировать прошивку под другую часовую микросхему.маленикое предисловие, знакомый радиолюбители подарил лампы ин18 и ин8 и было решено собрать на них часы.понравился проект с этого сайта ,вот он https://cxem.net/mc/mc415.php .Но беда в том что в нём использована часовая микросхема pca2129 которую у нас в Молдавии не купить но есть в наличий ds3231.Обратился к автору часов с просьбой подогнать прошивку под ds3231,писал и в личку и в темы на которые он подписан но к сожалению ответа так и не получил.хотя автор часто появляется на форуме, вот и решил обратится к вам за помощью. Помогите пожалуйста с подгонкой прошивки под ds3231,ниже привожу исходники и ссылку на сайт с описанием на русском ds3231.

http://microsin.net/adminstuff/hardware ... e-rtc.html
Лампы есть, детали заказаны и печатка в процессе изготовления -будет жалко если так и не получится довести проект до конца.
Если что общался и к участникам форума паяльник за помощью но видать им тема ламповых часов не интересна так как помощь не не получил. Надеюсь здесь мне помогут благо тут много любителей часов на газоразрядных индикаторах.
Вложения
mc415-1.jpg
(239.37 КБ) 215 скачиваний
mc415_IN-18_SRC-1.rar
(189.39 КБ) 198 скачиваний
Реклама
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

Могу,но попозже, через пару дней.
Реклама
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

Спасибо большое что откликнулись ,мне не горит. Можно и через пару дней, я к тому времени как раз вытравлю печатку и соберу всё в кучу.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Помощь с исходниками

Сообщение Мурик »

Зачем внешняя часовая микросхема если часы встроены в микроконтроллер и есть вывод под батарейку?
На схеме это вывод 1 VBAT.
Реклама
Эиком - электронные компоненты и радиодетали
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

Мурик, хочешь переписать всю программу? ;)
я готов переделать модуль под ds3231, сиё не сложно, но перелопачивать всё из-за чьей-то безграмотности совершенно не хочу...
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Помощь с исходниками

Сообщение Мурик »

Почему всю? Только часть связанную с часами. Ее все равно придется переделывать.
Реклама
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3943078#p3943078"]Зачем внешняя часовая микросхема если часы встроены в микроконтроллер и есть вывод под батарейку?
На схеме это вывод 1 VBAT.[/uquote]
Могу предположить что применение внешней часовой микросхемы увеличивает точности хода часов.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение 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 вольт.
Так что, надо что-то с ним решать.
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

Здравствуйте.Понятия мои в программирование около нулевые так что всё понял в общих чертал. Но все-таки что-то удалось мне нарыть, может это как-то поможет в понятия алгоритма работы данного вывода. В обсуждениях под статьей проекта один пользователи просил прошивку под ds1307 и они если не ошибаюсь по алгоритмам работы пошожи между собой а в некоторых случаях можно даже заменить между собой (как вычитал там у них адреса регистров совпадают) но при условии что не исполизован пресловутый вывод CLKOUT(адреса разные). Ниже привожу изходники под ds1307 и коментариий автора,, Теперь микруха выбирается через дефайн PCA2129 в файле main.h.
1 - используется pca2129
0 - используется ds1307
То, что в архиве, скомпилировано под ds1307. ,,
файл по непонятным причинам не получается прикрепить, ссылка по которой можно скачать исходник https://cloud.mail.ru/public/WMZa/cmBygbYZr
Последний раз редактировалось stepanici85 Вт дек 22, 2020 18:22:51, всего редактировалось 1 раз.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

тогда имеет смысл выбрать ds1307, раз под нее всё готово, выход частоты у неё схож с pca2129.
Но смущает, что я не понял схемы. То ли чего-то не увидел, то ли схема сырая. Если бы делал я - то разобрался бы с этим, иначе какие-то непонятности в одном месте могут предполагать и в другом.
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

Хотелось бы конечно использовать ds3231 у нее и точности лучше и не надо внешнего кварца. Раз не получится подогнать под ds3231 то уже придется применить ds1307.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

точность - вопрос решаемый. Наверняка есть какая-то коррекция хода в ds1307, плюс разместить так, чтобы температурных колебаний было минимально. И прочие детальки в обвязке часов брать наиболее термостабильные.
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

Может ещё кто-то подтянется и внесет ясность как сконфигурировать ,, CLKOUT ,, (3-тий вывод ds3231) чтобы всё в купе заработало.
stepanici85
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 28, 2011 23:08:17
Откуда: Россия(Москва)-Молдавия

Re: Помощь с исходниками

Сообщение stepanici85 »

Здравствуйте. прошу о помощи, помогите пожалуйста разобраться и все-таки подружить мк с ds3231.платы уже на 50% собраны, завтра приедет недостающая часть деталей. Обидно если это всё так и останется просто кучей спаяных между собой деталей.Исполизование ds1307 пока оставлю на самый крайний случай, да и нету у меня её в наличии.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Помощь с исходниками

Сообщение 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 перейдет в высокоимпедансное состояние.
Кстати, его надо подтягивать к плюсу.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение 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.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Помощь с исходниками

Сообщение 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
Последний раз редактировалось Zhuk72 Вс дек 27, 2020 23:44:36, всего редактировалось 1 раз.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

Да. На Си именно так.
Ну, в общем, одинаково поняли.
Значит, для применения этих RTC в той схеме необходимо решить вопрос с нужностью этих 1 Гц.
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Помощь с исходниками

Сообщение Zhuk72 »

[uquote="BlackKilkennyCat",url="/forum/viewtopic.php?p=3945052#p3945052"]Возникают вопросы.
Что делает выход CLKOUT ?
Почему его подтянули к земле?
Он сконфигурирован как выход 1 гц, физически является open-drain, и его использование нигде не видать, ни как PB1, ни как альтернативно...[/uquote]
Зачем его притянули к 0 сказать не могу, но в main он используется несколько раз, в основном цикле и при настройке часов (ищите по CLOCK).
Вот только настройку этого пина я не нашел.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Помощь с исходниками

Сообщение BlackKilkennyCat »

а, да, есть. но я-то искал по схеме как PB1, а в main.h есть #define CLOCK (GPIOB->IDR & GPIO_IDR_IDR0)
что-то опять не сходится
Ответить

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