Например TDA7294

Форум РадиоКот • Просмотр темы - Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пт апр 19, 2024 03:19:43

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


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



Начать новую тему Ответить на тему  [ Сообщений: 4751 ]     ... , , , 140, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Ср май 24, 2017 16:01:38 
Родился

Зарегистрирован: Пт май 19, 2017 06:52:40
Сообщений: 14
Рейтинг сообщения: 0
Спасибо будем пробовать.

Добавлено after 31 minute 18 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Ещё вопрос .Удалять лишнее надо из maktfile и eeprom ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Ср май 24, 2017 16:21:23 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
И из кода тоже.

Но для начала - ничего не удаляя, просто зафиксироваться на нужном экране. Поискать по коду MODE_STANDBY, на который система уходит при включении и срабатывании таймеров, сделать дефолтным MODE_SPECTRUM. Когда заработает как надо - будет включаться и работать только спектр - тогда уже и пробовать удалять лишние куски кода. Если захочется, конечно.

Вероятно, одним из наиболее простых способов будет упростить функцию showScreen() до вызовов getSpectrum() / showSpectrum() / displayUpdate()


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Ср май 24, 2017 17:43:08 
Родился

Зарегистрирован: Пт май 19, 2017 06:52:40
Сообщений: 14
Рейтинг сообщения: 0
WiseLord спасибо за советы ,попробую может получится :)


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт май 25, 2017 06:05:24 
Потрогал лапой паяльник

Зарегистрирован: Сб май 03, 2014 20:01:51
Сообщений: 359
Откуда: Ижевск
Рейтинг сообщения: 0
WiseLord ткните пожалуйста носом где идет инициализация аудиопроцессора во время выхода из StBy, а то у меня ёмкости стоят большие, импульсник не сразу стартует, где то через секунды полторы запускается, приходится усь включать выключать пару раз, если после первого пуска ничего не делать - тишина, громкость крутнешь - 2 канала работают.

Хочу попробовать повторную инициализацию после запуска с задержкой сделать, если конечно это возможно

_________________
Электроника -очень точная наука, бубен необходимо держать в левой руке!!!


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт май 25, 2017 15:54:39 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
При выходе из ждущего режима (ACTION_EXIT_STANDBY) одно из действий - запуск таймера setInitTimer() на время INIT_TIMER_START = 700мс.

Когда этот таймер истекает (работа аппаратного таймера), возникает новое событие ACTION_INIT_HARDWARE.

Ну а уже по нему обработчик событий начинает инициализацию аудио, радио и прочего.

Так что может помочь простое изменение INIT_TIMER_START в сторону увеличения.

Такие сложности ради того, чтобы система при включении не "висела" в тупом цикле, дожидаясь заряда конденсаторов, а могла реагировать на действия пользователя. А инициализация железа откладывается за счёт таймеров.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт май 25, 2017 19:06:54 
Родился

Зарегистрирован: Пн янв 02, 2017 04:18:58
Сообщений: 10
Откуда: ЗаМкадыш
Рейтинг сообщения: 0
Доброго времени суток всем. В конструкции мега 32+lcd2x16+TDA7439 имеются 3 свободные ноги (30,31,32) хочу повесить на них сигнал включения питания блютуз, и других источников звука. Где искать в исходниках? Как реализовать ,чтобы при выборе определенного входа TDA7439 на этих ножках (30,31,32) появлялся высокий уровень?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пт май 26, 2017 21:54:07 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Тоже в обработчике действий дополнительный код добавить. При любых переключениях входов срабатывает одно из действий CMD_RC_IN_* соответственно. Проще всего встроиться перед функцией sndSetInput(), где и дёргать ножками в зависимости от разности action - CMD_RC_IN_0, принимающей значения от 0 до 4 в зависимости от одного из пяти выбранных входов. Естественно, где-нибудь в инициализации не забыть эти ножки в режим выхода переключить. Ну и учесть, что при dispMode == MODE_STANDBY все три ножки хорошо бы в ноль класть.

P.S. Вот один из вариантов возможной реализации.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пт май 26, 2017 22:34:48 
Родился

Зарегистрирован: Пн янв 02, 2017 04:18:58
Сообщений: 10
Откуда: ЗаМкадыш
Рейтинг сообщения: 0
Спасибо за направление буду пробовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Сб май 27, 2017 07:59:38 
Потрогал лапой паяльник

Зарегистрирован: Сб май 03, 2014 20:01:51
Сообщений: 359
Откуда: Ижевск
Рейтинг сообщения: 0
Спасибо, изменил значение таймера на 2000, при включении показывает приглушение, потом все просыпается, аудио процессор стартует стабильно, теперь смогу спокойно просыпаться под будильник :) а то включается и тишина ))))
осталось разобраться с щелчками по 4 - 5 штук за секунду... раньше думал 2 щелчка, вчера прислушался и смотрел на секунды на дисплее... на буднях возьму осцил с работы, погляжу что там на i2c творится

_________________
Электроника -очень точная наука, бубен необходимо держать в левой руке!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Вс май 28, 2017 13:59:38 
Родился

Зарегистрирован: Пн янв 02, 2017 04:18:58
Сообщений: 10
Откуда: ЗаМкадыш
Рейтинг сообщения: 0
Пробывал ваши изменения работает ,но не так как хотелось бы. Первый глюк: оставляешь строку setExtPower(action - CMD_RC_IN_0); работает как часы при переключении на 1 вход включается при переключении других входов выключается, меняешь на SetExtPower (action - CMD_RC_IN_1); включается при переключении входа 1 и входа 2( получается при включении первых двух входов).Второй глюк при выключении(при переходе в режим стендби) если на выходе (у меня 30 нога остальные ножки я из кода убрал) была единица , то единица и остается висеть (хотя по логике должно сбрасываться в ноль как и ножка стендби).Сам пробовал исправить косяки ,но не хватает знаний.Как эти косяки поправить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Вс май 28, 2017 22:11:41 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
HoloH писал(а):
Первый глюк ... меняешь на SetExtPower
Зачем менять, если без этого работает правильно? Неудивительно, что глюк появится, когда абы что улетит в эту функцию. (P.S. Там небольшая опечатка, вместо (offMask & 0x001) и по аналогии нужно, очевидно, писать offMask & 0b001
HoloH писал(а):
Второй глюк при выключении
Можно добавить в обработчик CMD_RC_STBY вызов этой новой функции с параметром (номером входа) 7. Так как такого входа нет (их всего 4), то его питание и не включится, а вот все прочие extPower выводы выключатся.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пн май 29, 2017 11:36:55 
Родился

Зарегистрирован: Пн янв 02, 2017 04:18:58
Сообщений: 10
Откуда: ЗаМкадыш
Рейтинг сообщения: 0
Что то никак.)
Мои вводные.
В редакторе епром : input 0 -tuner(назовем 1 вход),input 1 -bluetooth(2 вход),input 2 - Computer(вход 3),input 3 -line(вход 4).
ноги 30,31,32 соответственно выходы управления питанием устройств 30- 2 вход,31- 3 вход, 32- 4 вход.
Вставляю ваш кусок из поста от 26.05 исправленный.

static void setExtPower(uint8_t input)
{
uint8_t offMask = 0b11111111; // By default switch off all devices

if (dispMode != MODE_STANDBY) {
offMask &= ~(1 << input); // Don't off one of devices
}
if (offMask & 0x0b001)
PORT(EXT_POWER1) &= ~EXT_POWER1_LINE;
else
PORT(EXT_POWER1) |= EXT_POWER1_LINE;
if (offMask & 0x0b010)
PORT(EXT_POWER2) &= ~EXT_POWER2_LINE;
else
PORT(EXT_POWER2) |= EXT_POWER2_LINE;
if (offMask & 0x0b100)
PORT(EXT_POWER3) &= ~EXT_POWER3_LINE;
else
PORT(EXT_POWER3) |= EXT_POWER3_LINE;
}
работает так:
подача питания 30- ноль,31-ноль,32-ноль
выход из стенби 30-ноль,31-ноль,32-ноль.
переключаю вход 1 на 2 30- единица,31- ноль,32- единица
переключаем 2->3 30- 1,31-0,32-0.
переключаем 3->4 30-1,31-0,32-0.
переключение 4->1 30-1,31-0,31-1.
уходим в стенби на любом входе все ножки в ноль. (добавил в обработчике стенби свои ноги ,как вы посоветовали в посте от 28.05)
работает не так как надо)
а надо:
подача питания все ноги в ноль
выход из стенби все ноги в ноль
переключаем 1->2 30-1,остальные в ноль.
переключаем 2->3 31-1, остальные в ноль.
переключаем 3->4 32-1, остальные в ноль.
переключение 4->1 все в ноль
уходим в стенби с любого выхода все в ноль (это работает)
Я понял так что надо указать значение offMask для каждой ноги на какие только менять чтоб работало как хочу?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пн май 29, 2017 12:28:20 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Всё проще. Вот вариант, который должен работать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пн май 29, 2017 16:51:54 
Родился

Зарегистрирован: Пн янв 02, 2017 04:18:58
Сообщений: 10
Откуда: ЗаМкадыш
Рейтинг сообщения: 0
Спасибо. Вроде заработало как надо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт июн 01, 2017 13:08:33 
Вымогатель припоя

Зарегистрирован: Ср сен 09, 2015 13:09:15
Сообщений: 558
Рейтинг сообщения: 0
созрело 2 вопроса:
1 можно ли обойтись без операционного усилителя для спектроанализатора на ATMEGA8, подав на AREF ИОН 1 V, или операционник выполняет функцию развязки аудиотракта от шумов контроллера?
нужны ли LC фильтры для AVCC и конденсатор на AREF c резистором 5 кОм к ИОН, как пишут во всех даташитах на меги?

2 как допилить до актуального состояния исходники под ATMEGA8, с учетом доработок из ветки репы ATMEGA32? подкладывание исходников с ветки в ветку проблемы не решает, нужны более глубокие знания в структуре кода. в последних скомпиленых хешах на мегу8 глюк с 2мя столбиками на НЧ, пересобрал из исходников репы, глюк со столбиками повторился.
build_all.sh вываливает ошибки и не компилит, приходится в make прописывать напрямую.

Добавлено after 27 minutes 14 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
И да, в даташите на TDA7313 http://ampslab.com/PDF/tda7313.pdf отдельно отведены цифровые линии [26,27,28 pins] 26пин цифровая земля от микроконтроллера, если её не соединять с аналоговой землей тдашки, то шумы от шины I2C перестанут пролазить в аналоговый тракт усилителя. землю и VCC контроллера только тоже надо пропустить через LC фильтры, дабы не загонять вч помеху в общую цепь шины питания.
до ТДА еще ход не дошел, чтобы проверить, но с тюнера на TEA5767 сигнальную шину слышно отчетливо, тоже буду отфильтровывать на стабилизатое 3.3 V, от 5 V он просто затыкается. http://artofcircuits.com/wp-content/upl ... dule-3.jpg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт июн 01, 2017 13:30:23 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
1. По идее, можно. Должно хватить двух резисторов на входе в качестве делителя, чтобы обеспечить 2.5В (половину питания) на входе АЦП и разделительного конденсатора для подачи сигнала. Возможно, из-за более низкого уровня сигнала придётся в коде "подкрутить" усиление.
2. Смысла нет. ATmega8 уже и так забита на 100% (8188 байта из 8192 доступных в моём случае). Скрипт build_all.sh работает. Два столбика на НЧ видны из-за того, что не обеспечена половина питания на входе АЦП.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт июн 01, 2017 14:24:39 
Вымогатель припоя

Зарегистрирован: Ср сен 09, 2015 13:09:15
Сообщений: 558
Рейтинг сообщения: 0
1. По идее, можно. Должно хватить двух резисторов на входе в качестве делителя, чтобы обеспечить 2.5В (половину питания) на входе АЦП и разделительного конденсатора для подачи сигнала. Возможно, из-за более низкого уровня сигнала придётся в коде "подкрутить" усиление.
2. Смысла нет. ATmega8 уже и так забита на 100% (8188 байта из 8192 доступных в моём случае). Скрипт build_all.sh работает. Два столбика на НЧ видны из-за того, что не обеспечена половина питания на входе АЦП.

в атмега8 есть свой ИОН на 2.565 в, http://arduino.ru/Reference/AnalogReference http://samou4ka.net/page/analogo-cifrov ... mk-atmega8, но тогда AREF надо отпаять от AVCC, и на него повесить 100nF кондюк к земле.

странно, у меня скрипт выдает такое:
ampcontrol-m8$ ./build_all.sh
./build_all.sh: 11: [: RDA580X: unexpected operator
./build_all.sh: 11: [: TEA5767: unexpected operator
./build_all.sh: 11: [: TUX032: unexpected operator
./build_all.sh: 11: [: LC72131: unexpected operator
./build_all.sh: 11: [: LM7001: unexpected operator
./build_all.sh: 11: [: RDA580X: unexpected operator
./build_all.sh: 11: [: TEA5767: unexpected operator
./build_all.sh: 11: [: TUX032: unexpected operator
./build_all.sh: 11: [: LC72131: unexpected operator
./build_all.sh: 11: [: LM7001: unexpected operator

в этом-же системном окружении ветка M32 нормально скриптом собирается


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт июн 01, 2017 14:46:16 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1018
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4875
Откуда: Минск
Рейтинг сообщения: 0
Попробуйте на #!/bin/bash поменять заголовок - скрипт под него, по идее. А у Вас, вероятно, какой-то другой шелл. Или "/usr/bin/[" в системе нету. Можно ещё квадратные скобки на двойные поменять попробовать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Чт июн 01, 2017 17:28:14 
Вымогатель припоя

Зарегистрирован: Ср сен 09, 2015 13:09:15
Сообщений: 558
Рейтинг сообщения: 0
таки да, #!/bin/bash вместо #!/bin/sh исправил положение :)) спасибо.
компилю в вин10 с надстройкой Ubuntu https://habrahabr.ru/post/280560/.
доставил: "sudo apt-get install gcc-avr binutils-avr avr-libc avrdude gdb-avr avarice simulavr"

ampcontrol_m8_4bit_tda731x_tea5767.hex
AVR Memory Usage:
Program: 8030 bytes (.text + .data)
Data: 540 bytes (.data + .bss)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
СообщениеДобавлено: Пт июн 02, 2017 15:38:42 
Вымогатель припоя

Зарегистрирован: Ср сен 09, 2015 13:09:15
Сообщений: 558
Рейтинг сообщения: 0
в исходниках на M8 явно что-то не так, даже в протеусе 2 левых столбика в спектре горят, эмуляция c M32 показывает нормальный спектр.
потому я и попросил автора внести изменения и в ветку M8 на гите.
и менюшки в M8 M32 разные для ks0066 дисплея. разобраться в коде по истории изменений у меня знаний языка маловато, да и код уж очень разный.


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

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


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

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


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

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


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