额,最近要做一个东西需要扩展一些pwm的接口,然后发现ti这类的芯片还真的是挺多的。。。然后看了下各个牌子的开源方案,基本上都是TLC5940,然后还有adafruit有TLC5947的。
主要看了下TLC5940的相关资料,官网介绍页面在这里
http://www.ti.com.cn/product/cn/tlc5940
然后里面有数据手册,里面一些要重要的地方我粘在这里
DATASHEET
- BLANK这个感觉像是输出使能,拉高的话会关闭所有输出,拉低的话就输出了。
- VPRG这里有三个功能,如果是GND的话,会进入GS 模式。如果是VCC的话,会进入DC 模式。如果是V(vprg)的话可以编辑DC寄存器的数据
- XERR当温度过高或者有led没有接入的话会置低。
- XLAT当拉高时,输入数据会gs寄存器或者dc寄存器,如果拉低的话gs或者gc寄存器的数据或被保持
最大输出电流不能小于5ma,不然会不稳定 layout的注意事项
- 把去耦电容放在vcc和gnd附近
- 把Riref放在RIEF引脚和IRGFGND引脚附近
- GND引脚越大越好,因为会有大电流通过
- 在输出引脚和led阴极引脚之间应该线长尽量短并且尽量直以减少线上电感。
- 如果有多个IC的话推荐对称放置。
Sparkfun
原理图的一部分这个是sparkfun的一个用了这个芯片的板子https://www.sparkfun.com/products/10616
这里他把DCPRG拉高了,相当于他没用EEPROM的东西,只保留了直接驱动的功能。
VPRG做了跳线,默认是拉低的,也可以选择链接D8
这里好像有问题,实际参考还是以上面数据手册里的计算方式来吧。。。
Arduino
arduino也有这个芯片相关的介绍http://playground.arduino.cc/Learning/TLC5940
image.png总结
所以总的来说电路还是比较简单的,一个去耦电容,一个BLANK的上啦电阻,根据最大输出电流使用一个电阻。然后那个VPRG可能要留一个后期能program的接口。
2018年02月05日 UPDATE:
妈的看5940的库的时候发现原来用了SPI。。。但是SPI被我分配给别的芯片了。。。
网友评论