引言
液晶显示器是一种电压型非主动发光显示器,典型液晶显示器利用液晶材料的介电常数各向异性和折射率各向异性的物理特性,通过改变加在液晶盒上的电压来改变液晶分子的排列方式,从而改变液晶盒的透光率这一原理来实现对光的控制,通过反射(无背光型)或透射(有背光型)光来实现显示。液晶盒透过不同的强度和不同颜色的光,然后再使用空间混色法,就可以实现全彩色显示。
试验室用于LCD的测试系统就是在液晶盒中注入不同的液晶材料,用电极引线做成笔段式或矩阵型的LCD,然后在电极上加上所要求的驱动脉冲,使被选行与被选列交叉位置上的液晶像素或笔段在电场作用下呈现显示状态(遮光或透光),以此测试LCD的性能,所需的各种驱动脉冲由驱动电源提供。液晶显示从无源到有源,由于其所用材料、形式、结构的不同,其驱动方法也比较复杂。目前试验室的测试只能用简单
的方波作为驱动脉冲,然而LCD的驱动必须采用交流驱动,以减少直流分量。为了使测试方便、快捷、对驱动电源有要求:要使驱动电源能够提供各种所需驱动脉冲;要使驱动电源使用方便快捷。本设计目的就是制作一款用于LCD测试系统的程控驱动器。该程控驱动器基于嵌入式系统ARM7实现程序控制,内建DC/DC升压电路和DC/AC转换电路以提供直流电源和产生驱动脉冲信号,电源内建/外接可选。该系统输出的脉冲电压峰值、频率、占空比均可调。其中,电压峰值通过I2C总线调节,频率和占空比由脉宽调制器PWM调节,所有参数的设定均由串口通信发送到ARM7程序中。
1 硬件设计
该系统核心采用Philips的LPC2132,一方面通过其2个标准的硬件I2C接口传输数据到数字电位器,以实现通过程控来半自动化调节升压DC/DC转换器的负反馈,而升压DC/DC转换器能在芯片操作时调整输出电压;另一方面通过脉宽调制器PWM输出脉冲来驱动光电耦合继电器中的LED,使其实现开关功能,一路PWM输出控制2个光电耦合继电器的开与关来选择所需电压,一路PWM输出控制4个桥式光电耦合继电器的开与关来实现直流转换交流。
考虑到内部产生的电压范围可能达不到所需电压的范围,巧妙地接入了外部电压输入端,并用一个双道双掷开关内外互换;另外,由于PWM输出脉冲达不到LED工作所需的电压电流,因此增加了LED的驱动电路模块;该程控驱动器有2个输出。一是如图1所示的交流电压输出;二是将2个升压DC/DC转换器的输出端也作为输出,以提供直流电压输出。
1.1 0~90 V可调直流电源设计
采用2个标准的硬件I2C接口传输数据到数字电位器X9241,通过程控来半自动化调节升压DC/DC转换器LT3482的负反馈,而LT3482能在芯片操作时调整输出电压。整个设计电路如图2所示。
电路中,将X9241的4个电位器串联起来,以实现254级可调,同时与-122 kΩ的电阻串联到5 V电压上,根据分压原理,该电位器的输出电压可达O~1.235 V。将X9241的SCL和SDA连接到LPC2132的I2C总线上进行串口通信,通常在SCL和SDA线上需要设置上拉电阻,由于LPC2132的I2C总线上已具有上拉电阻,故此处的上拉电阻可以省略。将X9241的4位地址A0~A1引脚都连接到地,此时编程地址定义为0000。
数字电位器X9241的滑动输出端连接到LT3482的13脚(CTRL引脚),以提供辅助基准输入电压O~1.235V。当辅助基准输入电压在0~1.235V时,LT3482将调节输出电压Vout2(4脚),使负反馈端(14脚)电压Vref与辅助基准输入电压匹配。由图2可以看出,Vout2与Vref存在以下关系:
为了实现Vout2输出0~90 V可调电压,设计中取RL1,RL2的值分别为1 MΩ,14 kΩ。
1.2 频率、占空比可调的正负脉冲电路设计
主要将光耦用于开关电路,以此来实现直流变交流,基本思路如图3所示。它采用4个光耦构成桥式电路,其中1,2,3,4四个开关拟为4个光耦:a端接入电压;c端接地;b,d作为输出端。工作时,1,3开关导通,同时2,4开关断开,接着2,4开关导通,同时1,3开关断开。这样反复交替更换即可实现正负脉冲。
光耦的“开”与“关”实际上是其内部LED的点亮与否,所以用一脉冲驱动LED,即可实现光耦的“开”与“关”。本设计驱动LED脉冲由LPC2132的PWM产生。至于如何实现b,d输出端的脉冲频率、占空比可调,可以转换为调节PWM输出的脉冲频率,占空比。由于光耦内部LED的工作电压为1.0~1.5 V,工作电流为10 mA左右,而PWM输出脉冲电压3.3 V电流比较小,所以电路设计时加入了晶体管、电阻、5 V电压,以起到减压增流的效果。考虑到1,3与2,4状态正好相反,在电路设计时巧妙加入一反相门。由于需要上下幅值不一样的正负脉冲,在设计时多增加了2个光耦来选择上下电压幅值,同时也增加了2个外部输入端口,以避免内部电压不满足所求。在内外电压的选择上采用了双刀双掷开关。
2 软件编程
首先对要实现的几个波形进行分析。如图4所示,对要实现的脉冲P1,P2进行分析。通过PWM4来实现脉冲电平的转换,将其设置为双边沿输出;通过PWM2来实现脉冲的正负转换,将其设置为双边沿输出。当确定了Vout1,Vout2,t1,t2,t3,t4,T时,输出脉冲就确定了。
程序设计思路如下:上电后系统进行初始化,当MCU接收到开始命令时(0xCD),开启串口通信,将Vout1,Vout2,t1,t2,t3,t4,T七个数据设定好。接着,Vout1,Vout2进行公式转换,将转换所得数据通过2路I2C总线发送到数字电位器来调节升压AD/AD转换器的输出电压,与此同时PWM2,PWM4进行双边沿输出来调节输出脉冲的电平、频率和占空比,最后返回到初始化后。
程序编译器使用ADS1.2,ADS是ARM公司的集成开发环境软件,它的功能非常强大,ADS包括了4个模块,分别是SIMULATOR,C编译器,实时调试器,应用函数库。所使用语言为C语言,在周立功单片机提供的工程模板的基础上,加入自己的主程序,部分程序参考了周立功单片机所给的例程,经测试无误后生成HEX文件,然后通过JTAG接口,使用AXD软件,把程序烧写入单片机。
3 程控驱动器的调试及结果分析
软件经调试无误后,将最终版软件编译后生成的HEX(i32)文件通过JTAG仿真接口烧写到单片机内,通过计算机上串口终端软件发送7个数据到单片机,并开始操作单片机。首先对输出电压进行测试,结果发现所得电压与期望电压有一定差别。经过分析,可能存在以下几方面问题:
(1)数字电位器的工作电压为5 V,实际上没有真正达到5 V,经测试为4.8 V,故分压后输入的基准电压有误差;
(2)在程序设计中,因电压公式转换中数据在由实数转换为整数时采取四舍五入原则,使数据变得不够准确;
(3)电路中存在电阻、电容、电感效应等的干扰;
(4)存在电路设计问题,由于个人水平有限,在电路设计及焊接以及装配的过程中,难免会出现问题,这也是噪声的一个重要来源。
综上考虑,电阻电容的干扰无法避免,采用数据修定方法,即在程序中加入一常量,使数据变得更精确。因此,笔者对测得电压与期望电压作了比较,并画出了两个之间的关系图,如图5所示。
采用最小二乘法对实际电压与预期电压的数据进行线性拟合,比例值约为0.957 67,故在程序中加入修定值公式:
两式分别除以0.957 67。再修定后重新测试数据,与预期的电压就基本相符。
4 结语
本设计主要是为LCD测试系统提供一款程控驱动器。经过测试,制作出的程控驱动器输出波形基本符合要求,达到了设计目的,解决了由于LCD驱动方式的多样化,复杂化,而普通函数发生器远远不能达到要求的问题。该系统输出的工作电压峰值、频率、占空比均可调,是一个低功耗、低输出阻抗的LCD程控驱动器。