基于I2C接口的LED驅(qū)動(dòng)器設(shè)計(jì)與實(shí)現(xiàn)
LED無疑是當(dāng)前最熱的一個(gè)應(yīng)用,無論是手持設(shè)備、游戲機(jī)、霓虹燈、廣告牌等等,眩目的色彩及高質(zhì)的光亮,總能第一時(shí)間吸引人的眼球。在當(dāng)前眾多的LED控制器面前,如何選擇一款功能豐富且性價(jià)比又高的產(chǎn)品來迎合自己的設(shè)計(jì),無疑是擺在每個(gè)設(shè)計(jì)師面前的問題。
本文引用地址:http://m.butianyuan.cn/article/175011.htm最簡單的LED驅(qū)動(dòng),我們可以用普通的I/O來實(shí)現(xiàn)。但I(xiàn)/O控制只能實(shí)現(xiàn)LED的ON與OFF,無法用來進(jìn)行混光、閃爍等功能,而且每個(gè)LED都需要占用一個(gè)單獨(dú)的I/O資源,無疑性價(jià)比很低。我們也可以用專用的大電流LED控制器來設(shè)計(jì),但昂貴的成本首先會(huì)成為問題,而且設(shè)計(jì)復(fù)雜,程度也會(huì)跟著各種干擾的出現(xiàn)相應(yīng)地提高?;谶@些,恩智浦(NXP)推出一系列使用I2C接口的LED驅(qū)動(dòng)器,它可以通過I2C接口的兩根線,去同時(shí)控制從4個(gè)到24個(gè)不等LED的ON/OFF、閃爍及RGB混光。在混光方案里,每個(gè)LED都是由一個(gè)獨(dú)立的8bit/256階PWM來驅(qū)動(dòng)。目前,通過芯片本身能驅(qū)動(dòng)的每個(gè)LED電流范圍為25mA到100mA之間。當(dāng)然,對(duì)于一些大電流的應(yīng)用場合,我們只需用外加場效應(yīng)管的方式來實(shí)現(xiàn)。
這種基于I2C的LED控制方式,增加了設(shè)計(jì)的方便性與靈活性,而且也會(huì)減少在軟硬件方面的投入,使披著神秘面紗的LED對(duì)我們來講頓時(shí)顯得簡單和精彩。下面,我們將會(huì)以恩智浦LED驅(qū)動(dòng)器PCA9633為例,通過幾個(gè)簡單的應(yīng)用來全面闡述這種LED驅(qū)動(dòng)器的優(yōu)勢所在。
PCA9633是四路LED驅(qū)動(dòng)器,且每路可驅(qū)動(dòng)最大25mA電流,并根據(jù)封裝的不同提供了可選的固定I2C地址和帶4位或7位硬件可編硬件地址(圖1)。
從圖1我們可以看到,每一路LED都是由一個(gè)單獨(dú)的8bit/256階的PWM來控制,且由于PWM足夠快,使其理論上可以通過它所驅(qū)動(dòng)的四個(gè)LED混出任意顏色的光。除了每一路單獨(dú)的PWM,PCA9633還提供了一個(gè)Group PWM,通過它我們可以用來控制所調(diào)混色光的亮度及頻率,彌補(bǔ)了只調(diào)單個(gè)PWM不能實(shí)現(xiàn)的一些功能。那么PCA9633究竟如何來實(shí)現(xiàn)調(diào)光呢?秘密還是在PWM上面。如果不使用PWM,那么它只能完成開和關(guān)的動(dòng)作;低速的PWM只能實(shí)現(xiàn)LED閃爍,并不足以達(dá)到混色的目的;高速的PWM就可以實(shí)現(xiàn)RGB混色;如果PWM速度可控,那么就可以實(shí)現(xiàn)閃爍和混色的雙重功能。而且通過可控的8bit/256階PWM,加大了色階提升了色彩的層次感(見圖2)。
知道了混色的原理,那么一個(gè)具體的色彩又是如何產(chǎn)生的呢?我們知道人眼對(duì)色彩的感知是各種色彩亮度均值的疊加,我們可以通過控制PCA9633每個(gè)PWM的占空比,去控制所驅(qū)動(dòng)LED的亮度。根據(jù)三基色原理,如果我們驅(qū)動(dòng)的是RGB(或者RGBA)LED,那么通過調(diào)節(jié)這三個(gè)LED的不同光亮,就可以得到所要的色彩。圖3是PCA9633控制RGB 三個(gè)LED來調(diào)粉色光的例子。
通過以上的描述,我們基本知道了PCA9633的內(nèi)部結(jié)構(gòu)和驅(qū)動(dòng)原理。下面我們將會(huì)以PCA9633固定I2C地址的幾個(gè)應(yīng)用,來進(jìn)一步理解這種LED控制器的優(yōu)勢所在。
評(píng)論