2014年2月4日 星期二

PWM LED 驅動晶片比較 - [雙線式通訊] LPD6803、LPD8806、LPD1109,[ 單線式通訊 ] WS2811 和 WS2812

使用 Arduino 驅動 5 顆 WS2812B 顯示不同顏色

賣場中最近進了一些 LED 驅動晶片,這些晶片都是用在一些市面上常見的燈條上面,每一顆晶片都可以經由設定來指定 LED 的顏色深淺,因此可以將 RGB LED 做混色,最高可達 16,777,216 ( 28 x 28 x 28 ) 色。

當然,市面上也有販售彩色 LED 燈條的控制器,接線簡單且一但設定好連接的 RGB LED 數目和變化的樣式後,就可以馬上看到成果!但是,控制器並不是所有的燈條都可以控制,而是必須根據燈條上面控制 RGB LED 的晶片來做購買,不然是不能用的;而且一台控制器可以控制的晶片大多只有一種,這幾乎都是綁定的!

LED 燈條  (全彩、幻彩、七彩 ) 控制器我都有實際使用過,燈條的變化樣式每個控制器都大同小異,且使用上會有一些限制。因此,若是使用在一些創意或是特殊的場合,這些市購的控制器就不能達到自己的要求,轉而要自己來撰寫這些控制的程式碼,這也是販售這些晶片的目的:DIY !!



賣場中,以通訊方式做分類,LED 驅動晶片可分為單線式通訊與雙線式通訊兩種晶片:
  • 單線式通訊:顧名思義,就是與晶片溝通只使用一根接腳 ( 邏輯電源與驅動電源不包括在內 )。且因為如此,各個訊號傳輸時的時間長短必須符合晶片的規範,不然通訊不會成功;準確的時間延遲很重要!!!

    晶片有: WS2811WS2812B;另外,WS2811 也有燈源組可供選擇,上面提供三顆 RGB LED 燈。

  • 雙線式通訊:顧名思義,與晶片溝通需要兩隻接腳:一隻負責傳資料;另一隻負責傳送時脈訊號 ( 同樣的這也不包括邏輯電源與驅動電源 )。通訊的建立只要符合資料傳送格式與順序就能成功傳送,與單線式的不同。

    晶片有:LPD6803LPD8806LPD1109

下表是這幾個晶片的重要規格,接下來的說明將會一直用到這個表格的資料,請再自行對照!
LED 驅動晶片規格比較表
LED 驅動晶片規格比較表


晶片供電電壓:

這一欄位列出了晶片供電電壓的適用範圍。值得注意的是,表中列出的 LPD6803、LPD8806和 LPD1109 這三顆晶片可用在 3V3 與 5V 微處理器。

WS2811 晶片內建有 LDO,LED 驅動電源與晶片電源可以共用,但晶片電源處必須再串接一個電阻以防止電源尖峰和電源反接並作為 LDO 分壓電阻用。

WS2812 是一個整合 RGB LED 與 WS2811 的一款晶片。本身就是一顆 5050 的 RGB LED 燈,但燈內部整合了一顆可調  ( 28 x 28 x 28 ) 色的晶片 WS2811,體積小且可焊接之後可直接使用。舊款的型號是 WS2812S ,是六支腳的封裝;但新款的 ( 賣場所販售的 ) 型號是WS2812B ,是四支腳的封裝。因為是整合 IC,所以 LED 燈的電源由晶片的電源提供,所以使用者不需考慮這部分,所以畫 "X"。


LED 燈耐電壓:

LED 驅動晶片的線路都是使用共陽極的 LED,因此每一通道都可以串聯多顆 LED 燈,只要在每一通道耐電壓的限制之下;除了 WS2812 之外。


最大驅動電流:

單一通道可輸出的最大輸出電流。

電流越大表示可並聯的 LED ( 串 ) 可越多,其中 LPD6803 的驅動電流最大,這也是此顆晶片與 LPD8806 最大的不同之處;WS2812B 不須考慮這個問題。


輸入數據頻率:

LED 像素資料輸入的速度。數值越高,表示單位時間內,晶片可接收的數據越多,所以可以慢慢的傳送,只要傳送的速度不超過晶片的限制即可。

但對於單線式通訊來講的話,資料對照於不同的訊號格式,每個訊格式都有傳送時間的延遲限制,因此每個訊號的時間延遲控制非常重要,所以建議使用單晶片、Arduino、AVR ( 單一工作 ) 而不要使用像 Raspberry Pi  ( 多工作業系統 ) 來實做會比較容易。


GMODE、OMODE、CMODE、PMODE:
這幾個硬體設置接腳只有 LPD6803 和 LPD1109 有。與 GND 接在一起為 "0",浮接或是接到 Vcc 為 "1",其中:
  • GMODE:灰度校正方式 ( LPD6803 )
    預設 GMODE = 1。PWM 調變使用的方式:線性( 1 ) 或是反伽碼 256 級非線性調變 ( 0 )。

  • OMODE:輸出極性選擇 ( LPD6803;LPD8806 )
    預設 OMODE = 1。輸出通道是內部恆流/恆壓驅動模式 ( 1) ,或是外掛驅動模式 ( 0 )。
    這選項就是:是否直接驅動 LED ( OMODE = 1 ) 或是 ( OMODE = 0) 利用輸出接腳再驅動一組電晶體作為外掛驅動使用,可以用於驅動多串多顆 LED 燈串

    OMODE 不管等於 1 或是 0,都可設置為恆流/恆壓兩種模式下驅動。如下面的圖示為 ( 左邊 ) 內部與 ( 右邊 ) 外掛恆壓驅動 LED 的電路示意圖。


  • 輸出驅動選擇,( 內部與外掛恆壓驅動 ) 電路示意圖
    輸出驅動選擇,( 內部與外掛恆壓驅動 ) 電路示意圖

  • CMODE:PWM 時鐘源選擇 ( LPD6803 )
    預設 CMODE = 1。時鐘源的選擇:CMODE = 0,DCLK = GCLK;CMODE = 1,內置 1.2 MHz 振盪器做為時鐘源。
  • PMODE:OUT1 ~ OUT3 是否與 OUT4 ~ OUT6 同步輸出 ( LPD8806 )
    預設 PMODE = 1。PMODE = 1,OUT1 ~ OUT6 輸出獨立的 6 路;PMODE = 0,OUT1 與 OUT4、OUT2 與 OUT5 和 OUT3 與 OUT6 是同步輸出,在數據輸出上只占 3 組數據。

上面這幾個硬體設置接腳,只有 LPD6803 和 LPD8806 有,可用在特殊需要的場合上!


PWM 輸出調變細膩度:
這數值越高,表示顏色變化的細膩度越好!當要表現細膩的顏色時,就選擇較高解析度的晶片。

每一款晶片在使用上,都有其優勢與劣勢!如何在選用上選擇合適的晶片,就要依個人需求、花費費用控制方式來選用;若是選用燈條的話,費用調變解析度就是選用的重點。

以上,提供 LED 驅動晶片的簡單介紹與比較給各位做為選用與使用上的參考 !


<< 相關網頁介紹 >>

沒有留言:

張貼留言