关于LCD显示低功耗问题:
在Part1中提及的段码液晶,选用普通4COM裸片屏幕,但是仔细研究发现,FR5969中并未带有LCD控制器,如果增加外置的如HT1621专用的LCD控制器,又会增加系统的功耗,控制起来虽然方便了,但是不符合大赛的低功耗主题,要低就低的彻底!如果不加外置的驱动器,通过FR5969的IO引脚直接驱动4COM的LCD裸片,需要在LCD引脚产生4种电平,额,,,先看看基础知识吧:
段码液晶LCD面板有两个重要的参数:
• 占空比(Duty)
该参数一般也称为 Duty 数或 COM 数。LCD 通常采用时分动态扫描的驱动模式,在此模式下,每个 COM的有效选通时间与整个扫描周期的比值即占空比 (Duty)是固定的,等于1/COM 数。
• 偏置(Bias)
LCD 的 SEG/COM 的驱动波形为模拟信号,各档模拟电压相对于 LCD 输出的最高电压的比例称为偏置,偏压级数越多 LCD 的对比度级别就越多,能显示的图案就越复杂。一般来讲,Bias 是以输出最低档电压(0除外)与输出最高档电压的比值来表示。图3所示 为1/4 Duty,1/3 Bias液晶屏的COM端时序。
一般常用的是1/4 duty,1/3 bias 的液晶 COM口驱动波形,COM 数为 4,每个 COM的有效选通时间与整个扫描周期的比值(Duty)为 1/4,驱动波形的模拟电压共分 3 档,V3 为输出最高电压,V2,V1 为输出中间电压,并且V1/V3=1/3。 Bias 和 COM 数目共同决定了 LCD 的显示对比度。显示对比度用点亮段电压有效值 Von和不亮段电压有效值Voff之比来表示,显示对比度越高,亮和不亮段差别越明显,显示越清晰。
本来打算使用的段码液晶是 1/4 duty,1/3 bias 的段式 LCD。单片 I/O 口驱动此类 LCD,需要输出 0、1/3VCC、2/3VCC 和 VCC 四档电压,才可满足扫描时序的要求。FR5969系列 MCU 的I/O 口带上拉电阻(35K左右),通过合理的配置相关寄存器,配合外部电路,可使一个 I/O 口输出四种电平状态。
通过在IO口外加两个电阻,配合FR5969内部的上拉电阻即可实现, 一个 I/O 端口配合两个电阻即可实现最多五种电平输出状态。注意外接电阻取值需要和内部上拉电阻R相当。
1、输出高 VCC
2、输出低 GND
3、输出高内部上拉 2/3VCC
4、输出高内部下拉 1/3VCC
5、输入 1/2VCC
通过FR5969的定时器很容易的实现IO的电平驱动,在这不做赘述。但是细心的网友会发现一个问题,就是,如果在驱动LCD的IO口中都增加两个电阻,这两个电阻串联一端接VCC一端接GND,中间抽头接IO,并且这两个电阻为FR5969的IO上拉电阻两倍,按照芯片手册中的最大值为50K,两个相加为100K,如果VCC电压为3.3V,产生的电流为33uA!!!!!!而且这个还是一个IO的如果要驱动20的段则电流飙升为660uA接近1mA了,前面的第一部分讲到光电池的输出电流小到5uA,如果这样设计连点亮屏幕都不可能,还怎么测温度!!!因此电路不能这样设计,考虑到导致这个问题的根本原因是选用了4COM的段码液晶,这需要IO输出4种电平,如果将段码液晶改为1COM的仅仅需要单片机的IO提供2种电平即可,避免使用外置的电阻,大大降低功耗!
下面工作:重新去买1COM的段码液晶... 继续实验。