《LED驱动技术》doc版.doc_第1页
《LED驱动技术》doc版.doc_第2页
《LED驱动技术》doc版.doc_第3页
《LED驱动技术》doc版.doc_第4页
《LED驱动技术》doc版.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 绪论1.1 LED显示屏概述 LED 显示屏从八十年代后期在全球迅速兴起,在短短的十几年中,技术、产业都取得了长足的进步,已发展成为重要的现代信息发布媒体手段,在证券交易、金融、交通、体育、广告等领域得到广泛应用,随着社会信息化的进程,LED显示屏在信息显示领域的应用愈加广阔。本章对LED 显示屏的技术和产业的发展予以介绍。1.1.1 LED及LED发光材料的特点在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 LED的发光颜色和发光效率与制作LED的材料和工艺有关,目前广泛使用的有红、绿、蓝三种。把红色和绿色的LED放在一起作为一个象素制作的显示屏叫双色屏或彩色屏;把红、绿、蓝三种LED管放在一起作为一个象素的显示屏叫三色屏或全彩屏。1968年HP公司就生产出红色的LED发光灯(波长660nm),而后陆续出现了可用于显示屏的黄绿(波长570nm),蓝(波长470nm)及纯绿(波长525nm),但目前由于高亮度的蓝色及纯绿色半导体晶片制造技术主要掌握在日本,美国等少数公司手中,造成价格比较昂贵。 应用于显示屏的LED发光材料有以下几种形式:1、LED发光灯(或称单灯)一般由单个LED晶片,反光碗,金属阳极,金属阴极构成,外包具有透光聚光能力的环氧树脂外壳。可用一个或多个(不同颜色的)单灯构成一个基本像素,由于亮度高,多用于户外显示屏。2、 LED点阵模块由若干晶片构成发光矩阵,用环氧树脂封装于塑料壳内。适合行列扫描驱动,容易构成高密度的显示屏,多用于户内显示屏。3、 贴片式LED发光灯(或称SMD LED)就是LED发光灯以贴焊形式的封装,可用于户内全彩色显示屏,可实现单点维护,有效克服马赛克现象1.1.3 LED显示屏的分类1、使用环境分为户内、户外及半户外户内屏面积一般从不到1平米到十几平米,点密度较高,在非阳光直射或灯光照明环境使用,观看距离在几米以外,屏体不具备密封防水能力。户外屏面积一般从几平米到几十甚至上百平米,点密度较稀,可在阳光直射条件下使用,观看距离在几十米以外,屏体具有良好的防风抗雨及防雷能力。半户外屏介于户外及户内两者之间,具有较高的发光亮度,可在非阳光直射户外下使用,屏体有一定的密封,一般在屋檐下或橱窗内。2、颜色分为单色、双基色、三基色单色是指显示屏只有一种颜色的发光材料,多为单红色,在某些特殊场合也可用黄绿色(例如殡仪馆)。双基色屏一般由红色和黄绿色发光材料构成。三基色屏分为全彩色(full color),由红色,黄绿色(波长570nm),蓝色构成及真彩色(nature color),由红色,纯绿色(波长525nm),蓝色构成。3、控制或使用方式分同步和异步同步方式是指LED显示屏的工作方式基本等同于电脑的监视器,它以至少30场/秒的更新速率点点对应地实时映射电脑监视器上的图像,通常具有多灰度的颜色显示能力,可达到多媒体的宣传广告效果。异步方式是指LED屏具有存储及自动播放的能力,在PC机上编辑好的文字及无灰度图片通过串口或其他网络接口传入LED屏,然后由LED屏脱机自动播放,一般没有多灰度显示能力,主要用于显示文字信息,可以多屏联网。4、像素密度或像素直径划分3.0mm 60000像素/平米,3.75mm 44100像素/平米,5.0mm 17200像素/平米1.1.4 LED显示屏的发展阶段发光二极管(Lighted Electronic Diode)作为显示器材早期仅应用于仪器仪表等低亮度领域,随着半导体材料技术的不断发展,亮度逐渐提高,稳定性及寿命逐渐延长,色彩逐渐丰富,迅速进入大屏幕工程显示领域。尤其在体育场馆等场合的应用,因其超高亮度,色彩鲜艳,长寿稳定,已成一统天下之势。而近几年LED显示材料的产量迅猛增长,成本迅速下降,使其进入户内高密度大屏幕市场成为可能。LED大屏幕的发展呈现如下几个发展阶段:1、第一代单色LED显示屏以单红色为基色,显示文字及简单图案为主,主要用于通知通告及客流引导系统。2、第二代双基色多灰度显示屏以红色及黄绿色为基色,因没有蓝色,只能称其为伪彩色,可以显示多灰度图像及视频,目前在国内广泛应用于电信,银行,税务,医院,政府机构等场合,主要显示标语,公益广告及形象宣传信息。3、第三代全彩色(full color)多灰度显示屏以红色,蓝色及黄绿色为基色,可以显示较为真实的图像,目前正在逐渐替代上一代产品。4、第四代 真彩色(true color)多灰度显示屏以红色,蓝色及纯绿色为基色,可以真实再现自然界的一切色彩(在色坐标上甚至超过了自然色彩范围)。可以显示各种视频图像及彩色广告,其艳丽的色彩,鲜亮的高亮度,细腻的对比度,在宣传广告领域应用具有极好的视觉震撼力。它具有高亮度,不受环境亮度影响,厚度薄,占用场地小,色彩鲜艳丰富,视角宽,可以在宽敞的厅堂环境应用,没有拼接图像损失。1.2 本文LED点阵显示屏设计的内容及技术指标1.2.1设计内容1、显示方式的确定2、驱动电路设计3、控制器件选择及控制方式4、软件设计,包括上位机及下位机程序设计5、通信方式的设计6、PCB的设计制作等1.2.2技术指标分辨率:128x32颜色:红绿双基色驱动时钟:1.843199MHz场频:65Hz行频:1040Hz尺寸:608mm152mm接口:标准USART 显存:1792B1.3 本文章节安排 本文分成四章,各章主要内容安排如下:第一章 绪论,综述了LED点阵显示屏构成、分类、发展情况,并介绍本文LED点阵显示屏设计的主要工作和技术指标。第二章 显示的总体设计,首先介绍了显示屏点阵的显示原理,接着介绍点阵的特点,确定系统的总体框图,并通过实验验证的方法确定了本次设计屏幕显示所采用的扫描方式和扫描频率。第三章 硬件电路设计,主要详述了列锁存电路和行扫描驱动电路,以及控制电路的设计。第四章 软件程序设计,主要描述了上下位机的程序设计方法,及其实现,下位主要介绍了各种动态显示方式的实现方法,上位机主要是串口通讯软件的实现办法。2 显示屏的总体设计2.1显示屏的显示原理由n行m列LED(通常由8x8LED点阵模块拼接组成的)点阵屏,按一定的规律点亮其中的一部分LED,便可以显示特定的图形或文字(如图2.1所示)。图2.1 点阵显示示意图显示屏中的每一个像素,也叫像筒,就是点阵中的一个发光点,它可分为单色,双基色,三基色三种。单色(如红色或绿色),则可以显示单色或者灰度的图像或文字。双基色屏除了可以显示单色的功能外,还可以通过控制像点的亮度制成伪彩屏,而三基色屏则可以通过对每个像筒中的三种光源进行256级灰度调节,从而实现真彩屏显示。LED点阵显示屏由数量众多的LED组成,如室内屏常用的3.75mm(像筒直径3.75毫米)的显示屏一平方米就有44100像素。如此庞大的数量,如果用静态显示,将需要大量的锁存器和地址译码等硬件电路,而且需要消耗巨大的电能。比如每个LED的显示电流为3mA的话,假如由5伏电源供电,则一平方米真彩屏的耗电功率最高达到44100*3*3*5/1000=1984.1W(全屏所有LED都亮),相应电源要提供的电流约为400安培,而如果采用动态的扫描显示,笔者通过实验验证利用1/16行扫描,50Hz的场频时每个LED的驱动电流为10mA时其亮度跟静态的3mA相当。这时电源提供的最大电流为44100*10*3/16/1000A=8.25A。也就是说静态显示的耗电量大约为动态显示耗电量的40多倍。基于以上两个原因LED点阵显示屏一般都采用动态的扫描显示。每一时刻只点亮显示屏中一行或者几行LED,利用人眼的视觉暂停效应,通过快速扫描,使屏幕看起来所有行是同时显示的。其原理类似于电视机扫描显示原理。2.2显示屏设计的实现方法2.2.1 LED 点阵模块特性LED点阵显示屏幕除非特殊用途,如需要高亮,大直径像点等等,一般不用分立的发光二极管组成,而是用现成的LED点阵集成块排列而成。目前市面上能买到的有58、88、1616等规格,像素直径为3.0、3.7、4.8、5.0、8.0、ph8、ph10、ph16、ph20等。58点阵一般用于英文和数字显示。而88和1616一般用于组成显示屏。高的集成度可以简化电路设计,但价格也高。目前8x8点阵用得最多,LED8x8点阵有单色(红,绿,黄)、双基色(一般为红绿两色)和三基色(红绿蓝三色)可选。笔者从市场上了解到8*8单基色和双基色模块的价格基本一样,一般都是24引脚(单基色有8个空引脚),引脚排列比较规则;单色模块也有16引脚的,但引脚排列不规则。基于以上原因,并从设计的从实际出发,同时由于是比较小的室内屏,故选用3.7的红绿双基色模块。买回来的LED点阵模块,需要测定它的封装(包括尺寸和引脚排列),和电器特性。首先可以查它的电子技术文档,得出红绿双色LED8x8的封装及引脚排列如图2.2所示,接着用万用表调到二极管测试档进行引脚排列验证。当万用表的红笔黑笔分别接触到LED的正负极的时候,对应的LED会发光。经测试引脚与图2.2所示一致。图2.2双基色8*8点阵原理与引脚图HE 其中“”代表红色发光芯,“”代表绿色发光芯。图2.3点阵的外观图2.5绿LED的电器特性图图2.4红色LED的电器特性图图2.3是LED88点阵的外观图,下面对点阵的电器特性进行验证。图2.4和图2.5分别是点阵中红色LED和绿色LED的伏安特性和亮度电流特性图由图可以看出亮度电流特性两种灯基本上一样,不同的是绿灯的导通电压比红灯高,而且绿灯随电压的增大电流增大不及红灯快。表2.1通过实验测试的了作品所采用的LED点阵模块两种颜色的LED在不同电流下的正向压降。可以看出与技术文档的特性曲线基本一致流。表2.1 LED点阵电流与正向压降关系电流(mA)2.03.05.08.012.025.0绿色LED正向压降(V)1.941.972.002.052.112.20红色LED正向压降(V)1.851.861.901.931.972.002.2.2 系统的总体实现方法要实现128x32的显示屏,首先得算出整屏所需的8x8LED点阵模块数,计算方法是N=(128x32)/(8x8)=64片。我们把LED点阵里同一行的所有LED的正极相连,每一行引出一条行线;把同一列的所有LED的负极相连,每一列引出一条列线。如图2.6所示。列线的数据取自列锁存电路,行线与扫描电路相连。显示的时候,单片机从显示存储器里取出某一行的显示数据,并把数据写入列锁存电路;同时,通过扫描驱动电路把LED点阵里该行的行线电平拉高。此时该行的LED按存储器里的数据低电平的点亮,高电平的不亮,而其他所有行都不亮。点亮该行一小段时间(如700微秒)之后,单片机从显示数据存储器里取出下一行数据,以同样的方式控制显示下一行的LED。再过一个极短的时间,再显示下一行。直到最末一行再从第一行开始扫描显示。如此周而复始不断循环,只要扫描的频率足够的高,由于人眼的视觉暂停效应,看起来就好像是所有行都是同时点亮的,因此就可以看到一个稳定的画面。图2.6 系统的总体结构图显示屏系统中,单片机控制器通过串行接口与个人电脑相连接,用于实时更新显示屏的内容,还可以控制显示屏的显示方式,只占用PC的一个串行口。扩展RAM用来作为显示屏的显存。可以制作双缓存来提高存取的速度。其它扩展可连接包括时钟芯片,温度传感器,语音芯片等,将系统制成集视听一体化的多功能屏。图2.7 显示点和数据的对应关系下面通过一个简单的例子来说明显示屏是如何显示信息的。在单色显示的情况下,用二进制码表示显示数据,二进制码的每一位对应显示屏幕上的一个点,1表示亮,0表示不亮,如图2.7所示。可以看到显示存储器里的数据是如何与显示屏幕显示的图形或文字相对应的。哪点阵上的0或1是怎样获得的呢?原来是先把某一行字模信息写到列锁存器,再对该行进行选通驱动。在双色或三色的情况下,每种颜色的显示原理和单色显示原理相同。还有如果给列锁存器写入的是PWM调制信号的话,则可以实现灰度调节,从而可以实现真彩屏。2.2.3行扫描方式及扫描频率的确定LED显示屏幕基本上采用动态的行扫描方式,大多数采用1/8、1/16、1/32等1/n扫描,n一般为2的整数几次幂。即在一个扫描周期里(形成一帧画面),有n行轮流点亮。采用哪一种扫描方式,主要考虑因素有硬件和显示效果两方面。对于显示器件来说,人们最关注的就是它的显示效果如何,如亮度,对比度,稳定性(有无闪烁)和价格,而价格直接与设计所需的成本,即与硬件相关了。对于单色或双色屏我们最关心的是它的稳定性了,也就是说有无闪烁了。而作为一名设计者,我们还要关心它的设计成本。我们知道采用动太扫描方式显示的器件,其原理都是利用人眼的视觉惰性,当屏幕的的帧频率大于某一数值之后,通常大于25。就感觉像是静止的一样,形成稳定的画面,对于LED显示屏由于点距比较大,而且实际扫描时间比行扫描周期还要短(在一个行扫描周期里部分时间用于装入并锁存数据信息),所以要达到稳定的显示画面通常要更大的帧频率,通常在50Hz以上,而且屏幕越大需要的场频就越高。结合本文显示屏的设计实际,笔者用16x16点阵模拟16x256(相当于32x128)进行验证,发现在50Hz时显示屏基本无闪烁,有趣的是不同颜色的闪烁程度也不同,绿灯的闪烁比红的要明显一些,通过查找相关资料也核实这种现象,理论基础是人眼对不同颜色的色彩敏感度不同。同时资料显示不同人对闪烁的敏感程度也不一样。基于本文所要设计的尺寸比16x16大很多,故拟定用65Hz的场频(帧频)。在1/32和1/32以上的扫描方式下,要达到合适的亮度所需要的脉冲电流过大,而且也给控制器提出了很高的要求,因此本设计不予采用。显示屏所需列锁存器与扫描方式成正比,也就是说采用1/16将比1/8的扫描方式省一半的锁存器,下面计算本设计采用1/8所需要的列驱动芯片(拟定用TB62706,每片能驱动16位)数量将达到N= 32行128列2颜色/16位/16=64片 (2.1) 芯片数目过多,大大提高了成本,如果用1/16,则只需32片的列驱动芯片,而在行扫描方面1/8与1/16两种方式的差别只在前者用一个4-8译码器而后者用一个4-16译码器后者前者用8个I/O口而后者用了16个O/口,还有8个驱动管。这相对与列驱动锁存器来说成本低了很多,因此不宜采用1/8或者1/8以下的扫描方式。考虑上述问题,笔者决定采用1/16扫描的显示方式。同时可以计算出,行扫描频率为:f=16行65帧=1040Hz (2.2)3 硬件电路设计3.1行扫描驱动电路设计行扫描驱动电路包括两部分,扫描部分与驱动部分,扫描部分用于产生选通的顺序脉冲序列,驱动部分主要考虑选择能够提供合适电流的驱动管。3.1.1 行扫描电路方案的选择行扫描电路(也叫行选电路)用来产生一个如下图3.1所示的顺序脉冲,驱动某一行管,作为点亮一行的信号。按照逐行扫描的方式,当全部列信号准备就绪后,控制列信号锁存器输出,相应的行信号应同时跟上。因采用点阵的行为共阳极,所以行选的作用就是为待点亮行提供电源。顺序脉冲可以又多种电路产生,常用有串入并出移位器,如74HC164;串入并出锁存器,如74HC595;3-8译码器74HC138或4-16译码器74HC154。下面就这几种方法组成的电路进行讨论,并选出本设计的采用方案。图3.1 驱动行管用的顺序脉冲讨论时我们主要考虑电路占用系统资源的情况,简洁性,成本这几方面。下面列举了几种电路方案,图3.2为采用8位移位寄存器方法的行选电路。该电路中MR为74HC164的清零信号,LS为串行行选信号,LCLK为行选同步时钟。74HC164的输出经反相器控制驱动管的导通与截止,从而分别控制第一至第十六行与电源的接通。图3.2 又74HC164构成的行选电路该电路只用了3个I/O口,数据的写入只用了一条指令,不占用显示时间,只是所需器件多了些。使电路相对复杂,成本提高。图3.3 74HC595构成的行选电路图3.3为利用了两片串入并出芯片74HC595串联组成了顺序脉冲的电路。电路的优点是简洁,占用I/O口少,其原理是系统运行的时候,单片机发生了一个时钟信号驱动74HC95,并每16个时钟周期定时把串行输入口的电平拉低,于是在Q1Q16产生了所需的1/16顺序脉冲。由前面的表述行选是紧跟在列锁存准备就绪之后的,也就是说在在每一个行扫描周期里,从把信号锁存到列锁存器到行管的驱动输出这段时间LED是不点亮的,这段时间越短对显示屏的显示亮度更有利。所以应该尽量缩短这段时间,显然用了两片串入并出芯片74HC595串联组成了顺序脉冲的电路会占用一定量的显示时间,所以一般不予采用。图3.4为4-16译码器构成的行选电路,该电路直接由I/O口控制,只需两条指令操作就能实现行选,不占用显示时间,电路简洁,可以采用这种电路,不过由两个3-8译码器74HC138构成的相当于一个74HC154的行选电路也够简洁,而且成本比较低,所以本设计采用由两个3-8译码器74HC138构成行选电路12,其原理图如图3.5所示。图3.4 74HC164构成的行选电路图3.5 两个74HC138构成的行选电路3.1.2行驱动管的选择驱动管的选择一般从两个因素考虑,一是响应时间,一是驱动电流。由于系统的扫描频率(行频率)一般不大于10K,从响应时间上来说一般驱动管都能满足要求。从驱动电流看,系统每次驱动两行,每行有128个红色的LED和128个绿色的LED,每个瞬间电流是10mA(实验验证的结果)。因此列驱动管所需的最大驱动电流是ILmax=1012822=5120(mA) (3.1)考察了LED显示屏所采用的几款产品,目前行驱动管大部分使用P沟道MOS管或PNP达林顿管。使用频率最高的是TIP127、SI4953、SI4957 等几个产品。对上述几个产品的选择主要考虑因素有持续电流驱动能力和瞬间电流驱动能力。虽然LED显示屏用的是瞬时电流驱动,但考虑到调试期间可能产生持续电流驱动,为安全起见,设计时考虑用持续电流做驱动标准要求。表3.1是对使用最多的TIP127与SI49539的驱动性能进行比较。表3.1 TIP127与SI4953的电流性能由表3.1可以看出SI4953的持续驱动能力比TIP127小一倍多,但是每个SI4953里面有两个管,如果一个驱动红色一个驱动绿色,即每个MOS管提供的驱动电流为5120/2=2560mA,还是完全符合要求的,另一个考虑因素就是管的封装形式了,图3.6是两种管的封装形式。由于电路板的面积限制,采用TO-220FP封装的TIP127体积很大,不予采用。因此选择了封装有两个P沟道MOS管的SI4953作为列驱动管。图3.6 TIP127与SI4953的封装3.2列锁存驱动电路设计列锁存电路的设计主要解决每一行数据在显示的时候的锁存问题。目前LED显示屏一般都采用若干个串入并出芯片串联而成。原理简单,电路简洁,容易控制。本设计也选用这样的方法,其原理如图所示。图3.7 行锁存的原理图3.2.1列驱动芯片选择 LED显示屏主要是由发光二极管LED及其驱动芯片组成的显示单元拼接而成的大尺寸平面显示器。驱动芯片性能的好坏对 LED显示屏的显示质量起着至关重要的作用。近年来,随着LED市场的蓬勃发展,许多有实力的 IC厂商,包括日本的东芝(TOSHIBA)、索尼(SONY),美国的德州仪器(TI),台湾的聚积(MBI)和点晶科技(SITI)等,开始生产LED专用驱动芯片。LED驱动芯片可分为通用芯片和专用芯片两种。所谓的通用芯片,其芯片本身并非专门为LED而设计,而是一些具有LED显示屏部分逻辑功能的逻辑芯片(如串入并出移位寄存器74HC595)。通用芯片一般用于LED显示屏的低档产品,如户内的单色屏,双色屏等。最常用的通用芯片是74HC595,74HC595具有 8 位锁存、串 2 并移位寄存器和三态输出。每路最大可输出35mA的电流(非恒流)。专用芯片是指按照LED发光特性而设计专门用于LED显示屏的驱动芯片。LED是电流特性器件,即在饱和导通的前提下,其亮度随着电流的变化而变化,而不是靠调节其两端的电压而变化。因此专用芯片一个最大的优点就是提供恒流源。恒流源可以保证LED的稳定驱动,消减LED的闪烁现象,是LED显示屏显示高品质画面的前提。有些专用芯片还针对不同行业的要求增加了一些特殊的功能,如亮度调节、错误检测等。目前LED恒流芯片主要分为三个档次。第一档次是具有灰度机制的芯片,这类芯片内部具有PWM机构,可以根据输入的数据产生灰度,更易形成深层次灰度,达到高品质画面。第二档次是具有LOD,TSD、亮度调节功能的芯片,这些芯片由于有了附加功能而更适用于特定场合,如用于可变情报板,具有侦测LED 错误功能。第三档为不带任何附加功能的恒流源芯片,此类芯片只为LED提供高精度的恒流源,保证屏体显示画面的质量良好。恒流源输出路数主要有 8(8 位源)和16(16位源)两种规格,现在16位源基本上占主流:如TCL5921,TB62706/TB62726,MBI5026/MBI5016等。16位源芯片主要优势在于减少了芯片尺寸,便于LED驱动板(PCB)布线,特别是对于点间距较小的PCB更是有利。目前TB系列芯片在国内占有率最高,MBI(聚积科技)的MBI5026/MBI5016分别与东芝的TB62726/TB62706引脚及功能完全兼容,除了恒流源外部设定电阻阻值稍有不同外,基本上都可直接代换使用。该产品的价格比东芝的要低1020%,是中档显示屏不错的选择。 为了保证显示屏的显示显示效果,同时使驱动电路更加简洁,本设计采用MBI(聚积科技)公司生产的MBI5026/MBI6016芯片。采用MBI5026/MBI6016有如下优点:1、恒流输出,保证了画面的稳定2、恒流输出达到16路,减少了驱动芯片的数目3、SSOP24-P封装,体积小,节省了电路板空间4、货源充足,价格合理3.2.2 MBI5026/MBI6016原理和列驱动电路实现11 MBI5026/MBI6016是一个有16路恒流源输出的串行输入,并行输出的LED专用驱动芯片。其内部结构如图3.8所示。它主要包括以下两部分:由D型触发器串联成的串入并出电路和集电极开路输出恒流电路。图3.8 MBI5016引脚图图3.9 MBI5016内部结构图MBI5026/MBI5016每路恒流源的输出电流是590mA。MBI5016输出电流稳定度达到6%。最高工作频率达到25MHz。图3.10为TB62706/62726数据手册提供的典型运用电路该电路也适用于MBI5016/5026。图3.9 MBI5016的典型应用电路图3.4 TB62706典型应用电路5其中,VLED是供电电压,用VCE表示行驱动管的导通压降,设计中用的集成P沟道MOS管,其导通压降在0.05V以下。用VF 表示LED的正向导通压降,在前文中有实验测定的数据。VO是MBI5016/5026恒流输出的输出电压。数据手册描述,VO一般正常运行时为 0.40.7伏,当VLED 比较大而输出电流较小时,VO可以大到45伏。整个MBI5016能够承当的最大功耗温度25 时1.3W,85时为0.67W,式3.2计算出当每个恒流输出为10mA,功耗为0.67W对应的Vo值。 Vo=0.67W(功耗)10mA16(16个输出口)=4.1875V (3.2)上述几个电压的关系为VLED =VCE VFVo (3.3)其中大约为VCE VF 大约为2V,当直接连接VDD时大约为3V。显然取恒流输出为10mA的话是没有问题的,不过为了确保MBI5016工作的稳定性,一般都是 VDD串接一个稳压管,降压后才接VLED,使VLED在34伏之间,或者VLED直接连VDD,然后在每一个恒流输出端串接分压电阻,使Vo为一伏左右。显然采用一个稳压管,或者一两个大功率的二极管,进行分可以使电路更叫简洁,稳定。图3.10 MBI5016输出电流与REXT关系图3.10是MBI5016输出电流与Rext的关系,Rext为外接输出电流控制电阻,Iout与Rext关系式如图3.10所示,本设计取Iout为10mA,则Rext的计算如下式3.4所示:Rext = (VR-EXT15)IOUT =(1.2615)0.01=1890 (3.4)按电阻的标准系列阻值,可取最接近的2K或者1.5K当选择REXT=1.5K时候, IOUT=(1.2615 )1500=0.0126A=12.6mA (3.5) 此时每个LED的平均电流为IOUT/16=0.79mA,能较好的发光。因此选择REXT=1.5K。通过以上设计,最终列驱动电路的具体电路如图3.11所示(部分电路图)。图3.11 列锁存电路图(部分)3.3控制电路的设计3.3.1控制器的选择作为一个128x32的室内屏,8位单片机完全有能力对其进行操控。传统的MCS-51系列单片机,如果不采用外加,并入串出移位和分频电路,来提高串行的列锁存操作,直接用I/O进行列信号的锁存操作,就算使用24MHz的晶振和倍频,一条但周期的指令也要0.25微秒,而完成一次移位至少需要4个指令周期,而一次锁存要写进的位数为:128(每行)2行2色=512,所以完成一次锁存所需时间为51240.25=512微秒,如上文所述,采用960Hz的行扫描,即扫描周期约为1毫秒。那么将有一半以上的时间用于数据锁存,这段时间LED没有导通,LED的占空比大大减小,从而需要更大的驱动电流。也影响了显示的效果。虽然可以采用图3.12的电路结构,增加并入串出移位器和直接使用晶振频率几分频后的时钟进行列信号的操作,这样基本不占用单片机系统资源,也不占用显示时间,但是控制部分引入很多元件,提高成本的同时也降低了系统的可靠性。本设计不予考虑。本设计采用Atmel公司生产的8位高档AVR单片机ATMega32作为下位机控制器。ATMega32是一款高性能、低功耗的 8 位AVR微处理器,它有如下优点8:1. 先进的RISC 结构2. 工作于16 MHz 时性能高达16 MIPS3. 32K 字节的系统内可编程Flash4. 1024 字节的EEPROM5. 2K字节的片内SRAM图3.12 ATMega16 引脚图6. 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器7. 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器8. 具有独立振荡器的实时计数器RTC9. 面向字节的两线接口10. 一个可编程的串行USART11. 可工作于主机/从机模式的SPI 串行接口12. 具有独立片内振荡器的可编程看门狗定时器设计的时候之所以选择ATMega32来做控制器是因为很多特性适合我们设计的需要。首先,SPI 串行接口可用于列锁存数据的高速串行输出。当单片机工作在16MHz时,SPI的最高时钟频率可以达到8Mz。其次,高达2K字节的SRAM可以作为屏幕的显示存储器,免去了外接存储器的麻烦。再次它有一个可编程的USART,可用于和PC通信,使显示屏作为PC的一个外设。最后,系统内置了1024字节的EEPROM,可用于存储系统设置,当系统断电后设置信息也不会丢失。3.3.2控制电路原理控制系统的电路原理图如图资源分配情况如表3.13所示。图3.13 单片机控制电路图得益于ATmega32的优秀性能,控制单元电路比较简单,基本是单片机的最小应用系统,加电源,串行通信电路构成的。单片机控制系统的资源分配情况如表3.2:表3.2 控制系统资源分配功能接口行扫描接口 列锁存输出 串行通讯接口SPI接口引脚分配情况PC0:扫描线LAPC1:扫描线LBPC2:扫描线LCPC3:扫描线LDPC4:显示使能ENPD4:串行数据输入PD5:串行时钟PD6:数据锁存PD1(TXD):串行发送PD0(RXD):串行接收PB5:MOSIPB6:MISOPB7:SCK如图3.14时序图所示,MBI5016的串行数据采集点在CLK的上升沿;/LE低电平时锁存输出数据,高电平时送出新数据11。由于AVR单片机内置有SPI串行通信端口,因此也可以直接用SPI来向MBI5016传送数据,而无须用软件来模拟。SPI的写进速度要比软件快一些,当然, SPI通讯端口可以进行在线下载编程,实现图3.14MBI5016数据传输时序图4.4显示控制流程图控制系统在系统启动的时候,系统初始化外设及显示的指针(它指向显示数据缓存的某一行)。初始化完成之后,单片机通过SPI口,向列锁存器写入首行显示数据,同时送出一个顺序脉冲到列驱动电路,点亮该行的LED。在该行点亮1MS之后,以同样的方式点亮第二行LED。并在以后的时间里,以同样的时间间隔逐行轮流点亮其他行,实现扫描显示。与此同时,系统不断的从并行或者串行通信端口读取命令和数据,并解析命令,修改显示存储器里的数据。3.3.3与PC联机接口电路LED显示屏和电脑的通讯方式采用了标准RS232接口,通过AVR单片机内置的USART串行通行端口与PC通信。并且通过编制上位机软件,实现对显示屏信息的实时更新。 通讯方式为8位的异步通讯。RS232接口实际上是一种串行通信标准,是由美国EIA(电子工业联合会)和BELL公司一起开发的通讯协议,它对信号线的功能、电气特性、连接器等都有明确的规定。由于RS-232接口的EIA是用正负电平表示逻辑关系的(-3V-15V为1、+3V+15V为0)。与TTL以高低电平表示逻辑关系不同,因此,为了能够和计算机接口通信,必须在EIA电平和TTL电平之间进行电平转换。MAX232芯片可完成TTL-EIA电平转换,且只用单一+5V电源,因此得到广泛应用。由于采用的是标准RS232接口,所以传输距离不能很远,当传输距离超过15M,就要采用422或485接口,则只要加上一块RS232转422/485电路模块就可以了。 图3.15 串行通信电平转换电路4 软件程序设计4.1 单片机显示控制程序设计 上电复位开始系统初始化I/O口的定义及初始化串行口的初始化显示方式的设置打开显示中断根据参数调用显示子程序开始关闭显示中断接受中断接收点阵数据信息更改数据信息地址继续接收接收完毕打开显示中断中断返回是否是是否是单片机在LED点阵汉字显示系统中主要负责数据的接收、存储和扫描显示LED三大主要功能。主程序流程图如图4.1所示。本文设计的LED点阵显示屏可以实现静止、左移、掉下、上升、翻页几种显示方式。有红色、绿色、黄色(红色与绿色同时点亮)三种颜色可选。通过移动、翻页的显示方式,从而能够显示的内容大好多倍屏幕的尺寸,其中左移是条形显示屏最常用的。显示方式和显示颜色可以由单片机控制,也可以由微机设置控制,图4.2是串行中断软件流程图,微机在传送点阵字模数据时,先传设置显示颜色,显示方式,字模文件头,最后传送点阵数据。图4.2 串行接收中断流程图图4.1 主程序流程图显示过程由单片机定时中断程序控制,动态显示流程如图4.3所示。每定时中断一次点亮一行,定时中断时间为1ms,每中断16次,即可对整个显示屏扫描一次,完成一个屏信息的刷新,每秒显示画面数达62屏,可保证画面无闪烁感。 开始n=0,无行选通第n行的数据写入列锁存器使第n行的驱动管导通,显示第n行显示(延时)一段时间n+;if(n=16)n=0;图4.3 动态显示流程4.1.1 编程思想 动态显示的效果是由一幅幅不同内容的屏幕画面组成的,因此在软件设计上,只要按一定的时间间隔改变显示缓冲区的内容,如左移则使显示缓冲区的点阵数据左移一列,即可实现动态移位的效果,由于显示缓冲区的所有数据左移1列需要一定的时间,不可能在两次中断间隔时间内实现这一处理过程,为此需要设置两个显示缓冲区,一个用于保存当前屏幕显示的数据,另一个用于对当前数据的处理。到达换屏时间间隔后,切换当前显示缓冲区到数据已处理的显示缓冲区,然后对另一显示缓冲区进行数据处理。为了保证动态显示正常,最重要的问题是如何分配刷新显示屏的定时时间和显示缓冲区数据处理时间,保证二者的处理时间不冲突,本文采用的方法是使显示缓冲区的数据处理在多次定时中断程序执行之间的时间间隔内完成。 数据处理时间 = (定时中断时间 传数据时间)* 中断次数 这样只要合理的设定中断次数就可以保证换屏间隔时间内有足够的时间处理数据。 4.1.2 “左移”效果编程 在显示屏幕比较小的情况下,为了能显示更多的内容,普遍采用的方法是移位显示,移位显示广泛应用于条型显示屏,它的特点是可以显示的内容比屏幕大、显示效果良好、编程简单等。以下将以条型显示屏(16*160)的左移方式编程为例,说明左移的实现方法: 一屏的数据为320个字节,那么我们先在数据存贮区里开辟640个字节的显示缓冲区(分为两个显存),一个用以保存当前要显示的内容,另一个用以数据处理。要实现左移的效果,原理是,每隔一段时间向显示缓冲区里加入一列数据,那么怎么实现加入一列的数据呢?其实就是,第一个字节左移一位,保存于 变量A中,第二个字节右移7位,保存于变量B中,A和B变量相或,再把结果保存于A中,这样就完成了第一个字节数据的处理,一行有16个字节的数据要处理,所以我们要设一个16次循环,如此循环16次后,便处理完了一行的数据,而每个字又有16行,所以我们再16次循环里再设一个16次的外循环,如此循环16次后,整屏的数据都处理完了,我们便启动更新信号,便可以交换显存了,显示程序就显示刚才处理好了的内容,接着CPU又对另一个显存作数据处理了,处理完后再交换显示。这样便可能动态的实现左移的效果了。具体源程序见附录。4.1.3 “上升”效果编程 上升效果适合有一定宽度的显示屏,本设计屏宽度能同时显示两行汉字,式样效果一般,为了使读者能够有时间读懂显示屏的内容,在显示屏整屏信息显示时,让它静止显示两三秒,然后才继续滚动显示。其实现的方法是:设一个16次循环,在第一次循环里,显存只取显示内容的第一行数据,放到显存的最后一行里。在第二次循环里,显存取显示内容的第一行和第二行数据,第一行数据放到显存的第15行里,第二行数据放到显存的第16行里,如此下去,循环16次之后整屏的内容都显示出来了。停顿2秒钟,接下来进行第二个16次循环,第一次循环,移出第一屏信息的第一行,将第二行信息补上第一行,依次类推,直到把第一屏第十六行信息代替第十五行后,紧接着取第二屏信息的第一行数据补上第一屏的第十六行,就这样,第一屏信息每一次循环从第一行移出一行信息,而第二屏的信息从第十六行一次补上,直到第二个16次循环完成后,第一屏信息将为第二屏信息所代替。在每更新完一屏信息后,静止显示2秒钟,就这样循环下去,直到所有信息都显示完后又从第一屏开始显示。结而退出的方法也是差不多。 4.2 PC 机方主控软件的设计主控软件主要进行两个方面的设计:一个是对汉字字库的提取显示;另一个是与单片机的串口通讯,主控计算机对显示屏的控制显示功能主要是通过计算机的串口实现。4.2.1 字模字库的提取1、汉字的表示及编码原理打开HZK16和ASC16文件开始输入汉字?转换为机内码打开HZK16和ASC16文件计算出区位码打开HZK16和ASC16文件计算出所处位置打开HZK16和ASC16文件将连续32 个字节存入数组打开HZK16和ASC16文件全部识别结束?转换成对应显示类型所需的点阵数组打开HZK16和ASC16文件转换成ASC码计算出所处位置取出连续16个字节并补充16字节的零数据存入数组个字节的零数据存入数组打开HZK16和ASC16文件是是否是否是计算机用编码的方式来处理和使用字符,英文在计算机机内是用一个ASCII码来表示,而中文汉字则由两个ASCII 码表示。为了解决区位码与西文字符相混淆的问题,就规定汉字在计算机中用内码表示,内码为两个字节,而且为了保证中西文兼容,即与ASCII 码的使用不发生冲突,所以汉字的两个字节的最高位均为1 。所以汉字内码与区位码之间的关系公式为:机内码高位区码A0H;机内码低位位码A0H。只要通过某个汉字的内码就可得到该汉字的区位码,也就得到了该汉字的字模。在软件设计中选用了UCDOS 5.0汉字系统中的1616点阵字库Hzk16作为提取汉字字模的标准字库,同时ASC16为ASCII码字模的标准字库,其中每个汉字占有32 个字节的空间,汉字在字库中位置的计算公式为:Location = (机内码高位&HA1)94 + (机内码低位&HA1)32。 (4.1)2、取字模的设计及实现图4.4 取模流程汉字点阵的提取程序是用VC+6.0实现的。其流程如图4.4所示。其中以何种方式从字库文件中读取这32 个字节也是一个关键问题。由于二进制(Binary)方式访问文兼课以直接查看文件中指定的字节,而且二进制方式也是唯一支持用户件可以直接查看文件中指定的字节,而且二进制方式也是唯一支持用户到文件的任何位置读写任意长度数据的方法,因而以二进制方式打开汉字字库文件是最适合的。而且程序也支持西文字符的显示,显示时也让其占用一个汉字的空间,不过它的点阵16x8的,所以不足部分就补零数据。4.2.2 串口通信软件设计及其实现1、串口通信简介串行通讯端口在系统控制范畴中一直占有极重要的地位,不仅没有因为时代的进步而淘汰,反而在规格上愈来愈向其极限挑战,而且它具有连接设备种类多、实际操作简单、价格便宜等许多优点。现在计算机上的串行通讯端口(RS-232)是必要配备,通常有COM1与COM2 两个信道。其它一些介绍见上文第三章的有关内容。2、VC下的具体实现7VC的串行通信对象是将RS-232 的低阶动作予以封装,其串行组件为MsComm。MSComm 作为一个串行通讯控件为程序员串口通讯编程节省了很多时间。在基于对话框的应用中加入一个MSComm控件非常简单。只需进行以下操作即可:打开“Project-Add To Project-Components and Controls-Registered Activex Controls”,然后选择控件:Microsoft Communication Control,version 6.0插入到当前的工程中。这样就将类 CMSComm 的相关文件 mscomm.cpp 和 mscomm.h 一并加入到了工程中。编程时只需将控件对话中的 MSComm 控件拖至你的应用对话框中就OK了。对于单文档的工程应用,如果Project中的视类是基于CFormView的,创建MSComm类的方法和基于对话框的操作没什么两样。而如果视类不是基于CFormView的,那么创建MSComm类就和创建普通的ActiveX控件相类似。由于MsComm属性众多,现对其重要属性说明如下:CommPort:设定或传回通讯连接端口的代号,程序必须指定所要使用的串行端口号,Settings:设定初始化参数,以字符串形式设定或传回“波特率、奇偶校验、数据位、停止位参数”四个参数,其格式为BBBB,P,D,S,BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。value 的缺省值是:9600,N,8,1PortOpen:设定或传回通讯连接端口的状态,在使用串行端口之前必须先打开端口,使用完毕之后也必须关掉端口。Input:返回并删除输入缓冲区的数据,是一种FIFO机制。InputLen:指定串行口读入的字符串长度。Output:将字符串写入传输缓冲区。HandShaking:指定通讯双方采用的握手协议。Rthreshold:设定或返回引发接收事件的字符数,默认值为0,即无论缓冲区有多少字符均不引发接收事件。InBufferCount:返回在接收缓冲区的字符数,可以设定为0 用来清除接收缓冲区。InputMode:设定或返回Input属性取回的数据类型串口初始化程序如下:3串口初始化:m_Comm.SetCommPort(1);m_Comm.SetInputMode(1);m_Comm.SetSettings(9600,n,8,1);m_Comm.SetRThreshold(1);m_Comm.SetInputLen(0);if(!m_Comm.GetPortOpen()m_Comm.SetPortOpen(TRUE);elseAfxMessageBox(“Open The Serial Port 1 Failu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论