本文禁止转载!
1、DM634是一款恒流驱动芯片,也就是说,可以通过这款芯片,恒定的输出电流。
这在某些应用中非常有用。比如LED电子显示屏。比如交通灯。比如室内播放视频的LED大屏幕。
DM634 芯片的管脚可以大致分为如下几类:
输入管脚: DAI DCK LAT SOMODE/GCK
输出管脚 : DAO SOMODE/GCK
输出管脚: OUT0~OUT15
电流控制管脚: REXT
具体的这几个管脚为什么这么分类,下面会介绍
2、DM634芯片内部数据流通图
首先,数据从DAI管脚进入,这个数据按照bit一位一位的移入到DM634的寄存器中(16bit的 shift register ,也就是移位寄存器)。也就是说,在DCK的上升沿时,DAI的串行数据会被移入到移位寄存器中。
DM634一共有16个16bit的移位寄存器,也就是说,一共有256bit的。
具体的数据流动方向是从下往上流动的。
也就是说,数据从DAI进入---> 进入到移位寄存器---> 根据LAT管脚把数据从移位寄存器向上移动到Latch寄存器(锁存寄存器)---> 锁存寄存器的数据在向上移动到PWM产生单元---->数据经由PWM调制后向上送入到恒流驱动单元--->恒流驱动单元的数据再向上交由LED开路短路检测单元--->最终从OUT0~OUT15输出
3、解释:
3.1 数据从DAI进入移位寄存器,移动的过程中遵循下面的时序,即MSB先进:
3.2 数据从DAO输出的时候,也遵循下面的实训:
其中,输出的标志位中,THF标志位用于标明DM634芯片是否正常工作(如是否温度过高)
E[0]~E[15]标志位用于标明接在OUT0~OUT15的16个LED是否正常工作(如判断LED是否开路,是否短路)
3.3 DAO输出和OUT0~OUT15输出有什么区别
DAO输出,编程的时候可以不用管。这个管脚的输出数据,主要用来根据输出数据中的THF标志位和E[0]~E[15]标志位用于判断芯片和LED是否正常工作的。如果默认芯片是正常工作的,如果默认周围的温度也不是过高或者过低,如果默认LED不会开路,也不会短路,那么DAO的输出可以不用判断。
OUT0~OUT15是用于输出恒定的电流值的。该恒定的电流值用于驱动LED。不同的数值代表不同的电流值,也就是LED的光强不一样。
3.4 DAI 输入的数据到底表示的是啥?
DAI输入的数据表示为PWM的占空比。这个PWM的占空比,直接会影响输出电流的大小,也就影响LED的亮度。0xFFFF表示占空比为100%,LED最亮。0x0000,表示占空比是0,LED会熄灭。
4、恒流驱动输出的电流受几方面的影响?
这个问题也可以转换为:DM634芯片输出的恒流电流的大小受几方面的控制?
4.1 受DAI 输入数据的占空比影响
如上面3.4所述,DAI是表示PWM的占空比,占空比越高,输出电流越高,占空比月底,输出电流越低。
4.2 受REXT影响
REXT管脚需要挂接一个电阻。该电阻值会影响输出电流的大小。这是硬件可调的输出电流的影响因素,其他的是软件可调的因素。
这是外接电阻和Iout输出电流的关系。M是个系数,这个系数如下
VRext的值是1.23V, 也就是说,如果外接一个2.2K欧的电阻,根据上面的公式,差不多算出来的电流是20mA。
这个20mA是在PWM占空比是100%的情况下,且GBC的值是95的情况下测量出来的经验值。
4.3 电流输出受GBC的值的影响
在上面4.2节中,提到,20mA的输出电流,是在PWM是100%的情况下,GBC=95的情况下,外接电阻为2.2K欧的时候测量出来的。
GBC是啥玩意?
GBC全程 :Global Brightness Control 。即全局明亮度控制
在本文的第二张图,DM634的芯片架构图里,标注了第4模块,就是GBC。
这个GBC的值是有7个bit来控制的,也就是说,GBC的值最高可以到达127,最低是0
软件商设置GBC的值需要遵循下面的时序
如果不会设置GBC的值,可以按照文末的方式联系我。
5、SOMODE/GCK 为啥即是输入管脚又是输出管脚
在本文前面,介绍了SOMODE/GCK 管脚,把它放在了输入管脚和输出管脚里面。
确切的说,SOMODE/GCK只能作为输入管脚。
默认情况下,DM634芯片一上电是工作在正常模式下,也叫做Free-Runing 模式,自由运行模式。
在这个自由运行模式下,SOMODE/GCK 管脚只作为SOMODE来用。
也就是说,当SOMODE为高电平的时候,DAO输出会在DCK下降沿输出
当SOMODE为低电平的时候,DAO在DCK的上升沿输出
也就是说,SOMODE其实是控制了DAO管脚的数据输出方式。
软件上面也提供了一种方式,让Free_runing自由运行模式切换到GCK模式。
也就是说,当软件按照下面的时序进行设置后,SOMODE/GCK就切换到GCK模式,SOMODE就不再控制DAO的管脚输出方式了。
从GCK模式可以反向在切换回SOMODE(Free-Runing)模式,这时候软件需要遵循下面的时序
如果不会在两种模式之间进行切换,可以使用文末的联系方式联系我
5.1 GCK是干嘛的?
GCK是提供外部的PWM信号的。
DM634芯片内部有个22MHz的内部晶振时钟。
22MHz的时钟源会提供一个18MHz的PWM信号,这个信号是内部的。
这个18MHz的PWM信号会提供一个最高275Hz刷新率的输出。也就是说,LED亮灭可以达到275HZ。也就是说,两秒内,LED可以熄灭275次,亮275次。
如果想提高LED的闪烁刷新率,就可以采用外部的PWM信号作为时钟源
这时候,就需要使用GCK管脚作为外部PWM时钟源的输入。
这就是GCK的目的。
不过官方不建议采用外部PWM作为信号输入,建议采用内部的PWM产生器
5.2外部的PWM 最高可以达到多少?
最高可以达到25MHZ,最高的刷新率可以达到380HZ。
可以遵循下面的刷新率计算公式进行计算:
6、总结:
有几方面可以影响DM634恒流驱动芯片的输出电流值大小呢?
有以下四个方面:
6.1 Rext外接电阻的大小(硬件控制)
6.2 GBC的大小(软件设置,0~127)
6.3 PWM占空比(软件控制,DAI输入的数值)
6.4 PWM提供的时钟(采用外部的PWM还是内部的PWM,软件GCK管脚控制)
7、PWM的调制方式:
内部PWM对信号的调制方式采用了时序分组调制(SSM)和传统的PWM灰阶调制技术
具体的采用了bit12~bit15 作为SSM调制,其他的作为PWM调制,
PWM具体的调制原理如下,不做过多解释。有兴趣了解PWM的调制过程的,可以用文末的联系方式联系我:
其他的细节,我个人认为是不太重要的,没有补充到这个文档里面,就不写了。
有其他细节方面想要咨询我的,联系我。
最后,有需要参考程序的,可以联系我。参考程序收费。
有问题可以联系
QQ:895029070
email:sgmcy@126.com