新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

基于32位微處理器的液晶顯示系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
近年來隨著低成本高性能32位微處理器的出現(xiàn),越來越多的工程設(shè)計(jì)人員把目光投向32位嵌入式產(chǎn)品的開發(fā)中。目前ARM系列32位微處理器在低功耗移動通信設(shè)備方面占有絕對優(yōu)勢;Motorola的MC683xx系列和Cold Fire系列主要用于工控、智能化儀表和汽車電子等領(lǐng)域;SoC技術(shù)是系統(tǒng)開發(fā)越來越傾向于32位CPU為核心,32位微處理器日益顯示出其巨大的優(yōu)越性。顯示器件是嵌入式系統(tǒng)進(jìn)行人機(jī)交互的重要設(shè)備,液晶顯示器具有體積小、微功耗、低輻射、性能可靠等優(yōu)點(diǎn),已經(jīng)成為工程技術(shù)人員進(jìn)行系統(tǒng)設(shè)計(jì)的首選。但目前常用的多種液晶顯示控制器還僅是基于8 位總線并且管理顯示存儲器空間較小,在系統(tǒng)有大量高速實(shí)時數(shù)據(jù)的情況下就有些吃力,“顯示瓶頸”有待解決。對此本文提出了一種基于16位總線的大規(guī)模點(diǎn)陣圖形液晶顯示控制器SED1353和32位微處理器相結(jié)合的液晶顯示系統(tǒng),有效地解決上述問題。

SED1353圖形液晶顯示控制器簡介及其接口原理

SED1353圖形液晶顯示控制器作為計(jì)算機(jī)系統(tǒng)控制液晶顯示模塊的專用芯片,具有8 位/16位計(jì)算機(jī)總線接口;內(nèi)置調(diào)色板,最大支持256種色彩或16級灰度的液晶顯示屏;具有管理128KB顯示存儲器空間的能力,可支持最大分辨率為1024×1024點(diǎn)陣液晶顯示模塊,提供了比較寬的應(yīng)用領(lǐng)域。

SED1353是一種可以由微處理器管理顯示存儲器的液晶顯示控制芯片,即微處理器可以采用訪問外部存儲器的方法直接對顯示存儲器和它的16個內(nèi)部寄存器進(jìn)行設(shè)置讀取。相比由控制器管理顯示存儲器方式的液晶顯示控制器(典型芯片如SED1335),SED1353的優(yōu)點(diǎn)是顯而易見的,它不需要反復(fù)寫指令再寫數(shù)據(jù)完成對顯示存儲器和內(nèi)部寄存器的管理,控制效率大為提高。由于要分配一定地址空間給顯示存儲器,SED1353控制器的缺點(diǎn)是占系統(tǒng)資源比較多。微處理器在訪問SED1353的內(nèi)部寄存器時,地址總線分為三部分:A15~A10組合作為寄存器片選信號I/OCS;A9~A4作為基地址且需要與上電時的VD12~VD7 比較,相等才進(jìn)行內(nèi)部譯碼選通寄存器;A3~A0作為16個寄存器AUX[0~F]的地址。微處理器訪問顯示存儲器時,地址總線分為兩部分:A19~A17高位地址對應(yīng)顯示存儲器的128KB地址空間,與VD15~VD13設(shè)置相等才內(nèi)部譯碼選通顯示存儲器;A16等地址線組合作為顯示存儲器片選信號MEMCS# ,以對顯示存儲器單元進(jìn)行操作。

硬件系統(tǒng)設(shè)計(jì)

MC68332與SED1353的接口電路設(shè)計(jì)

MC68332通過地址總線、數(shù)據(jù)總線,CS8片選信號、數(shù)據(jù)傳輸寬度信號SIZ0、A0及讀寫控制R/W,外圍器件接口應(yīng)答信號DSACK1,同SED1353進(jìn)行異步數(shù)據(jù)傳送。SED1353的I/O地址空間分配為$200000~$23FFFF。其中SED1353的16個8位寄存器地址為$200000~$20000F ;顯示存儲器占用128KB地址空間,即$220000~$23FFFF。CS8允許的地址空間塊大小設(shè)置為256KB,起始地址$200000。DSACD1指明外部外圍器件寬度為16位;可訪問管理/用戶級空間;允許進(jìn)行讀寫訪問。故CS 8基址寄存器和選擇寄存器編程為:CSBAR8=$2005;CSOR8=$7BF0。MC68332與SED1353的接口電路如圖1 所示。圖1 還給出了SED1353與液晶屏LM64P83L的接口電路。SED1353通過顯示存儲器的數(shù)據(jù)總線VD15~VD0的復(fù)位上電設(shè)置自己的I/O地址。設(shè)數(shù)值1表示該端接一個10kΩ電阻上拉至高電平,0表示不接上拉電阻,x表示任意。故設(shè)置VD15~VD13=001;VD12~VD4=000000xxx;其中VD3~VD0=1,表示16位數(shù)據(jù)總線、直接訪問方式、M68000時序及總線高低字節(jié)交換。



地址譯碼GAL的設(shè)計(jì)

當(dāng)MC68332的字或長字?jǐn)?shù)據(jù)傳送到SED1353的I/O偶數(shù)地址(受對準(zhǔn)限制)時,需要使BHE# 、AB0/UDS#同時低電平有效。單字節(jié)傳輸雖然不受對準(zhǔn)限制,但單字節(jié)數(shù)據(jù)傳送到SED1353的I/O奇數(shù)地址時(如訪問SED1353內(nèi)部8 位寄存器) ,需要使SED1353的BHE#低電平有效,AB0/UDS#高電平無效;此外,MC68332設(shè)置定義的CS8定義的地址空間包括了內(nèi)部寄存器和顯示存儲器的地址空間,此時還不能將各自的片選信號分開。因此可通過可編程邏輯器件來解決這一問題,GAL將依據(jù)下列等式編程:

IOCS#=!(!CS 8 &!A17 &!A16 &!A15 &!A14 &!A13&!A12&!A11 &!A10)
MEMCS#=CS8
BHE#=SIZ0&!A0

軟件設(shè)計(jì)

MC68332的硬件初始化程序設(shè)計(jì)

MC68332的復(fù)位向量和初始化程序駐留在ROM中,在系統(tǒng)復(fù)位后MC68332從異常情況向量表中取出向量后在管理方式下執(zhí)行初始化程序來定義相關(guān)地址、常數(shù)及其他參數(shù)。首先進(jìn)行硬件初始化,依次初始化全局寄存器、各模塊和外部設(shè)備等。MC68332地址空間的分配如下:尋址空間的$000000~$0FFFFF分配為ROM存儲區(qū),$100000~$13FFFF為SRAM 存儲區(qū),$200000~$23FFFF為顯示存儲區(qū),$240000~$FFDFFF分配給其他外設(shè)(如串行通信模塊的MC68HC681等) 。通過設(shè)備BAR 寄存器,把片上RAM 定位在$FFE000~$FFE7FF。通過設(shè)置SIM 模塊的MCR 寄存器,把$FFF000~$FFFFFF存儲區(qū)作為模塊寄存器區(qū)。硬件初始化完成后,MC68332通過設(shè)置用戶堆棧指針地址USP、狀態(tài)寄存器SR 以及程序計(jì)數(shù)器PC將控制權(quán)交給應(yīng)用程序。應(yīng)用程序一般工作在用戶方式下。本文中液晶顯示系統(tǒng)使用的液晶屏為SHARP公司的LM64P83L,STN單色雙屏結(jié)構(gòu)640×480點(diǎn)陣。限于篇幅,只列出SED1353硬件初始化程序清單。

上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉