數(shù)據(jù)信號(hào)的電平轉(zhuǎn)換類似于控制信號(hào)的電平轉(zhuǎn)換。74LVXC4245是雙向電平轉(zhuǎn)換芯片,圖5中的LCD_DIR信號(hào)由SEP3203的GPIO產(chǎn)生,用于控制74LVXC4245電平轉(zhuǎn)換方向的信號(hào)。當(dāng)LCD_DIR為低時(shí),信號(hào)由B端傳向A端,即由總線傳向S680724(寫(xiě)操作);當(dāng)LCD_DIR為高時(shí),信號(hào)由A端傳向B端,即由S680724傳向總線(讀操作)。信號(hào)LCD_DO~LCD_D7也需要上拉,防止當(dāng)74LVXC4245的輸出為高阻時(shí),外部噪聲在其輸出端產(chǎn)生錯(cuò)誤信號(hào)。
值得一提的是,S680724顯示控制器在PCB板上的位置靠近液晶屏,與SEP3203之間的距離很大。在PCB布局時(shí),需要注意電平轉(zhuǎn)換芯片的位置。因?yàn)槠洳坏须娖睫D(zhuǎn)換的作用,而且還能緩沖總線信號(hào),使總線和S680724顯示控制器隔離,避免總線過(guò)長(zhǎng)。電平轉(zhuǎn)換芯片的布置應(yīng)該盡量靠近總線,減小總線的長(zhǎng)度,從而避免產(chǎn)生由總線過(guò)長(zhǎng)造成的信號(hào)延時(shí)及噪聲干擾問(wèn)題。
雖然RST信號(hào)也是單向傳輸?shù)?但RST信號(hào)的電平轉(zhuǎn)換電路卻是單獨(dú)設(shè)計(jì)的。如果使用74HCT541完成電平轉(zhuǎn)換,會(huì)有兩個(gè)問(wèn)題:①當(dāng)LCD_nCSF失效時(shí)74HCT541不工作,此時(shí)LCD__RESET信號(hào)無(wú)法傳遞到RST端,RST端始終是高電平(被上拉至5 V),因此S689724無(wú)法被復(fù)位;②在74HCT541工作時(shí),因?yàn)長(zhǎng)CD_nCSF的脈沖寬度等于總線周期(最大值約為幾百ms).所以輸出的RST信號(hào)的最大脈沖寬度也等于總線周期;而S680724要求的RST信號(hào)最小脈沖寬度是1μs,所以用74HCT541無(wú)法產(chǎn)生正確的RST信號(hào),此時(shí)S68072同樣無(wú)法被復(fù)位。在圖5中,該信號(hào)的電平轉(zhuǎn)換電路是由晶體管和電阻構(gòu)成的!
3 驅(qū)動(dòng)程序
該部分軟件主要是依照S680724的初始化流程、命令參數(shù)列表及其他資料編寫(xiě)的。S680724的訪問(wèn)地址只有兩個(gè):一個(gè)是寄存器地址(通過(guò)寫(xiě)入不同的命令字來(lái)實(shí)現(xiàn)對(duì)S680724的控制);另一個(gè)是RAM端口(顯示數(shù)據(jù)由此寫(xiě)入)。
首先需要根據(jù)S6B0724的接口設(shè)計(jì)計(jì)算其各端口的訪問(wèn)地址。SEP3203的片選信號(hào)LCD_nCSF所對(duì)應(yīng)的基址是0x34000000。圖5中S680724_A、S680724_B的寄存器訪問(wèn)地址分別是0x340000100、0x34000020;RAM的訪問(wèn)地址分別是0x34000018、0x34000028。特別是在該接口設(shè)計(jì)允許SEP3203同時(shí)訪問(wèn)S680724_A和S680724_B,寄存器的訪問(wèn)地址為0x34000000,RAM的訪問(wèn)地址為0x34000008。在實(shí)際使用中。可以利用這個(gè)特點(diǎn)對(duì)兩個(gè)控制同時(shí)初始化,提高軟件效率。

S680724的初始化流程如圖6所示。先冷復(fù)位S680724,然后將74LVXC4245的電平轉(zhuǎn)換方向設(shè)置為從總線向數(shù)據(jù)線。通過(guò)寫(xiě)S680724的控制寄存器對(duì)S680724軟復(fù)位,然后選擇所用的顯示方式和掃描方向,再選擇背光亮度;通過(guò)寫(xiě)寄存器的方式打開(kāi)S680724內(nèi)部的電壓反轉(zhuǎn)器,等待10 ms后再打開(kāi)電壓生成器。延遲10 ms后,打開(kāi)電壓跟隨器,等所有電壓都穩(wěn)定后(約等待10 ms)再設(shè)定液晶屏的工作電壓,最后開(kāi)始顯示。圖像的顯示通過(guò)函數(shù)void Write_alILCD(void)來(lái)實(shí)現(xiàn)。其功能是將所要顯示的點(diǎn)陣數(shù)據(jù)送入2片S680724!
初始化程序如下:
void GPC)_init(void){
RESET_LCD();
//冷復(fù)位
*(RP)PORTB_SEL l=(1<<8);
//設(shè)定74LVXC4245的電平轉(zhuǎn)換方向
*(RP)PORTB_DATA 8L=~(1<<8);
*(RP)PORTB_DIR&=~(1<<8);
*(RPl6)ADDR_LCD_CMD=INTER_RESET;
//2片S6B0724B同時(shí)軟復(fù)位
1NIT_LCD(); //初始化S680724B
*(RPl6)ADDR_LCD_CMD=DISPLAY_ON;
//初始化完畢開(kāi)始顯示
Clear_LCD(); //清屏
}
4結(jié)論
該設(shè)計(jì)已在以SEP3203為核心的嵌入式系統(tǒng)中被實(shí)際應(yīng)用。采用S680724顯示控制器后,解決了SEP3203微處理器在工控應(yīng)用中使用液晶屏的問(wèn)題。使用1個(gè)片選信號(hào)實(shí)現(xiàn)了對(duì)2個(gè)顯示控制器的控制。2個(gè)以上顯示控制器的控制也可通過(guò)類似方法實(shí)現(xiàn)。該設(shè)計(jì)可以在金融收費(fèi)系統(tǒng)、稅務(wù)管理系統(tǒng)、電話終端等眾多系統(tǒng)中應(yīng)用。





