當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1 引言近年來隨著低成本高性能32位微處理器的出現(xiàn),越來越多的工程設(shè)計(jì)人員把目光投向32位嵌入式產(chǎn)品的開發(fā)中。目前arm系列32位微處理器在低功耗移動(dòng)通信設(shè)備方面占有絕對(duì)優(yōu)

1 引言

近年來隨著低成本高性能32位微處理器的出現(xiàn),越來越多的工程設(shè)計(jì)人員把目光投向32位嵌入式產(chǎn)品的開發(fā)中。目前arm系列32位微處理器在低功耗移動(dòng)通信設(shè)備方面占有絕對(duì)優(yōu)勢(shì);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位總線并且管理顯示存儲(chǔ)器空間較小,在系統(tǒng)有大量高速實(shí)時(shí)數(shù)據(jù)的情況下就有些吃力, “顯示瓶頸”有待解決。對(duì)此本文提出了一種基于16位總線的大規(guī)模點(diǎn)陣圖形液晶顯示控制器SED1353和32位微處理器相結(jié)合的液晶顯示系統(tǒng),有效地解決上述問題。

2 SED1353圖形液晶顯示控制器簡(jiǎn)介及其接口原理

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

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

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

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

MC68332通過地址總線、數(shù)據(jù)總線,/CS8片選信號(hào)、數(shù)據(jù)傳輸寬度信號(hào)SIZ0 、A0及讀寫控制R/W, 外圍器件接口應(yīng)答信號(hào)/DSACK1 ,同SED1353進(jìn)行異步數(shù)據(jù)傳送。SED1353的I/O地址空間分配為$200000~$23FFFF。其中SED1353的16 個(gè)8位寄存器地址為$200000~$20000F ;顯示存儲(chǔ)器占用128KB地址空間,即$220000 ~$23FFFF。

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

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

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

IOCS # = ! ( ! CS8 &! A17 &! A16 & A15 &! A14 &! A13 &! A12 &! A11 &! A10)

MEMCS#=CS8

BHE#=SIZ0 &! A0

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

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

MC68332 的復(fù)位向量和初始化程序駐留在ROM中,在系統(tǒng)復(fù)位后MC68332從異常情況向量表中取出向量后在管理方式下執(zhí)行初始化程序來定義相關(guān)地址、常數(shù)及其他參數(shù)。首先進(jìn)行硬件初始化,依次初始化全局寄存器、各模塊和外部設(shè)備等。MC68332地址空間的分配如下: 尋址空間的$000000 ~$0FFFFF分配為ROM存儲(chǔ)區(qū), $100000~$13FFFF 為SRAM 存儲(chǔ)區(qū), $200000~$23FFFF為顯示存儲(chǔ)區(qū), $240000~$FFDFFF分配給其他外設(shè)(如串行通信模塊的MC68HC681等) 。通過設(shè)備BAR 寄存器, 把片上RAM 定位在$FFE000~$FFE7FF。通過設(shè)置SIM 模塊的MCR 寄存器,把$FFF000~$FFFFFF 存儲(chǔ)區(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硬件初始化程序清單。

SED1353 初始化程序:

INCLUDE SED1353. ASM

INIT MOVE. B # $00 ,AUX00 ;設(shè)置為正常工作模式

MOVE. B # $44 ,AUX01 ;設(shè)置關(guān)顯示,雙屏結(jié)構(gòu),不屏蔽XSCL ,8 位LCD 數(shù)據(jù), 16 位顯存結(jié)構(gòu)

MOVE. B # $27 ,AUX02 ;設(shè)置顯示域?qū)挾萀BCB8:0=1×640/ 16-1=39 (十進(jìn)制)

MOVE. B # $04 ,AUX03 ;設(shè)置正常運(yùn)行方式,單色無灰度顯示,1位/像素

MOVE. B # $EF ,AUX04 ;設(shè)置掃描行數(shù), TDLC7:0=480/ 2-1=239(十進(jìn)制)

MOVE. B # $00 ,AUX05 ;使用默認(rèn)值,每幀WF 翻轉(zhuǎn)一次

MOVE. B # $00 , AUX06 ; 設(shè)置上半屏顯示首址為$220000

MOVE. B # $00 ,AUX07

MOVE. B # $80 ,AUX08 ;設(shè)置下半屏顯示首址為$224B00 (使用連續(xù)地址)

MOVE. B # $25 ,AUX09

MOVE. B # $00 ,AUX0C ;使用默認(rèn)非顯示周期[!--empirenews.page--]

MOVE. B # $00 ,AUX0D ;不使用虛擬屏

ORI.B # $90 ,AUX01 ;開顯示和LCDE 使能不需要設(shè)置的寄存器會(huì)被自動(dòng)旁路

4.2 漢字顯示程序的設(shè)計(jì)

在對(duì)系統(tǒng)進(jìn)行完正確的初始化后將ROM 中的字模數(shù)據(jù)送到SED1353顯示存儲(chǔ)器,就可以使液晶顯示屏顯示出漢字。顯示漢字需要指定其坐標(biāo)位置,坐標(biāo)對(duì)應(yīng)該漢字模入口地址。在顯示漢字界面前, 首先清屏。由于本文中顯示存儲(chǔ)器結(jié)構(gòu)為16 位,所以X 方向以字為單位(偶數(shù)地址對(duì)齊) 。故規(guī)定顯示區(qū)左上角坐標(biāo)為(0 ,0) ,右下角坐標(biāo)為(39 ,479) 。每個(gè)漢字都有唯一的代碼,所以在調(diào)用字模數(shù)據(jù)前需要對(duì)漢字的代碼進(jìn)行解碼,對(duì)坐標(biāo)進(jìn)行解析。

字模入口地址=Y坐標(biāo)×80 + X 坐標(biāo)×2 ;字模首地址=漢字代碼×32 + 字庫首地址以在坐標(biāo)(30 ,148) 處顯示代碼為24 的16×16漢字為例,程序如下:

(1) 清屏子程序

MOVE. L # $220000 ,A4; 賦當(dāng)前顯示首址

BRA CLRLCD ;調(diào)用清屏子程序

CLRLCD CLR. LD3

CLR. LD4

MOVE. W # 480 ,D3;需要清480 行

LOOP1  MOVE. W # 40 ,D4;每行40個(gè)字

LOOP2  MOVE. W # $0000 , (A4) + ;清零

SUB. W # 1,D4

BNE LOOP2

SUB. W # 1,D3

BNE LOOP1

RTS

(2) 漢字顯示子程序

MOVE. L # 0 ,A1 ;清A1 ,A2

MOVE. L  # 0 ,A2

CLR. L  D1 ;清D1~D4

CLR. L  D2

CLR. L  D3

CLR. L  D4

MOVE. B  # 30,D2; 賦坐標(biāo)值

MOVE. W # 148,D3

BSR ALXY; 調(diào)坐標(biāo)解析子程序

MOVE. LD3 ,A1 ;坐標(biāo)的絕對(duì)地址送出

MOVE. W # 24, D4 ;賦代碼值

BSR  DECODE;調(diào)解碼子程序

MOVE. L  D4,A2;字模首址送出

LOOP  MOVE. W (A2) + , (A1)

ADD. L  # $50,A1 ;字模數(shù)據(jù)寫入換行

SUB. B  # 1 ,D1

BNE LOOP

END

DECODE  MULU  # 32,D4

ADD. W # TAB16,D4

MOVE. B  # 16,D1 ;循環(huán)16 次

RTS

... .

ALXY MULU  # $50 ,D3

MULU  # $2 ,D2

ADD. W D2 ,D3

ADD. L  # $220000 ,D3

RTS

TAB16  ......

******設(shè)“馬”漢字代碼為24 ******

DC. W $0020 , $3FF0 , $0020 , $0820 ;馬

DC. W $0820 , $0820 , $0820 , $0824

DC. W $0FFE , $0004 , $0024 , $FFF4

DC. W $0004 , $0004 , $0028 , $0010

...

5  結(jié)束語

32 位嵌入式處理器的軟件開發(fā)以C語言為主,通常情況下用匯編語言編寫與硬件有關(guān)的程序,高級(jí)語言C編寫主程序?qū)崿F(xiàn)某些復(fù)雜算法,若再配上實(shí)時(shí)多任務(wù)任務(wù)操作系統(tǒng)更是如虎添翼。本文所述方法可移植性強(qiáng),稍作修改可應(yīng)用于摩托羅拉MC68K系列嵌入式系統(tǒng);選用的SED1353具有直接管理128K大容量顯示緩沖區(qū)的能力,編程簡(jiǎn)單、顯示速度快和執(zhí)行效率高;可支持多種單色/ 彩色液晶顯示屏,可以實(shí)現(xiàn)數(shù)據(jù)顯示、繪制圖表以及翻轉(zhuǎn)等功能,具有良好的顯示界面,提高了系統(tǒng)的可操作性,值得在智能化儀器儀表中推廣。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉