微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于I2C接口的LED驱动器优势探讨

基于I2C接口的LED驱动器优势探讨

时间:06-03 来源:互联网 点击:

,PCA9633还提供了一个寄存器设置递增位,也就是说如果我们设置了这一位,那么我们可以通过一个指令序列来完成内部所有寄存器的顺序配置,这在一些特定的应用中是非常有用的,能最大程度节省软件和系统资源。下面,我们将通过另外一个例子来说明内部寄存器的设置。

  第二个例子是我们用PCA9633来完成呼吸灯的功能。虽然PCA9633内部不带呼吸灯模块,但我们可以通过一些简单的寄存器设置来实现这个功能,这样相比于专用的呼吸灯芯片在成本上无疑有很大的优势。为了便于说明,我们只用PCA9633来控制一个LED的呼吸动作,原理图很简单,在此略去,通过控制这一个LED的渐亮与渐暗过程以达到呼吸的目的。要实现这个功能,PCA9633的独立PWM将是最主要的因素。如前我们已经提到每个LED 都是由一个8bit/256阶PWM来控制,那么也就是说,每个灯有256段亮暗色阶可调,可以完美实现呼吸功能。具体,我们通过控制PWM的占空比来完成。如果我们的LED是由PCA9633的PWM0来控制,那么PWM0的占空比将决定这个LED的亮度:Bright(duty cycle)=PWM0[7:0]/256。撑握了这一原则,我们就可以通过I2C往PCA9633的寄存器上写点什么了:

  START

  0xC4 (往PCA9633 I2C设备地址C4写操作)

  00h=0x00; 01h=0x00 (设置LED的输出结构为开漏)

  08h=0x02 (设置LED由PWM0来控制)

  DELay 1 second (延时1秒进行呼吸)

  02h=bright; For bright=0; bright《255;bright++ (LED从0到255渐亮)

  Delay 10 ms (完成渐亮延时10毫秒继续)

  02h=bright; For bright=255; bright》0;bright- - (LED从255到0渐暗)

  STOP

  到此,一个完整的呼吸过程就完成了,用几个简单的寄存器设置,就完成了看起来似乎只有用复杂系统或专用芯片才能做的事情。从以上两个例子,我们可以看到用恩智浦的I2C LED驱动器,不论是硬件上还是软件上都是非常简单和易操作的,而且用此类器件所能实现的功能,丝毫不比一些系统和专有芯片逊色。

  综上所述,恩智浦I2C LED驱动器提供了高性价比的LED设计方案,相比于用GPIO或专用LED驱动器,不仅节省了系统资源,也使设计的成本和复杂度大大减少,并可以有效提高设计的可靠性和驱动光的均匀性。此外,采用此类 LED驱动器,可以很有效地帮助我们减少设计周期并提升设计灵活性。恩智浦目前可以向客户提供从4路到24路不等的I2C LED驱动器,并已应用于汽车、家电、通信等各大领域。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top