繁体中文
高级搜索
 
首页 | 电子技术应用 | 行业最新动态 | 行业最新产品 | 软件资料下载 | 电路图纸欣赏 | 博客文章精选 | 电子精品论坛 | 电子技术贴吧

当前位置:首页 >> 电子技术应用 >> 光电显示---应用 >> LED灯光系统设计方法
LED灯光系统设计方法
作者:王军辉   来源:电子设计应用 发表时间:2008-06-04  字号:  

 

LED作为显示器件,由于其发光效率高、使用寿命长、易于控制等优点已经日益被更多的领域所使用。尤其在2005年开始被大量用于城市/舞台灯光系统中。本文主要介绍LED灯光的种类、LED灯光控制专用芯片介绍,硬件设计思路以及软件设计思路。

名词解释

彩色像点:为了让LED灯光呈现彩色显示,需要由至少2个以上的不同颜色LED组成一个像素点。红绿蓝LED搭配根据亮度和灰度级别的需求可以有多种搭配方式,如:

a) 1个红色LED 1个绿色LED 1个蓝色LED ,3个LED显示256级灰度彩色。


b) 2个红色LED 1个绿色LED 1个蓝色LED,4个LED组成

RGB:是指红色、绿色、蓝色3种LED。

LPD6803:是“拓彩科技”专门为LED灯光系统设计的驱动芯片,内置SUPER-PWM,可以产生三路恒流驱动和灰度调制输出。

LED灯光的种类

点光源

LED灯光系统设计方法

技术特点:应用LED彩色屏的显示原理,将其像素放大降低整体造价成本。每个模块为一个彩色像点(RGB)。

应用环境:酒吧、KTV、舞台、商场、展厅。作为音乐韵律显示,背景墙装饰等。

LED彩虹管

LED灯光系统设计方法

技术特点:每条灯管由多个彩色像点(RGB)组成,每个像素点可独立产生256级颜色的变化。应用环境:立交桥,河道护栏,建筑外墙等不同场所的装饰照明。

LED地板砖

LED灯光系统设计方法

技术特点:每个模块由多个彩色像素点(RGB)组成,可以独立控制每个像素点。应用环境:酒吧、KTV、舞台。作为地板或者墙壁的装饰照明。

LED灯光控制专用芯片介绍

LPD6803是专门用于LED灯光驱动芯片,控制简单。

LED灯光系统设计方法

功能描述:
a. 内置振荡器,扫描不需要依靠控制板提供扫描时钟。
b. 2根控制线,控制和布线简单。
c. 数据时钟最高可达到25MHz,可以拥有更多的级联输出。

LED灯光控制系统硬件设计思路

LED灯光控制系统主要包含像素点驱动单元和控制板设计两部分。

1. 显示点驱动单元设计

如何实现让像素点呈现出不同颜色,主要依靠人的视觉间歇惰性原理,利用对于每个像素点产生不同占空比实现颜色的混合。本设计案例的LED颜色显示主要依靠LPD6803自动输出3路256级灰度颜色来实现彩色显示。控制器只需要传送每个像素点的扫描占空比数据就可以了。

下图驱动单元设计,适合于LED彩色护栏管、LED地砖应用。其中红绿蓝3色LED的个数可以是多个。单路LED级联方式可以采用串联或者并联方式实现,在设计是你需要考虑电压/电流的外接驱动方式。数据输出级联到下一个模块的输入就实现了一个系统的级联。

LED灯光系统设计方法

如下图驱动单元设计,适合于LED彩虹管应用。一个模块的级联个数按照设计需要调整。

LED灯光系统设计方法

2. 控制板设计

LED灯光系统设计方法

该硬件只是提供给各位一个控制系统设计的参考,基本说明满足一个普通的LED灯光系统所需要的一些基本条件。根据实际系统的需要,可以选择ARM,CPLD等加快显示数据传输的速度以及USB通讯,SD卡存储方面的要求。

硬件设计目的说明:

U1: 使用通用的MCU51单片机,如果系统拖动像素点级联数不多以及不需要做太复杂的图象动画显示情况下。该MCU甚至于可以选择2051这样管脚少、价格低的MCU。

JP1: 为输出符合LPD6803串行时序的接口,只用DATA、CLOCK、GND即可满足显示数据传送要求。

U4:为SPI FLASH,用于存储节目数据。根据系统需要可以利用片选方式设计多片FLASH存储。SPI FLASH现在比较高容量可以做到4M bits。

U6: 为通讯接口,用于于系统主机通讯控制节目播放的内容和下传节目数据。以及用于程序升级。

3. 软件驱动设计

以下以驱动单个像素点来说明数据传送的方式。LPD6803是一个可以自动产生128级别

LED_SendData(BYTE Rdt, BYTE Gdt, BYTE Bdt)


{
......
SCLK = 0;
SDO = 0;
for(i=0;i<32;i ) {SCLK=1;SCLK=0} //送起始32bits 0
SDO=1;SCLK=1;SCLK=0; //送起始位'1'
//输出5位红色
mask = 0x10;
for(j=0;j<5;j )
{
if(mask&Rdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
//输出5位绿色
mask = 0x10;
for(j=0;j<5;j )
{
if(mask&Bdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
//输出5位蓝色
mask = 0x10;
for(j=0;j<5;j )
{
if(mask&Bdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
SDO=0;
SCLK=1;SCLK=0; //补1个CLOCK,如果一次送出了n个点的数据,则需要补n个Clock.
......
}


!注意:如果您发现此文章出现影响您的阅读的状况,请从浏览器地址栏里复制本文的链接到留言本报告给站长解决!
  • 上一篇: 基于LPC2292的手持JPEG图像显示器设计
  • 下一篇: 使用超级电容驱动白光LED相机闪光灯(图)

  • >> 联系我们请给我们留言·留言本
    本站所有提供的信息软件资料均来自网络,版权及著作权归原作者所有,如果无意中侵犯了您的相关权利或触及法律法规,请给我们留言, 我们将在24小时内删除。
      浙ICP备05071687号  电子技术精品网