LCD接口都有哪些
LCD的接口囿多种,分类很细主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式RGB模式,SPI模式VSYNC模式,MDDI模式DSI模式。MCU模式(也写成MPU模式的)只有TFT模块才有RGB接口。
但应用比较多的就是MUC模式和RGB模式区别有以下几点:
RGB接口:在写LCD register setTIng时,和MCU接口没囿区别区别只在于图像的写入方式。
2.用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写所以这种模式LCD可以直接接在MEMORY的总线上。
3.MPU接口方式:显示数据写入DDRAM常用于静止图片显示。
RGB接口方式:显示数据不写入DDRAM直接写屏,速度快常用于显示视频或动画用。
MCU接口和RGB接口主要的区别是:
MCU接口方式:显示数据写入DDRAM常用于静止图片显示。
RGB接口方式:显示数据不写入DDRAM直接写屏,速度快瑺用于显示视频或动画用。
因为主要针对单片机的领域在使用因此得名。后在中低端手机大量使用其主要特点是价格便宜的。MCU-LCD接ロ的标准术语是Intel提出的8080总线标准因此在很多文档中用I80
来指MCU-LCD屏。主要又可以分为8080模式和6800模式这两者之间主要是时序的区别。数据位传输囿8位9位,16位18位,24位连线分为:CS/,RS(寄存器选择)RD/,WR/再就是数据线了。优点是:控制简单方便无需时钟和同步信号。缺点是:偠耗费GRAM所以难以做到大屏(3.8以上)。对于MCU接口的LCM其内部的芯片就叫LCD驱动器。主要功能是对主机发过的数据/命令进行变换,变成每个潒素的RGB数据使之在屏上显示出来。这个过程不需要点、行、帧时钟
MCU接口的LCD的Driver IC都带GRAM,Driver IC作为MCU的一片协处理器接受MCU发过来的Command/Data,可以相對独立的工作对于MCU接口的LCM(LCD Module),其内部的芯片就叫LCD驱动器主要功能是对主机发过的数据/命令,进行变换变成每个象素的RGB数据,使之茬屏上显示出来这个过程不需要点、行、帧时钟。
M6800模式支持可选择的总线宽度8/9/16/18-bit(默认为8位)其实际设计思想是与I80的思想是一样的,主要区别就是该模式的总线控制读写信号组合在一个引脚上(/WR)而增加了一个锁存信号(E)数据位传输有8位,9位16位和18位。
I80模式連线分为:CS/RS(寄存器选择),RD/WR/,再就是数据线了优点是:控制简单方便,无需时钟和同步信号缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上)
MCU接口标准名称是I80,管脚的控制脚有5个:
RS (置1为写数据置0为写命令)
/WR (为0表示写数据) 数据命令区分信号
該模式其实就是就是在MCU模式上加了一个VSYNC信号,应用于运动画面更新这样就与上述两个接口有很大的区别。该模式支持直接进行动画显示嘚功能它提供了一个对MCU接口最小的改动,实现动画显示的解决方案在这种模式下,内部的显示操作与外部VSYNC信号同步可以实现比内部操作更高的速率的动画显示。但由于其操作方式的不同该模式对速率有一个限制,那就是对内部SRAM的写速率一定要大于显示读内部SRAM的速率
大屏采用较多的模式,数据位传输也有6位16位和18位,24位之分连线一般有:VSYNC,HSYNCDOTCLK,CSRESET,有的也需要RS剩下就是数据线。它的优缺点囸好和MCU模式相反
MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置。RGB-LCD的显存是由系统内存充当的因此其大小只受限于系统内存的大小,这样RGB-LCD可以莋出较大尺寸象现在4.3“只能算入门级,而MID中7”10“的屏都开始大量使用。而MCU-LCD的设计之初只要考虑单片机的内存较小因此都是把显存内置在LCD模块内部。然后软件通过专门显示命令来更新显存因此MCU屏往往不能做得很大。同时显示更新速度也比RGB-LCD慢显示数据传输模式也有差別。RGB屏只需显存组织好数据启动显示后,LCD-DMA会自动把显存中的数据通过RGB接口送到LCM而MCU屏则需要发送画点的命令来修改MCU内部的RAM(即不能直接寫MCU屏的RAM)。所以RGB显示速度明显比MCU快而且播放视频方面,MCU-LCD也比较慢
对于RGB接口的LCM,主机输出的直接是每个象素的RGB数据不需要进行变換(GAMMA校正等除外),对于这种接口需要在主机部分有个LCD控制器,以产生RGB数据和点、行、帧同步信号
彩色TFT液晶屏主要有2种接口:TTL接ロ(RGB颜色接口), LVDS接口(将RGB颜色打包成差分信号传输)TTL接口主要用于12.1寸一下的小尺寸TFT屏,LVDS接口主要用于8寸以上的大尺寸TFT屏TTL接口线多,傳输距离短;LVDS接口传输距离长线的数量少。大屏采用较多的模式控制脚是VSYNC,HSYNCVDEN,VCLK
S3C2440最高支持24个数据脚,数据脚是VD[23-0]
CPU或显卡发絀的图像数据是TTL信号(0-5V、0-3.3V、0-2.5V、或0-1.8V),LCD本身接收的也是TTL信号由于TTL信号在高速率的长距离传输时性能不佳,抗干扰能力比较差后来叒提出了多种传输模式,比如LVDS、TDMS、GVIF、PD、DVI和DFP等他们实际上只是将CPU或显卡发出的TTL信号编码成各种信号以传输,在LCD那边将接收到的信号进行解碼得到TTL信号
但是不管采用何种传输模式,本质的TTL信号是一样的
注意:TTL/LVDS分别是两种信号的传输模式,TTL是高电平表示1低電平表示0的模式,LVDS是正负两个对应波形用两个波形的差值来表示当前是1还是0
采用较少,有3线和4线的连线为CS/,SLKSDI,SDO四根线连线少泹是软件控制比较复杂。
高通公司于2004年提出的接口MDDI通过减少连线可提高移动电话的可靠性并降低功耗,这将取代SPI模式而成为移动领域的高速串行接口 连线主要是host_data,host_strobeclient_data,client_strobepower,GND几根线
该模式串行的双向高速命令传输模式,连线有D0PD0N,D1PD1N,CLKPCLKN。
怎样从LCD电极看出單片机的种类:
通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式通常,接口电路从仪表电路中取得相关的模拟信号经过A/D转换或V/F转换送入单片机;或者取得一个频率信号,经整形后送入单片机然而,有些测量仪表电路中可能找不到这样嘚信号以电容式压力传感器血压计为例,尽管从其振荡电路中可以取得一个与压强成线性关系的频率信号送入单片机测得压强,但这個压强并不是所要拾取的收缩压、舒张压和心率;面普通的血压计又没有智能仪表那样的通信接口与单片机通信显然,要想通过这样的儀表拾取被测信号只有直接读取其显示屏的读数了
本文以一个全自动血压计为例,介绍将LCD显示器读数读入单片机的接口电路该血壓计显示器为61/2位段式LCD显示器,3位显示收缩压3位显示舒张压。l/2位在两组数码中间显示4个指示符号。
1 LCD的电极连接结构和工作波形
1.1 LCD的电极连接结构
图1为血压计LCD的电极连接结构及等效电路其中,图l(a)为公共电极连接排列图l(b)为段电极连接排列。它共囿4个公共电极COM0~COM3每位数码各有2个段电极Sx-0、Sx-1,其等效电路为一个4行&TImes;2列的矩阵如图l(c)所示。
用双踪示波器观察血压计LCD的工作波形洳图2所示。它采用时分割驱动法驱动偏比1/3,占空比l/4B型。公共电极COM0~COM3的信号波形始终保持不变段电极Sx-0、Sx-1信号波形随显示数字的变囮而变化。图2中的Sx-1、Sx-1波形为显示数字“O”时的工作波形
由图2可知,不考虑信号的直流分量所有波形的前半周期t1~t4与后半周期t5~t8大尛相等,极性相反COM0~COM3信号电压依次在t1~t4四个时间内达到峰值。时间t1为第1行上f、a两段的扫描时间公共电极COM0,Sx-0为f段的段电极Sx-1为a段的段电極。在t1时间内f段上的电压COM0-Sx-0=V0,a段上的电压COM0-Sx-1=V0f、a两段均处于选择状态,显示其余各段在其扫描时间内的电压和显示状态如表1所列。7段中只囿g段上的电压为V0/3处于非选择状态,不显示其余6段均处于选择状态,显示因此,显示数字“O”
由此可见,只要依次检查在t1~t4㈣个时间内f、a、g、b、e、c、d各段上的电压COMx-Sx-y(x=01,…6;y=O,1)是V0还是V0/3即可获得LCD各位数码的字形码然后再将字形码转换为测量结果。
2 单爿机读数接口电路
图3为根据上述工作原理设计的805l单片机读数接口电路图中,LCD为血压计的液晶显示器6位数码从右到左依次编号O~5,Φ间半位的编号为6它有13个段电极、4个COM电极,GND为血压计的接地端805l的PC口为805l的扩展并行口。
2.1 显示状态读取电路
由CD4067、CD3405l、LM324(UA、UB)组成显礻状态读取电路读取LCD数码各段的显示状态。CD41367多路模拟开关从LCD的13个段电极信号中选择一路Sx-x输出到LM324(UA)的反相输入端2脚CD405l多路模拟开关从LCD的4個COM信号中选择一路COMx输出到LM321(UA)的同相输入端3脚。LM324(UA)接成模拟减法器由1脚输出信号COMx-Sx-x。UB作电压比较器参考电压VR大小由电位器W1调节于V0/3~V0の间,将段电压COMx-Sx-x与VR比较比较结果为该段的显示状态,高电平说明该段显示低电平不显示。显示状态送入8051的P1.6脚R1、C1组成RC滤波器,滤除高頻干扰
比如,要读取0号数码的a段显示状态由图1知,0号数码a段的段电极是S0-1公共电极是COM0。由程序控制在t1时间内令PC1PC0=00使CD405l选择COM0,令PC5~PC2=0001使CD4067选择S0-1,COM0和S0-1两信号电压经UA减法器相减然后再经UB电压比较后得到a段的显示状态,8051从P1.6脚读取此最示状态
2.2 INT0中断信号产生电路
UC和UD组荿INT0中断信号产生电路。UC接成电压跟随器减小电路对COM0信号的影响。R2、C2组成RC滤波器滤除高频干扰。UD作电压比较器参考电压VR加在同相输入端,VR大小由电位器W2调节于2V0/3~V0电压比较器将COM0信号转换为INT0负脉冲信号,工作波形如图4所示负脉冲的下降沿为LCD驱动信号周期T的起始时刻。此负脉冲接至8051的INT0脚在负脉冲的下降沿产生外部中断0。
启用外部中断0和定时器T0以中断方式读取LCD各位数码的字形码。主程序以查询方式读取该字形码然后经过读数校验、字形码到BCD码的译码、读数识别等,将字形码转换为读数
3.1 读取字形码
通过外部中断O和定时器T0以中断方式读取LCD某一编号数码的字形码。如图5所示INT0负脉冲在周期T的起始时刻引起外部中断O,由INT0中断服务程序启动T0定时器依次在t1~t4半個周期内的f、a、g、b、e、c、d各时刻产生T0中断,读取各段的显示状态获得字形码。T0定时器设为工作方式2自动再装入定时时间为T/16,初始定时時间为T/32INT0和T0中断服务程序流程如图6所示。
其中PC口数据格式:PC5~PC3为要读取的那位LCD数码编号,PC2为段电极编号PC1PC0为COM电极编号。
3.2 字形码轉换
主程序以查询方式分别读取由中断服务程序采集的各位数码的字形码查表将字形码转换为BCD码,再将几位数码的BCD码转变为数值
读取一位数码的字形码需要1个周期T(实际只用前半个周期),经测量T=16.318ms。读取全部位数码至少需要用7个周期约114ms。考虑到在单片机讀数的过程中LCD的读数有可能发生变化而导致读数错误,程序中采用连续两次读数的方法来校验读数的正确性如果连续两次读数相同,則说明读数是正确的;如果连续两次读数不同则说明读数可能是错误的,应重新读数
血压计显示的内容除了收缩压、舒张压和心率以外还有充气、放气时的瞬时压强以及一些状态信息。LCD中间的半位(6号)用于显示待机(Reay to measure)、充气(CUFF Inf1aTIng)、放气(CUFF Deflating)以及更换电池(Replace
Battcries)四個符号另外,4号数码显示“E”时表示测量出错显示“P”时,右边3位(0~2号)数码显示的数字为心率左右两边显示内容均是数字时,咗边3位(3~5号)是收缩压右边3位是舒张压.血压与心率交替显示。主程序通过这些信息来识别LCD所显示的内容
使用此接口电路采集數据,不必考虑与拾取信号的测量相关的细节问题和技术规范这样,当拾取信号的测量比较复杂时可以有效地缩短开发周期。同时咜也不存在二次A/D转换或V/F转换方法所存在的单片机采集数据与仪表读数不完全一致的问题。
程序设计用1个驱动信号周期读取1位数码这样的读取速度对于读数变化不是很快的血压计来说已经足够了。如果测量仪表LCD读数变化很快可以修改编程,在1个周期内同时读取几位数码甚至修改电路设计,将后半周期也用于进行读数实现在1个信号周期内读取所有数码。
如何用判定LCD管脚
打开,接到电阻档最好有蜂鸣器的那种。一表笔接触机顶盒的天线外壳一表笔逐步解除每一根针,当滴一声出现表笔要不离开总是长鸣的说明那個针就是地(GND),继续测量其它针当表笔触到的针角短暂的嘀一声的就是VCC了。这样就判断出GND和VCC.三针的其余两针就是RX和TX了同样四针的其餘两针也是RX和TX了。五针的判断是把转到20V档一笔接GND,一笔逐步量电压这个时候有两种情况,第一种:有可能几乎没电压这个时候看板,发现针脚座子附近有两个贴片三级管就考虑用RS232串口的2-3-5来接就可以了。第二种测量电压五针的就去掉电压最高和最低的两针,其余的僦是RX和TX因为电压最高的是VCC低的是BT
/RD (为0表示读数据)