Страница 49 из 240
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Сб июл 04, 2015 08:52:14
WiseLord
Сигнала от ноутбука/компьютера/FM-модуля вполне достаточно для рисования спектра.
Естественно, в случае ноутбука/компьютера громкость, поступающая на темброблок, должна быть максимальна, а регулировка производиться уже за счёт темброблока, а не системного микшера в операционке.
Это также минимизирует возможные шумы и помехи.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Сб июл 04, 2015 10:31:54
=Inspiron=
Проблема решилась! Накосячил при сборке - резистор ОС поставил 10к а не 100к как по схеме. Извиняюсь!!!!

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вт июл 14, 2015 22:21:29
rx-tx
Здравствуйте!
Хочу собрать Ваш проект с такой конфигурацией :
ampcontrol_m16_tda7313_ls020_lm7001.hex / ampcontrol_m16_tda7313_ls020_rda5807.hex
собрал все детали кроме tda7313.
Есть микросхема темброблока tea6330, если можно - поправьте пожалуйста под неё эти прошивки.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вт июл 14, 2015 22:52:30
WiseLord
Нет, такой микросхемы у меня нету. Да и старую ветку под ATmega16 я развивать не планирую. Возможно, под ATmega32 с кадровым буфером поддержка TEA6330T когда-нибудь и появится (там это сделать много проще), но LS020 в этом случае отпадает.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Вт июл 14, 2015 23:59:52
rx-tx
понял, спасибо, буду искать 7313.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 11:31:21
Shershnyov
Добрый день, сегодня наткнулся на ваш проект. Однозначно буду собирать. Подскажите пжлст, печатная плата из первого поста исчерпывающая для всех типов мк и прошивок? Планирую собирать на меге32. Или подскажите пжлст где можно взять актуальный архивчик. Гуглкод я так понял не работает =(
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 11:34:39
WiseLord
Возможно, там не хватает каких-то подтягивающих резисторов, например, на линии 1-wire (к питанию). А так - да, плата подходит для дисплеев KS0108A и ST7920, а разводка у ATmega16 и ATmega32 одинаковая.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 15:37:40
voffka_rostov
А если делать под мегу8, на тда7439 без радио часов и экрана, какие фьюзы выставлять? и вообще надо их тогда трогать?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 16:34:59
WiseLord
А какой смысл в анализаторе спектра без экрана?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 16:42:30
voffka_rostov
WiseLord писал(а):А какой смысл в анализаторе спектра без экрана?
Так и его не будет пока. Хочу просто запустить tda, убедиться что руки от туда растут, послушать ее. А потом продолжить.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 17:40:03
WiseLord
Фьюзы для Atmega8 устанавливаются на частоту работы 8МГц от внутреннего генератора. В
Makefile проекта они указаны.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 18:50:52
FOLKSDOICH
Мне то что-нибудь скажете?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Ср июл 15, 2015 23:47:02
voffka_rostov
WiseLord, прошу помощи. Собрал плату для TDA7439, взял МК мега8, с Ваших исходников взял i2c.h, i2c.c, tda7439.h(немного дописав из audio.h).
Для пробы написал main вот так:
Спойлер
Код: Выделить всё
#include <avr/interrupt.h>
#include "i2c.h"
#include "tda7439.h"
#include <avr/io.h>
int main (void)
{
I2CInit();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_INPUT_SELECT);
I2CWriteByte(0x02); //вход2
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_INPUT_GAIN);
I2CWriteByte(0x0A); //входной уровень 18dB
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_PREAMP);
I2CWriteByte(0x08); //громкость -8dB
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_BASS); //bass 0db
I2CWriteByte(0x0F);
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_MIDDLE); //middle 0db
I2CWriteByte(0x0F);
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_TREBLE); //treble 0db
I2CWriteByte(0x0F);
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_VOLUME_RIGHT); //balance 0db
I2CWriteByte(0x00);
I2CStop();
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_VOLUME_LEFT); //balance 0db
I2CWriteByte(0x00);
I2CStop();
}
Собрал обвязку МК на макетке, дал питание от компьютерного бп +5 на мк, +12 через D-SUB-> +8 на TDA. На линии i2c pull-up резисторы.
Включаю это все дело, звук появляется на 1 секунду и то с хрипом, потом тишина. При выключение слышно затухающее жужание. Может ли это говорить о том, что я упалил уже TDA?
P.S.: если я правильно замерил, то на контактах RPRE и LPRE 0.5в постоянки... Незнаю влияет ли это но вместо 0.018мкФ я поставил 0.022мкФ, так как 0.018 не нашел
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 08:06:15
WiseLord
Вроде как всё правильно. Но можно попробовать упростить код. Из даташита:
То есть, достаточно только задать VOLUME, SPEAKER_LEFT и SPEAKER_RIGHT, и уже этого должно быть достаточно для работы во входу IN2.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 08:10:49
voffka_rostov
WiseLord писал(а):Вроде как всё правильно.
Все оказалось правильно! Все работает, это просто мозгов еще мало. Я на выход стал включать наушники, напрямую от микросхемы, вот она и затыкалась. А щас повесил усилитель и все запело!!!
P.S.: Не особо понял что за бит B из даташита на тда7439, что за авто инкремент? зачем он?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 08:30:41
WiseLord
Обычный для I²C автоинкремент адреса. Можно писать без лишних перестартовок, что значительно быстрее:
Код: Выделить всё
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_INPUT_SELECT | 0x10); // начальный адрес + бит автоинкремента
I2CWriteByte(0x02); //вход2
I2CWriteByte(TDA7439_INPUT_GAIN);I2CStop();
I2CWriteByte(TDA7439_PREAMP);
I2CWriteByte(TDA7439_BASS); //bass 0db
I2CWriteByte(TDA7439_MIDDLE); //middle 0db
I2CWriteByte(TDA7439_TREBLE); //treble 0db
I2CWriteByte(TDA7439_VOLUME_RIGHT); //balance 0db
I2CWriteByte(TDA7439_VOLUME_LEFT); //balance 0db
I2CStop();
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 09:26:12
voffka_rostov
WiseLord писал(а):Обычный для I²C автоинкремент адреса. Можно писать без лишних перестартовок, что значительно быстрее:
Спойлер
Код: Выделить всё
I2CStart(TDA7439_I2C_ADDR);
I2CWriteByte(TDA7439_INPUT_SELECT | 0x10); // начальный адрес + бит автоинкремента
I2CWriteByte(0x02); //вход2
I2CWriteByte(TDA7439_INPUT_GAIN);I2CStop();
I2CWriteByte(TDA7439_PREAMP);
I2CWriteByte(TDA7439_BASS); //bass 0db
I2CWriteByte(TDA7439_MIDDLE); //middle 0db
I2CWriteByte(TDA7439_TREBLE); //treble 0db
I2CWriteByte(TDA7439_VOLUME_RIGHT); //balance 0db
I2CWriteByte(TDA7439_VOLUME_LEFT); //balance 0db
I2CStop();
Тогда получается как на RDA5807, все сразу. Но это же не удобно, если нужно допустим только громкость поменять? Может быть удобно при первом включение, верно?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 09:40:35
WiseLord
При первом включении. При регулировке громкости (SPEAKER_LEFT + SPEAKER_RIGHT). При реализации предустановок типа ROCK, POP, FLAT и т.п., когда нужно менять настройки всех трёх тембров за раз. В общем, в любых случаях, когда нужно одновременно поменять несколько байт подряд, не обязательно все.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 16, 2015 09:45:27
voffka_rostov
WiseLord писал(а):При первом включении. При регулировке громкости (SPEAKER_LEFT + SPEAKER_RIGHT). При реализации предустановок типа ROCK, POP, FLAT и т.п., когда нужно менять настройки всех трёх тембров за раз. В общем, в любых случаях, когда нужно одновременно поменять несколько байт подряд, не обязательно все.
Спасибо за разъяснения, пошел вешать энкодер и экран. Будем пробовать дальше )))
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Добавлено: Чт июл 23, 2015 07:26:44
Shershnyov
Добрый день, сегодня наткнулся на ваш проект. Однозначно буду собирать. Подскажите пжлст, печатная плата из первого поста исчерпывающая для всех типов мк и прошивок? Планирую собирать на меге32. Или подскажите пжлст где можно взять актуальный архивчик. Гуглкод я так понял не работает =( . И подскажите пжлст,
http://ru.aliexpress.com/item/2014-1PCS ... 47863.html вот такой дисплей подойдет? Основные линии вроде бы такие же (распиновка) но по паре линий возник вопрос, т.к. не силен в этом спрашиваю у вас.