【硬件设计】嵌入式输出设备设计
LED是Light Emitting Diode的缩写,即发光二极管,是一种应用非常广泛的半导体发光/显示元件。发光二极管是由Ⅲ-Ⅳ族化合物,如GaAs(砷化镓)、GaP(磷化镓)、GaAsP(磷砷化镓)等半导体制成的,其核心是PN结。因此它具有一般P-N结的I-N特性,即正向导通,反向截止、击穿特性。在正向电压下,电子由N区注入P区,空穴由P区注入N区,进入对方区域的少数载流子(少子)一部分与多数载流子(多子)复合而发光。通过使用不同的材料及工艺,LED可以发出红色、绿色、黄色、白色、蓝色、橙色等光。
在市面上,LED乐动官方在线入口有发光二极管、数码管、米字管、符号管、点阵显示屏、LED背光、LED照明灯等,参考如下图1所示。事实上,数码管、米字管、符号管、点阵显示屏……中的每个发光单元都是一个发光二极管。
1.LED特性分析
使用不同材料(管芯材料)的LED,其正向电压也有所不同,在设计电路前要先了解一下它们的基本特性,参考如表1所列。
表1常用发光二极管基础特性表
注意:设计LED电路时,工作电流最好小于0.6 IFM,这样LED使用寿命会更长。
2.独立LED灯驱动电路
①电源指示灯
D1采用红色LED灯(GaAsp管芯),封装形式由乐动官方在线入口要求决定。工作电流计算如下:
If = (VCC – 1.7) / R1
= (VCC – 1.7) / R1
常规设计,If要在0.5~3mA范围内,减少电源指示灯对电能的消耗。对于5V电源,限流电阻R1推荐采用3K;对于3.3V电源,限流电阻R1推荐采用1K。
②状态指示灯
对于单片机,其I/O灌电流可达20mA(具体芯片要以数据手册为准),可以直接使用I/O控制LED灯作为状态指示。
当相应的I/O输出0时LED灯点亮,输出1时LED灯熄灭。电流计算公式如下:
If = (VCC – Vf) / R1 ,其中GaAsp红色LED的Vf为1.7V
GaAsp绿色LED的Vf为2.3V
= (VCC – Vf) / R1, 其中GaAsp红色LED的Vf为1.7V
GaAsp绿色LED的Vf为2.3V
常规设计,If要在2~15mA范围内。当驱动多个LED时要注意,由于CPU对总电流限制,比如100mA,所以要保证多个LED同时点亮的电流要小于总电流。如果使用了绿色的LED灯,由于绿色LED正向压降比红色的大,所以其限流电阻要小一点。
对于单片机,其I/O可以设置为推挽输出模式,驱动电流可达20mA,这类CPU可以采用拉电流的方式驱动,如图4所示。
/O输出1时LED灯点亮,输出0时LED灯熄灭。电流计算公式如下:
If = (Voh – Vf) / R1,其中GaAsp红色LED的Vf为1.7V
GaAsp绿色LED的Vf为2.3V
If = (Voh – Vf) / R1 , 其中GaAsp红色LED的Vf为1.7V
GaAsp绿色LED的Vf为2.3V
I/O的Voh等于VCC。常规设计,If要在2~15mA范围内。当驱动多个LED时要注意,由于CPU对总电流限制,比如100mA,所以要保证多个LED同时点亮的电流要小于总电流。对于其它类型的CPU(如3.3V的Arm®),根据其I/O特性,也可以采用这两种驱动方式。
对于2引脚的双色LED,其驱动方式如图5所示。对于I/O可以设置为推挽输出模式的CPU,可以直接使用I/O直接驱动;对于标准51单片机,则需要外加驱动电路,如2个非门。当一个口输出1,另一个口输出0时,其中一个LED灯点亮;如果两个控制口均输出1或均输出0,则LED灯熄灭。