《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)基于MCF5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)_第1頁
《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)基于MCF5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)_第2頁
《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)基于MCF5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)_第3頁
《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)基于MCF5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)_第4頁
《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)基于MCF5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、華 中 科 技 大 學(xué)研究生課程考試答題本考生姓名 考生學(xué)號(hào) 系、年級(jí) 計(jì)算機(jī)學(xué)院碩士051班 類 別 碩士(非定向) 考試科目 嵌入式系統(tǒng)設(shè)計(jì) 考試日期 評(píng) 分題 號(hào)得 分題 號(hào)得 分總分:評(píng)卷人:注:1、無評(píng)卷人簽名試卷無效。2、必須用鋼筆或圓珠筆閱卷,使用紅色。用鉛筆閱卷無效。嵌入式系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)任務(wù)書2006年3月31日一 考核方式根據(jù)本課程教學(xué)大綱“鼓勵(lì)通過做針對(duì)特定系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方式進(jìn)行考核”精神,本次考試的考核采用“嵌入式系統(tǒng)設(shè)計(jì)”方式進(jìn)行。二 題目鼓勵(lì)研究生根據(jù)所在課題組的嵌入式系統(tǒng)方面的實(shí)際課題進(jìn)行本課程設(shè)計(jì)的選題。所選題目、設(shè)計(jì)任務(wù)、設(shè)計(jì)內(nèi)容均須征得研究生的導(dǎo)師和本

2、課程的任課教師的同意。允許不受下面規(guī)定內(nèi)容的約束,根據(jù)實(shí)際課題的需要,有側(cè)重的進(jìn)行嵌入式系統(tǒng)硬件、或者嵌入式系統(tǒng)軟件方面的設(shè)計(jì),但是設(shè)計(jì)工作量必須與下面提出的要求相當(dāng)。如果課題組沒有實(shí)際課題,可以由研究生根據(jù)本課程內(nèi)容和本人所學(xué)專業(yè)的研究情況自行擬定題目。如:溫度測量嵌入式系統(tǒng)設(shè)計(jì)、光電系統(tǒng)中的嵌入式系統(tǒng)設(shè)計(jì)、嵌入式internet網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)等等。課程設(shè)計(jì)不得涉密。三 設(shè)計(jì)內(nèi)容(非實(shí)際課題)設(shè)計(jì)內(nèi)容應(yīng)該包括:(1) 概述 簡述所設(shè)計(jì)系統(tǒng)的發(fā)展歷史、發(fā)展現(xiàn)狀、發(fā)展方向等。(2) 系統(tǒng)原理 詳細(xì)描述該系統(tǒng)的工作原理,設(shè)計(jì)依據(jù),設(shè)計(jì)方法、技術(shù)路線、實(shí)時(shí)性要求及相關(guān)的調(diào)度、控制、處理、各種不同方案的

3、比較與論證等。(3) 硬件系統(tǒng)設(shè)計(jì) 包括:嵌入式處理器選型設(shè)計(jì)、存儲(chǔ)系統(tǒng)設(shè)計(jì)(程序存儲(chǔ)、動(dòng)態(tài)存儲(chǔ)、容量、地址分配、讀寫控制等)、接口設(shè)計(jì)(串口、并行口、鍵盤、顯示、a/d口、d/a口、讀寫控制等)、端口地址譯碼(設(shè)備片選信號(hào)、設(shè)備端口地址等)、電路設(shè)計(jì)(電源、去耦、放大、濾波、光電隔離等)、元器件選型設(shè)計(jì)、元器件和電路參數(shù)計(jì)算。(4) 硬件系統(tǒng)電路原理圖 用protel繪出硬件系統(tǒng)電路原理圖。(5) 軟件系統(tǒng)設(shè)計(jì) 包括軟件實(shí)時(shí)環(huán)境支撐(如:有沒有實(shí)時(shí)操作系統(tǒng)支持)、嵌入式系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu)(如:常量、變量、結(jié)構(gòu)、棧、隊(duì)列、鏈表等)、程序結(jié)構(gòu)(如:主程序、子例程、實(shí)時(shí)響應(yīng)和實(shí)時(shí)調(diào)度的程序、中斷處

4、理及中斷服務(wù)子例程等的結(jié)構(gòu))、軟件算法(rm、edf等)??梢杂昧鞒虉D、偽碼等詳細(xì)描述,并且輔之以必要的文字說明和解釋。不要求實(shí)際編程,但鼓勵(lì)用c語言實(shí)現(xiàn)。四 評(píng)分標(biāo)準(zhǔn)(非實(shí)際課題)(1) 概述部分滿分10分。其中:發(fā)展歷史滿分2分、發(fā)展現(xiàn)狀滿分3分、發(fā)展方向滿分3分、其他滿分2分。(2) 系統(tǒng)原理部分滿分15分。其中:工作原理滿分5分、設(shè)計(jì)依據(jù)和設(shè)計(jì)方法滿分5分、其他滿分5分。(3) 硬件系統(tǒng)設(shè)計(jì)部分滿分25分。其中:嵌入式處理器選型設(shè)計(jì)滿分5分、存儲(chǔ)系統(tǒng)設(shè)計(jì)滿分5分、接口設(shè)計(jì)(包括端口地址譯碼)滿分10分(必需包括鍵盤、顯示、a/d轉(zhuǎn)換部件)、其他滿分5分。(4) 硬件系統(tǒng)電路原理圖部分滿

5、分10分。凡不用protel繪出硬件系統(tǒng)電路原理圖者本部分得0分。(5) 軟件系統(tǒng)設(shè)計(jì)部分滿分30分。其中:嵌入式系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu)滿分7分、程序結(jié)構(gòu)滿分10分、軟件算法滿分8分、其他滿分5分。(6)系統(tǒng)實(shí)現(xiàn) 滿分10分五 時(shí)間安排 2006年7月1日上午9:00將設(shè)計(jì)報(bào)告交到任課老師實(shí)驗(yàn)室(保衛(wèi)處一樓西邊),并且履行簽收手續(xù)。六 規(guī)定1 全部設(shè)計(jì)內(nèi)容請(qǐng)打印到答題本上或者打印到其他紙張然后粘貼到答題本上。2 提交設(shè)計(jì)內(nèi)容軟盤。3 只有答題本上內(nèi)容才能作為評(píng)分依據(jù)。4 自行打印本任務(wù)書并夾在答題本內(nèi)?;趍cf5272的工業(yè)以太網(wǎng)控制器設(shè)計(jì)李艷國 華中科技大學(xué)計(jì)算機(jī)學(xué)院1 概述工業(yè)以太網(wǎng),是指技

6、術(shù)上與商用以太網(wǎng)(即ieee802.3標(biāo)準(zhǔn))兼容,但在產(chǎn)品設(shè)計(jì)時(shí),在材質(zhì)的選用、產(chǎn)品的強(qiáng)度、適用性以及實(shí)時(shí)性等方面能滿足工業(yè)現(xiàn)場的需要。簡言之,工業(yè)以太網(wǎng)是將以太網(wǎng)應(yīng)用于工業(yè)控制和管理的局域網(wǎng)技術(shù)。傳統(tǒng)的控制系統(tǒng)在消息層大都采用以太網(wǎng),而在控制層和設(shè)備層則采用不同的現(xiàn)場總線或其他專用網(wǎng)絡(luò)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與普及推廣,ethernet技術(shù)也得到了迅速的發(fā)展,ethernet傳輸速率的提高和ethernet交換技術(shù)的發(fā)展,給解決ethernet通信的非確定性問題帶來了希望,目前以太網(wǎng)已經(jīng)滲透到了控制層和設(shè)備層,開始成為現(xiàn)場控制網(wǎng)絡(luò)的一員??刂凭W(wǎng)絡(luò)的發(fā)展,其基本趨勢是逐漸趨向于開放性、透明的通訊

7、協(xié)議以及能夠方便的和信息網(wǎng)絡(luò)融合、實(shí)現(xiàn)資源共享,工業(yè)以太網(wǎng)技術(shù)就是適應(yīng)這一需要而迅速發(fā)展起來的控制網(wǎng)絡(luò)技術(shù)。以太網(wǎng)技術(shù)在控制網(wǎng)絡(luò)和實(shí)現(xiàn)一般基于兩種方式,其以是采用嵌入式網(wǎng)關(guān)的以太網(wǎng)和現(xiàn)場總線的混合控制網(wǎng)絡(luò),它在一定程度上解決了現(xiàn)場總線在控制系統(tǒng)的分散性和開放性問題,比較適合改造現(xiàn)有的現(xiàn)場總線網(wǎng)絡(luò);其二就是嵌入式internet網(wǎng)絡(luò),實(shí)現(xiàn)嵌入式internet的基礎(chǔ)是嵌入式處理器、嵌入式操作系統(tǒng)和接入internet的通信協(xié)議。 早期的控制器都是基于現(xiàn)場應(yīng)用而設(shè)計(jì)的,網(wǎng)絡(luò)處理能力不強(qiáng),隨著工業(yè)控制系統(tǒng)的發(fā)展,對(duì)現(xiàn)場控制要求實(shí)現(xiàn)的功能復(fù)雜、可靠性高,網(wǎng)絡(luò)信息處理能力越來越強(qiáng)。嵌入式處理器和嵌入式操

8、作系統(tǒng)的出現(xiàn),為解決復(fù)雜的工業(yè)以太網(wǎng)應(yīng)用提供了可靠的保障。工業(yè)控制是嵌入式系統(tǒng)應(yīng)用的一個(gè)典型領(lǐng)域,對(duì)控制器的研究多數(shù)是基于嵌入式技術(shù)的。 國內(nèi)傳統(tǒng)的控制器是以單芯片為核心的可編程控制器形式的系統(tǒng),同時(shí)具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。這種系統(tǒng)大部分應(yīng)用于一些專業(yè)性很強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒有操作系統(tǒng)的支持,通過匯編語言編程對(duì)系統(tǒng)進(jìn)行直接控制,運(yùn)行結(jié)束后清除內(nèi)存。這樣的控制器系統(tǒng)結(jié)構(gòu)和功能都相對(duì)單一,處理效率較底,存儲(chǔ)容量較小,幾乎沒有用戶接口,系統(tǒng)維護(hù)性、可移植性不高,已經(jīng)不能適應(yīng)高效的、需要大容量存儲(chǔ)介質(zhì)的現(xiàn)代化工業(yè)控制的需求。 目前,國內(nèi)外針對(duì)嵌入式網(wǎng)絡(luò)控制器的研究日漸興起,不過它

9、們多是針對(duì)特定的應(yīng)用領(lǐng)域,不如環(huán)境檢測、網(wǎng)絡(luò)通信、醫(yī)療電子、視頻電話等,不具備工業(yè)現(xiàn)場控制器的通用性。在嵌入式技術(shù)和控制網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,嵌入式網(wǎng)絡(luò)控制器應(yīng)該具備如下特點(diǎn):集成輸入輸出i/o點(diǎn),能夠?qū)崿F(xiàn)現(xiàn)場控制;集成顯示和操作模塊,能夠?qū)崿F(xiàn)現(xiàn)場狀態(tài)顯示以及人機(jī)操作功能;具有多種網(wǎng)絡(luò)接口,可以和周圍設(shè)備互連組成控制網(wǎng)絡(luò);具有低成本的ethernet接口,能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)測和控制功能;控制系統(tǒng)穩(wěn)定可靠,可以實(shí)現(xiàn)網(wǎng)絡(luò)冗余控制;集成嵌入式操作系統(tǒng),支持多任務(wù)調(diào)度等。因此,研究基于嵌入式系統(tǒng)和控制網(wǎng)絡(luò)技術(shù)的嵌入式網(wǎng)絡(luò)控制器,是當(dāng)前控制系統(tǒng)發(fā)展的一個(gè)趨勢。2 系統(tǒng)原理以太網(wǎng)在局域網(wǎng)中大量應(yīng)用總線型結(jié)構(gòu)

10、,這種結(jié)構(gòu)在辦公網(wǎng)絡(luò)中不會(huì)出現(xiàn)什么問題,而如果應(yīng)用到實(shí)時(shí)性、可靠性要求都高得多的工業(yè)現(xiàn)場領(lǐng)域,很有可能導(dǎo)致重大的現(xiàn)場事故。所以以太網(wǎng)要應(yīng)用到現(xiàn)場領(lǐng)域,必須解決好帶寬、可靠性、數(shù)據(jù)交換等問題,必須克服現(xiàn)場惡劣環(huán)境帶來的負(fù)面影響,針對(duì)這些問題,必須提出一種可行的工業(yè)以太網(wǎng)控制系統(tǒng)體系結(jié)構(gòu)。如圖1所示,工業(yè)以太網(wǎng)控制器之間、其他設(shè)備之間的通信都通過以太網(wǎng)交換機(jī),這樣解決了帶寬問題,一定程度上也解決了由共享式以太網(wǎng)帶來的碰撞問題;為了增強(qiáng)網(wǎng)絡(luò)的可靠性,采用冗余環(huán)技術(shù);為了增加系統(tǒng)的擴(kuò)展性和數(shù)據(jù)交換能力,采用了opc服務(wù)器。如果把企業(yè)的網(wǎng)絡(luò)分成三層:設(shè)備層、控制層和信息層,從圖1中可以看到,從設(shè)備層到控

11、制層,再到信息層,都采用以太網(wǎng),真正實(shí)現(xiàn)了企業(yè)辦公自動(dòng)化(oa)網(wǎng)絡(luò)和工業(yè)自動(dòng)化(ia)網(wǎng)絡(luò)的無縫連接,有利于企業(yè)的信息集成。圖1工業(yè)以太網(wǎng)控制系統(tǒng)體系結(jié)構(gòu)本課題要完成圖1中工業(yè)以太網(wǎng)控制器的設(shè)計(jì),控制器的cpu采用motorola的mcf5272微處理器,控制器控制器具有a/d轉(zhuǎn)換接口、d/a轉(zhuǎn)換接口、以太網(wǎng)接口、rs232接口和usb接口,通過觸摸屏和lcd進(jìn)行人機(jī)交互??刂破鞯牟僮飨到y(tǒng)采用嵌入式的uclinux,支持tcp/ip協(xié)議,實(shí)現(xiàn)控制信息的網(wǎng)絡(luò)化傳輸。工業(yè)以太網(wǎng)控制器由硬件和軟件兩大部分組成的,前者是整個(gè)系統(tǒng)的物理基礎(chǔ),它提供軟件運(yùn)行平臺(tái)和通信(包括人機(jī)交互)接口,后者實(shí)際控制系

12、統(tǒng)的運(yùn)行。2.1 工業(yè)以太網(wǎng)控制器設(shè)計(jì)原則 工業(yè)以太網(wǎng)控制器應(yīng)用于現(xiàn)代工業(yè)測量和控制,其設(shè)計(jì)遵循能夠?qū)崿F(xiàn)現(xiàn)場測控和網(wǎng)絡(luò)測控這兩個(gè)基本要求,具體實(shí)現(xiàn)以下幾個(gè)方面: 1工業(yè)以太網(wǎng)控制器用于現(xiàn)場測控,控制器應(yīng)該具有輸入輸出端口進(jìn)行i/o讀寫,用于現(xiàn)場信號(hào)的測量和現(xiàn)場設(shè)備的驅(qū)動(dòng)。 2工業(yè)以太網(wǎng)控制器用于現(xiàn)場測控,控制器應(yīng)集成現(xiàn)場顯示模塊和人機(jī)操作接口,使用戶能夠方便對(duì)其操作和維護(hù)。 3工業(yè)以太網(wǎng)控制器用于網(wǎng)絡(luò)測控,控制器需要集成當(dāng)前流行的以太網(wǎng)接口。這樣能夠使控制器接入以太網(wǎng)網(wǎng)絡(luò),有利于實(shí)現(xiàn)遠(yuǎn)程測控和信息資源的共享。 4工業(yè)以太網(wǎng)控制器實(shí)現(xiàn)網(wǎng)絡(luò)冗余控制,應(yīng)該具有通用rs232接口,能夠?qū)崿F(xiàn)控制器之間的

13、冗余切換。 5工業(yè)以太網(wǎng)控制器具有usb接口,可以和usb主機(jī)進(jìn)行數(shù)據(jù)通訊。 6工業(yè)以太網(wǎng)控制器用于工業(yè)現(xiàn)場測控和遠(yuǎn)程網(wǎng)絡(luò)測控,能夠解決一些復(fù)雜的多任務(wù)的處理工作,因此控制器需要移植嵌入式操作系統(tǒng),以此為基礎(chǔ)開發(fā)控制器系統(tǒng)應(yīng)用,使軟件開發(fā)簡單。2.2 控制器硬件平臺(tái)的選擇嵌入式開發(fā)硬件平臺(tái)的選擇主要是嵌入式處理器的選擇。當(dāng)前嵌入式微處理器種類比較豐富,適合應(yīng)用于不同的領(lǐng)域。在一個(gè)系統(tǒng)中使用什么樣的嵌入式微處理器主要取決于應(yīng)用領(lǐng)域、用戶的需求、成本問題、開發(fā)的難易程度等因素。嵌入式微處理器很多種流行的處理器核,芯片生產(chǎn)廠家一般都基于這些處理器核生產(chǎn)不同型號(hào)的芯片,表1中列出了幾種常見的嵌入式處理

14、器內(nèi)核的特性。根據(jù)工業(yè)控制的應(yīng)用需求和成本估算,確定采用coldfire內(nèi)核的微處理器,coldfire有多種內(nèi)核結(jié)構(gòu),v2、v3、v 4等。它們適用于不同的環(huán)境中,v2適合使用于家庭網(wǎng)關(guān),工業(yè)控制,v3針對(duì)工業(yè)測控系統(tǒng),v4適用于多媒體處理技術(shù)。因此選擇了性價(jià)比較高的v2核處理器,內(nèi)部集成了dsp運(yùn)算功能,以滿足設(shè)計(jì)要求。表1 常見的嵌入式處理器內(nèi)核內(nèi)核類型價(jià)格性能用途arm低中功耗低,用于便攜式設(shè)備dragon ball低低速度低,用于pda設(shè)備coldfire低中功耗低,用于工業(yè)控制,家用電器power pc高高通信、網(wǎng)絡(luò)等設(shè)備 coldfire v2是當(dāng)前應(yīng)用比較廣泛的32位高性能嵌入

15、式risc處理器,三級(jí)流水線馮諾依曼結(jié)構(gòu)。coldfire v2核具有如下性能:變長精簡指令集;兩個(gè)獨(dú)立分離線程ifp和oep;三級(jí)流水線緩沖結(jié)構(gòu);32位的內(nèi)部地址總線提供4g的尋址空間;32位數(shù)據(jù)線;1個(gè)用戶可以訪問的32位通用寄存器;用戶態(tài)、特權(quán)態(tài)編程模式;向量基址寄存器分配異常向量表;優(yōu)化的代碼語言結(jié)構(gòu);全面調(diào)試支持。2.3 以太網(wǎng)控制器操作系統(tǒng)的選擇 在嵌入式系統(tǒng)的開發(fā)中,嵌入式軟件是實(shí)現(xiàn)系統(tǒng)功能的關(guān)鍵,也是計(jì)算機(jī)技術(shù)最活躍的研究方向之一。在進(jìn)行軟件開發(fā)之前,必須做好嵌入式操作系統(tǒng)選型這關(guān)鍵一步。不同應(yīng)用對(duì)嵌入式軟件系統(tǒng)有不同的要求,并且隨著計(jì)算機(jī)技術(shù)的發(fā)展,這些要求也在不斷變化。通常

16、,應(yīng)用系統(tǒng)對(duì)嵌入式軟件的基本要求是體積小、執(zhí)行速度快,并具有較好的可裁剪性和可移植性。 嵌入式系統(tǒng)覆蓋面很廣,從很簡單到復(fù)雜度很高的都有,這主要是由具體應(yīng)用要求決定的。簡單的嵌入式系統(tǒng)沒有操作系統(tǒng),而只是一個(gè)控制循環(huán)。但是,當(dāng)系統(tǒng)變得越來越復(fù)雜時(shí),就需要一個(gè)嵌入式操作系統(tǒng)來支持,否則,應(yīng)用軟件就會(huì)變得過于復(fù)雜,使開發(fā)難度過大,安全性和可靠性都難于保證。 目前,嵌入式操作系統(tǒng)有多種,如何選擇一款既能滿足應(yīng)用要求,性能價(jià)格比又能達(dá)到最佳的實(shí)時(shí)操作系統(tǒng)使開發(fā)中的關(guān)鍵一步。嵌入式操作系統(tǒng)的選擇主要從一下幾個(gè)方面考慮: 1可移植性當(dāng)進(jìn)行嵌入式系統(tǒng)開發(fā)時(shí),嵌入式操作系統(tǒng)的可移植性是重點(diǎn)考慮的部分。因?yàn)樵摬?/p>

17、作系統(tǒng)只有對(duì)該處理器提供支持,才能相對(duì)比較容易的實(shí)現(xiàn)移植。 2開發(fā)工具的支持程度選擇嵌入式操作系統(tǒng)時(shí)必須要考慮與之相關(guān)的開發(fā)工具。編譯器、匯編器、連接器等也都不同程度的影響著操作系統(tǒng)。 3應(yīng)用性能要求有的嵌入式操作系統(tǒng)的代碼只有幾kb,這樣可以大大節(jié)省系統(tǒng)的內(nèi)存空間,可以節(jié)約費(fèi)用,這對(duì)嵌入式系統(tǒng)的開發(fā)是很重要的,但選用它必須滿足系統(tǒng)需求。所以選擇嵌入式操作系統(tǒng)時(shí),一定要了解內(nèi)核中包括了什么。最小的內(nèi)核往往支持很少的特性,典型的配置可能產(chǎn)生大得多的內(nèi)核。 考慮上述各種因素之后,通常都可以找到一個(gè)合適的嵌入式操作系統(tǒng)?,F(xiàn)在市場上的商用型系統(tǒng)的費(fèi)用都比較貴,考慮到成本問題,以及嵌入式操作系統(tǒng)對(duì)微處理

18、器的支持,借助網(wǎng)上免費(fèi)資料移植嵌入式uclinux操作系統(tǒng)到工業(yè)以太網(wǎng)控制器中是一個(gè)不錯(cuò)的選擇。 uclinux能夠?qū)oldfire內(nèi)核的微處理器提供很好的支持,uclinux具有如下特性:開放源代碼,豐富的軟件資源:內(nèi)核功能強(qiáng)大,性能高效、穩(wěn)定、多任務(wù):支持多種體系結(jié)構(gòu):完善的網(wǎng)絡(luò)通信,文件管理機(jī)制,內(nèi)嵌完整的tcp/ip協(xié)議棧:支持大部分的周邊外圍硬件設(shè)備,驅(qū)動(dòng)豐富:大小功能都可以定制,內(nèi)核小于512kb,內(nèi)核和工具小于900kb。控制器以優(yōu)化改進(jìn)的嵌入式uclinux為核心,結(jié)合大量模塊化集成的嵌入式領(lǐng)域新技術(shù),可以為工業(yè)測控系統(tǒng)提供一個(gè)性能優(yōu)良的網(wǎng)絡(luò)開發(fā)平臺(tái)和應(yīng)用平臺(tái)。3 硬件系統(tǒng)設(shè)

19、計(jì) 從圖2中可以看到,本設(shè)計(jì)選用mcf5272作為微處理器,具有以太網(wǎng)接口、usb接口、支持rs232的串口、lcd和觸摸屏、4mb的flash、16mb的sdram、2路d/a接口、8路a/d接口、電源、時(shí)鐘電路和復(fù)位電路。3.1 嵌入式處理器的選型設(shè)計(jì) 在選擇嵌入式處理器是,通常需要考慮系統(tǒng)外圍設(shè)備情況:總線的需求、是否有通用串行uart、是否有ethernet接口、是否有sfi總線、外設(shè)接口、是否需要i/o控制接口、是否需要a/d或者d/a轉(zhuǎn)換等。另外,還需要考慮處理器的尋址空間,有沒有片上的flash存儲(chǔ)器,處理器是否容易調(diào)試,仿真調(diào)試工具的成本和易用性等相關(guān)信息。 在實(shí)際過程中,選擇

20、硬件是一項(xiàng)復(fù)雜的工作,根據(jù)工業(yè)控制應(yīng)用的實(shí)際需求,最后選用了motorola公司的mcf5272微處理器。mcf5272是最高集成度的coldfire v2標(biāo)準(zhǔn)產(chǎn)品,它在最小的面積上把v2核設(shè)計(jì)成最大的代碼密度和性能。并且該微處理器性能優(yōu)良,集成了豐富的外圍器件和網(wǎng)絡(luò)接口,易于控制器外圍器件擴(kuò)展,mcf5272的結(jié)構(gòu)如圖3所示。mcf5272微處理器以太網(wǎng)phyrj45usb接口rs232驅(qū)動(dòng)器9針串口flash(4mb)2片am29lv160bsdram(16mb)2片hy57v651620btc108路a/d接口2路d/a接口lcd+觸摸屏電源時(shí)鐘電路復(fù)位電路圖2 以太網(wǎng)控制器硬件總體架構(gòu)

21、mcf5272新型外圍設(shè)備包括如下幾部分:快速以太網(wǎng)媒體存取控制mac,支持100mbps mii,10mbps mii和10mbps 7線實(shí)際接口;符合usb1. 1標(biāo)準(zhǔn),可操作內(nèi)外收發(fā)器的設(shè)備控制器;時(shí)分多工tdm控制器,可使產(chǎn)品以物理級(jí)水平與外部編碼、isdn收發(fā)器以及其它使用gci (general circuit interface)或idli(interchip digital link)串行接口協(xié)議的外圍設(shè)備連接;多信道hdlc軟件模塊;qspi模塊,提供帶有序列傳輸性能的串行外圍接口;用于控制應(yīng)用的脈沖寬度調(diào)制(pwm)單元;mcf5272設(shè)備同時(shí)還提供許多嵌入式應(yīng)用產(chǎn)品所共有

22、的外圍產(chǎn)品,如sdram控制器、dma、計(jì)時(shí)器、uart、芯片選擇、通用i/o、片上存儲(chǔ)以及全局的coldfire除錯(cuò)模塊,所有這些都采取高效節(jié)省的方式,從而減少系統(tǒng)成本,加速系統(tǒng)設(shè)計(jì)。因此,選用mcf5272微處理器使控制器易于擴(kuò)展,提高性能。圖3 mcf5272芯片結(jié)構(gòu)3.2 存儲(chǔ)系統(tǒng)設(shè)計(jì) 在進(jìn)行存儲(chǔ)系統(tǒng)的設(shè)計(jì)時(shí),必須明確mcf5272的數(shù)據(jù)總線寬度和端口數(shù)據(jù)寬度的設(shè)置方式。mcf5272的數(shù)據(jù)總線支持16位和32位模式,當(dāng)reset時(shí)檢測到qspi_dout/wsel為低電平時(shí),數(shù)據(jù)總線寬度設(shè)為32位,當(dāng)reset時(shí)檢測到qspi_dout/wsel為高電平時(shí),數(shù)據(jù)總線寬度設(shè)為16位,在

23、本設(shè)計(jì)中用一個(gè)4.7千歐的下拉電阻將qspi_dout/wsel設(shè)置為低電平,將數(shù)據(jù)總線寬度設(shè)為32位。mcf5272有/cs0/cs7 共8個(gè)片選信號(hào),這8個(gè)片選信號(hào)對(duì)應(yīng)的8個(gè)端口的數(shù)據(jù)寬度是可以配置的,/cs0/cs7分別對(duì)應(yīng)寄存器csbr0csbr7,寄存器csbr0csbr7中都有一個(gè)2位的bw字段,用來設(shè)置端口的數(shù)據(jù)寬度,csbr0的bw字段是沒有意義的,因?yàn)?cs0對(duì)應(yīng)端口的數(shù)據(jù)寬度是由qspi_cs0/busw1 和qspi_clk/busw0引腳的電平值決定,而/cs1/cs7對(duì)應(yīng)端口的數(shù)據(jù)寬度則由csbr1csbr7中的bw字段確定,reset后bw字段的值為“11”,對(duì)應(yīng)端

24、口的數(shù)據(jù)寬度缺省設(shè)置為cache line的32位寬模式,根據(jù)設(shè)計(jì)的需要,在初始化程序中向csbr1csbr7中的bw字段寫數(shù)據(jù),以確定對(duì)應(yīng)端口的數(shù)據(jù)寬度。 mcf5272內(nèi)嵌4kb的sram和16kb的rom,還需要在片外對(duì)存儲(chǔ)系統(tǒng)進(jìn)行擴(kuò)展,本設(shè)計(jì)用兩片amd公司的am29lv160b flash存儲(chǔ)器芯片構(gòu)成flash電路,用兩片現(xiàn)代公司的hy57v651620btc10 sdram芯片構(gòu)成sdram電路。 am29lv160b的基本特性包括:am29lv160b的單片存儲(chǔ)容量為16m位(2m字節(jié)),工作電壓為2.7v3 .6v,采用48腳tsop封裝或48腳fbga封裝,16位數(shù)據(jù)寬度,

25、可以以8位(字節(jié)模式)或16位(字模式)數(shù)據(jù)寬度的方式工作。am29lv160b僅需單3v電壓即可完成在系統(tǒng)的編程與擦除操作,通過對(duì)其內(nèi)部的命令寄存器寫入標(biāo)準(zhǔn)的命令序列,可對(duì)flash進(jìn)行編程(燒寫)、整片擦除、按扇區(qū)擦除以及其他操作。 考慮到程序容量的擴(kuò)展性,選用兩片am29lv160b構(gòu)成flash電路,對(duì)應(yīng)的片選信號(hào)分別為/cs0和/cs1,用于存放矢量表、uclinux嵌入式操作系統(tǒng)內(nèi)核映像,以及romfs文件系統(tǒng)、應(yīng)用程序、控制器狀態(tài)信息和現(xiàn)場采集的數(shù)據(jù)。兩片am29lv160b的byte#引腳都接高電平,將flash的數(shù)據(jù)寬度設(shè)置為16位的字模式,兩片am29lv160b的地址線a

26、19a0與mcf5272的地址總線a20a1連接,兩片am29lv160b的數(shù)據(jù)線dq15dq0與mcf5272的數(shù)據(jù)總線d31d16連接。當(dāng)reset完成后,mcf5272會(huì)默認(rèn)選中/cs0對(duì)應(yīng)的器件,從復(fù)位地址0x0處讀取ssp和pc指針,運(yùn)行啟動(dòng)代碼完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入sdram中運(yùn)行,提高系統(tǒng)的運(yùn)行速度。需要注意的是,雖然am29lv160b的byte#引腳接了高電平,flash數(shù)據(jù)寬度設(shè)為16位,但是mcf5272的/cs0和/cs1對(duì)應(yīng)端口的數(shù)據(jù)寬度也需要設(shè)置。前面已經(jīng)提到,/cs0對(duì)應(yīng)端口的數(shù)據(jù)寬度是由qspi_cs0/busw1 和qspi_clk/busw0

27、引腳的電平值決定,為了將/cs0對(duì)應(yīng)端口的數(shù)據(jù)寬度設(shè)置為16位,qspi_cs0/busw1 和qspi_clk/busw0分別連接4.7千歐的上拉電阻和下拉電阻,要將/cs1對(duì)應(yīng)端口的數(shù)據(jù)寬度設(shè)置為16位,csbr1寄存器的bw字段設(shè)為“10”。 sdram具有單位空間存儲(chǔ)容量大和價(jià)格便宜的優(yōu)點(diǎn),已廣泛應(yīng)用到各種嵌入式系統(tǒng)中。與flash存儲(chǔ)器相比較,sdram不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存取速度大大高于flash存儲(chǔ)器,且具有讀寫屬性。因此,sdram在系統(tǒng)中主要用作程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。sdram采用現(xiàn)代公司的兩片hy57v651620btc10,容量為 4m 16bit,共同

28、組成8m32bit的系統(tǒng)主存儲(chǔ)器,該芯片常見封裝為54腳tsop,兼容lvttl接口,支持自動(dòng)刷新和自刷新功能。mcf5272內(nèi)部集成sdram控制器,因此外圍電路設(shè)計(jì)簡單。兩片sdram的數(shù)據(jù)線分別接mcf5272的高16位和低16位數(shù)據(jù)總線,拼成32位的sdram使用,所以兩片sdram共享一個(gè)/cs7。3.3 以太網(wǎng)接口和串行接口設(shè)計(jì)從硬件角度看,以太網(wǎng)接口電路主要由mac控制器和物理層接口 (phy)兩大部分構(gòu)成。mcf5272內(nèi)嵌一個(gè)mac控制器,支持媒體獨(dú)立接口(mii)。可在半雙工或全雙工模式下提供10m/100mbps的以太網(wǎng)接入。在半雙工模式下,控制器支持csma/cd協(xié)議,

29、在全雙工模式下支持ieee802.3mac控制層協(xié)議。 mcf5272內(nèi)部包含了以太網(wǎng)mac控制模塊,但沒有提供物理層接口,所以需外接一片物理層芯片以提供完整的以太網(wǎng)接口電路。本設(shè)計(jì)選用realtek的rtl8201bl芯片作為以太網(wǎng)的物理層接口。mcf5272內(nèi)嵌帶mii接口的mac控制器,rtl8201bl也提供了mii接口,將mii接口對(duì)應(yīng)的信號(hào)連接起來就可以了。要注意rtl8201bl與rj45的連接,一般需要使用隔離變壓器對(duì)rtl8201bl與rj45進(jìn)行隔離,本設(shè)計(jì)沒有選用專用的隔離變壓器,而是將rj45與隔離電路進(jìn)行一體化設(shè)計(jì),具體電路見附錄。 3.4 usb接口設(shè)計(jì) mcf52

30、72包含usb模塊,能夠與usb主機(jī)(例如pc機(jī))進(jìn)行設(shè)備模式的數(shù)據(jù)通訊,mcf5272的usb模塊內(nèi)部包含一個(gè)usb收發(fā)器,mcf5272也為外接的usb收發(fā)器提供了接口,本著充分利用mcf5272已有的接口資源的原則,不使用外接的usb收發(fā)器,直接利用mcf5272內(nèi)含的usb收發(fā)器,在mcf5272外部使用一個(gè)如圖4所示的保護(hù)電路,構(gòu)成一個(gè)完整的usb接口。mcf5272的usb_d+和usb_d與保護(hù)電路連接;mcf5272的usb_clk引腳連接一個(gè)能產(chǎn)生48mhz時(shí)鐘信號(hào)的有源晶振。 圖4 usb接口保護(hù)電路3.5 a/d和d/a接口設(shè)計(jì) 模擬量輸入接口選用了高速低功耗、8通道、串

31、行12位max186模數(shù)轉(zhuǎn)換芯片,可以完成模擬量信號(hào)采集?,F(xiàn)場420ma測量信號(hào)經(jīng)過2000精密電阻變?yōu)?.84v電壓,進(jìn)入max186的輸入通道。max186具有一個(gè)內(nèi)部4. 096v基準(zhǔn)源,每一通道帶跟蹤/保持(t/h)電路,最高采樣頻率可達(dá)133kh。其sclk、din、dou、cs#引腳分別與mcf5272芯片的qspi_clk、 qspi_dout ,qspi_din,qspi_cs0相連。max186的控制字的寫入與轉(zhuǎn)換數(shù)據(jù)的輸出通過串行數(shù)據(jù)線完成,其各個(gè)輸入通道由控制字進(jìn)行選擇。 max186支持單端和差分兩種模擬量輸入方式,當(dāng)選擇單端模擬量輸入方式時(shí),ch0為8路相對(duì)于模擬地(

32、agnd)的單端模擬輸入:當(dāng)選擇差分模擬輸入方式時(shí),ch0ch7分為四對(duì)模擬量輸入:ch0/ch1, ch2/ch3, ch4/ch5和ch6/ch7, ad轉(zhuǎn)換對(duì)兩個(gè)模擬量的差值電壓進(jìn)行轉(zhuǎn)換。max186支持單雙極性轉(zhuǎn)換,單極性模擬量輸入范圍是0vref:雙極性模式下,輸入范圍為vref/2+vref/2.max186收到有效的cs#信號(hào)以后,就在每一個(gè)時(shí)鐘sclk的每一個(gè)上升沿把一個(gè)最高位為“1”的控制字節(jié)的各位送入輸入移位寄存器,控制器收到控制字節(jié)后,選擇控制字中給定的模擬通道并在sclk的下降沿啟動(dòng)轉(zhuǎn)換。 模擬量輸出接口選用dac7612做為數(shù)模轉(zhuǎn)換器件,支持2通道12位,04.095

33、v模擬電壓輸出,能夠容納或接受5ma電流,低功耗。dac7612支持單一+5v供電,包括一個(gè)移位寄存器,鎖存,參考電壓2.435v。相對(duì)于ad轉(zhuǎn)換器件max186,da轉(zhuǎn)換芯片dac7612其控制邏輯相對(duì)比較簡單。dac7612數(shù)據(jù)通過sdi引腳傳送,開始兩位表示dac地址用來選擇輸出寄存器a/b,后面12位表示送往dac的12位數(shù)據(jù),從高位開始送入移位寄存器。 dac內(nèi)部采用雙緩沖結(jié)構(gòu),這樣新的數(shù)據(jù)不會(huì)影響進(jìn)入dac的數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)從串行移位寄存器送入dac寄存器,loaddacs#引腳會(huì)產(chǎn)生一個(gè)有高到低的跳變信號(hào)。在傳輸數(shù)據(jù)的時(shí)應(yīng)該先置loaddacs#為高電平。dac7612和mcf52

34、72的qspi模塊連接,其clk、sdi、loaddacs#、cs#引腳分別與mcf5272芯片的qspi_clk、pa0、 qspi_din,qspi_cs1相連。需要注意的是,mcf52782通過gpio模塊的pa0控制dac的 loaddacs#,gpio模塊的信號(hào)都是與其他模塊的信號(hào)復(fù)用的,pa0是gpio口與usb模塊的usbtp信號(hào)復(fù)用,但是本設(shè)計(jì)中沒有使用外接的usb收發(fā)器,因此usbtp信號(hào)沒有使用,所以可以用pa0控制dac的 loaddacs#。 3.6 lcd接口設(shè)計(jì) 嵌入式網(wǎng)絡(luò)控制器采用mtgs32240液晶顯示模塊,是臺(tái)灣微端公司的一種中等顯示規(guī)模的黑白液晶顯示模塊,

35、320點(diǎn)240行,占空系數(shù)1/240,像點(diǎn)細(xì)膩,藍(lán)底白字,集成sed1335控制器,適合用于工業(yè)控制??刂破骷蒷cd顯示模塊,可以用于現(xiàn)場數(shù)據(jù)顯示和故障診斷。lcd顯示模塊和cpu接口設(shè)計(jì)比較簡單,外部8位數(shù)據(jù)總線和mcf5272的數(shù)據(jù)總線的最高8位連接。片選信號(hào)連接mcf5272的/cs6,當(dāng)訪問lcd顯示模塊時(shí),設(shè)置/cs6對(duì)應(yīng)端口的數(shù)據(jù)寬度為8位。讀寫信號(hào)分別和cpu的讀寫信號(hào)相連接。為了能夠和motorola的cpu進(jìn)行通信,應(yīng)使lcd顯示模塊的sel1接高電平,sel2接地。 mtgs32240中集成了日本seikoepson公司sed1335液晶控制器。sed1335具有功能較強(qiáng)

36、的i/o緩沖器,微控制器在訪問sed1335時(shí)不需判斷其是否“忙”,sed1335隨時(shí)準(zhǔn)備接受mcf5272的訪問并在內(nèi)部時(shí)序下及時(shí)的把微控制器發(fā)送來的指令和數(shù)據(jù)傳輸就位。 sed1335接口引腳有db0db7直接掛在微控制器數(shù)據(jù)總線上,其cs片選信號(hào)低電平有效;a0:i/o緩沖器選擇信號(hào),a0=1,寫指令代碼和讀數(shù)據(jù),a0=0寫數(shù)據(jù)參數(shù)和讀忙標(biāo)志;/rd是讀使能信號(hào);/wr是寫操作信號(hào);/res是復(fù)位信號(hào),低電平有效;sel1,sel2接口類型選擇信號(hào),sed1335可以與具有8080類微處理器的微控制器接口,也可以與具有6800類微處理器的微控制器接口,mcf5272是6800類微處理器。

37、因此,設(shè)置sel1=1、sel2=0和mcf5272接口。 當(dāng)顯示漢字時(shí),需要用1616像素的點(diǎn)陣,一種方法時(shí)把漢字作為1616像素的圖形來顯示,一個(gè)漢字需要兩列816像素組成,共32個(gè)字節(jié),這32個(gè)字節(jié)數(shù)據(jù)應(yīng)按奇數(shù)字節(jié)的列的數(shù)據(jù)寫入sed1335的vram,然后對(duì)偶數(shù)字節(jié)進(jìn)行同樣的操作;另一種方法就是使用漢字硬件字庫的方法,把漢字庫文件下載到第二片flash中,本設(shè)計(jì)選擇在flash中存放漢字字庫。3.7觸摸屏接口設(shè)計(jì) 觸摸屏附著在lcd顯示器的表面,與lcd顯示器配合使用,測量出觸摸點(diǎn)在屏幕上的坐標(biāo)位置,則可根據(jù)顯示屏上對(duì)應(yīng)坐標(biāo)點(diǎn)的顯示內(nèi)容或圖標(biāo)獲知觸摸者的意圖。把觸摸屏應(yīng)用到工業(yè)以太網(wǎng)控

38、制器中,與lcd配合使用,將使現(xiàn)操作簡單易用。 觸摸屏輸入系統(tǒng)實(shí)際上是由觸摸屏控制器、觸摸屏和微控制器組成。觸摸屏控制器選用德州儀器公司的ads7846,觸摸屏選用四線式電阻觸摸屏,與mcf5272其的接口框圖如圖5所示。y-y-x-x+int1qspi_doutqspi_dinqspi_cs2qspi_clk mcf5272ads7846觸摸屏圖5 ads7846與mcf5272的接口框圖從圖中可以看出,中斷信號(hào)選用了mcf5272的/int1,因?yàn)榧词乖谕鹊膬?yōu)先級(jí)下,/int1也具有最高的優(yōu)先權(quán),而觸摸屏作為人機(jī)交互的途徑,顯然應(yīng)該具有最高的優(yōu)先級(jí)。 觸摸屏輸入應(yīng)用中還要解決觸摸抖動(dòng)和連

39、擊問題。采用延遲測量法,即在接收到觸摸屏筆中斷時(shí)延遲一段時(shí)間(抖動(dòng)延時(shí)30ms)后再測量,可消除抖動(dòng);測量完后再次延遲一段時(shí)間(連擊延時(shí)300ms)后打開筆中斷,可避免連擊現(xiàn)象的出現(xiàn)。延遲的實(shí)現(xiàn)使用了mcf5272的可編程中斷定時(shí)器tmr1。在主程序中完成初始化qspi寄存器、可編程中斷定時(shí)器tmr1和筆中斷/int1。在筆中斷中主要完成關(guān)筆中斷,設(shè)置筆中斷標(biāo)志和將定時(shí)計(jì)數(shù)值設(shè)置為抖動(dòng)延時(shí),在定時(shí)器中斷程序中實(shí)現(xiàn)坐標(biāo)值的測量、延時(shí)功能。3.8 端口地址譯碼電路設(shè)計(jì)本設(shè)計(jì)沒有專門的端口地址譯碼電路,因?yàn)閙cf5272提供了/cs0/cs7共8個(gè)片選信號(hào),可以選擇8個(gè)端口,任何時(shí)候,最多只有1個(gè)/

40、cs信號(hào)有效,與此相對(duì)應(yīng),mcf5272內(nèi)部有csbr0csbr7和csor0csor7共16個(gè)寄存器,csbr寄存器中有一個(gè)20位的ba(base address)字段,csor寄存器中有一個(gè)20位的bam(base address mask)字段,當(dāng)mcf5272要根據(jù)某個(gè)地址片選某個(gè)端口時(shí),先讀取csor0和csbr0的bam字段和ba字段,根據(jù)bam字段的值取該地址的高若干位,然后將這若干位地址與ba字段的對(duì)應(yīng)位比較,如果相等,則有效對(duì)應(yīng)的/cs0信號(hào),如果不相等,再讀取csor1和csbr1的bam字段和ba字段,直到命中為止,可見在端口地址譯碼的過程中,/cs0/cs7對(duì)應(yīng)的優(yōu)先級(jí)

41、別是從高到低的。舉一個(gè)例子,假設(shè)csor0寄存器的bam字段為“0xffe00”,表示要取32位地址的高11位進(jìn)行比較,csbr0寄存器的ba字段為“0xff800”,某個(gè)32位地址為“0xff9a256b7”,取該地址的高11位“11111111100”與ba字段的高11位比較,正好相等,則/cs0信號(hào)有效。在reset完成后,寄存器csbr0csbr7和csor0csor7都有缺省值,/cs0信號(hào)有效,這些缺省值不一定滿足設(shè)計(jì)的需要,所以要在初始化程序中改變這些寄存器的值。由于mcf5272內(nèi)嵌了端口地址譯碼電路,所以本設(shè)計(jì)要做的只是在初始化程序中設(shè)置寄存器csbr0csbr7和csor0

42、csor7,為/cs引腳對(duì)應(yīng)的端口分配合適的地址空間。地址空間分配程序段如下:void init_chipselects() g_pchipselect-csbr0=0xff800201; /* chipselect0 - 2mb flash*/ g_pchipselect-csor0=0xffe00014; g_pchipselect-csbr1=0xff000201; /* chipselect1 - 2mb flash*/ g_pchipselect-csor1=0xffe00014; g_pchipselect-csbr2=0; g_pchipselect-csor2=0; g_pch

43、ipselect-csbr3=0; g_pchipselect-csor3=0; g_pchipselect-csbr4=0; g_pchipselect-csor4=0; g_pchipselecr-csbr5=0; g_pchipselect-csor5=0; g_pchipselect-csbr6=0xdooood01; /* chipselect 6 - lcd控制*/ g_pchipselect-csor6=0xfffffe50; g_pc11ipselect-csbr7=0x00000701; g_pc1flpselect-csor7 = 0xff0007c; /* chipsel

44、ect 7 - 16mb sdram*/3.9 電源電路設(shè)計(jì)本設(shè)計(jì)選用的芯片需要3.3v和5v兩種直流電源,選用了轉(zhuǎn)換效率比較高的lm2596-3.3和lm2596-5開關(guān)穩(wěn)壓電源芯片。lm2596是國家半導(dǎo)體公司的開關(guān)穩(wěn)壓芯片,具有150khz的開關(guān)頻率和3a的工作電流,可以滿足系統(tǒng)需要。lm2596的功能是將未穩(wěn)壓的直流電源轉(zhuǎn)換成一定電壓的理想直流電源,根據(jù)lm2596 datasheet提供的數(shù)據(jù),選擇lm2596的電源輸入為未穩(wěn)壓的12v直流輸入。lm2596需要的未穩(wěn)壓的12v直流電源由220v、50hz的交流電經(jīng)過變壓、整流和濾波后產(chǎn)生。進(jìn)行l(wèi)cd接口電路的設(shè)計(jì)時(shí)需要注意,lcd的

45、驅(qū)動(dòng)需要負(fù)壓輸入,本設(shè)計(jì)選用臺(tái)灣沛亨公司的aic1652產(chǎn)生可調(diào)負(fù)壓輸出,供lcd接口電路使用。此外,本設(shè)計(jì)選用的lcd模塊采用的是冷陰極熒光燈(ccfl)背光,而冷陰極熒光燈需要在高壓交流電的驅(qū)動(dòng)下才能正常工作,通常需要將直流低壓電逆變?yōu)楦邏航涣麟?,而mtg-s32240沒有提供ccfl逆變器,因此本設(shè)計(jì)選用了國產(chǎn)的tad165-4 ccfl逆變器為lcd的背光提供高壓交流電輸入。產(chǎn)生lcd驅(qū)動(dòng)需要的負(fù)壓輸入和lcd背光需要的高壓交流電輸入的電路可以認(rèn)為是電源設(shè)計(jì)的一部分,但由于其特定的應(yīng)用,在畫硬件系統(tǒng)電路原理圖時(shí)將這兩部分電路畫在了lcd接口電路中。3.10復(fù)位和時(shí)鐘電路設(shè)計(jì)本設(shè)計(jì)選用m

46、ax708tcsa芯片實(shí)現(xiàn)復(fù)位電路,具體電路如圖6所示。該復(fù)位電路的工作原理如下:在系統(tǒng)上電時(shí),當(dāng)vcc沒有達(dá)到3.3v時(shí),系統(tǒng)處于復(fù)位狀態(tài),/reset輸出為低;當(dāng)vcc的電壓達(dá)到高電平的門限電壓時(shí),/reset端輸出為高電平,系統(tǒng)進(jìn)入正常工作狀態(tài)。當(dāng)按下s1時(shí),/mr端接地,/reset也輸出為低,系統(tǒng)復(fù)位。圖6 復(fù)位電路 mcf5272的cpu外部時(shí)鐘輸入引腳clkin的輸入頻率范圍是從直流到66mhz,為了獲得最高性能,clkin的輸入采用66mhz時(shí)鐘,由66mhz的有源晶振產(chǎn)生。 mcf5272的usb模塊的usb_clk引腳需要48mhz時(shí)鐘輸入,由48mhz的有源晶振產(chǎn)生。 本

47、設(shè)計(jì)的rs232接口支持的最大數(shù)據(jù)傳輸率為120 kbit/s,rs232接口與uart模塊連接,uart模塊有一個(gè)外部時(shí)鐘輸入引腳urt_clk,這個(gè)引腳可以被屏蔽,urt_clk被屏蔽后,uart模塊使用mcf5272的cpu外部時(shí)鐘輸入clkin作為時(shí)鐘源,clkin在uart模塊內(nèi)部經(jīng)過分頻,從而支持120 kbit/s的數(shù)據(jù)傳輸率。因?yàn)閡art模塊可以使用clkin作為時(shí)鐘輸入,所以為了簡化設(shè)計(jì),不使用urt_clk,節(jié)省了一個(gè)有源晶振。 本設(shè)計(jì)選用的phy芯片rtl8201bl需要25mhz的時(shí)鐘輸入,該時(shí)鐘由25mhz的無源晶振提供。4軟件系統(tǒng)設(shè)計(jì)本設(shè)計(jì)選用uclinux作為操作

48、系統(tǒng),uclinux本身并不支持實(shí)時(shí)性,目前存在兩種不同的方案提供uclinux對(duì)實(shí)時(shí)性的支持,它們分別是rtlinux( rtl) 和rtai(real time application interface)。有了這兩種方案,uclinux可以應(yīng)用到對(duì)實(shí)時(shí)性要求較高的場合。開發(fā)uclinux通常用標(biāo)準(zhǔn)的gnu工具鏈。經(jīng)過修改的工具鏈支持一些高級(jí)特性,比如eip (execute-in-place)技術(shù),共享庫支持等。 uclinux與標(biāo)準(zhǔn)linux兼容,uclinux除了不能實(shí)現(xiàn)fork( ) 而是使用vfork() 外,其余uclinux的api函數(shù)與標(biāo)準(zhǔn)linux的完全相同。這并不是意味

49、著uclinux不能實(shí)現(xiàn)多進(jìn)程,實(shí)際上uclinux多進(jìn)程管理是通過vfork()來實(shí)現(xiàn)的,或者是子進(jìn)程代替父進(jìn)程執(zhí)行,直到子進(jìn)程調(diào)用exit ( )函數(shù)退出,或者是子進(jìn)程調(diào)用exec ( )函數(shù)執(zhí)行一個(gè)新的進(jìn)程。大多數(shù)標(biāo)準(zhǔn)的linux應(yīng)用程序在從linux操作系統(tǒng)移植到uclinux系統(tǒng)時(shí),幾乎不用做什么大的改動(dòng),就可以完全達(dá)到對(duì)一個(gè)嵌入式應(yīng)用程序的要求(例如合理的資源使用)。uclibc對(duì)libc(可用于標(biāo)準(zhǔn)linux的函數(shù)庫)做了修改為uclinux提供了更為精簡的應(yīng)用程序庫。uclinux帶有一個(gè)完整的tcp/ip協(xié)議,同時(shí)它還支持許多其他網(wǎng)絡(luò)協(xié)議。uclinux對(duì)于嵌入式系統(tǒng)來說是一

50、個(gè)網(wǎng)絡(luò)完備的操作系統(tǒng)。一般uclinux都自帶了常用的設(shè)備驅(qū)動(dòng),字符設(shè)備驅(qū)動(dòng)的典型例子有串口驅(qū)動(dòng),打印驅(qū)動(dòng),usb設(shè)備驅(qū)動(dòng)等,塊設(shè)備驅(qū)動(dòng)的典型例子有romfs,jffs驅(qū)動(dòng),硬盤驅(qū)動(dòng)等;以太網(wǎng)驅(qū)動(dòng)的典型例子有fec驅(qū)動(dòng),用戶只需開發(fā)自己添加設(shè)備的驅(qū)動(dòng)。 4.1 修改引導(dǎo)程序 引導(dǎo)程序在嵌入式uclinux中代碼量較小,但是作用較大。這里的引導(dǎo)程序包括兩個(gè)方面的內(nèi)容:引導(dǎo)內(nèi)核的bootloader和內(nèi)核自身的引導(dǎo)程序部分。bootloader是cpu開機(jī)后執(zhí)行的第一個(gè)程序,它的任務(wù)就是將內(nèi)核裝載到內(nèi)核要求的地址。內(nèi)核引導(dǎo)程序是指內(nèi)核運(yùn)行前的一段代碼,也可以說是內(nèi)核初始化部分。比如初始化硬件,初始

51、化ram;把uclinux內(nèi)核中的數(shù)據(jù)段拷貝到ram中去;清空bss段等。使用bootloader啟動(dòng)引導(dǎo)程序可以使系統(tǒng)做更多的事情,通過它可以初始化硬件,ram和系統(tǒng)的i/o設(shè)備等。同時(shí)它還可以裝載寫在flash上的不同內(nèi)核,或者通過外部設(shè)備傳輸過一個(gè)內(nèi)核并且裝載運(yùn)行它??梢酝ㄟ^串口串口或者以太網(wǎng)口加載pc機(jī)上編譯好的uclinux內(nèi)核或者根文件系統(tǒng)。一般情況下bootloader都是固定的燒寫在flash上面并且一般采用鎖定的方法防止被擦除。作為系統(tǒng)啟動(dòng)程序,最先要考慮的是cpu在加電的時(shí)候運(yùn)行那個(gè)地址的代碼。本設(shè)計(jì)計(jì)劃選用motorola為coldfire設(shè)計(jì)的dbug程序作為uclin

52、ux啟動(dòng)支持,它的任務(wù)是初始化硬件系統(tǒng),把uclinux拷貝到內(nèi)存處,然后從該處運(yùn)行uclinux。它可以完成bootloader的所有任務(wù),支持從網(wǎng)絡(luò)上燒寫uclinux (image.bin)到flash中。dbug的源代碼可以motorola的網(wǎng)站上下載,針對(duì)本設(shè)計(jì),只需要修改它的幾個(gè)初始化文件就可以用在目標(biāo)系統(tǒng)上。 4.2 lcd驅(qū)動(dòng)程序的設(shè)計(jì)uclinux的lcd控制芯片sed1335與內(nèi)核接口的驅(qū)動(dòng)程序可分為三部分:與內(nèi)核接口,通過數(shù)據(jù)結(jié)構(gòu)file_operations來完成;與系統(tǒng)啟動(dòng)代碼的接口,對(duì)設(shè)備進(jìn)行初始化;與設(shè)備的接口,對(duì)設(shè)備的讀寫等操作。在uclinux操作系統(tǒng)中,系統(tǒng)

53、引導(dǎo)時(shí),通過syse_setup(linux/fs/filesystems.c)進(jìn)行系統(tǒng)初始化。sys_setup又調(diào)用device_setup進(jìn)行設(shè)備初始化。lcd設(shè)備初始化由函數(shù)。chr_dev_init(linux/drivers/char/mem.c)調(diào)用初始化函數(shù)lcdset()。lcd控制芯片sed1335設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)具體步驟如下:(1) 在/dev/下用mknod手工創(chuàng)建一個(gè)設(shè)備,設(shè)備名即下面要注冊使用的設(shè)備名。即touchfb c 23 0。其中fb表示設(shè)備名稱,代表字符設(shè)備,23代表主設(shè)備號(hào),0代表次設(shè)備號(hào)。uclinux自帶工具集中的genromfs工具會(huì)將fb自動(dòng)轉(zhuǎn)換

54、為fb。(2) 在程序中定義一個(gè)file_operations結(jié)構(gòu),指定向上提供的接口操作。struct file_operationsread sed1335fb_read(),write sed1335fb_write(),ioctl sed1335fb_ioctl(),mmap sed1335fb_mmap(),open sed1335fb_open(),release sed1335fb_release(), sed1335fb_fops;此 設(shè)備 驅(qū) 動(dòng)程序分為:read, write, ioctl, mmap, open和release等函數(shù)操作,這是構(gòu)成整個(gè)驅(qū)動(dòng)程序的核心部分,實(shí)

55、現(xiàn)了與用戶空間操作的接口。編寫lcd初始化程序lcdset (),初始化lcd設(shè)備。(3) 驅(qū)動(dòng)程序的注冊。實(shí)際上就是向內(nèi)核注冊lcd設(shè)備文件(主設(shè)備號(hào)/次設(shè)備號(hào))及其一系列標(biāo)準(zhǔn)操作接口。注冊的工作就是向uclinux管理的設(shè)備鏈表中加入一個(gè)節(jié)點(diǎn)。注冊函數(shù)調(diào)用為:result=register_chrdev(sed1345fb_major,fb,&sed1335fb_fops),其中sed1345fbes_major登記lcd設(shè)備的主設(shè)備號(hào);fb是lcd設(shè)備的名稱,sedl335fb_fops是lcd驅(qū)動(dòng)程序?qū)崿F(xiàn)的文件操作集。4.3 觸摸屏驅(qū)動(dòng)程序的設(shè)計(jì)本設(shè)計(jì)中,觸摸屏驅(qū)動(dòng)程序采用字符設(shè)備方式

56、,其結(jié)構(gòu)如圖7所示。其中:中斷處理程序完成對(duì)觸摸屏觸摸點(diǎn)的位置讀?。籺s-open()給觸摸屏驅(qū)動(dòng)程序分配中斷源;ts-init()對(duì)mcf5272的qspi功能寄存器進(jìn)行初始化;ts-ioctl()函數(shù)的功能是把從中斷處理程序中獲得的x、y方向的a/d轉(zhuǎn)換值賦給用戶空間的程序。touchscreendriver中斷處理程序ts_open()ts_init()ts_ioctl()圖7 觸摸屏驅(qū)動(dòng)程序結(jié)構(gòu)在本系設(shè)計(jì)中,對(duì)觸摸屏操作過程為:當(dāng)啟動(dòng)uclinux操作系統(tǒng)時(shí),完成其觸摸屏驅(qū)動(dòng)程序的初始化,即完成ts-init()函數(shù)中的功能;當(dāng)uclinux操作系統(tǒng)用戶空間的程序打開觸摸屏驅(qū)動(dòng)程序時(shí),即執(zhí)行驅(qū)動(dòng)程序中ts-open()函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論