摘要:介绍了VFD显示驱动和控制芯片TP6312F的组成结构、性能特点和编程指令,对TP6312F驱动的VFD在电磁炉显示电路中的应用做了详细论述,给出了该应用系统的硬件电路和软件流程。
关键词:家用电器;VFD;TP6312F
真空荧光显示屏VFD(Vacuum Fluorescent Display)是1966年日本发明的一种自发光平板显示器件,现已在工业、商业?特别是家用电器数字化产品领域得到了广泛应用。VFD是一种特殊变体的三级真空管,其电子从负极(灯丝)发射出来,通过栅网加速后撞击正极表面附着的磷光体从而发光。VFD的主要性能是:自动发光、高清晰度和高亮度显示、低压操作、低功耗、可靠且使用寿命长、有从红色到蓝色多种色彩(使用滤色器可获得更多色彩)、宽视角、反应速度快等。现在市面上的电磁炉大多采用数字LED显示,也有的采用字段LCD显示屏,笔者开发的首款电磁炉采用的就是图形点阵LCD显示屏,但考虑到成本、显示亮度及电磁炉本身的强电流、强磁场等因素和VFD的诸多特点,最终选择VFD作为电磁炉显示屏。
图1
1 TP6312F控制/驱动芯片
1.1 TP6312F的组成及功能
TP6312F是TOPRO(台湾凌越科技)公司生产的VFD专用控制/驱动器,可完成段节式VFD器件的控制与驱动。该器件为44脚LQFP封装,有11个段(阳极)输出脚、6个位(栅极)输出脚、5个段/位(阳极/栅极)两用输出脚、4位开关量输入脚、4位LED驱动脚以及4×6键盘输入脚。TP6312F内含1个显示RAM、2个4位锁存器、1个亮度控制电路、键值数据RAM及键盘扫描电路,可通过3线或4线串口与MCU进行连接。MCU可以通过串行接口将数据写入显示RAM和LED驱动锁存器,也可以从键值数据RAM和开关量输入锁存器中读出内容。
1.2 TP6312F的控制命令
TP6312F具有显示模式设置、数据设置、显示存储器地址设置和显示控制设置命令等4条命令,其具体格式如图1所示。由图1可见,通过显示模式设置命令可使TP6312F匹配不同结构的VFD显示屏。在显示存储地址设置命令中,地址的取值范围为00H~15H,大于15H的取值被视为无效;通过执行显示模式设置命令,系统显示会被强行关闭,此时要恢复显示,必须执行一次显示控制设置命令。在向LED端口写数据、读键值数据、读SW数据时,系统并未涉及特定存储单元的地址,而是通过数据设置命令来获得其结果,执行完数据设置命令后,即可将其存储到指定的存储单元或将指定存储单元的内容写到TP6312F中。
图2
2 电磁炉显示系统设计
2.1 系统的硬件组成
电磁炉的前面板电路由微控制器W78E58B、VFD驱动电路TP6312F、电磁炉VFD显示器件及一些分立器件组成。该系统电路如图2所示。其中W78E58B是Winbond公司的微处理器,电磁炉VFD具有4个栅极?Pin4~Pin7?和16?Pin9~Pin24?个阳极。W78E58B和TP6312F采用三线制接法,W78E58B的P1.0和CS相连,P1.1和CLK相连,P1.2则和DI、DO相连。因DO口为N沟道开漏输出,故需接上拉电阻R7以形成数字电平信号。TP6312F内置OSC,其振荡频率由R1决定,R1的典型值为56kΩ。
2.2 键盘电路
键盘电路共有11个键。图中键盘电路的D2、D4采用的是1N4148, 可用于隔离阳极驱动电压。TP6312F内嵌硬件键扫描电路,并在Sj/Kj(j=0~5)线输出键扫描信号,Ki(i=0~3) 线接收键值(在显示周期的末端锁存至内部RAM),因此,由Ki(i=0~3)和Sj/Kj(j=0~5)可以构成4×6键盘矩阵。该系统中,矩阵键盘用2×4键组成时,S0/K0、S1/K1线作为输出键扫描信号,Ki(i=0~3)线用于接收键值。根据电路图的接法,若有键按下,键码内部RAM的相应位置1。其余3个键由SWn(n=0~3)线组成。SWn(n=0~3)为4位开关输入端,设计者可根据需要自行定义。这里用其中的三位(SW0,SW1,SW3)来作为按键输入,根据电路图中的接法,开关量输入内部 RAM的相应位应置0。
2.3 显示电路
TP6312F采用负压输出,阳极(Anode pin)在逻辑0时输出负压,在逻辑1时输出电平为0伏。为驱动VFD,需下拉灯丝绕组中心抽头的电位。图2中稳压管WD1的稳压值由VFD的截止电压来决定。动态扫描显示由TP6312F内部电路自动完成,位线引脚(对应于VFD的栅极,Gird Pin)循环输出栅扫信号,段线(对应于VFD的阳极,Anode Pin)引脚则输出与内部显示RAM 区相对应的显示信号。图2中电路的接法将影响到软件的编制。由于TP6312F的位线?G5、G4、G3、G2?分别连接到VFD的栅极?G1、G2、G3、G4?,因而在设置显示存储器地址命令时要特别注意,显示存储器的初始地址要设置为“04H”。如果点亮哪一段,相应的显示RAM的相应位要置1;TP6312F的段线和VFD的阳极不是顺次一一对应连接,而是逆序对应的,即TP6312F的段线最高(低)位应接到VFD的阳极最低(高)位。这主要是基于提高系统抗干扰性能方面的考虑,因为印制电路板要制成单面板,因而连接做了这样的改动。在软件编制时,对于数字字符和一些简单字母字符的显示,七段码一般不考虑这种接法,只需按照VFD的阳极来编制,并在送入显示RAM时将七段码循环移位操作即可;而对于图形显示,则应将编码表按电路实际编码来进行连接。
TP6312F有四个LED输出口(LEDn,n=0~3),本系统只用其中一个(LED0)作为电源开关指示灯。当向LED驱动锁存器的某一位写0时,被该位驱动的LED就点亮,写1时被该位驱动的LED熄灭。
2.4 灯丝和驱动电路工作电源
VFD灯丝在工作时只有产生近600度的高温,才能有游离电子出现。所以灯丝有交流驱动和直流驱动两种工作方式。其中交流驱动有两种接法,一是灯丝的单侧接地,另一种是灯丝变压器的中心抽头接地, 推荐使用中心抽头接地方式。对于有中心抽头的脉冲变压器,在选择 DC-DC 变换器时,要注意不能有极端的直流成分、可闻频率成分或尖峰脉冲,而且有效值要与标准值一致,振荡频率应在30kHz 以上;而对于直流驱动,由于灯丝加热的直流电压在灯丝上会有一个电位分布,这样,两灯丝将会存在不平衡的高低梯度。为了获得均匀的亮度,必须对荧光显示屏栅极和灯丝间的实际距离进行设计补偿。 鉴于设计补偿的范围有限,且直流灯丝的构造设计一般只限于灯丝较短的荧光显示屏。因此,这里推荐使用带中心抽头的灯丝变压器交流驱动工作方式。
电磁炉VFD采用的灯丝电压(Filament Voltage)比较低(最大为2.31Vac,典型为2.1Vac,最小为1.89Vac),图2中J1插头的5脚是灯丝EF2,4脚是中心抽头,3脚是灯丝EF1,中心抽头是平衡电位,用于使VFD显示亮度均匀。
驱动电路的工作电源可由变压器输出(J1的1脚是交流21Vac输入),经D3整流滤波后供给驱动电路。
3 系统软件设计
基于TP6312F控制/驱动芯片的VFD显示和键盘电路在硬件上十分简单,但软件编制比较烦杂。系统软件可在C语言环境下完成。程序开始时最重要的是对TP6312F的初始化,这部分工作可由子程序VFDInit()完成,其流程如图3所示。
此种类型的电磁炉具有煎炒、油炸、烧水、煮饭、煲汤、火锅、铁板烧7项功能。另外还有钟控、遥控、时间设置、定时、开机关机、火力、功率、温度调节以及检测与控制部分的通讯状态等功能。限于篇幅,本文只给出与TP6312F相关的VFD显示、键盘扫描以及LED显示等软件流程图。这些功能都可在main.c程序模块中完成,其流程图如图4所示。VFD显示由vfd_display()子函数完成,vfd_display()子函数中包含数制的转化、查表以及对送入VFD显示的RAM数据进行特殊处理;键盘扫描程序由set_key_value()子函数完成,set_key_value()子函数包括两个部分,一是对TP6312F的 SW开关量的查键,即由read_tp6312_sw()子函数读TP6312F的开关量输入锁存器;二是对TP6312F键盘矩阵的查键,即由tp6312_read_key()子函数读TP6312F的键值数据RAM;LED指示灯程序由tp6312_led??子函数完成。各子函数中都包含对TP6312的读、写子程序。对于VFD要显示的数字或字符,设计时不用对每一段都进行编码,而采用查七段码表和字符码的方法,由于电路的特殊接法,只需将查到的七段码做移位操作即可得到正确的显示;而对于VFD图形显示,则要对每一段所对应的阳极进行单独编码。这样有利于灵活编程,也可以减少程序代码的长度。对于set_key_value()、vfd_display()、tp6312_led()三个子函数(包括对TP6312F的基本的读、写操作),图5给出了读(read_tp6312())、写(write_tp6312())和读键值(read_tp6312_sw()、tp6312_read_key())的流程图。注意:图5中(c)、(d)两图中的延时不可过长,延时太长会影响按键扫描和显示刷新。
4 结束语
TP6312F和VFD显示屏组成的显示子系统具有集成度高、抗干扰性能好、与微处理器接口简单,可节省硬件资源等优点。从成本角度考虑,以TP6312F和VFD显示屏组成的显示子系统是电磁炉显示电路的理想选择。