額,最近要做一個東西需要擴展一些pwm的接口,然后發(fā)現(xiàn)ti這類的芯片還真的是挺多的。。。然后看了下各個牌子的開源方案,基本上都是TLC5940,然后還有adafruit有TLC5947的。
主要看了下TLC5940的相關(guān)資料,官網(wǎng)介紹頁面在這里
http://www.ti.com.cn/product/cn/tlc5940
然后里面有數(shù)據(jù)手冊,里面一些要重要的地方我粘在這里
DATASHEET

- BLANK這個感覺像是輸出使能,拉高的話會關(guān)閉所有輸出,拉低的話就輸出了。
- VPRG這里有三個功能,如果是GND的話,會進入GS 模式。如果是VCC的話,會進入DC 模式。如果是V(vprg)的話可以編輯DC寄存器的數(shù)據(jù)
- XERR當(dāng)溫度過高或者有l(wèi)ed沒有接入的話會置低。
- XLAT當(dāng)拉高時,輸入數(shù)據(jù)會gs寄存器或者dc寄存器,如果拉低的話gs或者gc寄存器的數(shù)據(jù)或被保持

V(vprg)在22v左右,所以一般來說應(yīng)該是出廠的時候用的

標注了會發(fā)熱的區(qū)域

每通道最大輸出電流計算公式

最大輸出電流不能小于5ma,不然會不穩(wěn)定

layout的注意事項
- 把去耦電容放在vcc和gnd附近
- 把Riref放在RIEF引腳和IRGFGND引腳附近
- GND引腳越大越好,因為會有大電流通過
- 在輸出引腳和led陰極引腳之間應(yīng)該線長盡量短并且盡量直以減少線上電感。
- 如果有多個IC的話推薦對稱放置。

DCPRG和VPRG的引腳功能
Sparkfun

原理圖的一部分
這個是sparkfun的一個用了這個芯片的板子https://www.sparkfun.com/products/10616
這里他把DCPRG拉高了,相當(dāng)于他沒用EEPROM的東西,只保留了直接驅(qū)動的功能。

VPRG做了跳線,默認是拉低的,也可以選擇鏈接D8

這里好像有問題,實際參考還是以上面數(shù)據(jù)手冊里的計算方式來吧。。。
Arduino
arduino也有這個芯片相關(guān)的介紹http://playground.arduino.cc/Learning/TLC5940

image.png
總結(jié)
所以總的來說電路還是比較簡單的,一個去耦電容,一個BLANK的上啦電阻,根據(jù)最大輸出電流使用一個電阻。然后那個VPRG可能要留一個后期能program的接口。
2018年02月05日 UPDATE:
媽的看5940的庫的時候發(fā)現(xiàn)原來用了SPI。。。但是SPI被我分配給別的芯片了。。。