驅動包括硬體驅動和軟體驅動,硬體驅動可以理解實現功能的元器件和電路,是看得到也摸得著的。軟體驅動可以理解為實現功能的控制方法,是抽象的,看不到,也摸不著!
馬達控制需要驅動,顯示器需要驅動,就連插著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顯示屏
驅動其實就是驅使功能實現的電路和控制方法和組合!