Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
-
infinity19891
- Встал на лапы
- Сообщения: 141
- Зарегистрирован: Вс дек 18, 2011 10:26:43
- Откуда: Пинск
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Поддтяжка линий SDA и SCL на +5в через 10к резисторы обязательна, я так понимаю?
-
infinity19891
- Встал на лапы
- Сообщения: 141
- Зарегистрирован: Вс дек 18, 2011 10:26:43
- Откуда: Пинск
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord,
1. собрал устройство на Atmega8+wh1602. Вроде всё работает, но как происходит управление тюнером т.е. визуально что-то происходит?
2. Вопрос относится к вам конкретно, так как я совершенно не умею получать из даташитов информацию для написания прошивок, следовательно: Имеется тюнер TC-520 от LG LAD-4600R Car DVD Receiver, на базе TDA7540B. Управление по I2C Bus. Вопрос заключается в следующем: Не могли бы вы написать модуль для этого тюнера под ваш проект?
1. собрал устройство на Atmega8+wh1602. Вроде всё работает, но как происходит управление тюнером т.е. визуально что-то происходит?
2. Вопрос относится к вам конкретно, так как я совершенно не умею получать из даташитов информацию для написания прошивок, следовательно: Имеется тюнер TC-520 от LG LAD-4600R Car DVD Receiver, на базе TDA7540B. Управление по I2C Bus. Вопрос заключается в следующем: Не могли бы вы написать модуль для этого тюнера под ваш проект?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Большое спасибо, не ожидал что так быстро отреагируете. Только вот незадача, не могу быстро прошить и проверить, выложенные прошивки рассчитаны на стандартную разводку ATmega 8. У меня же разводка и прошивка авторская ampcontrol-m8-lcd, со страницы 26. Подскажите, пожалуйста в исходниках эти изменения новой прошивки уже учтены или нет, если нет то помогите подправить под мою разводку.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Нет, эту прошивку я не правил на предмет восстановления параметров аудиопроцессора после его обесточивания. Если у Вас, как говорите, авторская прошивка и разводка, эта проблема не должна стоять - питание МК и аудиопроцессора подаётся и снимается синхронно, так что МК инициализирует аудиопроцессор только разово, при включении - больше вроде как не требуется.
P.S. Попробовал реализовать данный функционал, заодно обновив в этой версии другие библиотеки. Внешне вроде бы ничего не сломалось, но звук я не проверял. Так что отпишитесь, пожалуйста, по результатам.
P.S. Попробовал реализовать данный функционал, заодно обновив в этой версии другие библиотеки. Внешне вроде бы ничего не сломалось, но звук я не проверял. Так что отпишитесь, пожалуйста, по результатам.
- Вложения
-
- ampcontrol-m8-lcd-413d581.7z
- (9.3 КБ) 297 скачиваний
-
infinity19891
- Встал на лапы
- Сообщения: 141
- Зарегистрирован: Вс дек 18, 2011 10:26:43
- Откуда: Пинск
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Ещё вопрос имеется: Как сделать свой файл eeprom_*.bin?
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Здравствуйте WiseLord, благодарю за отзыв, похоже я влип, повторивши Вашу нестандартную разводку и прошивку. Печатную плату я разводил сам, так как индикатор другой, поэтому у меня две платы, плата контролера и плата аудиопроцессора и питание подается раздельно. В архиве мои печатные платы и Ваша прошивка для них. Последняя Ваша прошивка, похоже ничего не поменяла, если не имеет значения задержка подачи питания на аудиопроцессор (включается через реле после включения трансформатора усилителя). Еще раз спасибо.
- Вложения
-
- Платы-m8-TDA7313.rar
- (121.61 КБ) 364 скачивания
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Возможно, если используется реле, то контроллер слишком рано подаёт инициализирующую аудиопроцессор последовательность, раньше, чем он успевает нормально запитаться.
Кстати, каким сигналом обесточивается усилитель и аудиопроцессор? MUTE?
Просто в основной схеме два отдельных сигнала MUTE и STBY, и управление питанием усилителя идёт именно по STBY. А между их срабатываниями обеспечена задержка. В ATmega8-варианте эти сигналы объединены в один, который не рассчитан на управление питанием аудиопроцессора/тюнера, он, по большому счёту, именно MUTE и есть. Ну и оконечник, запитанный отдельным трансформатором, им можно выключить, уж оконечнику-то инициализация не нужна.
P.S. Попробуйте эту прошивку.
Кстати, каким сигналом обесточивается усилитель и аудиопроцессор? MUTE?
Просто в основной схеме два отдельных сигнала MUTE и STBY, и управление питанием усилителя идёт именно по STBY. А между их срабатываниями обеспечена задержка. В ATmega8-варианте эти сигналы объединены в один, который не рассчитан на управление питанием аудиопроцессора/тюнера, он, по большому счёту, именно MUTE и есть. Ну и оконечник, запитанный отдельным трансформатором, им можно выключить, уж оконечнику-то инициализация не нужна.
P.S. Попробуйте эту прошивку.
Любым hex-редактором. В файлах eeprom.h/input.h видно, какой параметр в каком месте в eeprom находится.infinity19891 писал(а):Как сделать свой файл eeprom_*.bin?
- Вложения
-
- ampcontrol-m8-lcd-8269394.7z
- (9.37 КБ) 282 скачивания
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Попробуйте эту прошивку.
С этой прошивкой работает все отлично, аудиопроцессор начинает работать с теми параметрами, которые сохранил контролер.
Кстати, каким сигналом обесточивается усилитель и аудиопроцессор? MUTE?
Нет, усилитель включается и отключается сигналом яркости, понимаю не правильно включать реле импульсами, но делал из того что было, при яркости 9 и больше реле не успевает отключиться. Еще есть одно маленькое пожелание, что бы индикация "приглушение вкл" не исчезала пока действует режим MUTE. Сигнала MUTE я завел через транзисторы на вход MUTE микросхемы усилителя. Еще раз большое спасибо.
-
infinity19891
- Встал на лапы
- Сообщения: 141
- Зарегистрирован: Вс дек 18, 2011 10:26:43
- Откуда: Пинск
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord, спасибо, буду разбираться дальше.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Кто-нибудь использует вариант с кадровым буфером (ATmega32 + 128x64 дислей) + TDA7313 (PT2313)?
А то я спаял плату, поставил - а оно, внезапно, не поёт. Не могу понять, то ли PT2313 бракованная, то ли что-то сломалось в последних прошивках. Я-то всё тестирую только на TDA7439.
P.S. Отбой, всё работает. В чём была проблема, так и не понял, видимо какой-то разъём не так включил.
А то я спаял плату, поставил - а оно, внезапно, не поёт. Не могу понять, то ли PT2313 бракованная, то ли что-то сломалось в последних прошивках. Я-то всё тестирую только на TDA7439.
P.S. Отбой, всё работает. В чём была проблема, так и не понял, видимо какой-то разъём не так включил.
-
Antikiller
- Встал на лапы
- Сообщения: 119
- Зарегистрирован: Вс фев 19, 2012 22:22:39
- Откуда: Молдова. г. Бендеры
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Есть небольшое предлжение. Добавить функцию стендбай по активности напряжения на выводе мк. Тоесть, включил медиацентр ,к которому подрублен усилок и взято с нено питание например с юсб, и усилок перевелся в рабочий режим, выключил - усилок в стендбай ушел. Мне бы очени полезной оказалась такая функция
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Вот схема: https://ampcontrol.googlecode.com/git/i ... l_gd_a.png
Покажите этот свободный вывод контроллера.
Покажите этот свободный вывод контроллера.
-
Antikiller
- Встал на лапы
- Сообщения: 119
- Зарегистрирован: Вс фев 19, 2012 22:22:39
- Откуда: Молдова. г. Бендеры
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
убрать второй вентилятор. или клавиатуру переделать через делитель напряжения, получется всего 1 вывод мк нужен. или матричную клавиатуру. или так http://microsin.net/images/stories/prog ... Keypad.png
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
С матричной клавиатурой надо опрос совсем по-другому делать. И сочетания клавиш не будут поддерживаться.
А вообще функция, как мне кажется, бессмысленная. так как всё можно с пульта включить. Как тот же медиацентр. А учитывая, что добавить её, не затронув другой функционал, сложно, то оно как-то не очень-то и надо.
Как и сейчас, например, из-за отсутствия свободных выводов (не считая варианта для ATmega64) синтезатор частоты LM7001 конфликтует с функционалом термоконтроля. И это в ходе приходится искусственно обходить. И потом такой фрагментированный код усложняется при поддержке. При каждом изменении чего-то приходится проделывать это для Atmega8, ATmega16, ATmega32 отдельно. А потом ещё минут 15 компилить прошивки под все сочетания железок. Хорошо хоть использование git упрощает работу с патчами на код, но всё равно муторно как-то получается.
С точки зрения программиста я бы и поддержку LM7001 убрал, чтобы код красивее стал
. Тем более, сам такой тюнер не использую, да и функционал получается бедный (только минимум - задание частоты; ни тебе ни стереоиндикатора, ни чего-то ещё).
Так и тут получится. Хотя у варианта с ATmega64 ножки свободные есть. Если хотите - можно там добавить
.
Хотя.. есть одна возможность, не нарушающая особо логику работы
У основного варианта сейчас используется графический дисплей. Линия RW подключена к PA3, и по факту МК держит на ней лог. 0 (дисплей постоянно в режиме записи). В принципе, можно просто заземлить этот вход дисплея, а освободившуюся ножку МК использовать. Но это уже изменение изначальной схемотехники, чего я стараюсь избегать всеми силами. Несмотря на кучу нововведений и переход на ATmega32, со времён публикации больше года назад принципиальная схема не поменялась.
Сейчас, с учётом того, что поменялось за этот год с мелочью, я бы сделал этот проект уже немного по другому, но что есть, то есть.
А вообще функция, как мне кажется, бессмысленная. так как всё можно с пульта включить. Как тот же медиацентр. А учитывая, что добавить её, не затронув другой функционал, сложно, то оно как-то не очень-то и надо.
Как и сейчас, например, из-за отсутствия свободных выводов (не считая варианта для ATmega64) синтезатор частоты LM7001 конфликтует с функционалом термоконтроля. И это в ходе приходится искусственно обходить. И потом такой фрагментированный код усложняется при поддержке. При каждом изменении чего-то приходится проделывать это для Atmega8, ATmega16, ATmega32 отдельно. А потом ещё минут 15 компилить прошивки под все сочетания железок. Хорошо хоть использование git упрощает работу с патчами на код, но всё равно муторно как-то получается.
С точки зрения программиста я бы и поддержку LM7001 убрал, чтобы код красивее стал
Так и тут получится. Хотя у варианта с ATmega64 ножки свободные есть. Если хотите - можно там добавить
Хотя.. есть одна возможность, не нарушающая особо логику работы
У основного варианта сейчас используется графический дисплей. Линия RW подключена к PA3, и по факту МК держит на ней лог. 0 (дисплей постоянно в режиме записи). В принципе, можно просто заземлить этот вход дисплея, а освободившуюся ножку МК использовать. Но это уже изменение изначальной схемотехники, чего я стараюсь избегать всеми силами. Несмотря на кучу нововведений и переход на ATmega32, со времён публикации больше года назад принципиальная схема не поменялась.
Сейчас, с учётом того, что поменялось за этот год с мелочью, я бы сделал этот проект уже немного по другому, но что есть, то есть.
-
Antikiller
- Встал на лапы
- Сообщения: 119
- Зарегистрирован: Вс фев 19, 2012 22:22:39
- Откуда: Молдова. г. Бендеры
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Ну скажем так. дисплей уже приехал с китая. И я собираюсь начать собирать ваш девайс. Думаю что вывод rw не сложно заземлить и использовать вывод этот . Но конечно мое мнение можно былоб перейти полностью на 64ю мегу или 128ю . перейти на второй вариант схемы,там еще много возможностей расширения .
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):
С точки зрения программиста я бы и поддержку LM7001 убрал, чтобы код красивее стал. Тем более, сам такой тюнер не использую, да и функционал получается бедный (только минимум - задание частоты; ни тебе ни стереоиндикатора, ни чего-то ещё).
Этого делать наверное не стоит, т. к. обычных тюнеров со старых автомагнитол пруд пруди и довольно качественных, которые сейчас можно приобрести за малые деньги. А стерео индикатор имеется в стереодекодере отдельным светодиодом..
-
infinity19891
- Встал на лапы
- Сообщения: 141
- Зарегистрирован: Вс дек 18, 2011 10:26:43
- Откуда: Пинск
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
А будет ли добавляться поддержка новых тюнеров?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Нет.
Те железки, что мне были интересны - те, что у меня были, - уже поддерживаются.
Другие добавлять сейчас не хочу. Прежде чем это начинать делать, хотелось бы код переписать иначе, но это будет нескоро - пока нет времени.
Те железки, что мне были интересны - те, что у меня были, - уже поддерживаются.
Другие добавлять сейчас не хочу. Прежде чем это начинать делать, хотелось бы код переписать иначе, но это будет нескоро - пока нет времени.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
На днях коренным образом переписал код, связанный с аудио. Теперь добавлять поддержку других аудиопроцессоров стало гораздо легче. На очереди тюнеры.
А пока - огромная просьба протестировать то, что получилось. Потому что у меня нормально, на железках, проверить получится только TDA7439 (вроде бы работает) и, в меньшей степени, TDA7313 (попробую вечером).
Просьба эта к тем, кто использует вариант на ATmega32 с графическим дисплеем, и, желательно, что-то из линейки TDA731X в качестве аудиопроцессора. Нужно проверить, нормально ли переключаются входы, правильно ли регулируются все уровни. Потому как на экране в эмуляторе всё выглядит правильно, но что там на самом деле улетает по шине I²C в аудиопроцессор - тут без проверки вживую не скажешь.
Все аудиопроцессоры сейчас поддерживаются в одной прошивке (итого число прошивок сократилось с 45 до 15). Выбрать свой можно, изменив в eeprom.bin байт по адресу 0x0E. Варианты значения этого байта:
В будущем будет написан интерфейс, чтобы тип аудиопроцессора можно было выбрать прямо из меню. Аналогичное планируется и для тюнеров. То есть, в идеале будет всего 3 прошивки, каждая под свой дисплей.
А пока - огромная просьба протестировать то, что получилось. Потому что у меня нормально, на железках, проверить получится только TDA7439 (вроде бы работает) и, в меньшей степени, TDA7313 (попробую вечером).
Просьба эта к тем, кто использует вариант на ATmega32 с графическим дисплеем, и, желательно, что-то из линейки TDA731X в качестве аудиопроцессора. Нужно проверить, нормально ли переключаются входы, правильно ли регулируются все уровни. Потому как на экране в эмуляторе всё выглядит правильно, но что там на самом деле улетает по шине I²C в аудиопроцессор - тут без проверки вживую не скажешь.
Все аудиопроцессоры сейчас поддерживаются в одной прошивке (итого число прошивок сократилось с 45 до 15). Выбрать свой можно, изменив в eeprom.bin байт по адресу 0x0E. Варианты значения этого байта:
Код: Выделить всё
0x00 = TDA7439 (по умолчанию),
0x01 = TDA7312,
0x02 = TDA7313,
0x03 = TDA7314,
0x04 = TDA7318,
В будущем будет написан интерфейс, чтобы тип аудиопроцессора можно было выбрать прямо из меню. Аналогичное планируется и для тюнеров. То есть, в идеале будет всего 3 прошивки, каждая под свой дисплей.
- Вложения
-
- ampcontrol-4c33d48.7z
- (53.69 КБ) 295 скачиваний