日志档案

发表于 2007-3-16 15:35:12

2

标签: 液晶  DSP  接口  

液晶与DSP接口

这是我毕业论文中的一小节,就是用DSP来驱动液晶,贴出来大家可以看看。有什么问题大家一起来讨论。

目前液晶主要分为:通用型段式液晶、通用型汉字图形点阵式液晶、通用型图形点阵式液晶。常说的LCD(liquid crystal display)为液晶显示屏,而嵌入式设计时为简化开发常用LCM(liquid crystal modul)液晶显示模块。LCM实际上包含LCD及显示控制芯片、RAMROM等,模块只对外提供相应接口,由外部提供电源和逻辑电平进行驱动。

根据显示波形和多个参数的要求,选用了北京青云创新公司生产的320×240图形点阵式液晶模块,内含EPSON生产的SED1335驱动器,具有最大640×256的驱动能力。本文用Motorola公司56F803TI公司的TMS320F2812均实现了驱动,但由于二者结构型能上的不同,所以实现方法也不尽相同。下面结合SED1335驱动器适于嵌入式开发的优势,比较两款DSP在实现上的区别:

SED1335有丰富的指令集,软件编程时先写入指令,再写入指令对应的参数,即可完成初始化设置或描点。所以接口也相应的分为数据和控制接口,特别注意的是要满足时序要求。

微处理器和液晶的接口可以采用直接访问或间接访问方式,不同的地方在于使用总线还是I/O口对液晶的数据、控制接口进行设置。由于56F803I/O口资源不丰富,仅有的16I/O还与地址、数据线复用。考虑系统扩展需要,其接口只能使用数据总线与数据引脚液晶相连,部分地址总线逻辑运算后与控制引脚相连的直接访问方式。而TMS320F2812有丰富的I/O口资源,所以采用全部用I/O引脚连接的间接访问方式,由软件控制时序。

SED1335外接10M晶振,可通过软件设置驱动器工作频率,所以可以和大部分单片机配合使用。但对DSP工作频率而言,液晶仍属于低速设备,需要解决时序上的配合问题。56F803采用将总线设成最长的12个等待周期,延长数据、地址总线和读写电平输出时间,将时序降到满足液晶要求。而TMS320F2812的时序完全靠软件来调节,增加延时时间满足时序。

内含DC-DC电源,可产生负电压驱动液晶,所以外部只需单一电源即可点亮液晶。SED1335的动作电压为3~5V,所以DSP 3.3V的输出可以直接与液晶接口相连。但为了保证液晶可靠工作,和降低时序的要求,56F803采用总线电平转换芯片74ALVC164245将所有接口信号由3.3V转到5V,并用5V供电。而TMS320F2812由于时序很容易满足时序,不再进行转换。

微处理器访问SED1335不需判其忙。随时准备接收微处理器的访问并在内部时序下,及时地把发来的指令数据传输就位。

SED1335在接口部设置了适配8080系列和M6800系列两种操作时序电路,通过引脚的电平设置可选择二者之一。这两款DSP均属于适配8080系列。

可管理64K的显示RAM,可设置成文字或图形区,并可设置逻辑关系。

综上所述,驱动液晶关键的是选用合适的接口方式,和采用合适的方法满足时序。两款DSP均可以实现液晶显示,但是56F803固有性能决定了只能满足液晶最低时序要求,调试过程出现众多问题;而TMS320F2812实现的自由度更大,且容易满足时序要求。

系统分类: DSP   |   用户分类: 技术   |   来源: 原创   |   【推荐给朋友】

    阅读(1720)    回复(15)  

投一票您将和博主都有获奖机会!

  • shzjz369

    2007-5-26 15:13:12

    我用的是通用io口,这个你懂吗?

  • shzjz369

    2007-5-25 8:36:10

    你那里有详细的连接图吗?

  • 羊习习

    2007-5-25 21:58:35

    接线图不方便放上来。

    你有问题可以问我。

    我使用的是总线连接方式。

    568346那个,如果真想复用,可以在合适的时候重新配置IO口

  • yanlu820814

    2007-5-25 17:59:26

    我用的是dsp568346,和807差不太多。我现在gpio—f,出了点问题,它是和data bus共用的,只是初始化之后无法再改变gpio_f_dr,想询问解决方法。 初始化:

    asm(bfset #$113e,X:$F341);//GPIO_F_DR
     asm(bfclr #$FFff,X:$F343);//GPIO_F_PER
     asm(bfset #$FFff,X:$F342);//GPIO_F_DDR

     

    yanlu820814@163.com

  • 羊习习

    2007-5-9 18:46:40

    网上有2407驱动液晶的程序

    当初我就是按照那个改的

  • shzjz369

    2007-5-29 19:13:08

    谢谢,有问题再问你啊 !!!!!!!

  • 羊习习

    2007-5-27 22:09:17

    你的液晶不能接受3.3V?

    随便找一个就可以

    输出数据指令前,先用这个IO控制OE

  • shzjz369

    2007-5-27 19:07:58

    那太好了,你能把图纸给我发过来吗?我给你我的邮箱。shzjz369@tom.com,谢谢非常!

  • 羊习习

    2007-5-27 20:17:24

    对不起,图纸不可以给。设计

    原理就是IO口去连接每一个液晶的接口,无论是数据还是指令接口。

    然后配置IO口的输出就可以了。

    有什么具体问题再说吧。

  • shzjz369

    2007-5-27 20:36:02

    液晶和2812之间有个芯片74lvc4245,用2812哪个管脚控制它的OE啊?

  • 羊习习

    2007-5-26 22:59:21

    我换用2812时就使用的通用IO口驱动

  • hanli

    2007-5-9 11:33:06

    我做的也是基于DSP的液晶显示,用的是TMS320LF2407,希望能和你交流!

  • 2007-6-4 17:18:23

    一个偶然的机会看了你的博客,感觉真了不起,我还是学生,现在正初学液晶显示编程,不知道该怎么写,你能否给我发一点你写的完整的程序?最好是注释比较详细的,再谈点你的理解小弟在此先谢了,以后肯定会多关注你的博客!

  • 羊习习

    2007-6-4 17:59:40

    对不起,这个不能全部放出来。

    另一篇里有部分程序,你可以参考。

  • tuanshuitou

    2007-9-24 19:36:59

    我也是用IO口模拟1335的8080的时序,但是就是显示不出内容来,原理图如下。中间是一个245电平转换的芯片。搂主可以将你的初始化的程序告诉我吗?我调了几天了。非常感谢!

    我的邮箱 y_lisa@163.com

    点击看大图