这是我毕业论文中的一小节,就是用DSP来驱动液晶,贴出来大家可以看看。有什么问题大家一起来讨论。
目前液晶主要分为:通用型段式液晶、通用型汉字图形点阵式液晶、通用型图形点阵式液晶。常说的LCD(liquid crystal display)为液晶显示屏,而嵌入式设计时为简化开发常用LCM(liquid crystal modul)液晶显示模块。LCM实际上包含LCD及显示控制芯片、RAM、ROM等,模块只对外提供相应接口,由外部提供电源和逻辑电平进行驱动。
根据显示波形和多个参数的要求,选用了北京青云创新公司生产的320×240的图形点阵式液晶模块,内含EPSON生产的SED1335驱动器,具有最大640×256的驱动能力。本文用Motorola公司56F803和TI公司的TMS320F2812均实现了驱动,但由于二者结构型能上的不同,所以实现方法也不尽相同。下面结合SED1335驱动器适于嵌入式开发的优势,比较两款DSP在实现上的区别:
① SED1335有丰富的指令集,软件编程时先写入指令,再写入指令对应的参数,即可完成初始化设置或描点。所以接口也相应的分为数据和控制接口,特别注意的是要满足时序要求。
② 微处理器和液晶的接口可以采用直接访问或间接访问方式,不同的地方在于使用总线还是I/O口对液晶的数据、控制接口进行设置。由于56F803的I/O口资源不丰富,仅有的16个I/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实现的自由度更大,且容易满足时序要求。