设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> 正文 用户登录 新用户注册
[图文]点阵液晶显示器在便携式频率特性测试仪中的应用          【字体:
点阵液晶显示器在便携式频率特性测试仪中的应用
作者:佚名    文章来源:本站原创    点击数:    更新时间:2006-6-12

文章讨论了点阵图形液晶显示器在便携式频率特性测试仪中的应用,详细介绍了点阵液晶显示模块的硬件接口技术和软件设计。
关键词:LCD;AVR;频率特性测试仪  
引言
频率特性测试仪又称为扫频仪,或频率响应分析仪,它利用矩形具有内刻度的示波管作为显示器,来直接显示被测电路的幅频特性曲线。但由于示波管的使用,使得整个仪器在外形上显得庞大,笨重,如BT-3GII型的扫频仪重量达到10kg,不方便移动式测量。为此,本设计针对其显示部分,将示波管用LCD代替。适用于便携式仪器仪表中。

硬件设计
本设计所选的液晶显示器是深圳天马微电子公司的TM320240 EFG,它是一款内藏SED1335控制器的点阵式图形液晶显示模块。LCD控制器选用的是EPSON公司的SED1335,内部拥有一个160种5×7点阵字符的字符发生器,能分区管理64K的显示存储器,并同时能管理自定义字符发生器。模块TM320240EFG的对外接口实质上就是控制器SED1335与MCU的接口。在单片机的选型上,考虑到系统功能与电路的简洁,采用Atmel 公司推出的AVR单片机AT90S8535,内嵌8路10位ADC,可直接输入模拟电压信号。
AT90S8535与TM320240EFG接口电路如图1所示,该图采用间接访问方式进行连接。单片机通过控制SED1335完成对图形液晶模块的控制。所谓间接访问方式,就是把TM320240EFG作为终端接在AT90S8535的某个并行I/O接口上,AT90S8535通过对该I/O接口的操作,间接地实现对TM320240EFG的控制。间接访问方式的接口电路与时序无关。
在电路中,AT90S8535使用8位并行PC口作为数据线与模块的数据线DB0~DB7连接,另外还需要一个3位并行接口作为时序控制信号线/RD,/WR和A0。把PB口中的PB0作为写信号接至TM320240 EFG的写控制信号/WR上;PD口中的PD3作为读信号接至TM320240EFG的读控制信号/RD上;PD4作为数据类型选择信号与模块的A0连接。由于这些并行接口在MCU系统中有自己的专用地址,所以TM320240EFG的片选信号 /CS可以不使用,直接接地选通。液晶驱动电源VEE取值为-20V,利用单片DC-DC转换器MC34063从逻辑电源转换生成负电源。电路中LCD电源控制端V0用来调节显示屏灰度,电位器R3作为调节液晶显示对比度使用。
ADC的0通道输入经过检波后的采样信号,带宽为10KHz ,经RC滤波去除交流分量。5.1V稳压管起保护作用,高于5.1V的输入信号被限幅在5.1V之内。该输入波形的X轴方向扫描频率为50Hz,周期为20ms,12ms工作期,8ms消隐期。外部中断管脚INT0输入50Hz的方波,作为同步脉冲。MCU的晶振选为6M。

屏幕规划
该液晶屏为320×240点阵,将坐标原点(0,0)定在整个液晶屏的左上角,向右为X坐标,向下为Y坐标。为美观起见,四周边框留出空白区域,实际显示曲线的区域为X方向从第24点到264点,共240个点距,30字节;Y方向从第16点到208点,共192个点距, 24字节。为方便观测,在显示区内绘制坐标轴,用虚线等间距地将横向分作10小格,竖向分作8小格。
在进行图形显示时,起初我们采用的是单层显示方法,但由于要求实时显示,必须考虑屏幕的刷新问题。由于此液晶屏属多点阵,刷新满屏需花费很长一段时间,刷新完后还要在屏幕上重新绘制出坐标轴,增加了MCU的操作负担,而且频繁的满屏刷新还会引起屏幕的闪烁现象发生。因此采取的解决方法为:显示时分作两层显示,第一层为文本属性,第二层为图形属性。将不需刷新的坐标轴、汉字显示在文本层,首地址$0000。将实时动态更新的幅频特性曲线显示在图形层,首地址$1000,并通过两层的逻辑“或”操作进行合成显示,以达到图文并茂的显示效果。这样,在刷新时,文本层上的坐标轴和汉字可以保持不变,所需刷新的仅为图形层上的曲线。实际测试结果表明,分层显示的设计思路是正确的。

软件设计
设计思想
绘制曲线在软件设计上关键是画点和消点的程序。
ADC采用单次转换模式,总的转换周期数为14,总的转换时间70~280ms,预分频器的分频因子选为32,故ADC时钟频率为6M/32=187.5KHz。所以每一次的转换时间是14/187.5K=74.666ms,此ADC转换时间是在6M的晶体振荡频率下最快的采样时间。若选小于32的分频因子,则总的转换时间太快,将小于70ms,不能实现。考虑到实际需要,ADC转换时间越快越适宜,故不采用64以上分频。
用ox来记录X方向字节数,初始值为$00,随点的右移从1到30递增。当ox=30时,说明X方向已到达有效显示区的尾部。code记录点在字节中所处位置,画奇数点时code从$80开始右移,画偶数点时code从$40开始右移,每次移动2位,移完一字节后,ox加1。
ADC能转换的最大量程电压是电路基准电压Vref的值,这里调节的是4V。1V占48个点距。某一时刻,输入信号Z V(Z≤4),则其在屏幕上Y向的位置是208-Z×48。MCU内嵌的ADC为10位精度,采样结果转化成点的高度的计算表达式为:
208-(AD值)×(4/1024)×48=208-(AD值)×3/16              (1)
考虑到输入信号的扫描时间和MCU的AD转换时间,整个屏幕在X方向要显示240点,只能采取隔列扫描的方法,分两帧画完全屏,第一帧画奇数点,第二帧画偶数点。先在工作期12ms内采样数据,进行120次AD转换,将其转换结果按顺序存入片内SRAM中,所以需要100ms启动ADC一次。同时,把信号的消隐期8ms加以利用,在整个20ms周期内画120个奇数点,20ms/120=166.666ms,我们设定每隔161.333ms画一个点。画点的具体方法为:从SRAM中取出AD值,将每组的AD采样结果用式(1)进行计算,转化成Y方向坐标,得到点的高度值,送入寄存器oy中。由于屏幕上一横行是320个点,即40字节,显示区距离左边框为3字节,可计算出该点的地址,结果存于寄存器r7: r6中,表达式为:
r7: r6 = oy*40+3+$1000+ox         (2)
接着再确定该点在此字节中的位数,调用绘点程序即可。画完一屏的奇数点后,等待下一个同步脉冲到来,然后,在同样的扫描时间内,用同样的方法绘制出120个偶数点。这样,全屏显示的时间仅为40ms,人的肉眼观测到的是一条连续的曲线,不会出现隔列的效果。另外,考虑到屏幕的刷新问题,每次画点前,都要在此列先消点。消点和画点的方法类似,程序中用ox1和code1与画点加以区别,这里不再累述。
程序中用寄存器r25作标志状态寄存器,各标志位说明如下:
r25(3):两帧画完全屏。   r25(3)=0,第一帧画奇数点;r25(3)=1,第二帧画偶数点;
r25(4) :在T/C1中断里置位  r25(4)=1,表明显示时间已到,可以进行画点显示;
r25(5) :在ADC转换结束中断里置位  r25(5) =1,表明ADC转换结束,已采样到数据并存入SRAM中。
整个程序应用4个中断。20ms同步脉冲上升沿触发外部中断EXT_INT0,在中断服务程序中,清r25(4,5)=0,并使能两定时器T/C0和T/C1。采用T/C0定时中断,每100us中断一次,在中断服务程序中,启动AD转换。同时采用T/C1输出比较匹配A中断,每161.333 us中断一次,置位画点时间到达的标志。ADC转换结束中断,在中断服务程序中读取采样值AD,置位r25(5)。
程序流程图
主程序流程图如图2所示。其中,初始化设置包括:画坐标轴,在SRAM中赋初值,标志状态寄存器r25清0,设置AD转换,设置外部中断及定时中断T/C0和T/C1。
复位时间问题
在整个设计过程中,程序调试用的是AVR单片机的在线仿真器ICE 200。但将调试好的程序经编译后烧到片子里,液晶屏却不能正常显示了。查找原因,主要是单片机和液晶屏的复位时间相差太大引起的。对于AT90S8535来说,超过50ns的低电平就会引起系统复位;而LCD的控制器SED1335,复位需要1ms以上的复位电平。所以需在程序的初始化部分,加一定的延时,以使LCD正常工作。回过头来再思考一下在线仿真能通过的原因。仿真器上电和液晶屏上电同步,在调试环境里,下载程序所花时间较长,能够满足LCD的复位时间要求,故在程序运行以后,可使LCD正常显示。

一种LED点阵屏实现256级灰度显示的新方法

摘    要:本文提出了一种LED点阵屏实现256级灰度显示的新方法。详细分析了其工作原理。并依据其原理,设计出了基于FPGA 的控制电路。
关键词:256级灰度;LED点阵屏;FPGA;电路设计

引言
256级灰度LED点阵屏在很多领域越来越显示出其广阔的应用前景,本文提出一种新的控制方式,即逐位分时控制方式。随着大规模可编程逻辑器件的出现,由纯硬件完成的高速、复杂控制成为可能。

逐位分时点亮工作原理
所谓逐位分时点亮,即从一个字节数据中依次提取出一位数据,分8次点亮对应的像素,每一位对应的每一次点亮时间与关断时间的占空比不同。如果点亮时间从低位到高位依次递增,则合成的点亮时间将会有256种组合。定义点亮时间加上关断时间为一个时间单位,设为T 。表1列出了每一位的点亮与关断的时间分配。
如果定义数据位“1”有效(点亮),“0”无效(熄灭),则表2列出了数据从00H到FFH时的不同点亮时间。由表2可知:数据每增1,点亮时间增加T/128。根据点亮时间与亮度基本为线性关系的原理,从0~255T/128的点亮时间则对应256级亮度。当然,这个亮度是时间上的累加效果。如果把一个LED点阵屏所有像素对应的同一数据位点亮一遍称为一场的话,那么8位数据共需8场显示完,称为“8场原理”。
理论上讲,8场即可显示出256级灰度,然而通过表2可看出,即使数据为FFH时,在8T时间内也只是点亮了255T/128时间。关断时间可接近6T,点亮时间仅为总时间的约25%,因此,8场原理虽也能实现256级灰度显示,但亮度损失太大。为了提高亮度,可采用“19场原理”,即8位数据分19场显示完,其中D7位数据连续显示8场,D6位连续显示4场,依次递减。表3列出了各位的点亮与关断时间。
由表3可推导出数据从00H~FFH范围的总点亮时间,如表4所示。在19T时间内,最大点亮时间可达近16T, 占总时间的84.21%,远大于“8场原理”的25%。数据每增1,点亮时间增加了T/16 ,该值大于“8场原理”的T/128。所以 ,“19场原理”较“8场原理”的对比度更明显,图像层次分明、表现力强。

电路设计
256级灰度LED点阵屏通常要具有能远程同步实时显示计算机视频信号的功能,涉及到的电路包括:数字视频信号的采集、数字信号的格式转换及非线性校正、远程传输及接收、灰度显示控制电路、LED点阵显示电路等。 本文重点讨论“灰度显示控制电路”的设计,控制对象以红、绿双基色LED点阵屏、1/16扫描显示电路为例。FPGA内部电路如图1所示。
因为被控对象为1/16扫描显示电路,所以显示屏每16行只需要一路数据信号即可。DRout1、  DGout1即为第一个16行的红、绿基色输出信号;DRout2、DGout2为第2个16行的红、绿基色输出信号。以此类推。
Ha、Hb、Hc、Hd的二进制编码,定义当前的数据输出应是16行中的哪一行。CP信号为数据串行输出的同步移位脉冲。LE信号为一行串行数据输出结束后的锁存脉冲, LE每有效一次,Ha、Hb、Hc、Hd二进制编码状态增1。EA为灰度控制信号,其宽度为在一个时间单位T内LED的点亮时间。当然, 不同的数据位其宽度不同, 具体由表3决定。一个时间单位T即一行串行数据的传输时间,也即LE信号的周期,其大小取决于屏宽的像素点数量和CP信号的频率。
DRin1~8和DGin1~8为红、绿数据输入信号,分别对应第1个16行点阵区到第8个16行点阵区。Cpin为同步脉冲,一个脉冲对应一位数据,8个脉冲对应一个像素点的8位数据输入。H信号为行同步脉冲,一行数据输入结束,H信号有效一次。V为帧同步脉冲,一帧(16行)数据输入结束,V信号有效一次。上述信号均为前级系统提供的信号。
FPGA外部接有两组高速静态RAM(图中未画出),DRA1~8、DGA1~8为A组RAM的红、绿数据线,DRB1~8、DGB1~8为B组RAM的红、绿数据线;/WRA、/RDA为A组的读、写控制信号,/WRB、/RDB为B组的读、写控制信号;AA0~16为A组的地址线,AB0~16为B组的地址线。使用两组RAM的目的是保证对RAM的读写操作能同时进行。当写RAM(A)时,读RAM(B);当写RAM(B)时,读RAM(A)。二者的写/读切换由帧信号V控制。V每有效一次,就进行一次切换。
Cpin为前级系统提供的写脉冲,同时亦作为写地址生成电路的计数脉冲,计数地址范围为A0~A16, 共128K字节, 其中A0~A2为灰度位数据地址(决定访问8位的哪一位)。A3~A12为X方向的像素地址,A13~A16为Y方向的像素地址,即行地址。H信号到来时,清零A0~A12,同时A13~A16地址加1。V信号到来时,A0~A12及A13~A16全部清零。上述地址作为RAM的写地址。
CLK为读地址生成电路计数脉冲(外电路提供),计数地址范围亦为A0~A16, 共128K字节, 其中A0~A9为X方向的像素地址,A10~A13为Y方向的像素地址,即行地址。A14~A16为灰度位数据地址。上述地址 作为RAM的读地址,这些地址的变化规律应符合“19场原理”对地址要求的变化规律,即:A0~A9计满后清零,产生一个行信号即LE信号。LE信号作为A10~A13的计数脉冲,A10~A13计满后清零,产生一个场信号。场信号作为A14~A16的计数脉冲。不过,A14~A16并不是一简单的二进制计数,其规律如表5所示。为了能正确地读取写到RAM中的数据,生成的读地址应按表6所示的方法与RAM连接。
读写控制电路的作用是向两组RAM提供读写控制信号,逻辑关系如表7所示。数据输入/输出电路的作用是切换数据的传输方向,如表8所示。
帧切换电路的作用是产生上述电路所需要的切换信号S。实现的方法是,帧同步脉冲V每有效一次,S的逻辑状态翻转一次。帧切换电路保证了两组RAM随V信号不断进行读写转换。
灰度信号生成电路产生被控对象需要的EA信号,它随读地址A14、A15、A16的状态而变化。逻辑关系如表9所示。
依据帧周期Tp=20ms,一帧=19场原理,可得如下计算结果: 场周期Tv=Tp/19=1.05ms; 行周期T=Tv/16=66ms; 输出移位脉冲周期Tcp=T/1024=64ns;输出移位脉冲频率fcp=1/Tcp=15.6MHz。CLK信号频率fclk=fcp=15.6MHz; 实际应用时,选取CLK时钟信号频率为16MHz。
在MAX PLUSII10.0环境下,使用图形和硬件描述语言完成了以上电路的设计。

FPGA选型及仿真结果
由图1可知,FPGA必须提供113个I/O引脚,内部资源、工作频率须满足电路设计要求。采用Altera公司的ACEX1K系列EP1K10QC208-3芯片,该FPGA芯片速度高、价位低、有114个I/O引脚,576个逻辑宏单元,可兼容输入输出电路的TTL电平。仿真结果报告: 引脚利用率达99%,内部逻辑单元利

文章录入:admin    责任编辑:admin 
  • 上一篇文章: I2C总线原理及应用实例

  • 下一篇文章: 单片机和图形液晶显示器接口应用技术
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • C语言嵌入式系统编程修炼之一…

  • C语言嵌入式系统编程修炼之二…

  • C语言嵌入式系统编程修炼之三…

  • C语言嵌入式系统编程修炼之四…

  • C语言嵌入式系统编程修炼之五…

  • C语言嵌入式系统编程修炼之六…

  • 彩色液晶显示驱动控制器SSD1…

  • 几个常见的C语言例程

  • 增强型并行端口EPP及其编程方…

  • 图形点阵LCD液晶模块显示界面…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}