Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пт фев 27, 2015 23:58:26
WiseLord
Обновление прошивки для основного варианта (ATmega32 + графический дисплей).
Изменения:
- Большая оптимизация и рефакторинг кода .
Прошивка, несмотря на новые функции, стала даже чуть меньше по размеру и потребляет меньше ОЗУ (оптимизации стека функций)
- Исправлена ошибка с восстановлением значения тонкоррекции при выходе из ждущего режима
Было сломано в последних прошивках, после изменения архитектуры кода аудиопроцессоров.
- Тюнер переводится в MUTE при выборе отличного от нулевого входа
Теперь, если выбран не нулевой вход (вход тюнера), он переводится в режим MUTE. И сигнал радио не пробивается на полной громкости в другие каналы (у аудиопроцессоров разделение по входам не идеально, да ещё это и от разводки платы зависит).
- Добавлена возможность настройки степени "динамичности" спектра.
По сути сейчас можно выбрать между тремя скоростями падения столбиков. Функция выведена на ещё одну кнопку пульта. EEPROM перешивать на новый обязательно - коды пульта "сдвинулись". Ну, или настроить пульт заново в соответствующем режиме. На видео можно посмотреть, что эта функция из себя представляет. Правда, щелчки при нажатии кнопок пульта плохо слышны, но увидеть разницу и момент смены режима можно.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Сб фев 28, 2015 14:03:11
alexfick
Может я гдето пропустил. А куда подключены датчики температуры и как? По поводу MUTE спасибо что рассказали.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Сб фев 28, 2015 15:04:22
WiseLord
1-wire выход на схеме. Рядом с fan1/fan2 выводами для управления вентиляторами.
Ну и в Proteus я уже не раз проект выкладывал, там это есть.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Сб фев 28, 2015 22:01:49
alexfick
А можно попросить датчик температуры в схему добавить , а то протеус уже как пол дня немогу установить.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вс мар 01, 2015 07:31:13
WiseLord
Абсолютно стандартное включение. Три ноги датчика: +5В, земля и выход. Оба датчика (левый и правый) подключены параллельно. Выход датчиков подключен к +5В через резистор 4,7кОм.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вс мар 01, 2015 10:49:47
Volodia
Приобрёл FM стерео модуль Радио модуль rda5807m rrd-102v2.0 даташит на него не нашёл,есть вот такой RDA5807M_datasheet_v1.1,он соответствует моему модулю или нет.
Файл даташита воткнуть не смог комп слабый.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
- Возможность использовать энкодер с разным количеством импульсов на щелчок
Обычно на один щелчок механический энкодер выдаёт все 4 фазы импульсов (A-AB-B-0). Но некоторые могут полный цикл выдавать за два щелчка (2 фазы на щелчок), а то и за все 4 (1 фаза на щелчок).
Теперь стало возможным это число фаз на щелчок указать в eeprom (адрес 0x15). Значение по умолчанию равно 4 (0x04) - те же условия, что и раньше. Более того, число может быть отрицательным, тогда вращение энкодера будет обрабатываться в инвертированном направлении. То есть, например, число -4 (0xFC в eeprom) определяет инверсный энкодера с 4 фазами на щелчок.
- Реализован функционал избранных станций для FM
Раньше нажатие цифровых кнопок на пульте выставляло соответствующую сохранённую станцию, по её номеру. Сейчас каждая из 10 цифровых кнопок вызывает закреплённую за собой "любимую" станцию. Избранные станции назначаются и удаляются теми же цифровыми кнопками в режиме настройки FM-станций.
Экран радио также теперь отображает номер избранной станции. Если одна и та же избранная станция закреплена на несколько цифровых кнопок одновременно, отображается минимальный номер.
- Максимальное число запоминаемых станций уменьшено с 64 до 50
Освобождённые ячейки EEPROM отданы под частоты любимых станций. Думаю, никто от этого сильно не пострадает, тем более что частоты любимых станций можно хранить независимо от вообще сохранённых.
------
2 alexfick: я уже Вам отвечал пару сообщений назад - порт 1-wire на схеме.
У меня тут маленькая радость - пока сидел над кодом, "починил" свой дисплей на ST7920. У меня их две штуки, и у одного некоторые строки не отображались, или отображались с меньшим контрастом. Почему так стало - толком не знаю, но думал, там что-то с контроллером. Но после разборки и прочистки контактных резинок (решил пылинку выдуть из под стекла) стал работать как новенький. Видимо, падал когда-то, и контакт резинки где-то немного нарушился.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вс мар 01, 2015 18:51:34
Volodia
Спасибо за схемы и разъеснение.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вс мар 01, 2015 19:52:57
WiseLord
Ещё одно маленькое обновление
- Добавлен таймер отключения по отсутствию сигнала.
При отсутствии сигнала в течение 180 секунд устройство переходит в ждущий режим. При этом последние 60 секунд индицируются на экране обратным отсчётом. При появлении сигнала либо любом действии (нажатии кнопки / вращении энкодера) таймер снова устанавливается в 180 секунд.
Эту функцию давно кто-то просил, да всё никак руки не доходили.
Заодно в приложенном файле все схемы, печатки и проект Proteus.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 00:12:25
alexfick
Перечитал тему. Проверил в железе . Немного стыдно за свои вопросы. Спасибо за понимание.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 04:27:07
Volodia
Можно подробнее про пульт с какого он телевизора чтобы найти на евау.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 08:12:56
WiseLord
Любой RC5 пульт. На любом рынке именно так и спросить. Ebay в этом случае не нужен.
Как правило, те же телевизоры "Витязь" или "Горизонт" 5-го поколения использовали эту кодировку.
Я использую такой:
А вообще у меня в задумках есть освоение и других протоколов, а не только RC5. Только когда и как к этому подступлюсь - пока не знаю.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 20:54:40
Forthomo
Здравствуйте КОТы!
WiseLord, Здравствуйте! Есть желание повторить Вашу конструкцию темброблока.Как я понимаю из прочтения форума нижеописанный вариант больше не поддерживается?
Atmega16A TQFP-44+PT2313L SOIC28+FM TEA5767,
Пульт RC-5 Витязь на SAA3030
Прошивка (последняя???) - ampcontrol_tda7313_pcf8574_tea5767.hex, eeprom_tda7313_en.bin
Печатные платы (для проверки) в архиве
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 22:31:18
WiseLord
Да, все силы сконцентрированы на варианте с ATmega32 с графическим дисплеем 128x64.
Но под символьный дисплей вариант с ATmega16 вполне работоспособен, хотя и менее функционален.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 22:38:57
san-sanych
Внимательно слежу за развитием проекта с тех пор, как случайно заглянул сюда. Огромное спасибо автору за поддержку своего детища. Мною собраны и успешно работают два экземпляра этого замечательного устройства. WiseLord приложил немало усилий по унификации ПО, однако это привело к отказу от поддержки синтезатора LM7001, что не может не огорчать. При всех своих плюсах, модулям приемника TEA5767 и RDA5807 место в китайских погремушках, а не в серьезной звуковоспроизводящей аппаратуре. Понимаю, что LM7001 не вписывается из-за своего управления в авторское построение кода. Поэтому просьба: уважаемый WiseLord, сделайте поддержку хотябы TSA6057, а то уж больно хочется иметь все добавленные Вами навороты наряду с качественным фм-тюнером. Думаю многие участники форума меня поддержат. Заранее спасибо!
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Пн мар 02, 2015 23:03:07
VeryLazyCat
san-sanych писал(а): модулям приемника TEA5767 и RDA5807 место в китайских погремушках, а не в серьезной звуковоспроизводящей аппаратуре.