Страница 1 из 1

МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 07:04
Алексей
Здравствуйте! Может быть у кого нибудь есть наработки или готовые проекты с аудиопроцессорами (i2c) ? Просто ни с шиной, ни с eeprom ни разу не сталкивался. Хотелось бы посмотреть примеры, т.к. в даташите не смог разобраться.

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 07:52
Андрей
Здравствуйте для начала изучите как работает шина I2C, например здесь http://easyelectronics.ru/interface-bus-iic-i2c.html потом примеры на форуме. Почитайте про микросхему DS-1307 в нете и на форуме, концепция управления почти у всех микросхем по шине I2C одинаковая. Различия только в slave адрес, и адресах регистров, я например когда изучал шину I2C начинал именно с этой микросхемы, к тому же она есть в протеусе, потом сделал проект на той микрухе которая мне нужна. Порой для создания одного проекта мне приходилось создавать несколько маленьких чтоб понять как работает тот или иной интерфейс или микросхема, пришлось запастись терпением. Зато в будущем у вас будет багаж знаний и опыта, с EEPROM в ФК по легче, записать байт по адресу, прочитать байт по адресу. Есть только ограничение в количестве записей в ячейку, поэтому надо организовать чтоб эти записи производились максимально мало, либо при выключении питания.

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 09:25
Алексей
По i2c читал форум смотрел видео (в частности по ds1307). В теории вроде понятно. Я не могу разобраться с управлением именно процессора tda7309. Не понимаю описания из даташита.

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 12:24
Андрей
Нужно отправить 3 байта данных: первый - адрес микросхемы на линии, второй - из таблицы 8 что мы хотим менять, третий - значение которое мы хотим записать из таблиц 9-12 соответственно

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 14:41
Андрей
Андрей выше рассказал вкратце, если подробнее согласно даташиту посылка должна быть такая:
1. S-Старт на шине.
2. Отправить байт. Адрес микросхемы 0х30 или 0х32 (в зависимости от уровня на ножке 8 tda7309)
3. Получаем бит АСК лог. 0 от tda7309
4. Отправить байт. Адрес регистра из табл. 8 с поправкой на табл. 9
5. Получаем бит АСК лог. 0 от tda7309
6. Отправить байт. Код из табл. 10, 11, 12 (формат кода зависит от регистра в который мы пишем)
7. Получаем бит АСК лог. 0 от tda7309
8. P-Стоп на шине.

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 17:31
Алексей
Чего то совсем у меня туго с этими таблицами... я правильно понял, что бы мне установить затухание обоих каналов -5Дб, надо так отправить? -

Адрес -допустим 0х30 (не понял зачем эта ножка...)
Первый байт (чем рулить) - 0хCB (громкость, оба канала)
И второй (уровень) 0х05 (-5Дб)

Ну и самом собой принимать подтверждение между ними(ACK).

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 19:00
Андрей
Ножка 8 tda7309 нужна чтобы на одну шину повесить две такие микросхемы, и управлять ими раздельно. Управлением громкости обоих каналов нужно выставить о в старший бит и 1 во второй бит, т. е. формат байта регистра должен быть 0х02. Остальные биты игнорируются микросхемой это может быть даже число 0x7F. По уровню громкости там проще для затухания сигнала -5Дб. надо отправить 0х05. Регистр 0хC0 CHANEL я сам не могу вкурить зачем он, может кто другой подскажет. Бит АСК он заносится в "Возвращаемое значение переменной" макроса I2C_Transmite_byte, в ФК. его проверять можно во время отладки программы. Если формат байтов правильный и программа отлажена он дальше не понадобиться.

Р. С. У меня среди приборов осцилограф имеется, вещь конечно незаменимая. Но для анализа цифровых шин логический анализатор лучше, CY7C68013A например. И стоит копейки.

Re: МК + аудиопроцессор

СообщениеДобавлено: 09 янв 2020, 19:31
Алексей
Извиняюсь. 0хСВ - это меня "chanel" c толку сбил. Громкость обоих - это или 2 или 3. Становится более или менее ясно)