2006-10-06

small size LCD的常用接口

我原本打算在这篇文章中简单的介绍一下small size LCD常用的接口类型,这是很早就有的想法,不过开始动手写作才感到自己的力量不足,我虽然对这些接口的类型有了一些了解,但是要我正确的指出它们的用法、特点,我觉得有一定的困难。这里虽然是我的个人空间,记录的是我自己的理解,但是我很担心会有其他人受到我文章中不正确的观点的影响,因此还是把我的理解暗自的藏起来,等我的理解深入之后再全面的写一下。

促成我要写作本文的原因之一就是,平时在操作small size LCD的时候,经常会选择接口的类型,多数时候我们是根据客人的要求来选择的,但是有时候我们自己也会制作一些样品,接口的类型就由我们自己来选定。为了深入了解样品的特性,会让它兼容多种类型的接口。大中小尺寸的LCD因为应用的场合不同,在接口的选择偏向上也不同,我负责小尺寸的LCD制作,一般选用较多的是并行接口和串行接口,这是两种应用最为广泛的接口技术,因为应用的多,大家对他们也是最熟悉的,电脑主板上就有这种接口。并口可以同时传输一组数据,而串口每次只传输一个数据,因此在速度上,并口是串口的数倍,一般在小尺寸的LCD应用上,我们把这两种接口统称为CPU接口,或者MPU接口。并口与串口要实现数据的写入,一定要掌控好信号线的时序,常见的《数字电子技术》课程里面就有介绍时序图,设置好信号的时序之后,数据写入就很简单了。

我常用的MPU就是简单的51系列单片机,这种单片机只有40个引脚,可以用它的I/O口模拟控制信号,非常方便,这种单片机也是大学单片机课程里面介绍的,据说只要一个月就可以掌握。我不敢这么说,因为我在大学期间没有认真对待这门课程,对单片机的理解非常的浅显,也没有仔细的研究过它的各个引脚的功能。现在有机会深入研究它,但时间有限,对它的理解还是停留在一个表面。可以用C/C++语言或者汇编语言来写程序,不过我对C/C++要偏爱一些,因为它容易理解,编写起来要容易一些,汇编语言我很少使用,除非迫不得已。据行家说,真正的高手都是非常钟爱汇编的,或许是这样,汇编语言可以和硬件的底层打交道,对硬件理解不深入的人是难以体会它的妙处的。

随着工作学习的深入,渐渐的接触到了其他的接口类型。比如在中小尺寸LCD上应用广泛的RGB接口。这是一种很有趣的接口,不过这对我来说有一定的挑战。虽然很多人都用过这种interface,不过他们只需要直接给LCD传输数据就可以了,而我涉及的不仅需要传输数据,还要对LCD的Driver进行控制,这有一定的难度,而且那时候我对此种接口的理解非常有限。有人告诉我,RGB接口只负责传输数据,指令大多要通过串口送进去。我一直在琢磨,最近看D写的一个程序,终于开窍了。我手上有几个预留了RGB接口的LCD,我会试验一下。

因为小尺寸的LCD比较简单,外围设计也容易得多,以上传统的接口技术大约就满足了大部分的需求。其实还有很多种先进的接口技术,比如高通提出的MDDI,这是一种高速的串口协议,使用这种接口的小尺寸LCD还比较少,主要是支持MDDI的Driver IC比较少。人们往往说串口的速度慢,但是它接线少,省空间,USB,IIC,MDDI都是串口协议。

还有其他类型的interface,限于我接触的很少,就不在文中提及了。要正确的使用芯片,看懂时序图是非常重要的,只有按照正确的时序来操作,才能够保证送进去的数据是正确的。

我认识到interface的重要还是在开始学习VC的时候。最早使用MFC来写程序,因为VC的MFC非常强大,它已经为我们创造了很多封装好的函数,对于简单的程序来说,我们只需要往里面添加几行代码就可以了。后来开始学习用Windows API来写程序,慢慢的感到吃力。这里面的API就是应用程序接口,都是一些底层的函数。不知道这个比喻是否正确:API大约就像一个电源的插座,插座里面怎么连接的,连接到什么地方我们都不知道,但是我们知道这个插座的引线的作用,于是我们就可以利用这个插座来作为电源为电视,电脑供电等。大概各种接口都是这个作用。

没有评论: