正弦波是连续波,描述了平滑的周期性振荡。这些波一般用于信号处理和工程领域
在本文中,如图 1所示极性相反的双正弦波是在没有粗略的 PWM“阶跃”的情况下生成的。为了产生正弦波,使用了一个 PWM 宏单元。PWM 宏单元具有预编程的表格,其中包含每个正弦波“步长”的 PWM 占空比值。
图 1. 极性相反的正弦波
这个项目分为三个部分。时钟频率生成部分描述了生成新的所需正弦波频率的计算。在 HV PAK 部分,展示和解释了电路设计。最后,“测试设置和未来扩展”部分提供了有关该项目的测试条件和其他可能性的更多详细信息。
频率产生
正弦波的产生分为两部分。一部分波形的预编程占空比值存储在 PWM 宏单元 Reg 文件中,并在每个时钟到来后递增。当时钟数等于 Reg 文件位数时,PWM 宏单元状态的 Up/Down 输入发生变化,Reg file 开始以相反方向计时。
新的时钟频率生成取决于正弦波频率。正弦波频率所需的 PWM 周期数。等式 1
其中, – 所需的正弦波频率, – 预编程位数,默认为 16。
HVPAK 设计
在这个项目中,我们使用 GreenPAK™ 电路来说明如何构建正弦波发生器——特别是SLG47105 高压 GreenPAK (HVPAK)。可在此处找到在GreenPAK Designer 软件(免费提供)中创建的完整电路设计文件。
图 2 显示了该设计。这种设计只需要一个外部输入,即 EN 输入。在本设计中,PWM0 宏单元被配置为一个频率控制的发生器,它为正弦波的每个部分生成 PWM 信号。PWM0 宏单元的输出连接到 HV OUT CTRL0,然后连接到外部滤波器以获得具有相反极性的双正弦波。
在本项目中,HVPAK 设计配置为生成 1kHz 正弦波。
CNT0/DLY0/FSM0 配置为复位计数器。CNT0/DLY0/FSM0输出周期决定Reg文件每一步的周期和输出正弦波频率(1)。
根据(1)要产生一个1kHz左右的输出正弦波频率,CNT0/DLY0/FSM0的输出频率必须等于31.25kHz或输出周期为32us。
PWM 的方向每 16 秒时钟周期改变一次。CNT1/DLY1 对输入信号的 16 个时钟周期进行计数。DFF6 配置为切换触发器,可改变 PWM 宏单元的方向。
HV OUT CTRL0 宏单元配置为半桥模式控制配置。PWM0 OUT+连接到IN0,OUT-输出连接到IN1。OE0 和 OE1 输入连接到 POR。当 EN 信号处于低电平状态时,睡眠输入用于禁用 HV OUT CTRL0。
需要一对外部 RC 滤波器来平滑 PWM 信号并接收无噪声的正弦波。
DFF3 触发器和 2 位 LUT1 用于跳过发生器启动后的前半个周期。第一个通道正弦波从 100% 占空比开始,同时输出 RC 滤波器放电。在这种情况下,通道 1 正弦波的第一个周期的一半完全失真。
因此,要使用所需输入频率生成所需频率的正弦波,设计人员首先计算必要的参数以修改宏单元,如时钟频率生成部分所述,然后相应地修改 PWM 宏单元和 CNT 设置,如上所述。
测试
设置和未来扩展
该设计使用外部 RC 滤波器和按钮进行了测试。按钮连接到 EN 输入,每个 RC 滤波器连接到 HV OUT CTRL0 宏单元的 HV 输出,如图 3 所示。如图 4 所示,当 EN 输入为高电平时,会产生极性相反的双正弦波近似值。
图 3. 测试设置
通道 1(黄色/顶线)– 引脚 #2 (EN)
通道 2(青色/第 2 行)——引脚 #7 (TP1) 处的正弦波输出
通道 3(洋红色/第 3 行)– 引脚 #8 (TP2) 处的正弦波输出
图 4. 正弦波输出
该设计的未来可能性可以扩展到通过支持 I2C 的 MCU 而不是按钮生成正弦波,改变正弦波频率,还包括保护功能,例如使用电流检测比较器和欠压锁定的恒定电流/电流限制(欠压锁定)。通过使用 HV OUT CTRL 1 宏单元,还可以扩展此设计以生成额外的双正弦波。
结论
本文中描述的 HVPAK 设计生成两个 1kHz 正弦波近似值。该设计易于使用,最大限度地降低成本,节省电路板空间和组件数量。
此外,我们使用的电路非常灵活,易于测试,并且可以适应最后一刻的设计更改。修改设计后,可以在芯片上对新的设计文件进行编程并在板上重新焊接。它还通过锁定设计文件以限制可见性来提供设计安全性。通过使用这种设计,用户可以使用 PWM 宏单元和单个输入生成所需频率的正弦波。