原文链接:“A dsp based class d audio amplifier”
介绍
D 类放大器已证明比 A、B 和 AB 类等线性类具有更高的功率效率性能。D类放大器的功率损耗主要是由于输出晶体管的非理想性,作为开关操作,由脉冲宽度调制器控制。
此示例描述了将 TMS320F2808™ 数字信号控制器的增强型脉宽调制器 (ePWM) 和模数转换器 (ADC) 用作 D 类音频放大器的方法。该方法涉及模拟全桥D级功率放大器和模拟低通滤波放大的PWM信号以去除高频分量,只留下音频内容。
硬件和软件要求
此示例最初是使用以下硬件和软件开发的:
- MatLab R2008a
- Code Composer Studio (CCS) v3.3
- eZDSP-F2808 板。
工作原理
该放大器包括三个主要模块(如图 1 所示):
输入电路:
该模块与音频源连接,衰减其直流分量并将 ADC 的输入电压限制在 0 – 3.3V 范围内。该电路还包含一个 DC-DC 转换器,用于 DSP 输入缓冲器。
数字信号控制器
TMS320F2808 将模拟信号转换为一对 PWM 信号,馈送到输出级(请参阅章节)。它以 100 MHz 运行。ADC 以 97.656.25 Ksps 的速率对输入信号进行采样。ePWM 生成周期为 102.4 μs 且占空比与输入信号电平成比例的 PWM 信号。ePWM 与 D 级输出级和二阶无源 RLC 滤波器相结合,可提供等效的 DAC。
对模拟输入进行采样
模拟信号被转换为 PCM 值,如图所示。转换如表 1 所述执行。ADC 以 97.656 KHz (100 MHz/1024) 的采样率运行。
表 1:模数转换
Input Voltage (Vin) | Digital Value(ADCRESULT) |
Vin<0VVin<0V | 0 |
0≤Vin<3V0≤Vin<3V | 4096∗Vin34096∗Vin3 , |
Vin≥3VVin≥3V | 4095 |
Pcm → Pwm
PCM 值转换为 PWM,如图 4 所示。选择了 102.4 毫秒(1024 个时钟周期)的周期。PCM 值/全范围的关系被转换为 PWM 的占空比。例如,512 (50 %) 的占空比对应于全范围的 50%。在此示例中,0-4095 范围内的样本值将通过除以 4(右移 2 位)映射到 0-1023 范围内的占空比值 (CMPA),如图 5 所示。
基于 PWM 的数模转换
中断服务程序
上一节中描述的过程在中断服务程序 (ISR) 中执行。ADC 转换由 ePWM 模块在 PWM 周期开始时触发(每 102.4 毫秒)。ADC 在转换结束时产生中断。中断服务程序根据该样本的值更新 PWM 占空比(CMPA 值)。新的占空比将在下一个 PWM 周期开始时加载。该过程在图 6 中进行了描述。
输出级:
该模块包含 H 桥和一个低通滤波器,用于去除高频分量,只留下音频内容。该模块使用 PWM 信号发生器和低通滤波器基本上实现了数模转换器,如图所示。此方法在 中进行了描述。
D 类放大器的基本配置是半桥(H 桥)配置。两个输出晶体管作为开关工作,由互补的 PWM 信号驱动。其中一个晶体管处于关闭状态(通过它的电流接近于零),而其余一个处于开启状态(其两端的电压接近于零),从而使功耗保持在非常低的水平。
全桥 D 类放大器由两个半桥组成,由同步的 PWM 信号驱动,有两条通过负载的交替传导路径,每条都有一对晶体管导通,而另一对则关闭。
执行
本节将根据第 1 章的描述来描述构建 Simulink 模型以进行代码生成的过程。
在第一部分中,将创建中断处理框架。第二部分将描述中断服务程序的创建。
打断
- 创建新的 Simulink 模型
- 从目标支持包 TC2 添加“F2808 eZDSP”块。“F2808 eZDSP”块
- 从目标支持包 TC2 的 C2808 DSP 芯片支持组中添加“硬件中断”块。“硬件中断”块中断应在 A 组转换结束时生成(CPU 值 = 1 和 PIE 值 = 1),如图 12 所示。“硬件中断”选择表
- 双击 Hardware Interrupt 模块并进行如下配置:硬件中断配置
- 从 Simulink 模块集的 Ports and Subsystems 组中添加“Function-Call Subsystem”模块。“函数调用子系统”块
- 如图 15 所示连接模块。将模型保存为“eZDSPF2808ClassD”。 您还可以更改颜色,并按此处所示命名块。D类放大器模型
Pcm 到 Pwm 的转换
- 双击 Function-Call Subsystem 模块并删除“In1”和 Out1 模块。
- 从目标支持包 TC2 的 C2808 DSP 芯片支持组中添加“ADC”块。“ADC”块该模块应配置为使用模块 A 的通道 0,由 ePWMxA 触发,并在转换结束时发布中断,如下所示: “ADC”配置
- 添加来自目标支持包 TC2 的 C2808 DSP 芯片支持组的“ePWM”块的两个副本。将它们命名为 ePWM1 和 ePWM2。“ePWM”块块的配置应如下图所示: “ePWM1”块配置 “ePWM2”块配置
- 从 Simulink 模块集的 Logic and Bit Operations 组中添加“Shift Arithmetic”模块,并将其配置为右移 2 位。“移位算术”块“移位算术”模块配置
- 如图 22 所示连接模块。D类放大器模型
运行模型:
- 如下图所示连接系统:系统电压供应
- 构建并运行模型“CTRL-B”。
- 放大器应该开始工作,连接您的音频源并享受音乐。
要尝试的事情
此示例的目的是展示 F2808 模块的使用,它当然不是最好的实现,但它可以作为附加功能和增强功能的基础,例如:
- 使用过采样
- 使用高分辨率 PWM
- 为放大器添加信号处理(滤波、均衡、增益控制)功能
拓品那个新功放不会还是D类吧?
说的不是Topping
我以为你预热呢。
HiFi商家们喜欢欺负消费者读书少
好的 今天我发现的 以为是什么新技术
看到做纯数字功放的不多啊,感觉大部分是车载用的
(不知道这么描述是否贴切)
嘿嘿 嘿嘿
??asr上面排前面的不全都是D类吗?难道我理解错了??
Class D≠Class Digital
前十名中就第一名不是。
坐等吃瓜……
瓜雨欲来风满楼
据我猜测,是老窖的东西?
这是哪家倒霉蛋子要被挂城门了(期待
教授不愧是老谜语人。
不过大体可以猜到,一定是谁家用这老技术,吹什么世界最新独门秘籍了。
不会是popu老窖吧不会吧不会吧(
popu老窖的新品,主打数字输入,而不是这里的模拟输入。
我倒是好奇,有哪位大神解释一下,这里是PCM转换成PWM信号,为什么DSD不能直接转换成PWM信号?按说,DSD与PWM更接近啊
David M. Alter,“在 TMS320F280x 上使用 PWM 输出作为数模转换器”,TI 应用报告 SPRAA88,2008 年 9 月
忘了说 DSD其实可以直接滤波输出的……
如何在没有DAC芯片的情况下做1bit解码
老窖的纯数字功放不支持DSD直接放大(在USB模块上用AKM4137转成了PCM,再进DSP)。是因为那样无法调节音量,还是因为DSD信号和PCM转成的PWM区别很大、不能共用一个放大电路?我推测应该是前一个原因
这个不确定 不妄加推测……
狼叔多发点这个,给我这种电路萌新科普科普🥵🥵🥵🥵🥵🥵🥵
比起pwm很想做个dsp pdm解码,技术资料都查好了一直拖延症