Например TDA7294

Форум РадиоКот • Просмотр темы - Нужна помощь в программировании
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 02:44:34

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 400 ]     ... , , , 10, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вс июн 11, 2017 20:06:28 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Просто опрос часов происходит по прерыванию таймера 0, он же используется и для индикации.
По какой-то причине они дергают 1302 после каждых четырех обновления разрядов, а не 1000 например.
Да и частота обновления дисплея у них чрезмерно высокая.

Странный какой-то глюк, из-за которого МК греется. На плате все чисто?

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вс июн 11, 2017 20:13:01 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Просто опрос часов происходит по прерыванию таймера 0, он же используется и для индикации.
По какой-то причине они дергают 1302 после каждых четырех обновления разрядов, а не 1000 например.
Да и частота обновления дисплея у них чрезмерно высокая.

Странный какой-то глюк, из-за которого МК греется. На плате все чисто?


300 Герц у них обновления разрядов мерцания нет и яркость не страдает, хотя если уменьшить частоту как у вас яркость повыситься, хотя нет пробовал зажигать сегменты без контроллера примерна была та же яркость.

Я плату промывал после пайки. Пока думаю может в прошивке косяк у них, хотя врятли. Но если часы запустились то работают, если выключил включил может не запуститься и греться.

Пока определил пакеты запросы 0х81 секунды 0х85 часы 0х83 мин 7 ячеек RAM (наверное настройки часов типа пикать не пикать и будильник насколько выставлен) 0х89 месяц 0х87 дата 0х8B день, у вас считывание раз в секунду Burst mode, а они постоянно по очереди опрашивают.
Я понял у них получается если секунды сменились сразу отобразятся, у вас получается погрешность если секунды сменились то задержка на считывание примерно от 0 до 1 сек. Зависит от того на какой милисекунде запустился контроллер после подачи питания это и будет плавающая погрешность в пределах 1 секунды. Получается рассинхронизация. Я думаю вы мою мысль поняли.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Пн июн 12, 2017 11:12:25 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Кстати, если интересно, это мой опрос 1302.

Показан только один пакет, данные запрашиваются раз в секунду. У нас запросы отличаются по форме. Неохота поднимать документацию по 1302, чтобы выяснять, что они там делали. Я делал т.н. Burst Mode, прием 8 байт оптом. Диаграмму с дисплея я не снимал.


Разобрал ваш опрос DS1302. 0xBE запись. 0 сек 2 мин 11 часов 4 дата 12 месяц 7 день 16 год 0 бит защиты. 0xC2 RAM запись чего-то. 0xC4 RAM запись чего-то. 0xBF чтение все то же самое плюс регистр зарядки.

Набор заказывал здесь за 374 рублей зеленого цвета, шел с треком, отслеживался. https://ru.aliexpress.com/item/2016-new ... cb434288e1
В контроллере китайская прошивка. Закоротил 7 ногу на минус (GND), для этого на плате предусмотрены контактные площадки. Теперь показывают 55 сек время и 5 сек температуру, то что надо. Яркость тоже устраивает дневной и ночной режим.
Вложение:
DIY SKU 972289 plata v2_0005 обрезок.jpg [135.81 KiB]
Скачиваний: 739

Осталось разобраться с не всегда корректным запуском, как бы не сгорел от перегрева. Заказал запасной чистый (пустой) без прошивки STC15W404AS буду с ним химичить. А этот оставлю с оригинальной прошивкой, потому что её потом негде будет взять.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Пн июн 12, 2017 12:27:31 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Записью в 0хС2 и 0хС4 ДС1302 сохраняются начало и конец срабатывания "кукушки". 0xC3 и 0xC5 соответственно чтение их.
Я изначально хранил настройки в еепром МК, а потом подумал, что грех не использовать такое хранилище, как ОЗУ 1302. И размер кода уменьшился при этом.

Varimon писал(а):
Заказал запасной чистый (пустой) без прошивки STC15W404AS буду с ним химичить. А этот оставлю с оригинальной прошивкой, потому что её потом негде будет взять.

Правильный подход. У меня тоже в начале изысканий хранился оригинальный чип (15F204EA) с прошивкой, не помню только остался или я его задействовал куда-то.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 19:24:08 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Пришла STC15F204EA, у меня часы на STC15F404AS схема как у вас в 3 архиве из статьи. Загрузил в 204 прошивку из 1 архива, на ней видны мерцания разрядов не сильно но есть все таки, вам нужно повысить частоту смены разрядов как у китайцев мое мнение.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 19:39:41 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Я все понимаю, но вот браться за часы опять просто-напросто влом :(
Есть другие вещи, которыми хочется заниматься, а эти часы как дамоклов меч надо мной. И пообещал, что исправлю, и жутко неохота.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 20:05:27 
Родился
Аватар пользователя

Зарегистрирован: Пн июн 05, 2017 18:07:35
Сообщений: 10
Откуда: Брянск
Рейтинг сообщения: 0
Я все понимаю, но вот браться за часы опять просто-напросто влом :(

Очень надеюсь, что появится все-таки время поправить прошивку, ибо очень заметно мерцание индикаторов) Тоже сегодня получил новую STC15F404AS, прошил - все отлично работает, да и настраивать часы стало намного удобнее!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 20:36:44 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Просто опрос часов происходит по прерыванию таймера 0, он же используется и для индикации.
По какой-то причине они дергают 1302 после каждых четырех обновления разрядов, а не 1000 например.
Да и частота обновления дисплея у них чрезмерно высокая.


Так вам всего лишь поделить значения таймера 0 на 6 и все, хотя я не знаю что у вас еще привязано к нему, а 300 Герц в самый раз получается, у Вас 50 Герц навскидку, не замерял.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 20:41:41 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Если интересно:

Спойлер
Код:
void timer0_isr (void) interrupt 1 using 1
{
//********************************************
// В прерывание по Т0 мы попадаем каждые 5 мс.
//********************************************

//******** Вывод на индикатор ********
   anode |= 0x3C;            // Р3[5:2] - set anode pins to switch off LEDs
   cathode = filldisplay(row, digit, Led[row][digit]);   // Преобразование числа в символ индикатора dbuf.
  anode &= ~(1 << (digit + 2));   // Включаем разряд.
   if (++digit > 3) digit = 0;   // Следующий разряд.
   if (abc_ena) t1set();  // Если автояркость активна, запускаем таймер для псевдо-ШИМ:
   
//******** Отображение ********
   if ((!edit) && (screen_cnt)) screen_cnt--;  // Счетчик режима отображения (screen_cnt=400).
  if (screen_cnt == 0) screen_start = 1;  // Проверка режима отображения (every 2 seconds).
 
//******** Запуск АЦП ********
// Счетчик adc_cnt нигде не загружается, он декрементируется
// по кругу за счет размерности типа переменной.
   if (--adc_cnt == 0)
  {
    ADC_CONTR = 0x8E;
    EADC = 1;
  }

// Счетчик мигания разделительных точек
   if (--flash_cnt == 0)
   {
      flash = ~flash;
      flash_cnt = 100;      // 5ms * 100 = 0.5s
    if (longplusedit) key = 0x08; // Имитация нажатия кнопки ПЛЮС каждые полсекунды.
   }

//********* Сhime/alarm beep *********
  if (chime || alarm) beep();
   
//========= DS1302 read counter ===========
    if (rtc_cnt) rtc_cnt--;
      else ds_read = 1;

//******* Read buttons' state ********
    if (btn_cnt) btn_cnt--;
      else  btn_start = 1;  // Проверка каждые 20 мс.
 
} // End of T0 interrupt


Вот все эти счетчики надо будет подгонять под переполнение 1 мс.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 20:44:58 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Хорошо если здесь не трогать, а для индикации использовать Timer 1 их ведь два. Он то свободен?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт июл 04, 2017 21:19:54 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Он используется для АРЯ. Отключает разряды индикатора раньше времени прерывания Т0 для снижения яркости.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Чт июл 06, 2017 18:33:08 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Есть регистр AUXR по умолчанию у него все биты в 0. Если выставить 7 бит в 1, то таймер нулевой заработает в 12 раз быстрее. Просто ради эксперимента.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Чт июл 06, 2017 19:34:24 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Я знаю, но это не выход из положения.
Скомпилировать - секундное дело. Персонально вам (в личку) могу скинуть хекс под 204-й с AUXR=1 (сейчас там 0). Покрутите, посмотрите как и что, потом поделитесь информацией здесь. Хотя и так ясно, что все будет так же, только все временные интервалы (выше выкладывал) будут быстрее. Кстати, этот бит и на Т1 влияет.
Хотите?

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Чт июл 06, 2017 20:20:52 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Я знаю, но это не выход из положения.
Скомпилировать - секундное дело. Персонально вам (в личку) могу скинуть хекс под 204-й с AUXR=1 (сейчас там 0). Покрутите, посмотрите как и что, потом поделитесь информацией здесь. Хотя и так ясно, что все будет так же, только все временные интервалы (выше выкладывал) будут быстрее. Кстати, этот бит и на Т1 влияет.
Хотите?

Давайте попробую. 7 бит на T1 не влияет, влияет на него только 6 бит. Запишите в AUXR=0x80, если запишите AUXR=0xC0 тогда повлияет и на Т1.
Почему также, разряды перестанут мерцать что народ и хочет. Быстрее таймер срабатывает и частота обновления повышается. Может и программа конечно порушиться, по тестируем.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Чт июл 06, 2017 21:12:28 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Пробуйте.
Перелистывание будет слишком частым, опросы АЦП и прочее.
В общий доступ я это выкладывать не буду.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Чт июл 06, 2017 21:23:26 
Первый раз сказал Мяу!

Зарегистрирован: Вт авг 16, 2016 20:27:29
Сообщений: 30
Рейтинг сообщения: 0
Секундные точки мигают часто это понятно, и перелистывание примерно через 3 секунды время день температура. При затемнении появляется мерцание разрядов. При полной яркости (яркость очень приличная) мерцания НЕТ.
Это раньше если на советских АЛ318 АЛ324 выставишь 300Герц то ни чего не увидишь, а здесь применяются сверхяркие светодиоды в сегментах, что 300 Герц им не заметно снижения яркости.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт авг 29, 2017 15:34:08 
Родился

Зарегистрирован: Вт авг 29, 2017 15:17:04
Сообщений: 4
Рейтинг сообщения: 0
Уважаемые Гуру! Подскажите, пожалуйста, что делать. Я прошил контроллер STC15W404AS из архива 03.zip. Все работало, но было заметно моргание цифр. Решил прошить прошивкой https://github.com, но в программаторе ошибочно нажал "Next time can program only wen P3.2 & P3.3". Прошивка залилась и контроллер работает (моргает двоеточие, переключаются точки при нажатии на кнопки, цифры не показывает), а программатор теперь контроллера не видит. Можно с ним что-нибудь сделать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт авг 29, 2017 16:43:52 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Указанные пины посадите на массу при прошивке. Это вы активировали защиту от случайного программирования.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Вт авг 29, 2017 19:32:45 
Родился

Зарегистрирован: Вт авг 29, 2017 15:17:04
Сообщений: 4
Рейтинг сообщения: 0
Сажал - не реагирует.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Нужна помощь в программировании
СообщениеДобавлено: Ср авг 30, 2017 09:30:40 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Такая ситуация требует имитации "полного стирания" - заливки в МК дампа, содержащего 0xFF по всем адресам дабы МК случайно не задрыгал тест-лапками.
Затем повторим то же самое, но с отменой защиты - приводим МК в "исходное по умолчанию" состояние.
И лишь потом прошиваем необходимую прожку (но уже не повторяя ошибок с "залочкой").
:roll:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 400 ]     ... , , , 10, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y