Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ соврСмСнных Π°ΡƒΠ΄ΠΈΠΎΡ€Π΅ΡˆΠ΅Ρ‚Π΅Π½ΠΈΠΉ Π² элСктронныС устройства Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΠΈ Ρ‡ΠΈΠΏ Everest ES8316 Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ здСсь ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСрСофоничСский ΠΊΠΎΠ΄Π΅ΠΊ с Π½ΠΈΠ·ΠΊΠΈΠΌ энСргопотрСблСниСм ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… устройствах, ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ… Π½Π° Π±Π°Π·Π΅ Android ΠΈ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Rockchip RK3326 ΠΈΠ»ΠΈ Allwinner. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка ΠΈ конфигурация этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° критичСски Π²Π°ΠΆΠ½Ρ‹ для обСспСчСния чистого Π·Π²ΡƒΠΊΠ° Π±Π΅Π· ΡˆΡƒΠΌΠΎΠ² ΠΈ искаТСний.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ES8316 Audcodec часто сталкиваСтся с рядом спСцифичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ настройки I2S-интСрфСйса. МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ситуациСй, ΠΊΠΎΠ³Π΄Π° устройство опрСдСляСтся систСмой, Π½ΠΎ Π·Π²ΡƒΠΊ отсутствуСт ΠΈΠ»ΠΈ воспроизводится с ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Π°ΠΌΠΈ. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого Ρ‡ΠΈΠΏΠ° позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок Π½Π° этапС проСктирования ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ сборки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС аспСкты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌ Π°ΡƒΠ΄ΠΈΠΎΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ: ΠΎΡ‚ тСорСтичСских основ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π΄ΠΎ практичСских шагов ΠΏΠΎ установкС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π² срСдС Linux ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π² Windows. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊΠΈΠ΅ рСгистры Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ настройки ΠΈ ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с шиной I2C. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ES8316 являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° частот дискрСтизации Π΄ΠΎ 384 ΠΊΠ“Ρ† ΠΏΡ€ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ собствСнного ΡˆΡƒΠΌΠ°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Hi-Fi ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

АрхитСктурныС особСнности Ρ‡ΠΈΠΏΠ° ES8316

АудиокодСк ES8316 прСдставляСт собой слоТноС устройство, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π΅ Π² сСбС Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (ADC), Ρ†ΠΈΡ„Ρ€ΠΎ-Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (DAC) ΠΈ ΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ для Π½Π°ΡƒΡˆΠ½ΠΈΠΊΠΎΠ². Π’ основС Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° интСрфСйса I2S (Inter-IC Sound), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π°ΡƒΠ΄ΠΈΠΎΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ процСссором ΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ. Для управлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ рСгистрами ΠΈ настройкой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ шина I2C, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ соблюдСния Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ² ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Одной ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… характСристик этой микросхСмы являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ встроСнного усилитСля для Π½Π°ΡƒΡˆΠ½ΠΈΠΊΠΎΠ² с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ искаТСний, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ устройства Π±Π΅Π· нСобходимости использования Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… каскадов. БистСма управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ Ρ‡ΠΈΠΏΠ° позволяСт Π³ΠΈΠ±ΠΊΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ энСргопотрСблСниС, пСрСводя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ Π² спящий Ρ€Π΅ΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠ². Однако такая слоТная внутрСнняя структура Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ порядку ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания ΠΈ сброса.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ питания Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ VDD ΠΈ AVDD ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΈ появлСнию ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠ² ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ устройства.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСмы Π½Π° Π±Π°Π·Π΅ ES8316 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ трСбования ΠΊ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π§ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚ внСшнСго мастСр-ΠΊΠ»ΠΎΠΊΠ° (MCLK), Ρ‚Π°ΠΊ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ частоты Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ для достиТСния Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ сигнал/ΡˆΡƒΠΌ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшний высокоточный Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Π΄ΠΆΠΈΡ‚Ρ‚Π΅Ρ€ ΠΈ, ΠΊΠ°ΠΊ слСдствиС, Π½Π° ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ качСство звучания.

πŸ“Š Какой интСрфСйс управлСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для ES8316?
  • I2C (стандартный)
  • I2C (Ρ‡Π΅Ρ€Π΅Π· GPIO bit-bang)
  • SPI (Ρ€Π΅Π΄ΠΊΠΎ)
  • НС знаю, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части ΠΈ распиновка

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² коррСктности Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ управлСния I2C Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов Π½Π° линиях SDA ΠΈ SCL, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ составляСт ΠΎΡ‚ 2.2 кОм Π΄ΠΎ 4.7 кОм Π² зависимости ΠΎΡ‚ Смкости ΡˆΠΈΠ½Ρ‹. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ этих рСзисторов β€” самая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ систСма Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ Π°ΡƒΠ΄ΠΈΠΎΠΊΠΎΠ΄Π΅ΠΊ Π½Π° шинС.

Π›ΠΈΠ½ΠΈΠΈ Π°ΡƒΠ΄ΠΈΠΎΠΏΠΎΡ‚ΠΎΠΊΠ° I2S Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Π‘ΠΈΠ³Π½Π°Π»Ρ‹ BCLK (Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΎΠΊ), LRCK (ΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΎΠΊ) ΠΈ DOUT/DIN Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΈΠ½Π°ΠΌ процСссора Π±Π΅Π· пСрСсСчСний. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ сигналу сброса (RESET), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто игнорируСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, хотя Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… рСгистров Ρ‡ΠΈΠΏΠ°.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ES8316 ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ:

>I2C SCL (с подтяТкой)

Пин ES8316 Ѐункция Π’ΠΈΠΏ сигнала Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
1 (VDD) ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ Power 3.3V (Β±10%)
2 (GND) ЗСмля Ground ΠžΠ±Ρ‰ΠΈΠΉ GND
5 (SCL) I2C Clock Input
6 (SDA) I2C Data IO I2C SDA (с подтяТкой)
12 (RESET) Бброс Input GPIO (Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π½ΠΈΠ·ΠΊΠΈΠΉ)

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Установка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π² срСдС Linux (Device Tree)

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Π½Π° ядрС Linux, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Android ΠΈΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дистрибутивы для Single Board Computers, настройка ES8316 Audcodec производится Ρ‡Π΅Ρ€Π΅Π· Device Tree. Π­Ρ‚ΠΎ тСкстовый Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .dts ΠΈΠ»ΠΈ .dtsi, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сообщаСт ядру ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ оборудования ΠΈ способах взаимодСйствия с Π½ΠΈΠΌ. Ошибки Π² синтаксисС этого Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π²ΡƒΠΊΠ° просто Π½Π΅ загрузится.

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠ·Π΅Π» I2C, ΡƒΠΊΠ°Π·Π°Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ адрСс устройства. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ адрСс ES8316 ΠΏΠΎ шинС I2C ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π²Π΅Π½ 0x10 ΠΈΠ»ΠΈ 0x11, Ρ‡Ρ‚ΠΎ зависит ΠΎΡ‚ состояния ΠΏΠΈΠ½Π° адрСса Π½Π° ΠΏΠ»Π°Ρ‚Π΅. Если адрСс ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° i2cdetect Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ устройство, ΠΈ дальнСйшая настройка Π±ΡƒΠ΄Π΅Ρ‚ бСссмыслСнной.

es8316: es8316@10 {

compatible = "everest,es8316";

reg = <0x10>;

clocks = <&mclkout>;

clock-names = "mclk";

EVMOS-ΡˆΡƒΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ = <1>;

status = "okay";

};

Π”Π°Π»Π΅Π΅ конфигурируСтся ΡƒΠ·Π΅Π» Π·Π²ΡƒΠΊΠ°, Π³Π΄Π΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ DAI (Digital Audio Interface) процСссора ΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠ°. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π°ΡƒΠ΄ΠΈΠΎ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ I2S), количСство ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Π±ΠΈΡ‚Π½ΠΎΡΡ‚ΡŒ. Часто встрСчаСтся ошибка, ΠΊΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ указываСтся ΠΊΠ°ΠΊ left-justified вмСсто i2s, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ Π±Π΅Π»ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ° вмСсто ΠΌΡƒΠ·Ρ‹ΠΊΠΈ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Device Tree компилируСтся с ошибками?

Если компилятор DTC Π²Ρ‹Π΄Π°Π΅Ρ‚ ошибки, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (.dtsi) Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π°. Частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” отсутствиС опрСдСлСния ΡƒΠ·Π»ΠΎΠ² GPIO ΠΈΠ»ΠΈζ—Άι’Ÿ (clocks), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΏΠ»Π°Ρ‚Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ dtc -I dts -O dtb your_file.dts для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй Π² Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Настройка ALSA ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ‚Ρ€Π°ΠΊΡ‚Π°

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра ΠΈ примСнСния Device Tree, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠΌ Π² Linux осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· подсистСму ALSA (Advanced Linux Sound Architecture). Для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ диагностики ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° aplay -l, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список доступных Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚. Если ваш ΠΊΠΎΠ΄Π΅ΠΊ установлСн ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ устройство с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ES8316 ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅.

Для тСстирования воспроизвСдСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ тСстовый сигнал Π½Π° устройство. Однако, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, ΡƒΡ€ΠΎΠ²Π½ΠΈ громкости Π² ΠΌΠΈΠΊΡˆΠ΅Ρ€Π΅ установлСны Π² ноль ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹Π΅ значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ Ρ€Π΅Π·ΠΊΠΈΠΌ скачком напряТСния. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡˆΠ΅Ρ€ΠΎΠΌ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ amixer.

  • πŸ”Š ЗапуститС amixer ccontrols для просмотра всСх доступных элСмСнтов управлСния ΠΊΠΎΠ΄Π΅ΠΊΠΎΠΌ.
  • πŸ”Š Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ amixer set 'Headphone' 80% для установки уровня громкости Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π° Π½Π°ΡƒΡˆΠ½ΠΈΠΊΠΈ.
  • πŸ”Š ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статус mute/unmute для ΠΊΠ°Π½Π°Π»ΠΎΠ² DAC ΠΈ ADC, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Π»ΡƒΡˆΠ΅Π½Ρ‹.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ тСстировании Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ акустичСской систСмы ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° соотвСтствуСт импСдансу, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ каскад ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Ρ‚ΡŒΡΡ.

Если Π·Π²ΡƒΠΊ Ρ…Ρ€ΠΈΠΏΠΈΡ‚ ΠΈΠ»ΠΈ прСрываСтся, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ настройки Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ пСриодичности ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ручная ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ALSA (/etc/asound.conf), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ. НСсоотвСтствиС ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ FIFO-Π±ΡƒΡ„Π΅Ρ€Π° ΠΊΠΎΠ΄Π΅ΠΊΠ°.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ arecord -f cd test.wav для записи тСстового Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π²ΠΎΠ΄ (DAC), Π½ΠΎ ΠΈ Π²Π²ΠΎΠ΄ (ADC) Π·Π²ΡƒΠΊΠ°, Ссли ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ распаян Π½Π° ΠΏΠ»Π°Ρ‚Π΅.

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ Π² Windows

Π₯отя ES8316 Ρ‡Π°Ρ‰Π΅ встрСчаСтся Π² Linux-срСдС, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ для ОБ Windows, особСнно Π² контСкстС ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ спСциализированных ПК. Установка Π² Windows Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия подписанного Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, совмСстимого с вСрсиСй ядра. Часто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ INF-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· диспСтчСр устройств.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Windows часто связаны с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠΌ рСсурсов ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ вСрсии Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ Ρ‡ΠΈΠΏΠ°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Linux, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ядро, Π² Windows приходится ΠΈΡΠΊΠ°Ρ‚ΡŒ совмСстимыС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² диспСтчСрС устройств Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ устройств с ID ES8316.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта производитСля ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Ρ‡ΠΈΠΏΠ°.
  2. РаспакуйтС Π°Ρ€Ρ…ΠΈΠ² ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .inf.
  3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ диспСтчСр устройств, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ нСизвСстноС устройство ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Β» β†’ Β«Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· списка» β†’ Β«Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с диска».
  4. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ INF-Ρ„Π°ΠΉΠ»Ρƒ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ установку.

ПослС установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ систСму ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ панСль управлСния Π·Π²ΡƒΠΊΠΎΠΌ. Если устройство появилось, Π½ΠΎ Π·Π²ΡƒΠΊΠ° Π½Π΅Ρ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ устройством воспроизвСдСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ свойствах устройства Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° 24 Π±ΠΈΡ‚, 48000 Π“Ρ†, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с пСрСдискрСтизациСй.

πŸ’‘

Π’ Windows критичСски Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Β«ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π·Π²ΡƒΠΊΠ°Β» Π² свойствах Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ часто ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ возмоТностями ES8316, вызывая искаТСния.

Диагностика ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· рСгистры

Когда стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚, приходится ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгистрами. ES8316 Audcodec ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… рСгистров, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… всСм: ΠΎΡ‚ усилСния ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π΄ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΡˆΡƒΠΌΠΎΠ². Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Π² эти рСгистры осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΡˆΠΈΠ½Ρƒ I2C, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС Ρ‡ΠΈΠΏΠ° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгистрами Π² Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ i2cget ΠΈ i2cset. НапримСр, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ вСрсии Ρ‡ΠΈΠΏΠ° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСгистр 0x00 ΠΈΠ»ΠΈ 0x01) позволяСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ связь с устройством Π΅ΡΡ‚ΡŒ ΠΈ ΠΎΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ. Если Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0xFF ΠΈΠ»ΠΈ ошибка, Π·Π½Π°Ρ‡ΠΈΡ‚, физичСская связь Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°.

# Π§Ρ‚Π΅Π½ΠΈΠ΅ рСгистра ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

i2cget -y 1 0x10 0x00

# Π—Π°ΠΏΠΈΡΡŒ значСния Π² рСгистр управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ

i2cset -y 1 0x10 0x02 0x00

Анализ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ рСгистров ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка PLL (Ρ„Π°Π·ΠΎΠ²ΠΎΠΉ автоподстройки частоты) ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ источника тактирования. Π’ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊΠ°Ρ€Ρ‚Π° рСгистров с описаниСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Π΅ΠΊ для экзотичСских Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹, нСдоступных Ρ‡Π΅Ρ€Π΅Π· стандартный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ воспроизвСдСнии Π·Π²ΡƒΠΊΠ° ΡΠ»Ρ‹ΡˆΠ΅Π½ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ ΡˆΡƒΠΌ?

Π¨ΡƒΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ нСсколькими ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ: плохая экранировка ΠΊΠ°Π±Π΅Π»Π΅ΠΉ, отсутствиС зазСмлСния Π½Π° ΠΏΠ»Π°Ρ‚Π΅, нСвСрная настройка усилСния (Gain) Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ…ΠΈ ΠΎΡ‚ Π±Π»ΠΎΠΊΠ° питания. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки рСгистров усилСния ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π»ΠΈΠ½ΠΈΠΈ питания ΠΎΡ‡ΠΈΡ‰Π΅Π½Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ES8316 с Raspberry Pi?

Π”Π°, ES8316 совмСстим с Raspberry Pi, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ overlays для Device Tree. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ сборки для Raspberry Pi OS, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ²Π΅Ρ€Π»Π΅ΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ config.txt ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΈΠ½Ρ‹ I2S ΠΈ I2C.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ адрСс I2C Ρƒ ES8316?

АдрСс устройства зависит ΠΎΡ‚ состояния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΈΠ½Π° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ADDR) Π½Π° ΠΏΠ»Π°Ρ‚Π΅. Если ΠΎΠ½ подтянут ΠΊ Π·Π΅ΠΌΠ»Π΅, адрСс ΠΎΠ΄ΠΈΠ½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0x10), Ссли ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ β€” Π΄Ρ€ΡƒΠ³ΠΎΠΉ (0x11). Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ адрСс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ нСльзя, трСбуСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ схСмотСхники ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠ°ΠΉΠΊΠ° рСзистора.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ΄Π΅ΠΊ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°ΠΌΠΈ?

Π”Π°, ES8316 ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный АЦП ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Ρ‹ с Ρ„Π°Π½Ρ‚ΠΎΠΌΠ½Ρ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… конфигурациях. ВрСбуСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ настройка Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² ΠΌΠΈΠΊΡˆΠ΅Ρ€Π΅ ALSA.