语音芯片KT142C两种音频输出方式PWM和DAC的区别

2023-10-21 12:52

本文主要是介绍语音芯片KT142C两种音频输出方式PWM和DAC的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

语音芯片KT142C两种音频输出方式PWM和DAC的区别

一般的语音芯片,输出方式,无外乎两种,即dac输出,或者PWM输出

其中dac的输出,一般应用场景都是外挂功放芯片,实现声音的放大,比如常用的音箱类型的产品,都是dac+外挂功放的形式

其中PWM的输出,一般都是玩具类型的应用,因为他不需要很大的声音,需要就是简单,优点确实就是外围简单,但是缺点也很明显:音质不好,解析度不够,同时声音相对比较小一点。但是一般的场合也足够使用了​编辑

2.1 KT142C芯片的dac输出参数

2.2 KT142C芯片的PWM输出参数

三、dac和pwm选择的总结


语音芯片KT142C两种音频输出方式PWM和DAC的区别
一般的语音芯片,输出方式,无外乎两种,即dac输出,或者PWM输出
  1. 其中dac的输出,一般应用场景都是外挂功放芯片,实现声音的放大,比如常用的音箱类型的产品,都是dac+外挂功放的形式
  2. 其中PWM的输出,一般都是玩具类型的应用,因为他不需要很大的声音,需要就是简单,优点确实就是外围简单,但是缺点也很明显:音质不好,解析度不够,同时声音相对比较小一点。但是一般的场合也足够使用了

如上图,芯片就是同时支持DAC输出,和PWM直驱扬声器的

所以选择上面就很灵活:

假如您的产品需要音量不那么大,大概50平方的空间能听到就可以了,那就选择PWM输出即可,简单直接

假如需要很大的声音,大概100平方都需要听得很清楚,那就必须外挂功放了,可以选择3W、5W、10W,灵活搭配

2.1 KT142C芯片的dac输出参数

KT142C的dac输出的信噪比,还是可以的,如下图所示

但是它输出的幅值相对就比较小,不足以驱动耳机

什么是dac,其实网上随便搜搜,就很清楚,简单来说,就是数字信号转模拟信号

但是这里拓展一下音频dac的知识

  1. 音频dac最核心的参数,就是信噪比,以及转换速度,可以称之为采样率
  2. 音频芯片运行的逻辑,就是对各种音频信号进行解码,解码之后,就得到了音频信号的原始数据,其实就是PCM数据。得到这些数据之后,就全部扔给dac模块去处理就好了,最后就转换为“模拟信号”输出了
  3. 无论是mp3解码、flac等等其他格式,最终都需要软件解码为pcm。所以dac只能处理pcm的数据
  4. 而dac输出的信号,其实就是正弦波,用示波器看的话

2.2 KT142C芯片的PWM输出参数

PWM输出,其实很简单,就是脉宽调制,来控制扬声器发声,KT142C支持驱动8欧姆1W,极限电流大概200mA

也可以称之为class D功放,就是小功率的数字功放

这种很常见,比如:家里的玩具,声音不那么大的产品,基本都是pwm直驱喇叭的

因为集成到芯片里面去之后,不可能像单独的功放芯片一样那么强的驱动能力,所以只能应用于一些小音量的场合

三、dac和pwm选择的总结

语音芯片中两种音频输出方式PWM和DAC的原理弄清楚之后,就很好选择合适的语音芯片了

需要声音大,就选择dac输出的,外挂功放

不需要声音大,需要外围简单,成本低,就直接选择KT142C的直驱扬声器功能

就是这么的简单

这篇关于语音芯片KT142C两种音频输出方式PWM和DAC的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/254543

相关文章

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

gradle第三方Jar包依赖统一管理方式

《gradle第三方Jar包依赖统一管理方式》:本文主要介绍gradle第三方Jar包依赖统一管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景实现1.顶层模块build.gradle添加依赖管理插件2.顶层模块build.gradle添加所有管理依赖包

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren