关键词:VFD,DVD,前面板
1 引 言
前面板(也称控制面板)是DVD整机的一个重要部件,用户的所有 *** 作命令(遥控命令、按键命令)都要通过它传到解码板进行处理。此外DVD整机在播放过程中有许多信息要通过前面板上的真空荧光显示器VFD(Vacumm Fluorescent Display)显示出来,以方便用户使用。uPD16311是一种VFD控制与驱动芯片,它具有集成度高、外围电路简单、功能强等优点,用它可组成DVD视盘机的前面板控制电路。本文将对uPD16311的性能特点、编程方法及其在DVD视盘机中的应用作较详细的论述。
2 uPD16311的性能特点与控制命令
2.1 uPD16311的性能特点
uPD16311是日本NEC公司生产的VFD控制与驱动集成电路。它具有12个段位输出引脚S1-S12(15-26脚),8个栅极输出引脚G1-G8(44-37脚),8个段位/栅极两用输出引脚(27-32、35和36脚)。其内部包括:一个显示存储器、一个控制电路和一个按键扫描电路。显示存储器是用来存放显示数据的,它由48个8bit的存储单元组成,每个单元都有一个地址(00H-2FH)。uPD16311通过三根引线与CPU进行通讯。uPD16311的主要性能特点如下:
·具有多种显示模式,其显示模式可在8字×20段到16字×12段的范围内选择;
·具有按键扫描的功能,按键矩阵为12×4;
·显示亮度可调,共有8个亮度等级;
·具有高电压输出;
·具有一个4位通用输入口和一个5通道的LED输出口;
·输出端口不需要额外的上拉或下拉电阻。
uPD16311是一个可编程器件,它的任何一种功能需要对其编程后才能实现。因此,如何对其编程便成了应用的关键。为实现对uPD16311的正确编程,必须先了解它的控制命令。
2.2 uPD16311的控制命令
uPD16311有四条控制命令:显示模式命令、数据设置命令、地址设置命令和显示控制命令。显示模式命令用来设置uPD16311的显示模式。其命令代码为08H、09H,...0FH。依次表示9字×19段模式、10字×18段模式、...16字×12段模式。命令代码小于08H,则表示8字×20段模式。执行该命令时,显示会被强行关闭。要想恢复显示,必须执行一次显示控制命令,将显示打开。
数字设置命令用来设置数据写入与读出的方式。命令代码同样也是一字节(8位)。b0、b1两位用来设置数据的传输方向。在向显示存储器写数据或读键盘状态时,b0、b1两位分别设为“00”和“10”。b2位用来设置数据传输方式。当b2置为1时,数据被写入某一显示存储单元中,其地址由地址设置命令来设置,写入数据后,地址不变化。当b2置为0时,数据以地址递增的方式进行传输,即数据写入某一数据存储单元后,其地址自动加1,这意味着在这种方式下可以向显示存储器的某一存储单元连续写入数据。b3位用来设置测试方式。当b3位置为1时,芯片工作在测试方式;当b3位置为0时,芯片工作在正常工作方式。b6位固定为1。这样,以地址递增方式向显示存储器写数据或读键盘的命令代码为40H、42H。
地址设置命令用来设置要写入数据的存储单元地址,其命令代码为0C0H-0EFH,依次表示00H-2FH范围内的存储单元地址。当写入地址超出这一范围时,数据将不被写入。
显示控制命令用来控制显示的开与关以及显示亮度,命令代码为一字节。b3位用来控制显示的开与关。当b3置为1时,显示被打开;当b3置为0时,显示被关闭。b0、b1、b2三位用来控制栅极脉冲宽度。uPD16311通过对栅极脉冲宽度的控制实现对显示亮度的控制。b0、b1、b2三位从“000”到“111”,亮度依次递增。B7位固定为1。如高亮度打开显示,命令代码为87H。
在芯片刚接通电源时,芯片处于正常工作方式且数据以地址递增方式传输,显示处于关状态,显示模式的缺省设置为16字×12段模式,地址的缺省设置为00H。
3 uPD16311在DVD前面板中的应用
前面板作为DVD整机的一个重要部件,其主要功能是:捕获用户遥控命令;捕获用户按键命令;与解码板进行通讯;显示DVD工作状态。其中,与uPD16311有关的是捕获用户按键命令和显示DVD工作状态。
3.1 前面板电路组成
如图1所示,前面板主要是由89C51、uPD16311、VFD显示器件和少量的分立元件组成。其中,89C51是ATMEL公司的微处理器。图1中画出了89C51与uPD16311控制有关的三个引脚P3.3、P3.4和P3.5。P3.3作为uPD16311的片选信号,P3.4作为时钟信号,P3.5是数据输入输出脚。89C51通过P3.5脚向uPD16311写入命令和数据,或从uPD16311读出数据(主要是按键键位信号)。数据的写入和读出是由时钟信号控制的;VFD显示器件采用FUTABA的荧光显示管13-BIT-155Gk。它具有13个栅极和15个段,共有54个引脚。其中,18-35脚未用。1-2、53-54脚是灯丝电源引脚。5-17脚(G13-G1)是13个栅极输出引脚,36-50脚(P15-P1)是15个段位引脚。该VFD带有10位“米8字”和3位特殊功能字,每个字由15位(两个字节)显示代码控制(这两个字节的显示代码必须按照FUTABA提供的资料事先进行正确的编码)。通过编程,能够清楚显示DVD的工作状态,如有盘、无盘显示,盘旋转、盘静止显示,盘片是DVD、还是VCD、还是CD显示,双声道或5.1声道显示,暂停、播放、快进/退显示,时间显示等等。由于采用的VFD显示器件是13字×15段类型的,所以硬件接线上,uPD16311的27-29脚要作为段使用(S13-S15),36、35和32-30脚要作为栅极使用(G9-G13)。整个电路接线简单。
3.2 uPD16311的控制时序
uPD16311是通过一个串行口与CPU及其它器件进行通讯的。图1中,只有当STB为低电平时,uPD16311方可从Din上读取数据,而且数据读取是在CLK的上升沿到来时进行的。uPD16311的控制命令必须在STB刚由高电平变为低电平时传输。只有在给uPD16311传输完一条命令后,方可向uPD16311的显示存储器写入数据,对uPD16311的编程实际上就是根据系统的需要,正确地向uPD16311写入命令和显示数据并读出键盘代码,也就是需要从uPD16311的Din和Dout口写入和读出数据。
3.3 uPD16311控制软件要点
程序首先必须进行初始化,在初始化过程中除了要完成对89C51相应I/O口的设置,以及为程序中使用的一些变量设置初始值外,还包括对uPD16311进行初始化设置。uPD16311初始化设置主要包括设定VFD显示模式、清零显示存储区单·84·元以及打开显示控制并设置合适的扫描脉冲宽度等。初始化中,将uPD16311编程接成13个栅极、15个段位的方式(与上述VFD适配),存储器地址00H、01H对应第一个显示数字的低位和高位,03H、04H对应第二个显示数字的低位和高位,…,24H、25H对应第十三个显示数字的低位和高位。初始化完uPD16311后,程序必须实时显示DVD工作状态,捕获用户按键命令。而这些也是通过对uPD16311编程来实现的。
具体编程时,先写命令字(初始化时),或先写命令字,再写地址,再写数据。这里给出两段关键程序:一段程序为WRITEBYTE,负责将数据写入uPD16311;一段程序为READBYTE,负责从uPD16311读出数据。程序使用的语言是89C51的汇编语言。
RET
这两段程序在uPD16311的编程中非常重要。如初始化uPD16311为13个栅极、15个段位的显示模式时,命令码为#0CH。程序代码为:
在时钟作用下,从低位到高位一位一位地将数据写到uPD16311。又如将显示存储区地址00H清零,命令代码为#40H,地址代码为#0C0H,数据代码为#00H,先选通uPD16311,然后将这三个代码分别送给累加器A,连续调用3次WRITEBYTE即可。
前面板按键位置码可以通过程序READBYTE从uPD16311一位一位地读出。例如,读取48个按键位置码(前面板实际按键比这少),并存储在89C51的存储单元#2CH-#31H内,程序如下:
按键位置码将在89C51内作进一步处理。
目前,UPD16311已成功应用于DVD前面板控制电路中。实践证明,uPD16311具有功能强、可靠性高等优点,能够满足DVD前面板控制的要求。
参考文献
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)