• uPD16312在DVD視盤(pán)機(jī)VFD顯示電路中的應(yīng)用———uPD16312在DVD視盤(pán)機(jī)VFD顯示電路中的應(yīng)用

    DVD視盤(pán)機(jī)是繼VCD視盤(pán)機(jī)后又一個(gè)數(shù)字化產(chǎn)品。由于它具有高畫(huà)質(zhì)、高音效、多功能等優(yōu)點(diǎn),越來(lái)越受到廣大消費(fèi)者的歡迎。DVD視盤(pán)機(jī)在使用過(guò)程中有許多信息要通過(guò)前面板上的VFD(Vacuum Fluorescent Display)顯示出來(lái),以方便用戶的使用。與VCD相比,DVD具有更多的功能選項(xiàng),這使得播放DVD碟片時(shí)比播放VCD碟片時(shí)顯示的信息更豐富。而且目前的DVD視盤(pán)機(jī)一般都要求能兼容播放VCD、SVCD、CD碟片,所以播放這些種類(lèi)碟片時(shí)要顯示的信息,DVD視盤(pán)機(jī)必須同樣能顯示出來(lái),這些都對(duì)DVD視盤(pán)機(jī)的VFD顯示功能提出了更高的要求。uPD16312是一種VFD控制與驅(qū)動(dòng)芯片,它具有集成度高、外圍電路簡(jiǎn)單、功能強(qiáng)等優(yōu)點(diǎn),用它可組成DVD視盤(pán)機(jī)的VFD顯示電路。本文將對(duì)uPD16312的功能結(jié)構(gòu)、編程方法及其在DVD視盤(pán)機(jī)中的應(yīng)用做詳細(xì)的論述。

    1 uPD16312的組成和性能特點(diǎn)
      uPD16312是日本NEC公司生產(chǎn)的VFD控制與驅(qū)動(dòng)集成電路,主要用來(lái)完成對(duì)VFD器件的驅(qū)動(dòng)與控制。它具有11個(gè)段位輸出引腳,6個(gè)柵極輸出引腳,5個(gè)段位/柵極兩用輸出引腳。其內(nèi)部包括:一個(gè)顯示存儲(chǔ)器、一個(gè)控制電路和一個(gè)按鍵掃描電路。它通過(guò)一個(gè)由三根引線組成的串行接口與CPU或其它器件進(jìn)行通訊。其方框圖如圖1所示。

    圖1中的顯示存儲(chǔ)器是用來(lái)存放顯示數(shù)據(jù)的。它由22個(gè)8bit的存儲(chǔ)單元組成,每個(gè)單元都有一個(gè)地址,其結(jié)構(gòu)如圖2所示。由圖2我們可以看到,偶數(shù)地址的存儲(chǔ)單元(如0x00單元)的每一位與Seg1~Seg8段引腳一一對(duì)應(yīng),奇數(shù)地址的存儲(chǔ)單元(如0x01 單元)的每一位與Seg9~Seg16 段引腳一一對(duì)應(yīng)。每?jī)蓚€(gè)相鄰的存儲(chǔ)單元構(gòu)成一個(gè)顯示字,這些顯示字與柵極引腳一一對(duì)應(yīng)。當(dāng)某一柵級(jí)引腳被置為高電平時(shí),存儲(chǔ)在與之相對(duì)應(yīng)的顯示字中的顯示內(nèi)容就被顯示出來(lái)。由于某一時(shí)刻uPD16312 只能輸出一個(gè)顯示字,所以要想使所有的顯示字都顯示出來(lái),就必須采用時(shí)分復(fù)用的辦法,其時(shí)序圖如圖3所示。

    uPD16312的主要性能特點(diǎn)如下:
      (1)具有多種顯示模式,其顯示模式可在11段×11字到16段×4字的范圍內(nèi)選擇。
      (2)具有按鍵掃描的功能,按鍵矩陣為6×4。
      (3)顯示亮度可調(diào),共有8個(gè)亮度級(jí)。
      (4)具有高電壓輸出。
      (5)具有一個(gè)4bit通用輸入口和一個(gè)4通道LED輸出口。
      (6) 輸出端口不需要額外的上拉或下拉電阻。
      值得一提的是,uPD16312除了可完成對(duì)VFD器件的驅(qū)動(dòng)與控制外,還具有鍵盤(pán)掃描等功能,而這些已超出了本文的討論范圍,在本文中將不做論述。
      uPD16312是一個(gè)可編程器件。它的任何一種功能都需要對(duì)其編程后才能實(shí)現(xiàn)。由于uPD16312的外圍電路較簡(jiǎn)單,因此如何對(duì)其編程成了應(yīng)用的關(guān)鍵。要想對(duì)uPD16312正確編程,就必須了解它的控制命令以及向它傳送數(shù)據(jù)與命令的時(shí)序。

    2 uPD16312的控制命令與串行口時(shí)序
    2.1 uPD16312的控制命令
      uPD16312有四條控制命令,它們是顯示模式命令、數(shù)據(jù)設(shè)置命令、地址設(shè)置命令和顯示控制命令。
      顯示模式命令用來(lái)設(shè)置uPD16312的顯示模式。其命令的格式如圖4所示。圖4中,“-”表示該位可設(shè)置為任意值;b0、b1、b2的不同組合決定了所選的顯示模式,如表1所示。在芯片剛接通電源時(shí),顯示模式的缺省設(shè)置為11字×11段模式。執(zhí)行該命令時(shí)顯示會(huì)被強(qiáng)行關(guān)閉。要想恢復(fù)顯示,必須執(zhí)行一次顯示控制命令,將顯示打開(kāi)。

    數(shù)據(jù)設(shè)置命令用來(lái)設(shè)置數(shù)據(jù)寫(xiě)入與讀出的方式。其格式如圖5所示。圖5中,b0、b1兩位用來(lái)設(shè)置數(shù)據(jù)的傳輸方向。在向顯示存儲(chǔ)器寫(xiě)數(shù)據(jù)時(shí),b0、b1應(yīng)設(shè)為“00”。b2位用來(lái)設(shè)置數(shù)據(jù)傳輸方式。當(dāng)b2置為1時(shí),數(shù)據(jù)被寫(xiě)入某一顯示存儲(chǔ)單元中,其地址由地址設(shè)置命令來(lái)設(shè)置,寫(xiě)入數(shù)據(jù)后,地址不變化。當(dāng)b2設(shè)置為0時(shí),數(shù)據(jù)以地址增量的方式進(jìn)行傳輸,即數(shù)據(jù)寫(xiě)入顯示存儲(chǔ)器的某一存儲(chǔ)單元后,其地址自動(dòng)加1,這意味著在這種方式下可以向顯示存儲(chǔ)器的某一存儲(chǔ)單元段連續(xù)寫(xiě)入數(shù)據(jù)。b3位用來(lái)設(shè)置測(cè)試方式。當(dāng)b3置為1時(shí),芯片工作在測(cè)試方式,當(dāng)b3置為0時(shí),芯片處于正常工作方式。在芯片剛接通電源時(shí),芯片處于正常工作方式且數(shù)據(jù)以地址增量方式傳輸。
      地址設(shè)置命令用來(lái)設(shè)置要寫(xiě)入數(shù)據(jù)的存儲(chǔ)單元地址,其命令格式如圖6所示。圖6中,b0、b1、b2、b3、b4五位用來(lái)設(shè)置存儲(chǔ)單元地址,其范圍為0x00H~0x15H。當(dāng)寫(xiě)入地址超出這一范圍時(shí),數(shù)據(jù)將不被寫(xiě)入。在芯片剛接通電源時(shí),地址的缺省設(shè)置為0x00H。
      顯示控制命令用來(lái)控制顯示的開(kāi)與關(guān)以及顯示亮度,其命令格式如圖7所示。圖7中,b3位用來(lái)控制顯示的開(kāi)與關(guān)。當(dāng)b3置為0時(shí),顯示被關(guān)閉;當(dāng)b3置為1時(shí),顯示被打開(kāi)。b0、b1、b2三位用來(lái)控制柵極脈沖寬度,如表2所示。uPD16312通過(guò)對(duì)柵極脈沖寬度的控制實(shí)現(xiàn)對(duì)顯示亮度的控制。當(dāng)芯片剛接通電源時(shí),顯示處于關(guān)狀態(tài),柵極脈沖寬度為T(mén)DISP。

    2.2串行接口的時(shí)序
      uPD16312是通過(guò)一個(gè)串行接口與CPU及其它器件進(jìn)行通訊的,其串行接口的時(shí)序如圖8所示。圖8中,只有當(dāng)STB為低電平時(shí),uPD16312方可從Din上讀取數(shù)據(jù),而且數(shù)據(jù)讀取是在CLK信號(hào)上升沿到來(lái)時(shí)進(jìn)行的。uPD16312的控制命令必須在STB剛由高電平變?yōu)榈碗娖綍r(shí)傳輸。只有在給uPD16312傳輸完一條命令后,方可向uPD16312的顯示存儲(chǔ)器寫(xiě)入數(shù)據(jù),對(duì)uPD16312的編程實(shí)際上就是指根據(jù)系統(tǒng)的需要正確地向uPD16312寫(xiě)入命令和顯示數(shù)據(jù)。

    3 uPD16312在VFD顯示系統(tǒng)中的應(yīng)用
    3.1系統(tǒng)的組成
      在我們所開(kāi)發(fā)的DVD視盤(pán)機(jī)中,VFD系統(tǒng)主要由SH7043、uPD16312、VFD顯示器件及少量的分立器件組成,其系統(tǒng)框圖如圖9所示。其中SH7043是日立公司的微處理器。由于SH7043中沒(méi)有與uPD16312相匹配的串行接口,所以將其端口D中的PD29、PD30、PD31引腳作為與uPD16312 進(jìn)行通訊的端口,用來(lái)傳送指令和數(shù)據(jù)。其中PD29與uPD16312的STB引腳相連,PD30與uPD16312的DIN引腳相連,PD31與uPD16312的CLK引腳相連。在本系統(tǒng)中,VFD顯示器件采用FUTABA的熒光顯示管。它具有6個(gè)柵極和16個(gè)陽(yáng)極,顯示的字符共有三種顏色,可顯示的內(nèi)容十分豐富,完全能滿足DVD視盤(pán)機(jī)對(duì)VFD顯示的要求。由于所采用的VFD顯示器件是6Grid×16Anode類(lèi)型的,所以u(píng)PD16312在具體應(yīng)用時(shí),要設(shè)置成6字×16段模式。這時(shí),uPD16312的Pin28~Pin31、Pin26要做為柵極引腳使用。整個(gè)系統(tǒng)的硬件電路較為簡(jiǎn)單,其軟件編程相對(duì)復(fù)雜一些。

    3.2 VFD顯示程序的編制
      我們開(kāi)發(fā)的DVD控制軟件是在SH7043專用開(kāi)發(fā)環(huán)境下編制的。VFD顯示功能主要由zdisp.c和pda_vfd.c模塊完成。程序運(yùn)行時(shí)首先進(jìn)行初始化,在初始化過(guò)程中要完成對(duì)SH7043相應(yīng)I/O端口D設(shè)置,以及為程序中使用的一些變量設(shè)置初始值,其中最重要的一項(xiàng)工作是對(duì)uPD16312進(jìn)行初始化設(shè)置,這部分工作由模塊pda_vfd.c中的子程序vfd_init()完成,其程序流程圖如圖10所示。初始化完成后,zdisp.c任務(wù)模塊和pda_vfd.c任務(wù)模塊均處在等待接收“event”狀態(tài)。系統(tǒng)其它模塊如果有信息要顯示,就向zdisp.c模塊發(fā)送相應(yīng)的“event”。zdisp.c模塊接到系統(tǒng)其它模塊發(fā)給它的“event”后,就對(duì)要顯示的信息進(jìn)行分析處理,得到一組符合VFD顯示器件字符編碼要求的數(shù)據(jù),然后向pda_vfd.c模塊發(fā)出“event ”。模塊pda_vfd.c接到zdisp.c發(fā)給它的“event”后,就通過(guò)由PD29、PD30、PD31三引腳組成的串行口將指令和數(shù)據(jù)寫(xiě)入到uPD16312中去,驅(qū)動(dòng)VFD顯示器件顯示出正確的信息。
      從上述工作過(guò)程可以看出,模塊zdisp.c主要是將要顯示的信息處理成符合VFD顯示器件字符編碼規(guī)則的一組數(shù)據(jù)。在模塊zdisp.c中完成這一功能的子程序是vdsp_req(),其流程圖如圖11所示。由圖11可知,需要VFD顯示的信息可分為6種,這6種信息分別由6個(gè)子程序進(jìn)行處理。下面以子程序vdsp_req_disc()為例說(shuō)明如何將要顯示的信息轉(zhuǎn)換成符合VFD顯示器件字符編碼規(guī)<

     
     
    網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點(diǎn)導(dǎo)航