led大屏幕显示器由于其醒目、内容灵活多变等特点,已经越来越多地应用于广告、信息发布、交通指示等公共场所,取得了良好效果。led显示屏主要分为数码显示和点阵显示两大数,本文只讨论点阵显示。目前的led显示屏基本上都是先由用户提出要求,生产厂这根据需要订做,每次都要重复设计电路和机械结构,造成资源浪费,而且若用户的需求改变,改动将十分困难。
实际上不论显示屏的大小,其原理都是相同的,因此完全可以设计出一种标准化、模块化的led显示屏,会对不同的需要,只需要得意组合相应的模块即可。本文介绍的就是一种模块化的led显示屏,可以根据需要灵活改变大小,并可以脱离计算机独立运行,还可以实现如闪烁、滚动显示等特效。对整体式显示屏刷新率不足发生闪烁的常见问题,在这个设计中由于被分割成小模块,不再成为问题。
1 基本原理
基本的设计思路是把整个显示屏分成若干相同大小、相同功能的显示模块,而另外用一个中央控制模块控制,同步所有显示模块的运行,实现整体协调的显示。
所以本系统主要由两部分组成:显示模块和控制模块。
显示模块实际都是相同大小的小led驱动板,能够驱动led阵列,具有基本的显示功能,并可以接收来自控制模块的数据和命令,此外一些常用的显示效果如闪烁、滚动等也包括在显示模块中。现有国标点阵汉字库有16×16和24×24两种,考虑到软件编写的方便和硬件的能力,我们把显示模块作为16×16点阵大小。
控制模块负责控制各显示模块,向各显示模块发送数据和命令。控制模块储存要显示的点阵数据信息,定时向各显示模块下传。控制模块上还带有小键盘和通用异步串行口,即可以用键盘操作,也可以用计算机控制,还可以用计算机更新控制模块内的数据。
显示模块和控制模块之间用总线的方式连接,我们选用了i2c总线。
整个系统的设计使用有很大的自由度:控制模块控制的显示模块数量可以改变,显示模块的排列方式也可以改变(如16个显示模块,既可以是2×8也可以是4×4),对同一块显示屏可以保存若干条件用信息分别显示,每条信息的点阵大小可以不同,超过屏幕大小的信息可以滚动显示出来。这样基本可以满足多种多样的需求。
2 电路结构
采用pic16c73作为中央控制器。该单片机内置i2c接口、串行口,而且具有比较强的口线驱动能力(每根口线25ma),使用它可以简化很多外围电路。
数据存储使用两片eeprom:x24256共提供64k字节的数据空间,可以反复擦除重定民,掉电数据不丢失。如果全部用来显示16×16点阵的汉字,可以显示2000个左右。数据存储器与各个显示模块共用i2c总线,依靠各自的地址区分究竟是存储器还是显示模块。
小键盘外接4个限流电阻直接接到cpu的口线上,对键盘采用4×4扫描方式。
控制模块与计算机的连接使用rs232串行口,用一片max202做电平转换。
此外控制模块还带有一个光强度传感器,其作用是调节显示屏的亮度。由于白天和夜晚的环境光强差异很大,白天觉得合适的亮芳到了晚上可能会很刺眠,因此根据外界的光强使用这个传感器自动调节显示屏的度。这里使用的是ti公司的tls235光频转换元件。
每个显示模块要驱动一块16×16的led阵列,由于单片机的口线数量少,使用静态显示是不可能的,这里使用了动态扫描显示。考虑到刷新速度的因素,使用16行扫描刷新可能会有闪烁,所以使用8行扫描、32位数据的方式。
每条数据线每个时刻只对应一个发光单元,要求电流较小;而当显示屏全开的时候,8路共阳极扫描线将会对应32个发光单元,电流要求大,所以两端的驱动电路是分别设计的。数据线端使用ti公司的4片tpic6b595。扫描端使用allegro公司的两片2944。
显示模块与控制模块用i2c总线相连。由于显示模块的任务只是显示,所以不另外增加存储器,只有内部的ram单元保存欲显示的点阵数据,并不停地扫描显示到led阵列上。诸如滚动、闪烁等显示效果只是对显示数据做额外处理,如滚动显示实际对应数据的移位操作。这些功能也编写在显示模块中,由控制模块发送命令激活这些功能。
此外需说明的是,显示模块的驱动电路与led阵列可以看作分离的两部分,只要在驱动电路的驱动能力范围内,可以使用发光单元不同的led阵列,如1个发光单元仅为1个led的小型显示牌或者1个发光单元包括5~7个led的大型显示牌等。
3 软件设计
本系统的软件包括一个部分:显示模块、控制模块和pc机。
显示模块的软件主要包括扫描显示、特效处理和i2c通信三部分。三显示模块cpu的ram中开辟出32字节作为显示缓冲区,扫描显示程序只是定时从显示缓冲区中取数据发往移动寄存器,并设置相对应的扫描线,实现一次扫描。扫描显示并不识别缓冲区里的数据是什么。扫描是利用了人眼的图象滞留效果,如果扫描频率达到60hz以上,对扫描频率的波动就不大敏感了,所以这里的扫描显示程序没有使用定时器中断,仅由循环完成。
特效处理是指对扫描缓冲区的数据做移位的操作,主要对应滚动显示效果。滚动时每次滚动一个像素行或列,大部分数据已经存在于显示模块中,控制模块发送滚动命令时联合国加两个字节(1行或1列)的新数据。由于使用的扫描方式是32×8的方式,因此数据存放并非完全线性,而有跳跃存储的部分,加之字符滚动显示有上下左右四个方向,要把新来的数据移入缓冲区并移出两字节的旧数据,因而需要比较繁复的ram地址计算。
i2c通信是pic16c73内部硬件实现的功能,比较简单,只用中断就可实现。
显示亮度的调节功能是通过调节发光单元点亮时间实现的。具体来讲,由于是扫描显示,每个发光单元最多只有1/8的时间可以点亮,如果这1/8的时间全部点亮,其效果就是最大亮度,如果在这1/8的时间内仍有部分时间不亮,则总体的显示亮度就下降。显示模块从控制模块接收环境亮度数据,调节这个点亮时间的比例,以实现调节亮度的功能。
控制模块程序包括与显示模块的i2c通信,与eeprom的i2c通信,与计算机的串行通信,数据的地址计算,外界光强度检测几个部分。
两个i2c通信部分和串行通信由硬件支持,比较容易。外界光强度传感器直接把光强转化成频率送入cpu,所以只要定时计数即可。比较复杂的部分是数据的地址计算。由于本系统的自由度、数据使用索引的办法在eeprom中存储,地址计算逻辑上简单但实现起来比较繁复,要对每个显示模块发送不同的内容。对于滚动显示的情况则更加复杂。
如果是静态显示,则控制模块仅接收到命令后传送一次数据就进入空闲等待:如果是闪烁、滚动等显示,则需要定时从eeprom中取数据发生各显示模块。
pc机部分的程序主要是点阵编辑功能和rs232通信功能。点阵编辑不仅可以写各种字体的字符,还可以绘制简单图形;rs232通信不仅包括所有可以用键盘实现的功能外,还可以直接在显示屏上显示图形而不用先保存到控制模块中,实现即时的信息发布。
本系统对常用的led大屏幕显示装置作了规范化、模块化的有益尝试,并已应用在交通状况显示场合,取得了良好效果,证明该设计是合理可行的。由于设计时为使用保留了很大自由芳,使得它可以灵活组合运用于各种不同需求的场合,而不必重复设计,有效节约了资源。由于最初本系统对应一个比较小的显示屏,怕以选用了i2c总线,如果要做相当大的显示零还可以换成rs485等总线,提供更大的扩展余地。此外基于这个设计思路,还可以进一步开发彩色led大屏幕显示屏等产品。
来源;国际led网
详细了解商汤与高校协同创新推进AI+教育领域的发展规划和实践举措
中国移动研发边缘计算和5G专网目前是GSMA重点关注的领域
Turkcell已经在移动核心网中实现了60%的虚拟化
台积电为建立美国工厂发行35亿美元债券
汽车电动车智能充电桩的介绍
基于一种模块化的LED显示屏设计
科大讯飞AI学习机T20 Pro重磅发布,科学匹配三大学龄段
欧姆龙新品耐热光纤单元E32-ZD81/ZT81正式发布
完美收官 | IOTE第十八届国际物联网展精彩落幕,美格智能参展回顾
2020年Q1季度三星显示屏业务出现亏损,营业亏损4642亿韩元
极飞科技无人机助力疫情防控消杀工作
基于Profibus-DP现场总线实现PLC系统之间的通信设计
智能魔镜显示屏为什么能够拥有如此大的市场
基于DSP的256PPM调制系统的设计
斯坦德机器人63台AMR助力光伏企业实现物料全自动搬运
The Freestyle三星随享智能投影仪的详细介绍
Raychem瑞侃170233-1插座触点
使用STM8的可编程警用LED闪光灯
华为5G手机市场被后来者加速追赶,怎么保持领先优势呢
用于激素传感的多功能生物电子接口平台可分析糖尿病患者健康状况