驱动包括硬件驱动和软件驱动,硬件驱动可以理解实现功能的元器件和电路,是看得到也摸得着的。软件驱动可以理解为实现功能的控制方法,是抽象的,看不到,也摸不着!
马达控制需要驱动,显示器需要驱动,就连插着U盘也说要安装驱动程序,究竟驱动是怎么一回事呢?本文通过LED的驱动控制方法探讨一下驱动!
LED的中文名叫发光二极管,也是二极管的一种,同样具有单向导通的特性,但它具有发光的特性,只要施加的电压大于它的正向导通电压,有电流通过就可以发光。用不同的化合物设计出来的LED会发出不同颜色的光,红、黄、绿、蓝、白都是觉见的LED常见的颜色。如果要实现LED复杂的组合显示就要通过驱动实现了,所谓的驱动包括了硬件驱动和软件驱动,可以有效的控制LED的显示,比如户外的LED广告屏可以显示出各种和样的图片甚至视频。本文一一给大家解密哦!
LED显示屏
最简单的LED驱动电路:在下图一中,当开关SW1闭合时,LED1就可以通电光发了,SW断开,LED1熄灭,其实这也可以叫做驱动,是硬件的驱动,通过SW1来控制LED的亮和灭。机械开关来控制LED亮和灭实现简单的开关灯控制没问题,但要实现定时,或者控制亮度,甚至图案,可操作性就不高了。
电子控制的LED驱动电路:在图二中,通过一个NPN型的三极管来控制LED2,当提供一个高电平的控制信号时,三极管导通,LED2点亮,控制信号变为低电平时,三极管截止,LED2又熄灭了。因为三极管的开关速度可以非常高,只要我们高速的控制三极管的导通和截止比例,就可以控制LED2的亮度了,这就是我们常说的PWM调光原理了。这个控制信号怎么处理?怎么来呢?就是后面要说来的软件驱动了。
LED简单驱动电路
一个三极管可以控制一个LED,很多LED怎么办?没错,我们可以把用很多三极管去驱动很多的三极管。比如图三,8个LED分别用8个NPN三极管去驱动,只要信号不同,不同的LED就会有不同的亮灭状态和亮度了。
LED简单驱动电路
更多的LED怎么办?像LED数码管,LED点阵屏,很多很多的LED组合在一起,这时候我们就需要设计集成电路芯片了,把LED驱动的三极管集成在芯片里面,这就是我们常说的LED驱动控制芯片了。通过行和列组成矩阵,8个行驱动引脚加8个列驱动引脚就可以驱动64颗LED了。如果要产生彩色的效果,每一个点还需要有红、蓝、绿三个LED集中在一起,通过不同的红、蓝、绿比例混合得出需要的颜色,这就是RGB配色了。
LED点阵驱动电路
这些用于控制LED亮灭、颜色和亮度的开关、三极管、控制芯片等,称之为硬件驱动。
我们可以把硬件理解为电路,软件理解为方法。有了硬件驱动,大规模组合在一起的LED可以点亮了,但希望把这些大规模的LED点阵组合显示出图案怎么办?这就需要高效的显示摈方法协助了,也就是软件驱动了。
最简单的图案控制:数码管相信大家都见过了,它可以显示0、1、2、3、4、5、6、7、8、9这些数字,其实它是由7个LED排列成一个8字,再加1个LED作为右下角的小数点。这7个LED我们定义为A、B、C、D、E、F、G。当我们控制A、B、C、D、G这几个LED点亮时,就显示出数字“3”了。
数码管结构
下面是一个单片机(MCU)驱动两个数字的数码管的电路示意图。我们把这个单片机(MCU)看作为驱动芯片。假如我们希望数码管显示“12”,那么第一个管要点亮"BC"两个段画,第二个管要点亮“ABDEG”这些段画就可以了。
聪明的朋友可能发现,两个管子的"ABCDEFG"这些段画都是共用的,怎么同时点亮啊不同的数字啊?没错,是不能同时点亮的,需要分时处理,先点亮第一个管子,然后灭掉,再点亮第二个管子,不断的循环,因为人类的视觉系统有视觉暂留性,只要循环的速度足够快,我们是分辨不出亮灭的变化过程的,这就是我们常常听到的刷新率了。
数码管驱动电路
这种控制数字显示的方法,就是软件驱动了,需要编写软件程序并下载到单片机(MCU),单片机(MCU)运行程序的时候数码管就会显示我们设定的数字了。
更复杂的图案显示驱动:复杂的点阵和图案显示原理也是一样的,只是LED的数量更多,还有各种颜色和亮度的组合,程序和计算的方法更加复杂。这时候我们一般使用LED驱动控制芯片负责驱动,单片机(MCU)只管图案计算,确定那些行和列的LED需要显示什么颜色和亮度,通过通讯接口把数据传输给LED驱动芯片就可以了,LED驱动芯片专们负责扫描和控制LED。
点阵屏驱动框图
经过复杂的数据处理、显示控制LED就会展示出五彩缤纷的效果了
LED显示屏
驱动其实就是驱使功能实现的电路和控制方法和组合!