具体波形出来之后,从直观的角度上看波形,最直观的设计方法在EDA中无非就是作枚举描述。
对应不同的st,用上升沿脉冲触发switch,让ABCD分别输出我们想要的波形。
综合出来的RTL十分尴尬,是一个状态机。。。虽然它的工程应用十分可靠,但占有门资源过多,但这是损害爱好者热情的,我们Fire掉它。
(其实UD3的VHDL几乎都是以上设计方法,有条件的爱好者可以用它做,推荐)
-
在了解机器思路后,似乎发现它还可以用计数器的方法实现它。
对于A、B,我可以用硬件逻辑描述语言建立一个上升沿使能自动置零功能的一位计数器,通过A信号的上升沿触发它。
这样就可以描述出不同情况下,何时应该对AB、CD波形进行反相,就可以简单实现,
用Verilog实现了这个逻辑后,发现验证是可以通过,但是必须用Globalck信号在初始阶段对计数器进行初始化,否则会出现复位问题。
和上一个方法相比,虽然可以用一颗CD40110实现,但是似乎会更加麻烦,还有没有更简单的方法?
-
有,
这时候我祭出了大招,辅助信号辅助信号设计是组合逻辑电路中常见的一种设计方法。
如图所示part2就是一个辅助信号,它可以逐周期反转电平,恰好为目标波形的频率1/2,它可以起到方法2中一位自复位计数器的功能。
通过不同电平,指示不同的信号状态,这样一来,我们就可以做到使用它来对AB、CD信号波形的构成函数进行解析了。
图上左边部分,是一元卡诺图,EN与FB信号,组成了红色与绿色两个最小项,可以用最简表达式!ENFB+EN!FB来表达。
所有最小项为1的项,相加就成为了Fab的表达函数,
而同理Fcd的表达函数,为最小项为0的子项,相加得到。
这样一来,我们就得到了Fab与Fcd的两个表达式,这个表达式的意义十分重要,因为在数字逻辑中,所有的乘法可以简化为与,所有的加法可以简化为或。
-
接下来我们可以考虑用芯片厂商为我们准备功能多样的现成ASIC逻辑芯片来实现我们的表达函数了。
图片中标红的部分,可以实现最小项的与和或,我们选用7404实现最小项,再用7408作与,用7402做或,
可以实现以上最小函数,而二分频电路的实现方法,我们可以想到,实际上二分频的信号,半周期为上一个状态的保持,我们可以想到D触发器。
D触发器的表达式是CK,Q(n+1) = D(n),如果我们把D和!Q连接到一起,表达式就是CK,Q(n+1) = !Q(n),推导至次态CK,Q(n+2) = !Q(n+1)=!!Q(n)。
瞧我们发现了什么,Q(n+2) =Q(n),两个CK时钟沿过后,状态会重新相等。
它是一个完美的二分频电路,所以我们考虑用7414来实现对信号时钟的分频,
-
这样一来问题就简单化了,我们根据以上结果能画出以下电路。
这个电路的输入信号为FB,输出为FA、FB分别为单桥臂的驱动信号,FC、FD另一个桥臂是对称的。
而FB信号从DRSSTC驱动电路的反馈端引入,给二分频电路引入时钟,这样就可以实现图中波形,完成主动续流的动作。
-
至此理论设计到此结束,以上理论就是我设计DRSSTC主动续流模式的部分手稿,从浅显易懂的角度描述了它是如何被设计出来。
从思路到工程限制,满足了123等多个条件,以上电路是可以实现GDT驱动DRSSTC的主动续流设计,还能够完善云豹,让云豹在SKP时间内强制衰减振荡。
这样会带来两方面好处
1:控制恒流更加平滑,我之前注意到爱好者基于SKP想做QCW,但是波形很弯曲,这可能和控制细度有关。主动续流有更大改善。
2:我在XXXXXXXXXXXXXXXXXXXXXXXX/t/83521这篇帖子中提到的,提高电弧存续时间,避免能量过多浪费,对于一秒几百次的BPS,能量耗费无法被忽视。
-
那么爱好者怎么使用它呢,非常简单,找到手上有的UD1、UD2系的驱动板,输出部分切断,并且加入图中电路。
这样就可以简单的实现主动续流,避免能量损耗,提高效率,而SKP型的驱动板,比如云豹,可以在select probe位置,加入图中电路。
同样可以不修改任何功率部分电路,实现更加平滑的SKP电流控制,同时收获1、2点收益。
PS:以上电路是最简单逻辑示意图,实际使用考虑到FB信号衰减后的最终状态,必须对D触发器复位,这个用上R触发器配合RC能轻易做到,图中未表现。
200字以内,仅用于支线交流,主线讨论请采用回复功能。