欢迎光临水表信息网!
技术前沿
当前位置: 首页 » 技术前沿 » 仪表常识
 
仪表常识

彩色液晶智能控制系统的设计与实现

字体: 放大字体  缩小字体 发布日期:2010-05-28  来源:中国IT实验室  浏览次数:405

    介绍了一种彩色液晶智能控制系统的实现方案,该系统封装了彩色液晶的所有外围电路,增加了智能控制功能。 
    它通过通信端口和外设相连,使对液晶的各种繁琐控制过程简化为接收外设指令的过程;还可通过配套软件和微机通信,实现汉字库更新和预置画面等功能。

    彩色液晶显示器是现代高新技术产品,它具有体积小、功耗低、无辐射、寿命长、超薄、防震防爆等特点。彩色液晶显示器的出现,有力地推动了工控仪表、系统设备的微型化、节能化进程,为单片机等微处理器系统提供了完善的人机对话界面,具有LED和CRT显示器所无法比拟的优点。但在开发带有液晶显示设备的系统的过程中,用点阵操作显示汉字和图形图像是非常繁琐的工作,工作量很大、周期较长。为了减轻开发人员的负担,提高开发效率,设计了彩色液晶智能控制系统,把繁琐的显示操作封装起来,简化为一套简单易用的指令系统,只需通过接口向本系统发送简单的指令,就可控制液晶显示器的显示,如画曲线、显示汉字和图形图像等。本系统为全数字化设计,显示稳定可靠,抗强电磁干扰,可用于机电、冶金、船舶、航空、铁路、电力、通讯导航等领域的系统设备和智能仪表中。

     1 系统硬件组成及工作原理

 系统采用工业级AVR高速微处理器,内置二级字库,通过串口或三态数据总线口接收控制命令数据, 自行对接收的命令和数据进行处理,实时显示所需的各种曲线、中西文和图形图像。硬件原理框图如图1所示。

    1.1 微处理器系统

 微处理器是实现智能控制功能的核心部分,为了有效控制液晶显示图像的失真度,微处理器采用高速单片机AT90S8515(如果对显示速度要求很高,例如显示动画等,可采用DSP芯片)。单片机系统上电后便处于实时接收命令状态,可完成和外设通信、对外设发送的命令进行解释并执行命令(如从汉字库中取字模并在相应的位置显示出来)、在适当位置画线、显示预置图形和画面等。

 1.2 电源部分

 外部+12V电源由电源接口引入,分为两路,一路经过DC/DC变换后,产生直流偏置电源,为彩色液晶模块提供所需电源;另一路经DC/AC变换后,产生高压交流电,为液晶屏背光灯CCFL供电。

    1.3 通信端口

 通信端口包括总线口和串行口,外部设备通过通信端口和本控制系统进行电气沟通,并发送相关指令,从而达到对液晶显示的各种控制。总线口是一个并行口;串行口采用RS232电平标准,单片机的串行TTL电平经过SIO转换后,变为RS232标准电平(负逻辑),这里高电平变为-8V,低电平变为8V。它可以和微机等标准串口直接相连,进行串行通信。如果其它控制系统通过串行口和本系统相连,只需三条线就可控制液晶的显示。

 1.4 FLASH闪存

 闪存由4片Am29F040B组成,每片Am29F040B包括512K字节,共2M字节。第一片Am29F040B用来存储汉字点阵和图形数据,后三片共1.5M字节用来存储图像数据。液晶采用320×240分辨率的16位数字彩色液晶,RGB分量各包含5位,每点占用两个字节,1.5M可以存储的满屏图像约10幅。由于Am29F040B的地址线多于微处理器的地址线,因此采用分页技术进行处理,即把多出的地址线通过锁存器与数据线相连,读取数据前先向锁存器写入页面地址数据,即选中该地址对应的页,然后读取该页。用同样的方法可以读取其它页,不同片子之间可以利用微处理器的空闲端口,通过控制Am29F040B的片选信号加以区分。应用这种方法可以扩充FLASH闪存达数G之多。

 1.5 液晶驱动电路及显存

 液晶驱动电路主要对液晶点阵完成读写操作,并产生液晶接口所需要的行场扫描信号、时钟信号及其它控制信号。由于时序逻辑关系相当复杂,这里采用了复杂可编程逻辑芯片CPLD进行编程控制。外部总线对显存进行读写操作,就可以对屏幕相应象素的颜色与亮度进行控制。

 2 系统软件

 软件实质上是一个通信程序,实时接收和执行串口和总线口发来的命令。接收程序用汇编语言编写。串口通信采用一位起始位、一位停止位、8位数据位、无较验位的异步串行通信方式;总线口为并行口,数据发来时,引起中断,在中断子程序中,读取总线口数据。主程序和中断程序流程图如图2所示。


 

    系统上电后,首先进行初始化,接着循环读取缓冲区指针。若有数据,则读取缓冲区数据,并对数据进行分析;若为命令就读取完整的命令信息,并执行命令。否则,就将读取内容作为中西文字符显示。命令主要有:画线、画矩形、画椭圆、画曲线、画填充区域、中西文切换、光标跳转、字库更新及图形图像下载及显示等。若有中断发生,就进行中断处理。外设引起的中断共有两个:串行中断和总线口中断,当有一个串行数据或总线口数据到达时,就会引发相应的中断。这两种中断虽然入口地址不同,但它们实现的功能是完全一样的,都是读取外设传来的数据,并将其放入缓冲区中。

    从微机下载字库或图像文件时,数据量较大,在对板载接收程序编程时应注意对128字节缓冲区的操作要合理,否则会导致软件系统的崩溃。缓冲区是作为环形队列来使用的,主要应注意两点:一是不要等缓冲区满时才置DTR(见图3)为“忙”状态,因为这样正在传输的字节会丢失;二是当DTR出现一次“忙”后,缓冲区有较多空闲时,应使DTR信号变为“闲”,否则会因DTR信号变化太频繁而使程序失控。这里的算法是,当缓冲区还有6个字节空闲时,置DTR有效(CPU“忙”),暂停通信;之后,当缓冲区降到64字节的闲余时,置DTR为“闲”,恢复通信。这样,虽然下载速度稍微受点影响,但通信的可靠性大大增强了;另一方面,下载完数据后,本系统要脱机和其它微处理器连接使用,下载速度对本系统的使用无任何影响。

    3 预置功能的实现

    预置功能主要是通过微机的通讯程序,为液晶显示器预先储存汉字字库、图形或图像,并可随时更新汉字字库、图形或图像,以便系统脱机和其它微处理器连用时,可以利用这些资源。当其它微处理器系统发送显示预置资源命令时,本系统就会控制液晶显示器来显示相应的汉字点阵、图形或图像。存储器采用非易失FLASH闪存,分为字库、图形和图像三个区域。字库存储的是汉字字模的点阵,图形存储的是液晶图形方式下的一些命令,图像存储的是BMP位图点阵数据。

    预置软件是智能控制系统的配套软件,用来下载PC机的图形图像到智能控制系统中,实现预置功能。它基于MSComm通信控件,采用VC++的MFC类库编程,控件工作方式为查询方式,可运行于Windows的所有操作系统中,通过微机串行口和本系统通信。连接关系如图3所示。

    由于通信距离较近,采用串行口直接相连方式。微机通信端口选择COM1或COM2,它们是标准的RS232异步通讯接口。微机向智能控制系统发送数据,进行单工串行通信,在智能界面板载128字节的缓冲区,采用了DSR硬件握手程序。在通讯过程中,如果智能控制系统的微处理器忙,它就会置DTR(微机的DSR)为RS232标准的低电平,微机暂停发送;等智能控制系统的微处理器闲时,它又置DSR为高,微机继续发送数据。

    字库预置是把汉字字库点阵下载到FLSH的字库区;图形预置时,软件会根据选择的液晶屏型号,使预置视区和液晶屏分辨率相同。此时菜单项包括画线、画矩形、画椭圆、画曲线、画填充区域及写汉字等。用户可选择在视区绘制图形或写汉字的命令,然后按下发送命令,程序会在后台把用户绘制的图形转换为相应的智能控制系统能识别的命令传送出去,之后智能控制系统的接收程序会把这些命令存储到FLASH的图形区内;图像预置时,程序可以打开一副BMP无压缩图像,在图像上有一个大小和位置可改变的矩形框,用来选定传送图像的区域,按下发送命令后,程序提取矩形框内图像的宽高和点阵数据,传送出去。

    在对BMP图像数据进行提取时,应注意以下几点:第一,大多数BMP图像点阵都是倒置的,起始点在左下角。第二,现在Windows操作系统下的位图多为与设备无关的位图,256色及以下位图都带有调色板,调色板每个颜色表示的三字节RGB分量按相反的顺序排列,要注意调色板与位图数据的正确对应关系。第三,要把颜色信息转化为本系统能识别的信息。系统采用的液晶屏为16位色(用两字节表示),对于24位真彩色,要把RGB分量由256个等级转化为32个等级,即把每点的RGB分量分别除以8,再合为两个字节;对于256色及以下位图,要先找到每点对应的调色板颜色表示的信息,然后按上面介绍的方法处理即可。这种方法虽然引入一些失真,但失真不大,完全满足应用要求。

 
 
[ 技术前沿搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]
 
相关新闻