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碟片,所以播放這些種類碟片時(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類型的,所以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ī)則的數(shù)據(jù)。
在模塊zdisp.c中,定義數(shù)組vfd_disp_buf[ ]用來(lái)存放處理好的數(shù)據(jù),該數(shù)組與uPD16312中的顯示存儲(chǔ)器一一對(duì)應(yīng)。子程序vdsp_req_disc( )主要完成的工作是對(duì)碟片種類顯示信息進(jìn)行處理。由于VFD顯示器件上各種字符的編碼規(guī)則不同,對(duì)各種顯示信息的處理方式也有所不同。有些信息的處理是對(duì)vfd_disp_buf[ ]數(shù)組中相應(yīng)某一元素的某一位置位,如對(duì)“VCD”、“DVD”等信息的處理就是這樣;有些信息,如“cd”、“NO DISC″等信息,則要按照VFD顯示器件字符編碼規(guī)則的要求進(jìn)行編碼,將得到的一組代碼存入數(shù)組vfd_disp_buf[ ]中相應(yīng)的元素中。子程序vdisp_req_disc( )的流程圖如圖12所示。
處理好的信息存入vfd_disp_buf[ ]后,接下來(lái)的工作就是把數(shù)組vfd_disp_buf[ ]中的數(shù)據(jù)傳送到uPD16312的顯示存儲(chǔ)器中去。這部分工作是由模塊pda_vfd.c完成的,其程序流程圖如圖13所示。圖13中,子程序vfd_byte_set( )的作用是按照uPD16312串行口的時(shí)序向uPD16312顯示存儲(chǔ)器中傳輸一個(gè)8位的顯示數(shù)據(jù)或命令,其流程圖如圖14 所示。圖14中,data中存放要傳輸?shù)?位數(shù)據(jù)或命令。利用子程序vfd_byte_set( )可及時(shí)地刷新uPD16312顯示存儲(chǔ)器中所用到的各個(gè)顯示單元,從而使VFD顯示出正確的信息。
目前,本公司研制開(kāi)發(fā)的DP2000型DVD視盤(pán)機(jī)中已采用了uPD16312作為其VFD顯示電路的核心芯片。該機(jī)型已批量投產(chǎn),并已在公司內(nèi)通過(guò)高低溫老化試驗(yàn)、安全試驗(yàn)及電磁兼容測(cè)試。這充分證明了 uPD16312是一種可靠性高、實(shí)用性好的集成電路,完全能滿足DVD視盤(pán)機(jī)對(duì)VFD顯示驅(qū)動(dòng)控制芯片的要求。