Например TDA7294

Форум РадиоКот • Просмотр темы - I2C + аудиопроцессор R2A15900SP
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб июл 04, 2020 21:13:34

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


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



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 8 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 16:55:46 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Здравствуйте, уважаемые коты!

Пытаюсь завести аудиопроцессор, но он ни как не хочет оживляться...
В ссылке выше ДШ на него, инициализировать пытаюсь так:


Не могли бы вы более опытным глазом поглядеть на ДШ и ткнуть меня носом, где я ошибся?

PS: сразу вопрос... SubAddress нужно обязательно инкрементировать, или можно указывать произвольный?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 18:19:43 
Друг Кота
Аватар пользователя

Карма: 69
Рейтинг сообщений: 535
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3300
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
При беглом взгляде на код:
1. Адресный байт (slave address) должен быть всегда 0b10000010
2. Subaddress инкрементирется сам при посылке нескольких байтов
3. Формировть start сигнал нужно лишь 1 раз перед посылкой группы байтов при инкрементаци subaddress. Если хотите каждый раз посылать и subaddress, формируйте stop сигнал.
4. Пишите комментарии чего хотите добиться. В настоящем коде выставляется нулевая громкость в левом и правом каналах (по адресам 0 и 1). Вам это действительно надо для оживления?


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 18:55:06 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Ser60 писал(а):
При беглом взгляде на код:
1. Адресный байт (slave address) должен быть всегда 0b10000010
2. Subaddress инкрементирется сам при посылке нескольких байтов
3. Формировть start сигнал нужно лишь 1 раз перед посылкой группы байтов при инкрементаци subaddress. Если хотите каждый раз посылать и subaddress, формируйте stop сигнал.
4. Пишите комментарии чего хотите добиться. В настоящем коде выставляется нулевая громкость в левом и правом каналах (по адресам 0 и 1). Вам это действительно надо для оживления?


1. Подумал, что RW должен быть установлен в 1...
2. Эм... Если инкрементируется сам - то что посылать в сабадресе? Там же диаграмма явно показывает, что он должен быть...
3. Получается, что так: "старт - сабадрес - дата - дата - дата - дата - дата - стоп"?
4. На сколько я понял, там при нулях идет уровень громкости 0дБ (максимальная громкость), а при увеличении идет подавление громкости (вплоть до -89дБ)... Или я не прав? Нужно мне всего-лишь инициализировать её, и включить первых вход. Дальше методом проб и ошибок разберусь...


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 19:04:54 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Спасибо большое!
Разобрался! :)

Вот минимальный код, который "завел" микруху:


Код:
    i2c_init();
    delay_ms(1000);
    i2c_start();
    // Slave address
    i2c_write(0b10000010);
    // SubAddress
    i2c_write(0x00);
    // Volume
    i2c_write(0b00100010);
    i2c_write(0b00100010);
    // Input selector
    i2c_write(0b00111111);
    // Bass
    i2c_write(0b00000000);
    // Treble
    i2c_write(0b00000000);

    i2c_stop();   


Вернуться наверх
 
Вебинар «Разбор новых уникальных модулей FMAC и CORDIC в микроконтроллерах общего назначения STM32G4» (15.07.2020)

Компания КОМПЭЛ приглашает вас принять участие в вебинаре 15.07.2020, посвященном новому семейству микроконтроллеров общего назначения – STM32G4. Вебинар рассчитан на технических специалистов и тех, кто знаком с основами цифровой обработки сигналов. Мы разберем алгоритм работы CORDIC, а также рассмотрим пример создания цифрового фильтра на базе FMAC.

Зарегистрироваться на вебинар>>
Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 21:35:24 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Теперь вот только не могу понять...

Написал код, регулирует громкость:
Код:
void R2A_set_volume(){
    unsigned char vol_H = (89-Volume)/10 , vol_L = (89-Volume)%10;
    i2c_start();
    i2c_write(0b10000010);
    i2c_write(0x00);
    i2c_write((vol_H << 4) | vol_L);
    i2c_write((vol_H << 4) | vol_L);
    i2c_stop();
    LCD_draw_volume();
}


Но, есть косяк.
разница в уровне звука между 49 и 50 заметно выше, чем между 50 и 51...
И так со всеми переходами между десяток.
прибавляешь, к примеру, от 40 до 49 - растет звук плавно. Однако, после увеличения с 49 до 50 - резкий скачек уровня громкости, а дальше в пределах десятки опять нормально растет.

Проблемы в самом звуке быть не может: источником взял тактовую частоту дисплея 2кГц. На слух очень заметные перепады, особенно если прибавляешь резко (вообще "лесенка" получается"...

Думал, что опять натупил с логикой, вывел в отдельные знакоместа выражения:
(89-Volume)/10 и (89-Volume)%10
Показывают как положено, познаково модуль от затухания...


Вернуться наверх
 
Батарейки FANSO – работает, как ни крути

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Пт авг 03, 2012 22:59:13 
Друг Кота
Аватар пользователя

Карма: 69
Рейтинг сообщений: 535
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3300
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
В коде вроде все красиво. Может в самой микре косяк. Именно, степень затухания десятков децибел не точно согласована с таковой для единиц. Я-бы попробовал подать ей коды с младшим нибблом от 9 ро 15. Знаю, что не по ДШ, но попробовать-то можно. Если не поможет, попробуйте скомпенсировать плавность увеличения громкости программно, или посмотрите в сторону аналогичных процессоров серии TDA.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Сб авг 04, 2012 05:22:02 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Про младший ниббл до 15 - идея не плохая, не подумал...

Про несогласованность - в акустике эта микруха работает нормально, без перепадов, правда, там предел регулировки до 60ед... скорее всего программно компенсировали.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: I2C + аудиопроцессор R2A15900SP
СообщениеДобавлено: Сб авг 04, 2012 08:56:49 
Встал на лапы

Зарегистрирован: Чт мар 05, 2009 08:15:25
Сообщений: 93
Рейтинг сообщения: 0
Про разрядность уровня громкости - не получилось.
Когда любой из нибблов выставляешь больше 9 - звук пропадает.


Вернуться наверх
 

Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 8 ] 

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


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

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


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

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


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