资深工程师分享:关于STM32驱动TM1812的一些经验

发布时间:2016-12-31 阅读量:5315 来源: 我爱方案网 作者: jiangliu

在快包工程师圈子,虽然开发的产品不尽相同,但碰到的问题有许多是相通的,乐于分享的工程师们,将在开发过程中遇到的问题和经验总结写下来,希望通过我们平台,帮助更多的工程师学习成长。本文的经验分享者王工是快包的优质服务商,他承接任务时遇到了什么问题呢?我们来看看他的分享。

因为承接了快包项目,这段时间一直在用STM32驱动TM1812,期间遇到了不少的问题,网上搜贴却很难找到解决方法,所以我将这段时间来遇到的问题逐一简述,希望对用到TM1812的朋友有所帮助。

一、关于TM1812硬件电路设计问题

首先TM1812是一款串行输入的全彩LED驱动芯片,具体的相关数据可以参考数据手册,这里不赘述。TM1812采用PWM驱动LED,所以需要在LED上串联合适的限流电阻,这里还应考虑到功耗问题,对于5V的电源电压,王工采用R串联180欧姆的电阻,G、B串联150欧姆的电阻。

二、关于时序问题

TM1812采用串行数据输入,所以稳定的时序是非常重要的。由于芯片的高低电平保持时间只有几百纳秒,所以用定时器延时反而达不到很好的效果,我开始就采用系统定时器进行延时的,结果产生咬尾。直接采用__nop()_函数进行延时,当然也可以采用for循环进行延时。这里建议不要将延时程序封装成函数,而是写成宏,因为调用函数会占用几个甚至几十个周期,这样产生的时序效果不好,写成宏可以在预编译时展开,相关的程序片段如下:

  #define DIN_BIT_0() do{ \ //0码

  GPIOA-》BSRR = (uint16_t)0x0040; \ //I/O口置0

  _nop(); \ //若干个_nop()

  GPIOA-》BRR = (uint16_t)0x0040; \ //I/O口置1

  __nop(); \ //若干个_nop()

  }while(0)

  #define DIN_BIT_1() do{ \ //1码

  GPIOA-》BSRR = (uint16_t)0x0040; \ //I/O口置0

  _nop(); \ //若干个_nop()

  GPIOA-》BRR = (uint16_t)0x0040; \ //I/O口置1

  __nop(); \ //若干个_nop()

  }while(0)

程序中具体有多少个_nop()函数视具体MCU而定,最好能用示波器看一下波形,确定合适的个数。宏里面的\可以网上查阅C语言相关。

三、关于电平转换问题

关于电平问题,TM1812的官方数据手册里有点略坑,数据手册里说芯片高电平输入的最低电压是3.8V,我们知道STM32电源电压是3.3V,而TM1812电源电压是5V,所以一开始就考虑到电平转换,但是时序的开关频率大概能达到4到5M左右,采用三极管和MOS管都不能得到很好的输出,这大概折腾了将近一星期,结果。。。结果TM1812和3.3V是完全兼容的。。。完全不需要电平转换就能很好的驱动,所以大家一定要亲自实践了才行。

笔者认为互联网的最大的好处就是分享,自己遇到的问题他人也可能遇到,所以大家解决后可以将经验总结下来,发到网上或者发到我爱方案网邮箱editor@52solution.com,这样其他人就可以少走弯路了。


相关资讯
华为海思换帅!徐直军卸任董事长!

华为旗下核心芯片设计公司深圳市海思半导体有限公司完成重大人事调整,徐直军卸任法定代表人、董事长,由技术背景深厚的高戟接棒,同时完成多位高管的更迭

突发!美国联邦通信委员会FCC“拉黑”中国实验室

美国联邦通信委员会(FCC)发布通告:“基于国家安全考量”,FCC即刻实施新规,撤销或拒绝由“外国对手”控制的测试实验室的FCC认证资格

深度对接产业链!电子展组委会走访三省行业协会与龙头企业

为精准锚定行业需求、高效整合产业资源,全力备战2025年11月5–7日在上海新国际博览中心举办的第106届中国电子展,中国电子展组委会与电子制造产业联盟联合组建专项调研团队,于近期跨越广东、湖南、湖北三省,深入深圳、东莞、长沙、武汉四地,开展了一系列高密度、深层次的企业走访与产业对接活动。通过实地考察和多轮座谈,调研团队系统梳理了华南、华中地区电子制造产业链资源,为展会的高水平举办奠定了扎实基础。

贸泽开售适用于智能和工业物联网应用的Murata Electronics Type 2FR无主机三频无线模块

Type 2FR模块可以为智能家居、工业自动化、游戏控制器和智能配件应用提供出色的集成度、效率和多种无线电功能

贸泽电子授权代理英飞凌丰富多样的产品组合

英飞凌XENSIV™ PAS CO2 5V传感器可持续提供高质量数据,并且满足WELL™建筑标准的性能要求。