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

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


Ответить

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

Ср апр 23, 2014 15:45:52

А на нажатие кнопок реакция есть? Надо учесть, что слишком короткие (<100мс) нажатия фильтруются программно.

Если горят все квадраты, это может означать, что это АЦП так сигнал воспринимает.

Протеус вообще нормально моделирует АЦП?

По умолчанию "постоянка" на входе АЦП должна составлять половину опорного напряжения, равного напряжению питания. Т.е. на входах АЦП должно быть 2.5В. Это соответствует отсутствию сигнала.

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

Ср апр 23, 2014 15:53:00

АЦП должен нормально симулировать. Видимо на кнопки не реагирует, просто выдает последовательность на экран и на этом все. Может из за кварца. Сколько побывал от внешнего не получается. Соответственно взял внутренний на 8МГц

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

Ср апр 23, 2014 16:36:19

Сейчас эксперимента ради скачал из "сундука" Proteus 7.10, установил в виртуальной машине с виндой.

Набросал схему - 5 кнопок, дисплей и ATMega16, соединил нужные линии.

Работает. Только русские символы некорректно показывает.

Изображение Изображение Изображение

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

Ср апр 23, 2014 22:01:45

а этектрическая схема для платы тда7313 есть? или там классика из даташита и номиналы оттуда брать?

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

Чт апр 24, 2014 01:29:38

Все темброблоки в типовом включении. Микроконтроллеру номиналы по барабану, он по цифровой шине работает.

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

Чт апр 24, 2014 04:27:45

Уважаемый автор. три раза заново собрал схему в протеусе, и пуля в пулю как у Вас. квадратики и все. Скиньте пожалуйста Вашу прошивку которую используете и проект в протеусе. Заранее спасибо.

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

Чт апр 24, 2014 11:51:34

Вот такая беда
Изображение
Последний раз редактировалось AlekseyEnergo Вт май 06, 2014 17:21:34, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.2 правил форума. Предупрежден!

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

Чт апр 24, 2014 12:24:06

Вот как настроено должно быть:

Изображение

Файлы прошивки и EEPROM для 16x2 дисплея тут.

Ну, и файл проекта во вложении.

P.S. Попробовал набросать схему ещё раз, только сначала не подгружал eeprom файл в контроллер. Получились те же квадратики. Потом уже избавиться от них не удалось. Попытка подгрузить другой eeprom файл или изменить fuse в свойствах контроллера, похоже, полностью игнорируются.

P.P.S. Да, так и есть. Поместив контроллер на схему, нужно обязательно прописать файл eeprom до запуска симуляции. Иначе позже уже не получится.

P.P.P.S. Таки в меню Debug -> Reset Persistent Model Data можно заставить перечитать новый eeprom.
Вложения
ampcontrol_lcd.DSN.zip
(14.39 KiB) Скачиваний: 494

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

Вс май 04, 2014 17:39:34

Небольшое обновление прошивки.

Недавно приехали из Китая FM-модули на TEA5767.

Протокол работы с ними оказался простым, радио само по себе заставить работать оказалось довольно легко.

В связи с этим активно начал допиливать прошивку темброблока-спектроанализатора на предмет уменьшения размера, так как у ATmega16 flash-памяти, собственно, 16384 байт, а прошивка уже было разрослась до ~16100 байт. Надо же куда-то втиснуть поддержку FM-радио и "графический интерфейс" для него.

В рабочей версии удалось "почикать" почти килобайт, так что скоро начну туда впиливать поддержку TEA5767.

По ходу дела, некоторые фишки перетянул из рабочей прошивки в основную. В частности, немного изменена обработка длинных нажатий кнопок, а также теперь тип графического дисплея - WG12864A или WG12864B - определяется автоматически.

Поэтому сейчас hex-файл для обоих типов дисплеев один и тот же. Кто хочет, может потестировать.

Кстати, если кому интересно, во вложении платка-переходник для модуля TEA5767M.
Для знакосинтезирующих дисплеев, судя по всему, можно пока особо не заморачиваться, так как там места хватает (нет необходимости в хранении шрифтов разного размера, как для графических).

Замечу, что вся работа идёт над прошивкой для графических дисплеев, и только после её полной доводки я займусь (если займусь) прошивкой для знакосинтезирующих.

Если кому интересно, во вложении платка-переходник для FM-модуля
Вложения
fm_module.lay6.zip
(3.56 KiB) Скачиваний: 667

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

Вс май 04, 2014 21:01:14

я займусь (если займусь) прошивкой для знакосинтезирующих.

хорошо бы :))

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

Вт май 06, 2014 15:42:02

Согласен на счет знакосентезирующего индикатора. Будем ждать :))

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

Пт май 09, 2014 00:52:14

Итак,

Первая рабочая beta-версия прошивки с поддержкой FM-радио на базе модуля TEA5767.

Пока только для графических дисплеев (WG12864). Проверил работу я пока только с TDA7439 (но должно работать и на TDA7313/7318).

Исходники, как обычно, на googlecode

Код был изрядно оптимизирован (сократил почти на килобайт, который заняла потом поддержка радио). Прошивка в итоге заняла 16350 (из 16384) байт flash-памяти. Так что слишком не бросайтесь камнями по некоторым недоделанным функциям:

- Кнопки 2 и 3 (ранее включавшие часы и mute), теперь этого пока не делают, а служат для сканирования вниз-вверх по FM-диапазону (длинное нажатие) или ±100кГц (короткое). Потом доработаю, чтобы не в FM-режиме они делали то же, что и раньше.

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

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

Некоторые особенности:

- Режим FM-радио возможен только когда выбран соответствующий вход. Для TDA7439 это вход 4 (Тюнер), для TDA7313/7318 это вход 3 (но, повторюсь, эти микросхемы я пока не проверял).

- Вход в режим FM-радио - длинное нажатие кнопки 2 (короткое её нажатие перебирает входы). Или с пульта, нажатием кнопки выбора входа тюнера.

- Вход в тестовый режим (отображение кодов пульта, чтобы потом нужные коды можно было удобно занести в EEPROM), ранее вызывавшийся по сочетанию кнопок 1-4-5, сейчас вызывается из режима ожидания сочетанием кнопок 1-2 (выключение/выбор входа). Плюс сейчас в тестовом режиме помимо RC5-кодов отображаются и действия с кнопками и энкодером.

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

Вс май 11, 2014 01:31:39

Обновление прошивки.

Пофиксил некоторые вышеупомянутые баги.

Осталось, по большому счёту, только реализовать сохранение станции в EEPROM.

Но я уже и не знаю, как бы ещё оптимизировать код. Разве оставлять в прошивке поддержку только одного аудиопроцессора, нещадно вырезая лишний код поддержки других. И делать, таким образом, три разные прошивки под разные аудиопроцессоры.
По сравнению с старой версией немного поменялась организация EEPROM:
Спойлер
Код:
       ______Аудиопараметры________ 
      /                            \
0000  f5 00 00 00 00 00 00 00  00 00 ff ff ff ff ff ff  |................| Значения
0010  b1 f9 f9 f9 d1 eb 00 00  00 00 ff ff ff ff ff ff  |................| Минимумы
0020  00 07 07 07 00 15 0f 0f  0f 0f ff ff ff ff ff ff  |................| Максимумы
0030  01 02 02 02 01 01 02 02  02 02 ff ff ff ff ff ff  |................| Шаги
         _Код пульта (узнать можно в тестовом режиме)
        /        _Микросхема (TDA7439/TDA7313/TDA7318)
       /        /
0040  19 00 04 00 01 00 00 ff  ff ff ff ff ff ff ff ff  |................| Прочие параметры
       __________Коды кнопок пульта RC5______________
      /                                              \
0050  0c 0d 3b 10 11 37 36 32  34 1e 2a 26 38 0e 20 21  |..;..7624.*&8. !|
0060  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
       _____________Текстовые метки__________________
      /                                              \                              (TDA7313/7318)
0070  a1 70 6f bc ba 6f 63 bf  c4 00 ff ff ff ff ff ff  |.po..oc.........| Громкость
0080  54 65 bc b2 70 20 48 ab  00 ff ff ff ff ff ff ff  |Te..p H.........| Тембр НЧ
0090  54 65 bc b2 70 20 43 ab  00 ff ff ff ff ff ff ff  |Te..p C.........| Тембр СЧ (Тонкоррекция)
00a0  54 65 bc b2 70 20 42 ab  00 ff ff ff ff ff ff ff  |Te..p B.........| Тембр ВЧ
00b0  a9 63 b8 bb 65 bd b8 65  00 ff ff ff ff ff ff ff  |.c..e..e........| Усиление (Баланс П/З)
00c0  a0 61 bb 61 bd 63 00 ff  ff ff ff ff ff ff ff ff  |.a.a.c..........| Баланс   (Баланс Л/П)
00d0  54 65 bb 65 b3 b8 b7 6f  70 20 20 00 ff ff ff ff  |Te.e...op  .....| Телевизор
00e0  44 56 44 2d be bb 65 65  70 20 20 00 ff ff ff ff  |DVD-..eep  .....| DVD-плеер
00f0  4b 6f bc be c4 c6 bf 65  70 20 20 00 ff ff ff ff  |Ko.....ep  .....| Компьютер
0100  54 c6 bd 65 70 20 20 20  20 20 20 00 ff ff ff ff  |T..ep      .....| Тюнер
0110  a8 70 b8 b4 bb 79 c1 65  bd b8 65 00 ff ff ff ff  |.p...y.e..e.....| Приглушение
0120  20 b3 ba bb c6 c0 65 bd  6f 20 20 00 ff ff ff ff  | .....e.o  .....|  включено
0130  20 6f bf ba bb c6 c0 65  bd 6f 20 00 ff ff ff ff  | o.....e.o .....|  отключено
0140  e3 a0 00 ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................| дБ
0150  42 4f 43 4b 50 45 43 45  48 62 45 20 00 ff ff ff  |BOCKPECEHbE ....| ВОСКРЕСЕНЬЕ
0160  a8 4f 48 45 e0 45 a7 62  48 a5 4b 20 00 ff ff ff  |.OHE.E.bH.K ....| ПОНЕДЕЛЬНИК
0170  20 20 42 54 4f 50 48 a5  4b 20 20 20 00 ff ff ff  |  BTOPH.K   ....|   ВТОРНИК
0180  20 20 20 43 50 45 e0 41  20 20 20 20 00 ff ff ff  |   CPE.A    ....|    СРЕДА
0190  20 20 ab 45 54 42 45 50  a1 20 20 20 00 ff ff ff  |  .ETBEP.   ....|   ЧЕТВЕРГ
01a0  20 20 a8 b1 54 48 a5 e1  41 20 20 20 00 ff ff ff  |  ..TH..A   ....|   ПЯТНИЦА
01b0  20 20 43 a9 a0 a0 4f 54  41 20 20 20 00 ff ff ff  |  C...OTA   ....|   СУББОТА
01c0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
01d0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
01e0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
01f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

Кнопки пульта в файле eeprom прописаны в следующем порядке:
 STBY,    MUTE,       MENU, VOL_UP,    VOL_DOWN, INPUT_0,  INPUT_1, INPUT_2,
 INPUT_3, NEXT_INPUT, TIME, BACKLIGHT, SP_MODE,  LOUDNESS, CHAN_UP, CHAN_DOWN.

Что-то не слышно отзывов по первой "бете". Кто-нибудь ещё попробовал с радиомодулем?

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

Вс май 11, 2014 02:37:11

WiseLord писал(а):нещадно вырезая лишний код


Можно использовать условную компиляцию для разных аудиопроцессоров.

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

Вс май 11, 2014 07:01:08

WiseLord писал(а):[Что-то не слышно отзывов по первой "бете". Кто-нибудь ещё попробовал с радиомодулем?

Я пока только слежу за новостями, и модуль только заказал.
И может уже применить более емкий МК 32 мегу, чтоб все хотелки поместить.

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

Вс май 11, 2014 08:14:34

Ко мне тоже детальки едут

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

Вс май 11, 2014 08:27:46

Есть закрепленное за кнопками какое то действие? Я так понял S5 не ставится если энкодер с кнопкой. S3 это выбор входов. Что закреплено за остальными? Суть такая я хочу развести плату чтоб кнопки, энкодер и приемник ИК уже были на ней.

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

Вс май 11, 2014 09:03:46

WiseLord писал(а):Обновление прошивки.

вывод на дисплей LS020 можно сделать ?
на нём красиво анализатор будет выглядеть.

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

Вс май 11, 2014 09:23:43

Lazy-Cat писал(а):вывод на дисплей LS020 можно сделать ?

Этот дисплей щас днем с огнем не найдешь!

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

Вс май 11, 2014 10:00:09

на барахолках ещё можно найти при желании.
Последний раз редактировалось VeryLazyCat Вс май 11, 2014 10:17:44, всего редактировалось 1 раз.
Ответить