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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 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 КБ) 217 скачиваний
mc415_IN-18_SRC-1.rar
(189.39 КБ) 198 скачиваний
Реклама
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Сообщение BlackKilkennyCat »

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

Сообщение stepanici85 »

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

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

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

Сообщение BlackKilkennyCat »

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

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

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

Сообщение stepanici85 »

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

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

Сообщение 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 раз.
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Сообщение BlackKilkennyCat »

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

Сообщение stepanici85 »

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

Сообщение BlackKilkennyCat »

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

Сообщение stepanici85 »

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

Сообщение stepanici85 »

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

Сообщение 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 лет смотрел черно-белый телевизор.
Контактная информация:
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

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

Сообщение 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 лет смотрел черно-белый телевизор.
Контактная информация:
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Сообщение BlackKilkennyCat »

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

Сообщение Zhuk72 »

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

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

Сообщение BlackKilkennyCat »

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

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