Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
Сергей_74
Опытный кот
Сообщения: 707
Зарегистрирован: Чт фев 21, 2008 12:32:06
Откуда: Россия г.Уфа
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Сергей_74 »

Спасибо WiseLord за проделанную работу, интересный девайс получился, железки как раз почти все лежат можно попробовать будет :))

P.S ПМСМ для удобства поиска свежих схем/прошивок не плохо было бы все собрать в кучку в самом первом посте этой ветки, что бы не рыть глубоко.
-hands made-
Опытный Электрик, даже жену не берет одновременно за две сиськи!!!
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

ОК, выкладываю последние на сегодняшний день прошивки и варианты. Информацию ниже модератор может добавить и в первый пост темы.

Добавил viewtopic.php?f=25&t=98758
kоyodza


Все прошивки на данный момент поддерживают (жирным выделены варианты для которых у меня нет железа и их работа не проверена мною):
а) Аудиопроцессоры:
- TDA7439;
- TDA7313 (PT2313);
- TDA7318;
б) Тюнеры:
- FM-модули на базе TEA5767;
- FM-модули на базе RDA5807M;
- тюнеры на базе синтезатора частоты LM7001;
- тюнеры TUX032 из разного рода автомагнитол ф. Sony;
в) Регулировку яркости подсветки дисплея.

Основной прошивкой на текущий момент является вариант на ATmega32 с кадровым буфером (исходний код). Он поддерживает графические дисплеи 128x64:

а) на базе KS0108:
- тип А (прямые лог. уровни на входах CS1/CS2) (схема подключения);
- тип Б (обратные лог. уровни на CS1/CS2), с другой распиновкой (схема подключения);
б) на базе контроллера ST7920, с распиновкой совпадающей с с KS0108A (схема подключения).

Данный вариант прошивки наиболее предпочтителен ввиду наибольшей функциональности:

- Поддержка режима обучения кнопкам любого пульта стандарта RC5 без необходимости ручной правки EEPROM в hex-редакторе
- Управление вентиляторами охлаждения усилителя мощности на базе данных от термодатчиков типа DS18B20 (функциональность лично мною проверена только в эмуляторе, не в железе)
- Высокая скорость обновления дисплея за счёт кадрового буфера
- Графические значки для регулируемых функций.

Именно этот вариант прошивки будет расширяться функционально в будущем.

Также этот вариант прошивки может быть легко перекомпилирован под любой другой контроллер AVR с достаточным объёмом RAM(2kB)/Flash(32kB)/EEPROM(1кБ). Потребуется лишь перенастроить таймеры и источник внешнего прерывания для обработки сигнала с пульта ДУ и описать подключение ножек в отдельном файле pins.h. В частности, исходники под ATmega64.

Чуть менее функционален вариант на ATmega16 (исходный код). Его также можно собрать и под ATmega32 без правки исходников, изменив соответственно переменную MCU в Makefile.

Достоинства этого варианта:
- поддержка символьных дисплеев 16x2 (схема подключения).
- поддержка графических дисплеев LS020 из телефонов Siemens *65 (мною вариант проверялся только в эмуляторе, по поводу схемы подключения интересуйтесь у форумчан или по файлу ls020.h

Недостатки:
- заметно медленнее работает дисплей ST7920
- нет режима обучения пульту (только отображение кодов нажимаемых кнопок, которые можно записать на бумажку и потом руками внести в EEPROM)
- нет поддержки термодатчиков для управления вентиляторами.

Данный вариант функционально больше расширяться не будет (некуда - памяти не осталось), разве что будут исправляться находимые ошибки.

Также есть "дешёвый" вариант на ATmega8 (исходный код), поддерживающий только символьные дисплеи 16x2 (схема). Его достоинство - легко перекомпилировать под другое расположение ножек (править файл pins.h).
Вложения
m8-c8bfbe4.7z
(171.86 КБ) 518 скачиваний
Аватара пользователя
Сергей_74
Опытный кот
Сообщения: 707
Зарегистрирован: Чт фев 21, 2008 12:32:06
Откуда: Россия г.Уфа
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Сергей_74 »

WiseLord писал(а):ОК, выкладываю последние на сегодняшний день прошивки и варианты.


СПАСИБО БОЛЬШОЕ! Так будет удобнее в будущем при появлении обновлений
WiseLord писал(а):Именно этот вариант прошивки будет расширяться функционально в будущем.
Также этот вариант прошивки может быть легко перекомпилирован под любой другой контроллер AVR с достаточным объёмом RAM(2kB)/Flash(32kB)/EEPROM(1кБ). Потребуется лишь перенастроить таймеры и источник внешнего прерывания для обработки сигнала с пульта ДУ и описать подключение ножек в отдельном файле .

Скажите а можно ли в таком случаи скомпилировать проект под mega 128? Лежат без дела 3шт.
-hands made-
Опытный Электрик, даже жену не берет одновременно за две сиськи!!!
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Можно. Судя по тому, что ATmega128 - это фактически та же ATmega64 с большим количеством Flash-памяти, просто возьмите ветку исходников m64, всего лишь поменяв тип контроллера (MCU) в Makefile без других правок кода.
malec
Родился
Сообщения: 8
Зарегистрирован: Ср мар 07, 2012 15:03:16

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение malec »

а если в место ATmega8 применить ATmega168, переделка исходника большая?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Нет, не думаю. Там вроде как минимальная разница по настройке таймеров и прерывания INT1 для ИК-приёмника, а в остальном должно работать аналогично.
malec
Родился
Сообщения: 8
Зарегистрирован: Ср мар 07, 2012 15:03:16

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение malec »

ясно а где и че поправить
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Читаем соответствующий документ от Atmel, видим разницу в настройках прерываний TIMER0/TIMER2, отличия в регистрах TIMSKx и соответственно правим код.

Ну и в Makefile контроллер заменить - уже это подскажет места в программе с ошибками.

Ориентировочно, патча ниже должно быть достаточно.
Вложения
m8_m168.patch.7z
(1.1 КБ) 243 скачивания
vlsr
Родился
Сообщения: 5
Зарегистрирован: Сб ноя 01, 2014 17:21:02

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение vlsr »

можно ли поставить дисплей с телефона lg kp500 или нокиа 5230 самсунг 5230 с какого можно подставить ???


заранее спасибо
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

99.9% вероятности, что нельзя.
vlsr
Родился
Сообщения: 5
Зарегистрирован: Сб ноя 01, 2014 17:21:02

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение vlsr »

от каких телефонов это возможно может нокиа е52 или 6300 телефонные на порядок дешевле и проще найти
vlsr
Родился
Сообщения: 5
Зарегистрирован: Сб ноя 01, 2014 17:21:02

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение vlsr »

подскажите любую альтернативу 128x64 по размерам можно и больше
Последний раз редактировалось AlekseyEnergo Сб ноя 01, 2014 22:30:26, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Предупрежден!
Аватара пользователя
loki_amorf
Открыл глаза
Сообщения: 69
Зарегистрирован: Пт апр 23, 2010 13:04:48
Откуда: г.Киев

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение loki_amorf »

Собрал на макетной плате устройство, применил Атмегу 64, пока что все крутится без аудиопроцессора (планирую применить PGA2310 - CS3310, в пользу качества звука в жертву будет принесен функционал устройства, естественно исходник будет правиться), конструкция прекрасная, интерфейс управления на высоте, автору конструкции желаю творческих успехов и спасибо за Ваш труд!

Считаю полезным к алгоритму регулировки громкости добавить переменный шаг регулировки громкости, в зависимости от уровня громкости: от 0 до -40дб - шаг 1 дб, от -40 до -60 - шаг 5 дб, -60 и ниже шаг 10 дб.

Покритикуйте.

С уважением, Сергей.
vlsr
Родился
Сообщения: 5
Зарегистрирован: Сб ноя 01, 2014 17:21:02

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение vlsr »

на сколько реально подключить такие варианты?
http://bascom.at.ua/publ/biblioteka_bas ... /1-1-0-112
http://vrtp.ru/index.php?showtopic=1120&st=1530
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

В принципе - подключить реально. Аналогично LS020 под вариант с ATmega16 - делать преобразователи уровней 5В->3.3В, написать драйвера для дисплеев соответствующие.
В реальности - лично я этим заниматься не буду. Если Вы хотите - welcome, исходники доступны.
Проще и дешевле купить в Китае уже поддерживаемый дисплей подешевле и не усложнять себе жизнь.
Аватара пользователя
san-sanych
Встал на лапы
Сообщения: 127
Зарегистрирован: Вт июл 15, 2014 17:03:13
Откуда: Могилев, Беларусь
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение san-sanych »

Доброго вечера! На реализацию Вами поддержки тюнера TDA7703 рассчитывать стоит? Или же ориентироваться на уже опробованные решения.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Наверное, всё-таки этим заниматься я не буду. По крайней мере, в ближайшее время. Всё-таки этот проект не ради тюнера задумывался.

P.S. Если у Вас этот тюнер работет с каким-нибудь проектом с открытыми исходниками - дело могло бы упроститься.
Аватара пользователя
san-sanych
Встал на лапы
Сообщения: 127
Зарегистрирован: Вт июл 15, 2014 17:03:13
Откуда: Могилев, Беларусь
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение san-sanych »

К сожалению не нашел в сети ниодного проекта с использованием этого тюнера. Ладно, буду довольствоваться аналоговым. Кстати, и среди аналоговых встречаются очень даже ничего экземпляры, выдранные из породистых автомагнитол 90х годов.
Аватара пользователя
Mazzz
Нашел транзистор. Понюхал.
Сообщения: 165
Зарегистрирован: Пт июл 05, 2013 01:31:35
Откуда: Владивосток

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Mazzz »

Простите за глупый вопрос а фузы на вариант с Atmega8 подскажите пожалуйста.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

В исходниках, в Makefile всё есть.
-U lfuse:w:0xe4:m -U hfuse:w:0xc1:m


Кстати, может, кому-то будет интересен отдельный вариант на ATmega8:
- без поддержки FM-тюнера;
- только для TDA7313;
+ всё устройство на одной двухсторонней плате (и контроллер, и аудиопроцессор);
+ языки - английский и русский - переключаются на лету;
+ при этом можно использовать китайские дисплеи без кириллицы;
+ как и в старших вариантах на ATmega32, есть режим настройки на пульт;
+ исходник может быть легко переделан под другую разводку сигналов.



Исходники здесь, плата во вложении. Схему не рисовал, в целом соответствует "обычной" на ATmega8, только с другой разводкой МК. Отслеживайте разводку по плате и pins.h исходников.
Вложения
ampcontrol-full.7z
(54.82 КБ) 877 скачиваний
Ответить

Вернуться в «Статьи»