Например TDA7294

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

Текущее время: Пн мар 02, 2026 00:48:05

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


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



Начать новую тему Ответить на тему  [ Сообщений: 4782 ]     ... , , , 57, , , ...  
Автор Сообщение
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Пт окт 23, 2015 22:55:03 
Родился

Зарегистрирован: Ср окт 21, 2015 20:16:38
Сообщений: 11
Рейтинг сообщения: 0
kt840, спасибо. Но то ли прошивка не та, то ли я криворукий(( что в железе, что в протеусе не работает. Заливал ampcontrol_m16_tda7439_ks0066_notuner и en eeprom.
Изображение
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб окт 24, 2015 02:44:46 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 1
1. Зачем в Proteus-модели кварцы и батарейка?
2. Где в Proteus-модели резисторы на шине?
3. Почему в Proteus- модели не подгружен eeprom?

Почему Вы вообще не воспользовались готовой моделью, коя не единожды мною выкладывалась, а нарисовали свою, насквозь неправильную?


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб окт 24, 2015 18:20:07 
Родился

Зарегистрирован: Ср окт 21, 2015 20:16:38
Сообщений: 11
Рейтинг сообщения: 0
WiseLord, извиняюсь, не заметил сразу ваш проект в протеусе. eeprom подгружен(возможно в архиве немного не тот, называется eeprom_en ). Такое ощущение будто в eeprom en забита кириллица.
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб окт 24, 2015 19:28:57 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 0
Может и так. Выгрузите старый eeprom (Debug - Reset Persistent model data), после этого при старте подгрузится указанный в свойствах МК.

А вообще сейчас поигрался с ATmega16 в эмуляторе - не хочет нормально моделироваться. Как только выходишь на экран спектроанализатора, моделирование падает с ошибкой.

При этом в железе всё ОК с той же прошивкой.

Очередные глюки Proteus.

Последние правки кода в ветке для ATmega16 были больше полугода назад, да и те косметические. Лучше впаяйте ATmega32 вместо неё - там всё оттестировано и нормально и работает, и моделируется.

А устаревший код ворошить нет никакого желания. Хотя, повторюсь, только что в железе проверил (есть у меня на ATmega16 платка с KS0108B дисплеем) - всё работает.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб окт 24, 2015 20:33:16 
Родился

Зарегистрирован: Ср окт 21, 2015 20:16:38
Сообщений: 11
Рейтинг сообщения: 0
Огромное вам спасибо за оперативную помощь! Reset Persistent model data помогло, в протеусе все отлично моделируется. В железе тупо забыл прошить фьюзы :oops: . Меги 32 под рукой нет. Собираю из того что есть под рукой, может потом и поменяю.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб окт 24, 2015 21:27:10 
Друг Кота
Аватар пользователя

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

Обновление прошивок для варианта на ATmega16 (и года не прошло):

- Частичная синхронизация кода с основной веткой на ATmega32

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

- Убрана поддержка ST7920 на ATmega16.

Ввиду "горизонтальных" байтов на нём и "вертикальных" в шрифте имеющаяся реализация была достаточно кривая, медленная и ресурсоёмкая, поэтому лучше с этим дисплеем ATmega32 использовать - кадровому буферу на это наплевать.

В железе работа проверена на KS0108 без тюнеров/аудиопроцессоров, но их код не затрагивался, так что сломаться теоретически ничего не должно было. Плюс в архиве проекты для Proteus для KS0108/KS0066/PCF8574, на которых всё вроде бы тоже работает.

Если кто-то до сих пор не перешёл на ATmega16, может зашить для проверки и отписаться, сломалось ли что-либо или нет.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс окт 25, 2015 21:05:25 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн май 04, 2015 12:30:18
Сообщений: 68
Рейтинг сообщения: 0
Ну все, кажется со всем разобрался. Остались некоторые уточнения: что бы узнать какие фьюзы выставлять, достаточно в fusecalc (ссылку на который Вы давали) выбрать свою микросхему и внизу (в "Current settings") прописать значения из makefile (0x3F и 0xC1) и он покажет какие фьюзы надо устанавливать.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вт окт 27, 2015 07:31:33 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
Я проверил . Ведет себя (у меня во всяком разе ) одинаково , одинаково косячно , что на старой , что на новой , причем собрано два варианта : на 8 и 16 Меге . У меня не работает :

при отключении питания , именно отключении ,а не спячки сбрасывает настройки по дефолту , так и должно быть ?
При попытки настроить частоту энкодером выбрасывает в меню громкости , через время возвращается в настройку частоты . Кнопками частота регулируется , но не запоминается . все остальное работает , приемник часы , предусилитель , спектроанализатор .
Буду рад любой помощи . Это одинаково и на 8 и на 16 .запоминание аудионастроек происходит только если перед выключением питания сначала выходишь в спячку , а потом уже питание . А с запоминанием станций ни фига не выходит !

С запоминанием станций разобрался , остался вопрос по запоминанию настроек в обход спячки и регулировка частоты энкодером .


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вт окт 27, 2015 09:39:02 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 0
Настройки (текущая частота, настройки звука, текущий вход и прочее подобное) сохраняются в EEPROM только при входе в ждущий режим.
На ATmega16 настройка станций осуществляется кнопками 3..4 (короткое нажатие - шаг 100кГц, длинное - прыжки по сохранённым станциям), запоминание/стирание - длинным нажатием кнопки 5. Энкодер в процессе не участвует.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 03:50:35 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
А возможно подправить прошивку так , чтобы все изменения в настройка Автоматически сохранялись в eeprom , просто по другому очень неудобно , надо делать лишние движения , во всех других проектах (я их много пробовал) автозапоминание вроде как даже не оговаривается , а само сабой подразумевается ?

Еще заметил : приемник после подачи питания (даже если выход был через спячку) начинает работать только когда или переключишь станцию или изменишь частоту хотя б одним нажатием , у всех так ? и как исправить ?


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 06:42:46 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 0
Подправить-то можно, но смысла в этом никакого нет:
- все изменения и так сохраняются при переходе в ждущий режим.
- в выключении питания полностью из рабочего режима, минуя ждущий, нет никакого смысла. И вообще нет никакого смысла обесточивать контроллер, остальную же часть схемы - всегда пожалуйста (через реле по сигналу STBY). По поводу других проектов не знаю, но вся современная электронная аппаратура (те же телевизоры или муз. центры), как правило, точно так же имеет лишь кнопку выхода в ждущий режим и не рассчитана на выдёргивание вилки из розетки.
- у eeprom ограничено количество циклов записи, поэтому по каждому чиху туда писать нет никакого смысла - может быстро износиться и МК выйдет из строя.

По приёмнику: на ATmega32, если выключать через ждущий режим, не обесточивая сам контроллер, глюка не наблюдается.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 11:12:02 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
Да я в общем то не против перехода через спячку , но в том же телевизоре после отрубании сети (авария на нинии , например ) я еговключу с последними настройками , какие были перед отрубоном . В бытовой аппаратуре настройки пишутся автоматом и режим СТ - Бай там только для того чтобы задействовать пульт управления . Он основной в управлении . .
На Меге 32 пока попробовать не могу , но на 16 после подачи питания все молчит , ощущение такое что предварительный в спячке , и вывести его можно только означенными действиями ! Как то поправить можно ? 100% это програмная беда .

Просто не понимаю , ну что за беда : подал питание - включилось все как было до выключения ! Удобно же !

- у eeprom ограничено количество циклов записи, поэтому по каждому чиху туда писать нет никакого смысла - может быстро износиться и МК выйдет из строя.

Да скорее мы помрем , чем сотню тычяч циклов закончатся !


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 15:49:55 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 0
И часто Вы выключаете телевизор/микроволновку/музыкальный центр во время работы, выдёргивая вилку из розетки, без пульта? Очень сомневаюсь. Тем более, что в телевизорах, возможно, используется более живучая память для хранения настроек.

Так и здесь. Есть кнопка Standby (кнопка 1), без фиксации, которая через реле подаёт питание на усилитель/тюнер/всё прочее, либо при повторном нажатии снимает с них питание. Сам же МК должен быть запитан всегда, by design.

Кстати, раньше, в первых версиях кода, было именно так - после каждой регулировки любого параметра шла запись в EEPROM. И потом это поведение было исправлено на более текущее, более правильное.

Легко посчитать, что за 5 лет ежедневной работы выходит 100000 / 5 / 365 = 55. То есть всего лишь 55 регулировок чего-нибудь (громкости, смены входа, да мало ли чего ещё) в день - и всё, через 5 лет МК может улететь в мусорку.
Цитата:
Да скорее мы помрем , чем сотню тычяч циклов закончатся !
А я ещё молодой, мне бы больше 5 лет пожить, знаете ли.

Если Вы хотите вырубать всё рубильником или просто выдёргиванием шнура из розетки, игнорируя специальную кнопку для этого - берёте исходники и добавляете эти пару строк. Я же принципиально неправильное поведение возвращать в проект не буду, тем более в замороженные и неинтересные мне ветки кода для ATmega8/16.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 16:34:07 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн май 04, 2015 12:30:18
Сообщений: 68
Рейтинг сообщения: 0
WiseLord писал(а):
Легко посчитать, что за 5 лет ежедневной работы выходит 100000 / 5 / 365 = 55. То есть всего лишь 55 регулировок чего-нибудь (громкости, смены входа, да мало ли чего ещё) в день - и всё, через 5 лет МК может улететь в мусорку.
Цитата:
Да скорее мы помрем , чем сотню тычяч циклов закончатся !
А я ещё молодой, мне бы больше 5 лет пожить, знаете ли.

Немного не соглашусь. Все приведенные данные порой сильно занижены производителем. Мне вспоминаются телефоны с АОН, где однажды заменили ру10(ру8) на 24с16. Согласно даташита, время работы этой памяти не должно было превысить 1 года. А по факту, из проданных нескольких сотен, в ремонт (именно с дефектом памяти) пришло около 3шт спустя более 2х лет эксплуатации, и ни одного в течении гарантийного срока.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Ср окт 28, 2015 19:05:09 
Открыл глаза

Зарегистрирован: Ср янв 05, 2011 23:21:02
Сообщений: 77
Откуда: Ставропольский край
Рейтинг сообщения: 0
kt840 писал(а):
Еще заметил : приемник после подачи питания (даже если выход был через спячку) начинает работать только когда или переключишь станцию или изменишь частоту хотя б одним нажатием , у всех так ?


У меня такая же фигня наблюдалась, но бороться не стал, - просто перешел на ATMega32


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Чт окт 29, 2015 04:10:29 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
Не умоляя достоинства проекта , наоборот думаю что он лучший в своем роде (поддержка нечкольких типов дисплеев , ФМ модулей , аудиопроцессоров и т.д) плохо что автор не понимает очевидного : все должно быть направлено на удобсто пользования , и мне например легче через пять лет сменить проц (хотя твердо уверен что он меня переживет) чем заморачиваться и щелкать кнопками ...
Никому в голову ведь не приходит беречь скажем карту памяти (а ведь по дороже будет и ресурс много меньше) , не дай бог лишний файлик записать ...
А если люди не предполагают как я , например , использовать пульт ? И не хочу держать устройство включенным ?
Почему бы автору не дать людям право выбора ?
Я хороший инженер - электроник , но с сожалению как программист - ноль , иначе бы не обратился с такой просьбой .
С уверенностью могу сказать , что автор заблуждается с режимом ST-BY , он нужен исключительно для работы пульта управления .
И в бытовой аппаратуре используется память ширпотребовская , не обладающая какими - то особыми качествами .
Andy_sv А на 32 Меге по - другому ? На ней еще не успел попробовать .


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Чт окт 29, 2015 06:18:45 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4903
Откуда: Минск
Рейтинг сообщения: 0
kt840 писал(а):
все должно быть направлено на удобсто пользования , и мне например легче через пять лет сменить проц (хотя твердо уверен что он меня переживет) чем заморачиваться и щелкать кнопками ...
Нажать нефиксируемую кнопку на панели или на пульте удобнее и легче, чем щёлкать сетевой тумблер.
kt840 писал(а):
А если люди не предполагают как я , например, использовать пульт ? И не хочу держать устройство включенным ?
Никто и не заставляет. Лишь обеспечьте 5 вольт дежурного питания процессору, а остальное отключайте через реле. У меня именно так в обоих усилителях сделано, и всё работает прекрасно. Бонусом - время на дисплее при минимальной яркости, как и задумано изначально.
kt840 писал(а):
Почему бы автору не дать людям право выбора?
А это тогда что, если не право выбора?
kt840 писал(а):
Я хороший инженер - электроник , но с сожалению как программист - ноль
Не нужно быть семи пядей во лбу, чтобы понять, что за сохранение параметров в EEPROM отвечает эта функция, и что вызывается она при нажатии кнопок BTN1 или RC5_STBY в любом режиме, кроме MODE_STANDBY сразу же после функции powerOff. И всё что надо - это лишь добавить вызов этот функции в это место, которое отвечает действие при возвращении на дефолтный экран. То есть, после любой регулировки через пару секунд экран возвращается в исходное состояние, и сюда именно можно прописать сохранение параметров в EEPROM. Тем более, что комментарий в коде выше "and save params to EEPROM" остался ещё с тех времён, когда это так и происходило.

Ничего сложного здесь нет и не нужно быть программистом чтобы, пробежавшись глазами по основному файлу main.c (я не заставляю даже лезть глубоко внутрь кода), понять что вообще там происходит. Ваша проблема в том, что Вы даже и не пытались этого сделать, хотя у хорошего инженера вообще-то должно быть желание понимать любой процесс возможно глубже.

Как собрать проект под Windows (сам я пользуюсь Linux, но ради такого дела держу виртуалку с виндой) я не раз на форуме рассказывал, и даже видео снимал. Кто хотел (и даже не "тыжепрограммисты"), давно научился это делать и какие-то мелкие правки для себя вполне способен делать, в советах я никому не отказывал.

kt840 писал(а):
А на 32 Меге по - другому?
Вот полный набор прошивок для ATmega16 и для ATmega32.

Изображение

Чувствуете разницу? Лично у меня нет никакого желания поддерживать весь этот ворох прошивок на ATmega16 (которая уже забита под завязку), тогда как прошивки для ATmega32 отличаются только своей привязкой к конкретному дисплею. Да и это, в принципе, можно было бы через EEPROM разрулить, было бы желание, и иметь в результате одну прошивку под весь набор железа.


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Чт окт 29, 2015 07:34:32 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
Разницу чувствую . И для полного счастья собрал и на Меге 32 . Да , знаете ли в программировании я темнота , и если честно мне интереснее железо .Но по моему мнению программирование не должно иддти в ущерб логики . Например : выбор станций , запоминание невозможно , если частота больше следующей . Возможно это задумывалось как фишка , но 10 человек из 10 Вам скажут что им удобнее настраивать любую программу на любую частоту , чтобы иметь в самом начале и рядышком самые любимый . То на что Вы указали - это не выбор , а поддержка используемых составных частей .

Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Чт окт 29, 2015 07:45:28 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн май 04, 2015 12:30:18
Сообщений: 68
Рейтинг сообщения: 0
kt840 писал(а):
А если люди не предполагают как я , например , использовать пульт ? И не хочу держать устройство включенным ?
Почему бы автору не дать людям право выбора ?
Я хороший инженер - электроник , но с сожалению как программист - ноль , иначе бы не обратился с такой просьбой .

Как инженер электронщик - инженеру электронщику, могу посоветовать следующий, не программный метод:
по 5 вольтам, питающим процессор поставить емкость побольше или еще лучше батарейку или аккумулятор с подзарядкой, компаратор, который при неком падении сетевого напряжения выдает сигнал ST-BY. Далее, думаю понятно?


Вернуться наверх
 
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Чт окт 29, 2015 08:22:06 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Вт апр 05, 2011 15:39:55
Сообщений: 196
Откуда: Красноярск
Рейтинг сообщения: 0
BDDW Да это все понятно , методов реализации - масса , только это сродни разборке карбюратора через выхлопную трубу .


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

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


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

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


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