Программирование МК STM32. УРОК 46. I2S. AUDIO. Часть 1

Поделиться
HTML-код
  • Опубликовано: 1 июл 2024
  • Продолжаем работать с библиотекой HAL.
    На данном занятии мы попытаемся начать освоение очень нужной и широко в последнее время используемой шины I2S.
    В наш век всё более интенсивного перехода от аналоговой передачи сигнала к цифровой передачи данных того же сигнала цифровое аудио всё более обретает интерес у многих людей.
    Мы попробуем в установленную микросхему CS43L22 на плате STM32F4DISCOVERY передать через данную шину цифровое аудио и обработать его в такой вид, который будет понятен многим устройствам - головным телефонам, динамикам, а также линейному входу любого усилителя.
    Данная микросхема является Цифро-аналоговым преобразователем звукового сигнала. Цифровой звуковой поток на данную микросхему мы будем подавать из контейнера WAV из файлов, записанных на USB Flash Drive.
    В данной первой части занятия мы создадим и настроим проект в Cube MX, создадим каркас приложения, добавим все макросы и глобальные переменные, которые в процессе написания кода нам потребуются.
    Также мы начнем писать некоторые функции аудио-библиотеки.
    Купить отладочную плату STM32F4-DISCOVERY можно здесь ali.pub/178fif
    Дисплей LCD 20x4 можно приобрести тут ali.pub/vk7tl
    Навигация по видео:
    00:00 Введение
    00:30 Кратко ознакомимся с АудиоЦАП-микросхемой, а также с шиной I2S
    08:40 Запустим и настроим проект в Cube MX
    14:35 Сгенерируем, запустим, настроим проект в Keil, настроим программатор на авторесет
    15:00 Добавим файл lcd.c и настроим его на другую шину
    18:10 Добавим все дополнительные файлы и добавим макроподстановки и глобальные переменные
    24:32 Напишем функцию для обработки ошибок и начнем писать функцию инициализации Аудио ЦАП
    29:50 Произведём ещё некоторые настройки кода шины USB
    Рекомендуется также перед просмотром данного урока просмотреть данное видео:
    УРОК 22. HAL. I2C. I2C to LCD2004 • Программирование МК ST...
    УРОК 36. HAL. USB. Host. Mass Storage Class. Часть 1 • Программирование МК ST...
    УРОК 36. HAL. USB. Host. Mass Storage Class. Часть 2 • Программирование МК ST...
    Текстовая версия данной части урока здесь narodstream.ru/stm-urok-46-i2s...
    Группа в контакте club116656325
    Группа в Одноклассниках ok.ru/group/52987126153436
    Группа в Facebook / 236905359999556
    Мой сайт "Программирование МК" narodstream.ru
    Форум narodstream.ru/forum/
    Вы можете помочь проекту:
    ЮMoney
    yoomoney.ru/to/41001176473465
    Webmoney
    Z341906933112
    Карта Сбербанка (МИР)
    2202201799288929
    Можно в USDT
    1) Сеть:TRC20
    Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
    2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
    Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
    3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
    Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
  • НаукаНаука

Комментарии • 41

  • @user-fx8bb5ks9f
    @user-fx8bb5ks9f 7 лет назад +1

    Хороший урок. Спасибо!

  • @DrargonsM
    @DrargonsM 7 лет назад

    с каждым уроком все больше нужной и полезной информации

  • @ergokannikka
    @ergokannikka 7 лет назад

    Otlichnyi urok!! Sposibki! :)

    • @narodstream552
      @narodstream552  7 лет назад

      Я старался) Вам тоже спасибо за оценку!

  • @jonnyreh001
    @jonnyreh001 7 лет назад +2

    Я из Чехии, но я был вполне в состоянии понять русский язык. Никто другой не имеет дело не с I2S STM32f407! большое спасибо

    • @narodstream552
      @narodstream552  7 лет назад

      И Вам спасибо за оценку!

    • @jonnyreh001
      @jonnyreh001 7 лет назад

      can you make also tutorial on MEMS microphone located on discovery board?
      Вы можете также сделать учебник по MEMS микрофон, расположенный на плате обнаружения?
      Schema 5:34 left down. MP45DT02

    • @narodstream552
      @narodstream552  7 лет назад +1

      По цифровым микрофонам урок будет, но несколько позднее.
      digital microphone's tutorial will be, but later

    • @jonnyreh001
      @jonnyreh001 7 лет назад

      Я действительно с нетерпением жду! Я надеюсь, что это будет в ближайшее время. :)
      удачи
      считает янв
      I am really looking forward! I hope it's gonna be soon. :)
      good luck
      regards Jan

    • @narodstream552
      @narodstream552  7 лет назад

      Jan Slavotínek Надо освоить до конца данную тему, тогда уже буду делиться с вами своими знаниями

  • @narodstream552
    @narodstream552  7 лет назад +3

    digital microphone's tutorial will be, but later

    • @hussienkazan2590
      @hussienkazan2590 5 лет назад

      hi, do u have the english translation for this video (Audio)?
      Привет, у тебя есть английский перевод для этого видео (Audio)?

    • @poosble
      @poosble 3 года назад

      is it available now?

  • @korobyaka8437
    @korobyaka8437 3 года назад

    Подскажите, пожалуйста, возможно ли на стм сделать 8-ми канальный выход адат через оптику?

  • @ivan868
    @ivan868 4 года назад

    А что насчет поддержки аудио форматов WAV/PCM с дискретизации 24 bit/192 kHz с носитель SD карта?

  • @user-zj6gw3xh3y
    @user-zj6gw3xh3y 3 года назад

    Вот интересно, а есть ли возможность читать из GD5F1GQ4 сразу 2 аудио файла и выводить звук по i2s каждый в свой ЦАП?

  • @jonnyreh001
    @jonnyreh001 7 лет назад

    can you make also tutorial on MEMS microphone located on discovery board?

  • @nikosommer2937
    @nikosommer2937 3 года назад

    Спасибо за информацию. Очень доступно объясняете. Маленькая ремарка: I2C и I2S произносятся "ай сквейред си" или "эс" т. к. I2 это II (Inter IC) или "I" в квадрате.

  • @user-ps9vf9xw4g
    @user-ps9vf9xw4g 6 лет назад

    если вместо USB использовать SDIO сильно меняется программа ?

  • @ivan868
    @ivan868 6 лет назад

    А как можно связаться с вам? Есть передложение про совместньй проект для аудио плеера с вьйсокого разрешения.

    • @narodstream552
      @narodstream552  6 лет назад

      Я не занимаюсь коммерческим написанием кода. Если хотите просто помочь проекту, то все платёжные данные есть в описании к видео.

  • @BesitzeRuf
    @BesitzeRuf 7 лет назад

    а появился ли уже видеоурок по цифровому микрофону?

    • @narodstream552
      @narodstream552  7 лет назад

      Нет ещё, руки пока не дошли. Никак с сетью не разберёмся до конца. Уж очень много там разных протоколов.

  • @user-bd7wv7jk1e
    @user-bd7wv7jk1e 5 лет назад

    Здравствуйте!
    Спасибо вам большое за уроки!
    Столкнулся тут с одной проблемой, компилятор никак не хочет воспринимать __IO и выводит множество вот таких ошибок:
    ../Inc/audioplay.h(51): error: #20: identifier "__IO" is undefined
    __IO uint8_t select;
    ../Inc/audioplay.h(51): error: #65: expected a ";"
    __IO uint8_t select;
    Помогите, пожалуйста!

    • @narodstream552
      @narodstream552  5 лет назад +1

      Здравствуйте! Скорее всего, что-то не подключено. Вместо этого напишите volatile, что одно и то же в принципе.

    • @user-bd7wv7jk1e
      @user-bd7wv7jk1e 5 лет назад

      Огромное спасибо! Помогло, просто молниеносный ответ, даже не ожидал)

  • @KidCe.
    @KidCe. 5 лет назад

    Can you add English subtitles? :O really interesting topic but don't understand russian :(

  • @dipankarpanda8414
    @dipankarpanda8414 6 лет назад +1

    Not understanding anything.... Language problem.... :(

  • @user-jz8nz8xz1b
    @user-jz8nz8xz1b 6 лет назад

    Владимир, подскажите или объясните, сам я никак не могу понять, можно ли сию приблуду что вы тут программируете, подключить по i2s шине к микросхеме saa7708h? Хочу в своей магнитоле выкинуть дисковый привод и вместо него вставить мп3 читалку... И ещё... Как вы научились разбираться во всех этих... делах... Я, например, уже год не могу понять как по айтуси в регистр 0ffd записать данные в эту микру. Посмотрел ваши уроки... Но туман все равно не рассеивается. Это какойто кошмар!

    • @narodstream552
      @narodstream552  6 лет назад

      Думаю, что можно, если Вы приблудой называете микросхему Аудио-ЦАП. Только нужна одна малость. Уметь программировать и иметь среду разработки и поддержки, а также программатор к Вашем SAA. Даже не знаю что это такое. Но надеюсь, что это микроконтроллер, который аппаратно поддерживает шину I2S

    • @user-jz8nz8xz1b
      @user-jz8nz8xz1b 6 лет назад

      Как можно с вами связаться и обсудить это дело? _скайп почта... Или проще купить какойнить ятур(эмулятор сд чейнджера за 4к рубля) и не заморачиваться?... Неужели эту ерунду никак не победить...

    • @narodstream552
      @narodstream552  6 лет назад

      А со мной Вы не обсудите ничего, так как я Вашу микросхему не знаю. И не даю советов по железу, которое не знаю.

    • @user-jz8nz8xz1b
      @user-jz8nz8xz1b 6 лет назад

      Жаль... Я если честно, не понимаю как можно не знать эту микросхему?.. Для вас даташит на неё глянуть, это будет проще чем лампочку в патрон вкрутить! Ну чтож... Видать не судьба...

    • @narodstream552
      @narodstream552  6 лет назад

      Ну если Вам кажется, что это очень просто, то думаю, Вам помощь не нужна.

  • @RingQy
    @RingQy 6 лет назад

    на 2.03 вы оговорились и назвали шину I2C. зря вообще вспомнили про TWI уж я думаю кто про stm32 ролики смотрит вряд ли будет путать только оговорки возможны. 4.25 разве 8,16.... байтов? вроде бы битов опять оговорка.

  • @yousrarachidiTest
    @yousrarachidiTest 7 лет назад

    Helo narod plzz я следую вашему учебнику, но я получаю эту проблему, помогите мне : ../Drivers/CMSIS/Include/core_cm4.h(129): error: #35: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"

    • @narodstream552
      @narodstream552  7 лет назад

      Вы, видимо, неправильно собираете и генерируете проект.
      Ваш компилятор ругается на плавающую точку. Должна быть последняя версия Cube MX и последняя версия Keil, тогда должно будет собраться.

  • @ZugDuk
    @ZugDuk 2 года назад

    Это сюда, то сюда, куча копипаст, файлов - в результате не понятно ничего.