top of page

Шаг №2. Работа с внешним ЦАП CS43l22

Скажем прямо, здесь нам очень повезло, мы нашли очень качественную статью по работе с внешним ЦАП платы STM32f4.

Printsipialnaya-shema.jpg

Перед нами схема внешнего ЦАП CS43l22. Из нее мы можем сделать вывод, что по I2C1 будем передавать управляющие команды ЦАПУ. (Необходима настройка пинов PB6 и PB9).

По интерфейсу I2S3 будем передавать данные. (Настройка пинов PC7,PC10,PC12,PA4).

И также необходимо провести настройку PD4 пина, отвечающего за перезапуск микросхемы.

Инициализацию портов и интерфейсов i2s, i2c возьмем с официальной библиотеки stm. Файлы (stm32f4_discovery_audio_codec.h,stm32f4_discovery_audio_codec.c).

Из данной статьи нам будет полезна функция передачи необходимых данных ЦАПУ через i2c - void writeI2CData(uint8_t bytesToSend[], uint8_t numOfBytesToSend).

Ссылка на официальную библиотеку STM: http://www.st.com/web/en/catalog/tools/PF257904

Скачиваем STSW-STM32068. Затем в папке Utilities\STM32F4-Discovery находим нужные нам файлы.

Для передачи данных по I2S декодированных данных целесообразно использовать DMA.

Новые данные будем передавать по прерыванию DMA_IT_TC (TC - transfer complete), это означает, что передача данных на ЦАП закончена. В этом прерывании мы будем пересылать новые данные ЦАПу, но об этом позже.

В результате многодневных трудов получилась добротная библиотека для работы с внешним ЦАП CS43l22.

На этом настройку ЦАП можно считать законченной.

bottom of page