当前位置:网站首页>Five skills of adding audio codec to embedded system
Five skills of adding audio codec to embedded system
2022-07-02 01:46:00 【Guangdong embedded Education】
The ability of embedded system to play audio is becoming a very common function . Audio provides users with good feedback , But now there are so many high fidelity audio available , Use beeps and chirps no longer to cut it . Developers can certainly use discrete components and DAC Get good audio from the system , But audio codecs have become very cheap , And it provides a wide range of functions for embedded developers , Otherwise, these functions will take time and cost to realize . In today's article , Let's study some techniques of adding audio codecs to embedded systems .
skill #1 – Use microcontroller as master clock
Audio codecs usually pass I2S(IC Inter voice ) Interface to the system . Many audio codecs provide developers with the flexibility of how to generate clocks for audio codecs . for example , The clock source can be passed by the microcontroller I2S The bus or oscillator connected to the codec generates . The codec itself can act as the master clock source and send the clock to the microcontroller . however , If developers want to minimize the BOM (BOM) cost , The simplest way is to set the microcontroller as the master and generate a clock for the codec . This minimizes costs and the number of components , And simplifies the audio playback system .
skill #2 – Use an external audio amplifier
Most audio codecs have built-in audio amplifiers . These amplifiers can usually output 0.5 To 1.5 Any power between watts , There are exceptions . If the audio application is simple and does not need a lot of output , Then use the internal amplifier to save BOM The cost is favorable . However , In most applications , Internal amplifiers cannot provide sufficient output power or flexibility for applications . For these reasons , Embedded developers often use external audio amplifiers , It can be adjusted through the speaker output system to obtain better performance . In these applications , The audio codec is usually set to bypass the internal audio amplifier , Because they usually expect to drive 4 or 8 Ohmic load . Then use the line output to drive the external audio amplifier .
skill #3 – Use the audio block to adjust the speaker
Many audio codecs are usually digital blocks . This digital audio module allows developers to carefully adjust their audio playback system for their applications . for example , A typical audio block may contain several programmable low-pass and high pass filters and a multipoint equalizer . These programmable components allow developers to carefully adjust their output systems , To maximize audio quality , At the same time, minimize the number of external components required by the system . The way these components are programmed depends on the frequency characteristics of the speakers used in the final application and the type of audio that will be used , For example, instrumental music and human voice .

skill #4 – Store the codec configuration in a table
The configuration of audio codec is usually through I2C Bus transmission , The digital audio stream passes I2S Interface transmission . Most audio codecs have dozens of registers , These registers need to be configured to make the codec run in the way required by the application , A good way for embedded developers to store this configuration information is to save the configuration table EEPROM Or flash memory , Then, during system initialization, the table is loaded into RAM in . then , If you need to adjust the system performance , For example, adjust the current volume , Users can modify RAM value . During initialization before enabling the audio playback system , Can pass I2C Send initial configuration , Then you can provide separate register updates as needed .
skill #5 – stay PCB Add spare capacitor package on
Capacitance is very important , Because sometimes the speaker needs to be pulled out “ A lot of ” Instantaneous energy , And capacitors act as energy storage . Capacitance is too small , Speakers may not move as needed , Therefore, there will be audio defects audible to the ear . The only way to ensure that there is enough is to measure while the system is running . No one wants to waste PCB Rotate to make sure there is enough capacitance , Therefore, a good practice is to set the capacitance as you expect , But add some additional parallel encapsulation , In case you need to adjust the required capacitance .
Conclusion
High fidelity audio is becoming the requirement of many systems , Because it provides users with audible feedback , Help them understand the state of the system . When the embedded development team first worked with the audio codec , They may feel afraid , But the truth is , They are not as bad as you first see from the data table .
边栏推荐
- 电子协会 C语言 1级 33 、奇偶数判断
- Finally got byte offer, 25-year-old inexperienced experience in software testing, to share with you
- Feature extraction and detection 16 brisk feature detection and matching
- This is the report that leaders like! Learn dynamic visual charts, promotion and salary increase are indispensable
- 6-2 vulnerability exploitation - inevitable problems of FTP
- np.where 和 torch.where 用法
- uTools
- 如何用一款产品推动「品牌的惊险一跃」?
- D discard the virtual recovery method
- new和malloc的区别
猜你喜欢
![[Video] Markov chain Monte Carlo method MCMC principle and R language implementation | data sharing](/img/ba/dcb276768b1a9cc84099f093677d29.png)
[Video] Markov chain Monte Carlo method MCMC principle and R language implementation | data sharing

卷积神经网络(包含代码与相应图解)

分卷压缩,解压

Docker installing Oracle_ 11g

如何用一款产品推动「品牌的惊险一跃」?
![[IVX junior engineer training course 10 papers to get certificates] 01 learn about IVX and complete the New Year greeting card](/img/99/53b0ae47bada8b0d4db30d0517fe3d.jpg)
[IVX junior engineer training course 10 papers to get certificates] 01 learn about IVX and complete the New Year greeting card
![[rust web rokcet Series 2] connect the database and add, delete, modify and check curd](/img/23/cfa13ad30e45ef7cdda690775964a7.jpg)
[rust web rokcet Series 2] connect the database and add, delete, modify and check curd

【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享

Game thinking 15: thinking about the whole region and sub region Services

Three core problems of concurrent programming
随机推荐
MATLAB realizes voice signal resampling and normalization, and plays the comparison effect
【C#】使用正则校验内容
Penser au jeu 15: penser au service complet et au sous - service
[IVX junior engineer training course 10 papers to get certificates] 09 chat room production
How to debug apps remotely and online?
II Basic structure of radio energy transmission system
Data visualization in medical and healthcare applications
The technology boss is ready, and the topic of position C is up to you
Memorabilia of domestic database in June 2022
2022年6月国产数据库大事记
电商系统中常见的9大坑,你踩过没?
5g/4g pole gateway_ Smart pole gateway
Learn basic K-line diagram knowledge in three minutes
牛客网——华为题库(51~60)
PR second training
Edge computing accelerates live video scenes: clearer, smoother, and more real-time
Tencent cloud techo youth dream campus trip into Wuhan University
How can I batch produce the same title for the video?
迁移云计算工作负载的四个基本策略
"C language programming", 4th Edition, edited by he Qinming and Yan Hui, after class exercise answers Chapter 3 branch structure