微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 屏显示器件MC141541及其接口技术

屏显示器件MC141541及其接口技术

时间:02-08 来源:互联网 点击:

1、引言

  在某些图像处理系统中,往往需要在显示目标视频图像的同时,显示其参数及提示等信息。如医疗设备B超、CT、X透视,除了在监视器显示人体内部的组织器定外,还要显示相关参数,以辅助医生作出准确诊断。电力系统的红色外检测设备在显示被测目标的热像时,还要显示出其温度等参数,以便测试人员从定性的热像和定量的参数中诊断出故障所在。

  利用MC141541在屏显示器件可使微处理器(MPU)通过I2C总线接口将需要显示的数据定入在屏显示器件(OSD),然后将数据输出显示。其字符的显示及同步均由OSD完成。OSD作为独立的智能I/O,可大大减轻MPU的负担。

2、I2C总线

  I2C总线由PHILIPS公司推出,目前已广泛应用于MPU系统及数字电视等领域。它只有二根信号线:一根是双向数据线SDA,另一根是时钟线SCL。所有连接到I2C总线设备上的串行数据SDA都连接到总线的SDA线上,各设备的时钟线SCL接到总线的SCL。具有I2C总线的器件有很多种类,常用的如LED驱动器、LCD驱动器、静态RAM、EEPROM、时钟/日历、A/D、D/A、电视类及音响类器件等。I2C总线的标准传输速度为100k bit/s,而其高速方式的传输速度为400k bit/s。组成I2C总线的关键是其传输协议,即如何使总线上的主器件(通常是MPU)协调总线上的从器件。协议主要包括以下几个典型过程:

  (1)一位数据传送:串行数据总线是按位传送的,因此位数据传送是I2C总线数据传送的最基本,也是最重要的过程。I2C总线规定SCL上一个时钟周期只能传送一位数据;

  (2)起动和停止:起动和停止信号由主机发出,以控制总线上的数据传送。从设备在侦听到总线上的起动信号后开始准备收发数据;而监测到停止信号后结束数据传送。因而,起动和停止协议控制着一帧完整的数据传输。

  (3)应答:在一个字节(8位)数据传送完毕后,接下来的一个时钟周期(即第9个)为应答过程。应答过程可保证传送数据的完整性,并可用来检验其有效性。

  (4)寻址:要对并行数据总线上的I/O进行操作,就必须对地址总线进行译以选中某个I/O。而I2C总线并无地址总线,它是利用所发送串行数据的头几个字节作为地址来选中I2C总线的I/O设备的。每个I2C总线的I/O设备都有一个I2C地址。

3、MC141541芯片及其接口电路

  MC141541是MOTOROLA公司推出的增强型在屏显示器件(EMOSD),可广泛应用于数字电视及图像系统中。其主要性能如下:

●具有二种可选分辨率模式,分别为320点/行(CGA)和480点/行(EGA);

●内置PLL电路,最高行频为110kHz,点时钟频率为52.8MHz;

●内部273字节寄存器可直接存取,全屏字符为10行×24列;

●字符集为128个符号图形ROM和8个用户可编程RAM。10×16点阵字符。其字符颜色、背景颜色、双倍高度、双倍宽度、边框及阴影均可编程;

●I2C总线接口地址为7A(Hex);

●采用单5V电源供电;

  MC141541的接口电路原理图如图1所示。其中:Vss和VDD分别为地和电源端;Vco和RP用于外接振荡电路;H、V分别为分、场同步输入信号;SDA、SCL分别为I2C总线数据和时钟信号;SS为I2C总线允许信号;R、G、B为输出至监视器的RGB TTL电平信号。

  MC141541是一种I2C总线接口器件,它的硬件接口非常简单。根据上述规则,只须将SDA与I2C总线的SDA信号相接,并将SCL与I2C总线的SCL信号相连即可。MC141541与MPU接口的关键在于按照I2C总线协议进行编程。

MC141541的数据包格式如下:

  这样,在监视器上显示字符时,只须送出行、列坐标地址,然后再送出字符代码即可。在编程时,上述格式具体可划分为下述三种方式:
(1)R→C→I→R→C→I……
(2)R→C→I→C→I→C→I→……

(3)R→C→I→I→I……
MC141541可编程的字符RAM编程格式如下:
在编程时,上述格式亦可划分为下述三种方式:
(1)S→L→I→S→L→I……
(2)S→L→I→S→L→S→L……
(3)S→L→I→I→I……
  在字符RAM编程格式中,SEG ADDRESS和LINE ADDRESS分别为要编程字符RAM的段、线地址,而其段地址字符RAM字模的位置内容由线地址寻址的RAM决定。这样,通过编程字符RAM就可以得到任意字符、图标及汉字。

4 传输协议子程序
  图1中,接口电路的核心器件是MC141541,MPU选用8031系列芯片89C51。由于89C51没有I2C总线接口,因此要根据I2C总线协议及MC141541的数据传输格式,用软件编程模拟接口时序。以下是用Franklin C51语言编程模拟I2C总线基本传输协议的子程序清单:
void star( ) //起动
{SCL=0;
SDA=1;
SCL=1;
SDA=0;
}
void stop()//停止
{SCL=0;
SDA=0;
SCL=1;
SDA=1;
}
void ack()//应答
{SCL=0;
SCL=1;
SCL=0;
}
void wbit()//一位数据传送;写
{SCL=0
SDA=eebit;
SCL=1;
}
void rbit( ) //一位数据传送;读
{SCL=0;
SCL=1;
Eebit=SDA;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top