简 介: 对于具有三个LED控制通道的TLD2331,可以通过IN_SET1,2,3对于三个通道进行独立控制。控制IO口设置成OPEN_DRAIN模式,通过输出电流设置电阻来连接IN_SETn端口。在输出为了高阻时,LED熄灭,输出低电平时,LED点亮。使用PUSH_PULL的输出模式也可以达到相同的控制效果。

关键词TLD2331LED智能车竞赛

#mermaid-svg-AAmth4SERdLZNzKZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .error-icon{fill:#552222;}#mermaid-svg-AAmth4SERdLZNzKZ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AAmth4SERdLZNzKZ .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-AAmth4SERdLZNzKZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AAmth4SERdLZNzKZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AAmth4SERdLZNzKZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AAmth4SERdLZNzKZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AAmth4SERdLZNzKZ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AAmth4SERdLZNzKZ .marker.cross{stroke:#333333;}#mermaid-svg-AAmth4SERdLZNzKZ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AAmth4SERdLZNzKZ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .cluster-label text{fill:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .cluster-label span{color:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .label text,#mermaid-svg-AAmth4SERdLZNzKZ span{fill:#333;color:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .node rect,#mermaid-svg-AAmth4SERdLZNzKZ .node circle,#mermaid-svg-AAmth4SERdLZNzKZ .node ellipse,#mermaid-svg-AAmth4SERdLZNzKZ .node polygon,#mermaid-svg-AAmth4SERdLZNzKZ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-AAmth4SERdLZNzKZ .node .label{text-align:center;}#mermaid-svg-AAmth4SERdLZNzKZ .node.clickable{cursor:pointer;}#mermaid-svg-AAmth4SERdLZNzKZ .arrowheadPath{fill:#333333;}#mermaid-svg-AAmth4SERdLZNzKZ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-AAmth4SERdLZNzKZ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-AAmth4SERdLZNzKZ .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-AAmth4SERdLZNzKZ .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-AAmth4SERdLZNzKZ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-AAmth4SERdLZNzKZ .cluster text{fill:#333;}#mermaid-svg-AAmth4SERdLZNzKZ .cluster span{color:#333;}#mermaid-svg-AAmth4SERdLZNzKZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-AAmth4SERdLZNzKZ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

LED动态显示
目 录
Contents
设计相关资料
测试TLD2331
测试两个TLD2331
是否可以使用
PushPull方式?
测试总结

§01 LED动态显示


  在 第十七届智能车竞赛 中要求无线充电组使用LED显示法拉电容充电电压。在 利用TLD2131组成LED矩阵显示实验电路板 测试了使用三颗TLD2131组成三列三行的LED显示电路。现在收到了来自于Infineon公司寄送的TLD2331样品,现在测试利用两片TLD2331组成六列LED的驱动方案。

一、设计相关资料

1、TLD2331

  TLD2331-3EP数据手册 可以查找到对应的管脚定义。

▲ 图1.1.1 TLD2331-3EP管脚定义

  根据数据手册上给出的参考电路,可以使用IN_SET1,2,3分别控制三路LED是否点亮。

▲ 图1.1.2 应用IN_SET1,2,3控制三路LED的是否点亮

▲ 图1.1.3 利用Open_Drain控制LED输出电流

(1)建立AD元器件

  建立 AltumDesign中的元器件 TLD2331元器件。

▲ 图1.1.4 建立TLD2331-3EP元器件

  器件的封装建立 PG-TSDS0-14 的器件封装。

▲ 图1.1.5 PG-TSDSO-14 封装形式

2、实验小板

(1)原理图

▲ 图1.1.6 测试小板原理图

(2)PCB图

▲ 图1.1.7 快速制版PCB图

二、测试TLD2331

1、控制MCU测试版

  使用 **基于MM32F3273的MicroPython实验电路板 ** 控制TLD2331的测试版。使用其中的PA0,PA1,PA2,PA3控制测试电路。

▲ 图1.2.1 MM32F3273的输出控制管脚

2、面包板上搭建测试电路

  连接PA0,PA1,PA2到TLD2331的IN_SET1, IN_SET2,IN_SET3。

▲ 图1.2.2 在面包板上搭建的测试电路

3、测试结果

(1)测试代码

//------------------------------------------------------------------------------
int main(void) {unsigned int nCount;//--------------------------------------------------------------------------board_init(true);                       // Initialize UART1MM32F3273Init();printf("MM32F3273                   -- by Dr.ZhuoQing,%s,%s[%ld]\r\n", __DATE__, __TIME__, SystemCoreClock);//--------------------------------------------------------------------------#if CONSOLE_DEBUGConsoleDebugInit();uart_rx_irq(UART_1, ENABLE);
#endif // CONSOLE_DEBUG    //--------------------------------------------------------------------------OUT(LED1);    OUTO(A0);OUTO(A1);OUTO(A2);OUTO(A3);//--------------------------------------------------------------------------nCount = 1;while(1) {if(++nCount & 0x20) ON(LED1);else OFF(LED1);//----------------------------------------------------------------------if(nCount & 0x100) {ON(A0);ON(A1);ON(A2);} else {OFF(A0);OFF(A1);OFF(A2);}//----------------------------------------------------------------------#if CONSOLE_DEBUGConsoleCmdProc();
#endif // CONSOLE_DEBUG        //----------------------------------------------------------------------WaitMS(1);}
}

(2)测试结果

  可以看到三个LED在GPIO的开关控制下闪烁。验证使用OPEN_DRAIN可以通过IN_SET1,2,3控制三路LED的关闭和显示。

三、测试两个TLD2331

1、测试电路

  在面包板上搭建两个TLD2331的驱动板。

▲ 图1.3.1 将两个TLD2331驱动板搭建面包板上

2、测试结果

PIN_enum LEDDIM[] = {A0, A1, A2, B12, B13, B14
};//------------------------------------------------------------------------------
int main(void) {unsigned int nCount, i;//--------------------------------------------------------------------------board_init(true);                       // Initialize UART1MM32F3273Init();printf("MM32F3273                   -- by Dr.ZhuoQing,%s,%s[%ld]\r\n", __DATE__, __TIME__, SystemCoreClock);    //--------------------------------------------------------------------------#if CONSOLE_DEBUGConsoleDebugInit();uart_rx_irq(UART_1, ENABLE);
#endif // CONSOLE_DEBUG    //--------------------------------------------------------------------------OUT(LED1);    for(i = 0; i < 6; i ++) {OUTO(LEDDIM[i]);}//--------------------------------------------------------------------------nCount = 1;while(1) {if(++nCount & 0x20) ON(LED1);else OFF(LED1);//----------------------------------------------------------------------if(nCount & 0x100) {for(i = 0; i < 6; i++) {ON(LEDDIM[i]);                }} else {for(i = 0; i < 6; i ++) {OFF(LEDDIM[i]);}}//----------------------------------------------------------------------#if CONSOLE_DEBUGConsoleCmdProc();
#endif // CONSOLE_DEBUG        //----------------------------------------------------------------------WaitMS(1);}
}

▲ 图1.3.2 两个LED都在闪烁

3、流水灯

PIN_enum LEDDIM[] = {A0, A1, A2, B12, B13, B14
};void Show6LED(int nLED) {int i;for(i = 0; i < 6; i++)ON(LEDDIM[i]);OFF(LEDDIM[nLED]);
}//------------------------------------------------------------------------------
int main(void) {unsigned int nCount, i;int nLEDCount, nLEDPeriod;//--------------------------------------------------------------------------board_init(true);                       // Initialize UART1MM32F3273Init();printf("MM32F3273                   -- by Dr.ZhuoQing,%s,%s[%ld]\r\n", __DATE__, __TIME__, SystemCoreClock);    //--------------------------------------------------------------------------#if CONSOLE_DEBUGConsoleDebugInit();uart_rx_irq(UART_1, ENABLE);
#endif // CONSOLE_DEBUG    //--------------------------------------------------------------------------OUT(LED1);    for(i = 0; i < 6; i ++) {OUTO(LEDDIM[i]);}//--------------------------------------------------------------------------nCount = 1;nLEDCount = 0;nLEDPeriod = 0;    while(1) {if(++nCount & 0x20) ON(LED1);else OFF(LED1);//----------------------------------------------------------------------if(++nLEDPeriod >= 100) {nLEDPeriod = 0;nLEDCount ++;if(nLEDCount >= 6)nLEDCount = 0;Show6LED(nLEDCount);}//----------------------------------------------------------------------#if CONSOLE_DEBUGConsoleCmdProc();
#endif // CONSOLE_DEBUG        //----------------------------------------------------------------------WaitMS(1);}
}

▲ 图1.3.3 六个LED形成流水灯

四、是否可以使用PushPull方式?

  将MM32F3273的IO口设置成PUSH_PULL的输出模式,通过实验可以验证对于TLD2331的控制效果是一样的。

※ 测试总结 ※


  对于具有三个LED控制通道的TLD2331,可以通过IN_SET1,2,3对于三个通道进行独立控制。控制IO口设置成OPEN_DRAIN模式,通过输出电流设置电阻来连接IN_SETn端口。在输出为了高阻时,LED熄灭,输出低电平时,LED点亮。使用PUSH_PULL的输出模式也可以达到相同的控制效果。


■ 相关文献链接:

  • 第十七届全国大学智能汽车竞赛竞速比赛规则
  • 利用TLD2131组成LED矩阵显示实验电路板
  • TLD2331-3EP
  • 数据手册
  • 基于MM32F3273的MicroPython实验电路板 - 工作并不是正常

● 相关图表链接:

  • 图1.1.1 TLD2331-3EP管脚定义
  • 图1.1.2 应用IN_SET1,2,3控制三路LED的是否点亮
  • 图1.1.3 利用Open_Drain控制LED输出电流
  • 图1.1.4 建立TLD2331-3EP元器件
  • 图1.1.5 PG-TSDSO-14 封装形式
  • 图1.1.6 测试小板原理图
  • 图1.1.7 快速制版PCB图
  • 图1.2.1 MM32F3273的输出控制管脚
  • 图1.2.2 在面包板上搭建的测试电路
  • 图1.3.1 将两个TLD2331驱动板搭建面包板上
  • 图1.3.2 两个LED都在闪烁
  • 图1.3.3 六个LED形成流水灯

基于TLD2331完成动态LED显示驱动相关推荐

  1. LED显示驱动(六):LED显示设备显示单层图片调试(DE驱动测试)

    一.显示驱动基础 1.深入学习display2模块的函数和数据结构. 2.制作图层挂在盒子做多个图层的显示,以及图层做alpha blending.colorkey等效果. 问题:1.bin文件生成. ...

  2. LED显示驱动(五):视频设备显示驱动调试步骤总结

    一.显示驱动修改基本步骤 1)查看当前display设备显示状态命令:cat sys/class/disp/disp/attr/sys (显示驱动路径) 2)编译打包内核:./build.sh  ./ ...

  3. LED显示驱动(三):显示驱动底层学习小结

    一.DE硬件架构 显示系统可划分为三个层面,驱动层,框架层及底层. 底层与图形硬件相接,将上层配置的功能参数转换成硬件需要的参数,配置相应寄存器. 显示框架层对底层进行抽象封装成功能模块. 驱动层对外 ...

  4. LED显示驱动(二):显示驱动FPGA验证流程与注意细节

    显示驱动FPGA验证流程与注意细节 验证流程 :                                                                             ...

  5. nodemcu的led显示驱动

    疫情影响,只能在家歇着.突然发现几个月前购买的一个oled显示屏,我试试把显示屏驱动起来看看. led显示屏是1.3寸的单色oled,驱动新品是ssd1306:接口是i2C:我的单片机是nodemcu ...

  6. LED显示驱动(八):显示驱动调试问题

    1.编译layer_demo常见问题 1)修改display_fb_request 图层属性内容,显示如下stray错误? 解决办法:代码文件存在中文的空格或者字符.去掉空格.中文字符. 2.用户空间 ...

  7. LED显示驱动(七):图层基本测试总结

    一.图层性能基本测试项目 1)测试项 Blending 测试:./disptest/display_layer_alpha.sh    测试alpha blending Arg format 测试:. ...

  8. 51单片机——基于单片机的旋转LED显示

    这个特别有意思 可以做的很复杂,也可以做的很简单 本带马工会竭尽所能解决小白入坑的问题(手动笑哭).评论会推送至邮箱,我看见了就会回复.可接私活. 也欢迎各位大佬详细交流.

  9. APM4953大中LED显示驱动

    APM4953采用无铅的SOP-8封装,主要作为电源的开关和PWM的功率器件的应用,常用在车载电子.LCD.便携DVD等电子产品上. 兼容SI4953,AP4953,STM9435,MT9435 AP ...

最新文章

  1. ps怎么更改背景图层大小_PS软件零基础抠图教程,教你PS滤镜抠图技巧和方法
  2. 经典C语言程序100例之七九
  3. 关于报错:'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  4. 数据结构之图:用图解决案例,Python代码实现——24
  5. 天天打无人车是怎样一种体验?
  6. servlet配置log4J
  7. jroo,已开源,一个java web快速开发工具
  8. 全网首发:编译Android doubango时,armv7-a编译不出来的解决办法
  9. 【物理应用】基于matlab波数谱计算【含Matlab源码 508期】
  10. Matlab中镜头畸变矫正
  11. 怎样把pdf转换成word-多语言ocr支持
  12. Word打开目录导航、多页视图显示文章的方法
  13. Windows 8如何关闭自动维护_-Chaz-_新浪博客
  14. 基于SiC集成技术的生物电信号采集方案
  15. 检索的原理和方法步骤
  16. selenium模拟登陆之截屏验证码位置跑偏
  17. Cadence教程4——环形振荡器
  18. 电位器的阻值曲线变化特性解析与应用
  19. 我,94年山西人,矿山地质专业,自学软件当程序员,加班到窒息
  20. 2017第36届西安春季广告标识办公印刷LED光电照明产业博览会会刊(参展商名录)

热门文章

  1. 区块链开发公司能做什么?对企业未来市场有何帮助?
  2. vue2.0 rem运行环境搭建
  3. AgileEAS.NET SOA 中间件2013第四季度发布部分功能开源预告
  4. 面试--js实现继承的几种方式
  5. 大数据安全“脆弱性”凸显 防护成重要课题
  6. Mysql常用数据类型详细说明及实例说明(学习笔记一)
  7. 易宝典——玩转O365中的EXO服务 之三十六 为软删除邮箱启用就地保留
  8. 详解Clojure的递归(下)——相互递归和trampoline
  9. 百度2016笔试题第一题:页面请求失败值
  10. PHP高并发的解决方案