打印

DSP与智能彩色液晶显示器接口设计

[复制链接]
406|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Flower1|  楼主 | 2018-6-29 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DSP与智能彩色液晶显示器接口设计

     近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于高速信号采集、语音处理、图像分析处理等领域中,并显示出巨大的优越性。智能彩色液晶显示器具有显示直接美观、便于操作的特点,被用作各种便携式系统的显示前端。它一般采用工业级的高频CPU?可以自行对接收的命令和数据进行处理?因而能够提高用户端接口的软件开发效率。

一般的液晶显示往往采用单机片控制?但在系统需要大量高速实时数据的情况下,单片机由于受处理速度的限制就显得力不从心?而且一般的液晶显示仍采用烦琐的点阵操作来显示汉字和图形,而这又增加了软件开发的难度。为了解决这些问题,本文将提出一种基于DSP控制的智能彩色液晶显示器的接口设计方法,从而有效地解决了上述问题。

智能彩色液晶显示器(以下简称LCD)VK63是上海广电集团北京分公司的产品,它具有体积小、功耗低、无辅射、寿命长、超薄、防振及防爆等特点。该显示器的显示颜色为256色,可显示字符为ASCII的二级字库,中文显示为15行×20列,图形点阵320×RGB×240。

该LCD采用大规模门阵列集成电路,从而避免了用烦琐的点阵操作来显示汉字和图形,减轻了软件开发人员的负担,提高开发效率;由于采用全数字化设计,因而显示稳定可靠,抗强电磁干扰;该LCD采用工业级的CPU(89C51),机内配置有二级字库,可通过串口或三态数据总线并口接收控制命令数据,并自行对接收的命令和数据进行处理,以实时显示用户所要显示的各种曲线、图形和中西文字体。其原理框图如图1所示。






LCD的命令码为十六进制码格式,每个命令均以十六进制码的“1B”开头,后面为命令代码和所需要的参数。其中XH表示X坐标的高8位,XL表示X坐标的低8位,YH表示Y坐标的高8位,YL表示Y坐标的低8位。

LCD的图形方式以光点为最小点阵显示单位,每个光点包含RGB三个色点。字符方式以8×16点阵为最小显示块单位。西文字符占一个显示块,16×16点阵的汉字占两个显示块。本机每显示一个字符或汉字后?光标自动右移一个字符或汉字位?所以在同一行里顺序写入汉字或字符时?不用再加光标定位命令,即可连续送入内码。 如图形操作为画一实心矩形,那么,其命令代码为:1B 41 color XH1 XL1 YH1 YL1 XH2 XL2 YH2 YL2,其中,color为颜色代码,X1 Y1为左上角坐标,X2 Y2为右下角坐标。其具体操作是以点(X1,Y1)为左上角坐标,以点(X2,Y2)为右下角坐标,使用指定的颜色画实心矩形。

2.1 串行通讯的硬件设计

LCD选用标准RS-232通讯接口,按串口方式工作。一帧信息为10位,内含1位起始位(0),8位数据位(先低位后高位),1位停止位(1)。

为了提高通讯速度,显示器内设置了一个128字节的输入缓冲区。发送数据前应先检查DTR信号(RS232电平),若DTR为负电平(对应COMS高电平),则表示缓冲区满,要等到DTR信号变为正电平(对应COMS低电平)后再发送数据。如果每组的数据量少于128字节,同时每组之间又有足够的间隔,则不用判断DTR信号就可连续发送数据。图2所示是其硬件接口原理框图。



2.2 串行通讯软件设计

此设计是一个具体工程项目(无功与谐波补偿装置)的液晶显示部分程序,主要完成显示“系统是否投入工作以及工作是否正常”的各种彩色图形曲线和文字,其中显示标志寄存器和COUNT数据寄存器的值都由相关应用程序给定。通过设置等待寄存器WSGR(赋值为0)和检测I/O的DTR信号可以防止数据发送丢失,从而实现高速DSP与外部低速LCD的通信。由于篇幅有限,这里只给出了串行初始化和数据发送部分的程序。其程序流程框图如图3所示。




(1)串行通讯初始化程序

LDP # 0E0H ;设置串行通讯口各寄存器

SPLK # 0017H,SCICCR ;SCI使能,空闲线唤醒模式,8位数据,无奇偶校验位

SPLK # 0013H,SCICTL1 ;接收、发送、内部时钟使能,SLEEP=0

SPLK # 0000H,SCICTL2 ;接收和发送中断禁止

SPLK # 0000H,SCIHBAUD

SPLK # 0082H,SCILBAUD ;波特率为9600

SPLK # 0020H,SCIPC2 ;设置SCITXD为串行发送功能,SCIRXD为I/O口功能

SPLK #0033H,SCICTL1 ;串口初始化完成

LAR AR0,#SCITXBUF ;发送缓冲寄存器地址

(2)数据串行发送程序

SCISS:

LDP #0E0H

BIT SCIPC2,BIT3 ;检测DTR信号,判断输入缓冲区是否满

BCND SCISS,TC ;若缓冲区满,继续查询等待

LDP #4H ;DP指向用户定义数据页4(0200H-0280H)

LACL SCITEMP

MAR *,AR0 ;数据送SCITXBUF发送缓冲区

SACL *

XMIT_RDY:

LDP # 0E0H

BIT SCICTL2BIT7 ;判发送器是否空

BCND XMIT_RDY,NTC

RET3 DSP与LCD的并行通讯设计

3.1 并行通讯硬件设计

LCD自身具有一个三态数据总线并口(并口为COMS电平),可以同主机进行通讯。它的外部有12条线同DSP相连,即D0~D7、WRCS、BUSY、INT和GND。其中WRCS为片选信号和写信号的逻辑或非,上升沿有效。BUSY信号为高(COMS电平)表示忙。INT为中断申请信号,低电平有效。图4所示是其并行接口的硬件原理图。图5所示是LCD的时序图。其中TW为WRCS信号的脉冲宽度,TSU为数据建立时间,TH为数据保持时间。这些参数的具体要求为: TW不小于16ns;TSU不小于12ns;T大于0ns ;TH不小于5ns;TI不小于2μs。







3.2 并行通讯软件设计

并行通讯的编程思想与串行通讯软件的设计基本相同。但并行通讯是通过设置等待寄存器WSGR?赋值为0 和检测IOPC5的BUSY忙信号来防止发送数据丢失,以实现高速DSP与外部低速LCD的通信。图3所示的流程图也适用于并行通讯。

(1)并行通讯初始化程序

LDP # 0E1H

LACL OCRB

AND # 00CFH ;IOPC(4-5)配置为一般I/O功能

SACL OCRB

LACL PCDATDIR

OR # 1000H ;IOPC4口为输出方式

SACL PCDATDIR

LACL PCDATDIR

AND # 0DFFFH ;IOPC5口为输入方式

SACL PCDATDIR

(2)数据并行发送程序

SCISS:;判断IOPC5口的BUSY信号是否忙

LDP # 0E1H

LACL PCDATDIR

LDP # 4H

SACL BUSYDATA

BIT BUSYDATA,BIT5

BCND SCISS, TC ;若BUSY为高,继续查询等待

LDP # 4H ;若BUSY为低, 把数据送到端口8000H.

OUT PARALTEMP,8000H

LDP # 0E1H

LACL PCDATDIR

AND # 0FFEFH ;将IOPC4口的INT信号置低

SACL PCDATDIR

RPT # 50 ;延时2.5μs

NOP

LDP # 0E1H

LACL PCDATDIR

OR #0010H ;将IOPC4口的INT信号置高

SACL PCDATDIR

RET

4 结束语

本文提出的基于DSP控制的智能彩色液晶显示器接口设计能够很好地解决高速DSP与外部低速设备的通信问题,本设计尝试采用了串行和并行两种通讯方案,其中前者DSP只需用3根线即可实现数据串行通信,因而节约了DSP的外部资源,虽然传输速度稍低,但能满足大多数实际工程的需要?而后者采用并行通讯虽然数据传输速度较快,但会受到LCD所带CPU(89C51)解释命令速度的限制,虽然液晶显示速度比前者稍快20%左右,但要占用DSP外部资源的12根线。通过对上述两种方案的比较,最终设计项目采用了串行通讯方案,并在实际应用中取得了很好的效果。




相关帖子

沙发
Flower1|  楼主 | 2018-6-29 10:39 | 只看该作者
DSP与智能彩色液晶显示器接口设计

文档1.pdf

203.02 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

623

主题

887

帖子

6

粉丝