PWM控制器在当今电子工业当中具有极广泛的应用场景,包括但不限于DCDC电源、LED灯珠驱动、无刷电机、激光器、交直流逆变器、储能、充电桩等等。它在MCU、DSP器件当中是一种常用外设,通常可以做到的理论精度在500ns~5ns之间,且通道数量有限,在多通道应用中通常要通过CPLD/FPGA器件来对通道数量进行扩展,从而达到多通道PWM发波和控制通道间相位的目的。
近日,智多晶应用团队的一项Precise_PWM demo,使用智多晶FPGA将PWM控制精度从FPGA应用常见的10ns~5ns的水平提升到了1ns的脉宽和相位精度,精准可控,且资源消耗极低。
Precise_PWM demo介绍
本demo基于智多晶30k开发板(EVAL-SA5Z-30-D1-U213),使用2个普通GPIO作为PWM输出(其中一路作为发波参考,另一路作为调整对象),使用示波器做采集显示,一个串口用于发送控制指令。系统框图如下:
demo系统示意框图
其中,CLK_GEN模块提供系统所需工作时钟,SYNC_COUNTER为所有PWM通道提供统一的同步相位和PWM工作节拍。PWM_gen模块是PWM发波核心模块,以SYNC_COUNTER输入值以过采样的方式实现PWM输出。通道数方面,只要在同一个bank内(为保障精度)可任意例化,轻松定制通道数。每个PWM_gen模块都具有独立的PWM控制接口,可动态调整,调整过程中也不必考虑发波时序,拥有无限制的灵活性和易用性。在某些bank上,PWM输出IO甚至可以配置为LVDS25类型,以差分电流信号的方式输出,从而获得极高的IO性能和传输性能。
Demo演示
测试环境:EVAL-SA5Z-30-D1-8U213开发板,示波器,串口
点击原文观看视频
视频展示中,黄色为参考波,蓝色为调整波。展示视频中每调整一次蓝色调整波移动最高精度1ns。可实现前后调整,脉宽调整,跳变调整。
资源占用(每个PWM通道)
方案特性
-
PWM可控精度高达1ns或更高
-
PWM脉宽设置灵活无限制
-
PWM通道数量无限制,每组PWM支持的通道数仅与BANK上IO数量相关
-
通道间相位关系稳定且可控
-
脉宽和相位设置允许跳变
-
调节响应迅速(当前周期调整,下个周期实现)
-
支持差分驱动输出
应用场景
-
PWM功率管驱动,高精度死区控制
-
脉冲式激光器驱动
-
仪器仪表/测试设备,高精度脉冲激励源