版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄
第二章引言...............................................................3
1.1研究背景及意義....................................................3
1.2國內外研究現(xiàn)狀....................................................3
1.3研究內容..........................................................4
第二章相關知識技術簡介...................................................5
2.1單片機的概念......................................................5
2.2電梯控制系統(tǒng)簡介..................................................5
2.3proteus軟件介紹...................................................6
第三章系統(tǒng)需求分析.......................................................7
3.1系統(tǒng)的概述........................................................7
3.2系統(tǒng)的研究方法和技術路線.........................................7
3.3系統(tǒng)功能需求......................................................8
3.4系統(tǒng)功能分層分析..................................................9
第四章系統(tǒng)的總體設計....................................................10
4.1高層住宅電梯顯示系統(tǒng)總體設計....................................10
4.2各模塊的功能設計.................................................10
4.2.1嵌入式操作系統(tǒng)模塊.............................................11
4.2.2LED顯示屏的驅動程序設計..................................II
4.2.3通信模塊的設計.............................................11
4.2.4圖形用戶界面的設計.........................................11
4.2.5顯示效果的設計模塊.........................................11
4.2.6多國語言的設計模塊.........................................11
4.3基于嵌入式操作系統(tǒng)RL-RTX的移植和應用.........................12
第五章電梯顯示系統(tǒng)服務端設計............................................13
5.1客戶服務器模式...................................................13
5.2服務器端的設計....................................................13
第六章電梯顯示系統(tǒng)終端機實現(xiàn)...........................................15
6.1電梯顯示系統(tǒng)RL-RTX操作系統(tǒng)嵌入式實現(xiàn)........................15
6.1.1程序架構....................................................15
6.1.2RL-RTX簡介...............................................15
6.2RL-RTX的移植...................................................17
6.2.1系統(tǒng)任務的劃分.............................................17
6.2.2RL-RTX的調試..............................................18
6.3LED顯示屏驅動程序的實現(xiàn)........................................19
6.3.1基本時序....................................................19
6.3.2底層驅動程序...............................................20
6.3.3引腳初始化程序.............................................20
634行尋址掃描程序..............................................21
6.3.5整屏數(shù)據(jù)顯示程序...........................................23
6.4動態(tài)顯不程序的實現(xiàn)..............................................24
6.4.1動畫效果...................................................24
6.4.2圖像的左右移動'..........................................24
6.4.3圖像的上下移動.............................................24
6.4.4圖像的閃爍.................................................24
6.4.5圖像的實時顯示.............................................25
6.4.6基本繪圖函數(shù)的編寫........................................25
6.5ZLG/GUI圖形用戶界面的移植和應用...............................25
第7章系統(tǒng)測試..........................................................26
總結......................................................................28
參考文獻..................................................................29
第一章引言
1.1研究背景及意義
現(xiàn)代社會中,人們的工作和生活壓力增大,接觸資訊的時間減少,如何利用碎片時間把
盡可能資訊傳遞到對應的受眾人群中,是各個行業(yè)研究的一個重要問題。電梯是人們經常使
用的一種工具,無論是住家還是工作,人們每天都有大量的時間用于電梯乘坐。由于電梯是
一個密閉空間,往往是和陌生人在一起乘坐,一般很少有交談的時候。手機由于沒有信號也
無法接收信息,因此乘坐電梯的時候,人們會下意識地尋求一些事物來打發(fā)時間。將一些信
息資訊如天氣預報、時間日期等重要信息的顯示或者進行產品的廣告信息,會大大加深人們
的印象。因此應用于電梯的顯示系統(tǒng)在資訊傳播和產品推廣方面具有很大的經濟價值。
正是基于這樣的應用背景,我們公司和外協(xié)單位合作研制一種電梯顯示系統(tǒng),能夠顯示重要
的資訊以及產品廣告,同時成本低廉,使用壽命長,維護簡易。
在選擇顯示材料時,一般有兩種選擇,一種是采用液晶顯示,一種是采用發(fā)光二極管(LED)
顯示。液晶顯示具有系統(tǒng)功耗低,成品體積較小,圖像清晰等優(yōu)點,但是硬件成本較高,可
視角度較小,從不同的視角看過去,得到的顯示效果不同,特別在側面觀看時,圖像的還原
性很差。并且在戶外強光的條件下,亮度較低,距離較遠時完全補發(fā)看清。在維護產品時,
一旦部分液晶材料發(fā)生問題后,無法單獨進行修復,只能更換整個液晶面板。采用發(fā)光二極
管設計的顯示屏,成本相對較低,顯示的亮度很高,特別適合進行戶外的顯示。同時顯示的
視角很寬,用戶可以從不同的角度清除的觀看顯示內容。采用發(fā)光二極管設計的顯示產品在
維護時也非常方便,由于是采用多個小塊的LED顯示模塊拼接為一個大屏的顯示面板,一旦
某一部分顯示模塊出現(xiàn)問題,只需要更換該部分的LED顯示模塊即可,而不需要全部更換。
1.2國內外研究現(xiàn)狀
目前國內電梯內的顯示系統(tǒng)主要有兩種方式,一種是采用液晶電視進行顯示,一種采用
廣告畫框的模式。采用液晶電視顯示的方式,成本比較昂貴,維護麻煩,同時循環(huán)播放廣告
的聲音太大,反而引起人們的反感;而廣告畫框的模式,必須要人工更換顯示的內容,并且
由于廣告畫框位置較低,很容易成為小孩涂鴉的地方,損壞的機率很高。
近幾年在東南亞等地,如新加坡,她的新建高層住宅開始采用LED顯示屏來進行資訊和
廣告的顯示,這種顯示系統(tǒng)采用LED點陣顯示屏為顯示器件,具有成本低廉,使用壽命長,
可視角度大,主動發(fā)光等特點,是顯示器件里面常用的一種顯示器件。
在顯示屏的開發(fā)方式上,國內外的電梯顯示屏常常采用8051單片機或者可編程邏輯器
件來完成電路的開發(fā)以及驅動程序的編寫。8051單片機工作頻率較低,最高頻率只有12Mhz,
當顯示屏幕較大時就無法完成動態(tài)掃描,并且單片機內部沒有較大的存儲空間,一般只有
64KB的Flash容量,如果要存放字庫和圖片等信息必須要外擴存儲器,增加系統(tǒng)的成本。在
顯示屏的行、場驅動電路上,大多還是采用傳統(tǒng)的74LS595傳入并出移位寄存器,這種寄存
器只能完成移位操作,內部沒有鎖存器,需要單獨增加鎖存器,這樣增加了電路成本也使得
整個電路的面積很大。信息的傳遞一般也是采用RS232總線完成,這種總線抗干擾能力較差,
傳輸距離較短。
1.3研究內容
本文主要研究人們日常生活中不可缺少的電梯顯示屏,本文的設計很有想法,在人們乘
坐電梯時候,常常最關心的就是我坐的電梯到幾樓了,所以為了方便日常電梯的使用,我想
出做一個電梯顯示系統(tǒng)。
在本系統(tǒng)中,本人主要完成了系統(tǒng)需求分析、系統(tǒng)功能模塊設計、系統(tǒng)功能模塊實現(xiàn),
并對功能模塊進行分析,最終完成測試。本系統(tǒng)有以下特色:
1.本系統(tǒng)界面美觀,內容清晰,界面具有親和力,突顯了電梯樓層數(shù)字。
2.顯示了近段時間的天氣預報,最近發(fā)生的新聞。
3.本系統(tǒng)相當于是一個電子報,給乘坐電梯的方便。
第二章相關知識技術簡介
2.1單片機的概念
單片微型計算機(SingleChipMicroComputer)簡稱單片機,它是把組成微型計算機的
各功能部件:中央處理單元CPU、一定容量的隨機存儲器RAM和只讀存儲器ROM,I/O接口
電路、定時器/計數(shù)器以及串行口等制作在一塊芯片中的計算機。
隨著電子技術和微電子技術的飛速發(fā)展,微型計算機發(fā)展很快,它是在一塊芯片上集成
了多種功能部件構成一臺完整的、具有一定功能的單片微型計算機。單片機作為計算機的一
個獨特分支,打破了微型計算機按邏輯功能劃分芯片結構的傳統(tǒng)概念,以其體積小、功能強、
性價比高等優(yōu)點被廣泛應用于諸多領域。單片機在一塊芯片上集成CPU,ROM,RAM、對0接
口,定時器/計數(shù)器和中斷系統(tǒng)等功能部件,構成一個完整的微型計算機。由于集成電路技
術的進一步發(fā)展它還可包括A/D,D/A通道,DMA通道和浮點運算單元等特殊功能部件。隨
著單片機功能的不斷擴展,由單片機構成的單片機應用系統(tǒng)功能也口益擴展,它可以配用打
印機、繪圖機、CRT等越來越多的外圍設備,還可以支持聯(lián)網。在此不拓展敘述。此外,由
于單片機的硬件結構與指令系統(tǒng)的功能都是按工業(yè)控制要求而設計的,常用在工業(yè)檢測、控
制裝置中,因而也稱為微控制器(Mier。一Controller)。它具有結構簡單、控制功能強、可
靠性高、體積小、價格低,抗干擾能力強以穩(wěn)定可靠的工作1020年,智能化儀表、家用電
器、機器人、航空航天技術、數(shù)據(jù)處理、交通運輸?shù)确矫娅@得了廣泛應用。
單片機在實際應用中外加各種擴展接口電路以及外部設備。單片機系統(tǒng)則是在單片機芯
片的基礎上擴展其它電路或芯片構成的具有一定應用功能的計算機系統(tǒng)。在單片機系統(tǒng)中,
單片機處于核心地位,是構成單片機系統(tǒng)的硬件和軟件基礎。
單片機應用系統(tǒng)是以單片機為核心,加以輸入、輸出、顯示、測量和控制等外圍電路和
軟件,能實現(xiàn)一種或多種功能的實用系統(tǒng)。單片機應用系統(tǒng)是為控制應用而設計的,該系統(tǒng)
與控制對象結合在一起使用,是單片機開發(fā)應用的成果。單片機應用系統(tǒng)是由硬件和軟件組
成的。硬件是單片機應用系統(tǒng)的基礎,軟件則是在硬件的基礎上對其資源進行合理調配和使
用,從而完成應用系統(tǒng)所要求的任務。硬件和軟件二者相互依賴,缺一不可。
2.2電梯控制系統(tǒng)簡介
電梯的控制系統(tǒng)主要包括了轎廂操縱盤、廳門信號、PLC、變頻器和電梯調速系統(tǒng)等一5
大部分。其中電梯變頻器主要是負責對整個電梯的上下運行速度進行調速功能。而系統(tǒng)的
PLC則主要對系統(tǒng)中的各種信號的邏輯運算進行處理。包括對變頻器發(fā)出起停和調速信號,
并且變頻器也將本身的工作狀態(tài)返回給PLC從而形成整個系統(tǒng)的閉合回路。為了解決如何形
成速度和位置的閉環(huán)的問題,系統(tǒng)進進行了電動機同軸連接旋轉編碼器和PG卡的搭建配置
從而完成整個電梯系統(tǒng)的速度檢測以及問題信息的反饋。在針對電梯在運行過程中獲取減速
信號,減速運行的時候如何處理此時的電梯的電動機處于電動機處于再生發(fā)電狀態(tài),向變頻
器回饋電能,促使系統(tǒng)中的直流電壓升高的問題,系統(tǒng)通過配置制動電阻的方式。
電梯系統(tǒng)是一個六層六站的系統(tǒng),井道內設有轎廂、安全窗、對重、安全鉗、感應器、
平層、樓層隔磁板、端站打板及各種動作開關,轎廂底部設有超載、滿載開關,井道外每層
設有樓層顯示、呼梯按鈕及指示、一層設基站電鎖,井道頂部有機房,內設機房檢修按鈕、
慢上、慢下開關、曳引機、導向輪和限速器,并道底部設有底坑,緩沖器、限速器繩輪;轎
鬧內設有廳門、轎門、門機機構、門刀機構、門鎖機構、門機供電電路、安全觸板、轎頂急
停、檢修、慢上、慢下開關及轎頂照明、轎頂接線廂,轎門和廳門上方設有樓層顯示,轎門
右側設有內選按鈕及指示、開關門按鈕、警鈴按鈕、超載、滿載指示。本文的重點是先將原
由繼電器控制的電梯控制柜進行改造,用PLC取代繼電器進行電梯控制,以提高電梯的可靠
性和安全性;然后將電梯的信號通過DDC采集送工作站進行電梯運行情況的監(jiān)視。
直流電梯具有速度快、舒適感好、平層準確度高的特點,這是因為直流拖動系統(tǒng)調速性
能好、調速范圍寬。直流電動機的調速方法有改變端電壓UA、調節(jié)調整電阻Rtj、改變勵磁
磁。直流電梯的拖動系統(tǒng)通常有兩種:
(1)、用發(fā)電機組構成的可控硅勵磁的發(fā)電機一電動機的拖動系統(tǒng)門禁電梯控制系統(tǒng)。
(2)、可控硅直接供電的可控硅一電動機拖動系統(tǒng)。
兩者都是利用調整電動機端電壓Ua的方法進行調速的,前者是通過調節(jié)發(fā)電機的勵磁
改變發(fā)電機的輸出電壓進行調速的,所以稱為可控硅勵磁系統(tǒng)。后者是用三相可控硅整流器,
把交流變?yōu)榭煽刂绷?,供給直流電動機的調速系統(tǒng),省去了發(fā)電機組,因此降低了造價,使
結構更加緊湊,直流電梯因其設備多,維護較為復雜,造價高,因此常用于速度要求較高的
高層建筑,它具有舒適感好、平層準確高的特點、速度有1.5-1.75m/s的快速梯和2.5—5m/s
的高速梯。
2.3proteus軟件介紹
Proteus是世界上著名的EDA工具(仿真軟件),主要從原理圖的布圖、單片機的代碼調
試和對外圍電路的協(xié)同仿真,可以一鍵切換到PCB設計從而真正意義上的實現(xiàn)從從產品的
概念設計到產品的真正設計。該軟件是由英國LabCenterElectronics公司出版用于處理EDA
的工具軟件。并且其實當前所有仿真單片機和外圍器件工具中比較好的一種.該軟件除了有
其他的類似EDA工具軟件的仿真功能外,還可以對單片機及外圍的其他器件進行一些仿真
功能?,F(xiàn)在國內己經出現(xiàn)了很多的對單片機的愛好者和從事單片機教學的教師,并且致力于
單片機開發(fā)應用的科技工作者也隨著時間的推移越來越多。
Proteus軟件是目前世界上唯一包含了電路仿真軟件、PCB設計軟件和虛擬模型仿真軟
件的工具軟件。該軟件可以支持8051,HC11,AVR,ARM,8086和MSP430等處理器模型。在2010
年的時候該軟件又進行了升級處理,并同時增加了對Cortex和DSP等系列的處理器支持。
在編譯方面,該軟件也對多種編譯器進行了支持包括IAR,Keil和MPLAB等。
第三章系統(tǒng)需求分析
3.1系統(tǒng)的概述
本項目由廠家提出的定制要求,我們結合市場調研發(fā)現(xiàn):目前市面上的電梯顯示系統(tǒng)一
般只能完成電梯運行信息的顯示:如樓層和上下狀態(tài)的顯示,而無法顯示電梯故障和維護信
息的顯示,在信息發(fā)布和廣告播放方面也是采用液晶顯示器,成本較高。而我們利用LED
設計的電梯顯示屏可以滿足高層建筑中對顯示內容的多種要求,既可以完成對一般電梯運行
信息,維護信息等工作狀態(tài)的顯示,還可以滿足信息發(fā)布,廣告需求等多種用途,同時具備
成本低廉,維護簡便的特點。
3.2系統(tǒng)的研究方法和技術路線
本課題主要采用現(xiàn)場調研,確定需求,通過系統(tǒng)設計與現(xiàn)場測試的方法,據(jù)信息系統(tǒng)開
發(fā)理論進行分析,來完成本課題。在文獻研究階段,將收集電梯顯示中各種顯示系統(tǒng)的優(yōu)劣,
進行比較選擇;在系統(tǒng)設計,擬采用嵌入式操作系統(tǒng)RL-RTX來完成基本軟件框架的搭建,
并以此為基礎,完成圖形用戶界面(GUI)模塊,顯示效果模塊,多國字庫模塊的設計。
整個系統(tǒng)擬采用模塊化進行總體設計,硬件上分成主控系統(tǒng)、顯示系統(tǒng)和通信系統(tǒng)三大
模塊進行設計,軟件上采用層次化設計思想,先完成各個底層驅動模塊的設計,然后由各個
任務模塊調用底層模塊。功能模塊主要由通信模塊和顯示模塊兩個大的部分,兩者之間利用
操作系統(tǒng)的信號量和消息隊列來完成信息的傳遞。最后通過對完成的系統(tǒng)進行測試并對系統(tǒng)
的可靠性與完整性進行了檢驗,最后根據(jù)這些條件對論文進行撰寫。本系統(tǒng)的技術路線和實
施方案流程圖如下圖3-1所示。
技術儲備
需求分析
總體設計
詳細設計N
系統(tǒng)實現(xiàn)
2
系統(tǒng)測試
2
撰寫論文
圖3-1系統(tǒng)實施方案
3.3系統(tǒng)功能需求
電梯多媒體顯示系統(tǒng)主要是一種電梯智能化發(fā)展的必然趨勢,也是對傳統(tǒng)電梯的顯示系
統(tǒng)的一個徹底的替換。本系統(tǒng)采用先進的處理系統(tǒng)和真彩的LED液晶顯示屏展示各種信息的
傳遞。其驅動程序主要根據(jù)顯示屏的顯示原理和各控制引腳的時序關系,完成信息的顯示.
該系統(tǒng)主要的功能分類包括以下幾點:
1、可以針對不同的運行環(huán)境,實現(xiàn)多國文字的顯示;
2、實時顯示電梯的運行狀態(tài)、當前的時鐘,日歷和天氣預報等日常信息;
3、可以實時的播放系統(tǒng)設定的廣告,電視,圖片等信息并支持多種播放模式和播放格
式;
3.4系統(tǒng)功能分層分析
本項目采用的技術手段是從系統(tǒng)未來的擴展性來考慮,選擇基于ARM7內核的主控芯片,
軟件部分采用了嵌入式操作系統(tǒng)UCOS完成系統(tǒng)的架構,以C語言進行程序的編寫。
主控芯片采用ARM內核的控制芯片:LPC2138,該控制芯片具備以下特點,工作速度為50MHZ,
片內具備32KB的Sram,2_56KB的Flash,48個通用的GPI。接口。和LED顯示屏連接時,直
接通過8根GPIO接口就可以完成對LED顯示頻的控制。
顯示信息的接收采用RS48_5模塊,該通信方式采用差分信號傳遞,抗干擾能力極強通
信距離遠,可達兩公里左右[m;同時支持多機模式,可以一個主機控制多個從機工作。
系統(tǒng)軟件方面主要包括以下模塊:嵌入式操作系統(tǒng)RL-RTX的移植和開發(fā);圖形用戶界
面(GUI)的設計;顯示效果的設計;多國字庫的設計。
系統(tǒng)總體規(guī)劃圖如圖3-2所示:
圖3-2系統(tǒng)分層設計框圖
系統(tǒng)采用分層設計思想:
最底層為硬件的驅動程序,比如LED顯示屏的驅動程序,完成基本的掃描顯示,點和線
的顯示程序;
第二層為圖形用戶界面(GUI),調用底層硬件函數(shù),設計多種顯示效果程序,如顯示內
容的左右移動函數(shù),上下移動函數(shù),漢字和多國字符的字庫;
第三層為嵌入式操作系統(tǒng)RL-RTX的任務函數(shù),將整個系統(tǒng)劃分為:通信任務和顯示任
務兩個大的任務模塊。通信任務負責接收電梯控制器發(fā)出的信息,并解析為控制信息還是公
共信息;然后調用顯示任務模塊完成對應內容的顯示。首先,深入理解和參閱LED顯示原理,
嵌入式操作系統(tǒng)和GUI圖形設計等相關文獻書籍為設計本系統(tǒng)做好技術儲備。其次,本文擬
采用文獻研究與深入調研對本系統(tǒng)進行需求分析,通過詳細了解電梯的運行情況和信息顯示
的需求,確定設計本系統(tǒng)的基本目標和邏輯功能要求,建立本系統(tǒng)的基本框架。
第章系統(tǒng)的總體設計
4.1高層住宅電梯顯示系統(tǒng)總體設計
本論文設計的電梯顯示系統(tǒng)分為LED顯示屏驅動程序、基于嵌入式操作系統(tǒng)RL-RTX的
移植和應用程序開發(fā)、基于ZLG/GUI圖形用戶界面的應用部分。
LED顯示屏驅動程序主要根據(jù)顯示屏的顯示原理和各控制引腳的時序關系,完成信息的
顯示,并實現(xiàn)多國文字顯示,圖片顯示,信息動態(tài)顯示,灰度顯示等多種顯示效果。系統(tǒng)的
總體功能模塊如圖4-1所示。
4.2各模塊的功能設計
電梯顯示系統(tǒng)
圖
顯
通
嵌L終
形
示
信
入E國
用
效
模
式D詒
戶
果
塊
操顯言
界
的
的
作示的
面
謾
設
系屏設
的
計
計
統(tǒng)的計
設
模
模模
計
驅塊
塊動塊
程
序
圖4-1電梯顯示系統(tǒng)功能模塊
4.2.1嵌入式操作系統(tǒng)模塊
該模塊作為系統(tǒng)的主要程序框架,采用任務模塊劃分的凡是完成系統(tǒng)框架的搭建,整個
系統(tǒng)分為通信任務,顯示任務兩個大的功能模塊,兩個任務之間通過消息隊列完成數(shù)據(jù)的傳
遞;通信任務負責接收數(shù)據(jù)并解析分包,將信息分類,并通過消息隊列傳遞到顯示任務:顯
示任務則根據(jù)不同的顯示內容,調用不用的顯示程序完成顯示;
4.2.2LED顯示屏的驅動程序設計
LED顯示屏采用掃描的方式來完成顯示的驅動顯示屏底層驅動軟件的設計思路:利用控
制器的GPIO,分別設計數(shù)據(jù)線,點時鐘線和行時鐘線,利用掃描的思路,先將一行的數(shù)據(jù)
通過數(shù)據(jù)線送出,然后選通該行進行顯示,接著讓該行無效,開始下一行數(shù)據(jù)的送出,然后
選通下一行顯示,這樣逐行掃描,來完成一屏顯示內容的顯示,只要掃描的頻率大于_SOHZ,
利用人眼的視覺暫留效應,就不會感到閃爍。
4.2.3通信模塊的設計
硬件采用RS485模塊,信距離遠,可達兩公里左右該通信方式采用差分信號傳遞,抗干
擾能力極強,通;同時支持多機模式,可以一個主機控制多個從機工作。軟件部分主要是分
析數(shù)據(jù)包,解析命令。
4.2.4圖形用戶界面的設計
采用層次化設計思路,在LED大屏幕顯示驅動程序基礎上設計,先設計最底層的顯示一
個點的程序,在此基礎上完成橫線和豎線的設計(橫線:利用Y方向不變,X方向多點顯示;
豎線:利用X方向不變,Y方向多點顯示),利用數(shù)學算法完成畫圓等函數(shù)的設計,完成基
本的點、線、面函數(shù)顯示,漢字和字符的顯示也是采用預先設計的漢字庫,從庫中將每個漢
字的顯示信息讀取后顯示;
4.2.5顯示效果的設計模塊
主要是完成顯示畫面的左右移動和上下移動,這些顯示效果的設計需要通過建立一個和
顯示屏顯示內容同樣大小的顯示緩沖區(qū)的方法來設計,如顯示屏大小為48行x64列,則必
須在內存中開辟一個48x64/8=384字節(jié)大小的顯示緩沖區(qū)。設計動畫效果時,先在顯示緩
沖區(qū)里進行數(shù)據(jù)的變化,然后再送出去顯示,這種方式也是顯示系統(tǒng)中常用的一種技術。
4.2.6多國語言的設計模塊
主要通過建立多國文字的字庫,存儲在控制器的Flash存儲器中,利用查表的方式進行
顯示。需要顯示任何一個字符都要利用專門的取模軟件將之進行二值化處理,比如一個漢字
“中”,(為了美觀,漢字一般采用16行X16列來表示,字符一般采用16行X8列來表示),
將它在16x16的空間中描出,有顯示的點則該位置為數(shù)據(jù)1,沒有顯示的點則該位置為數(shù)據(jù)
0;標準的漢字字庫GB2132的一級漢字有4000—5000左右的漢字,可以利用軟件批量提
取;英文字符或其他的國家的字符也按照同樣的方法提取子模,并根據(jù)一定的順序來排列,
以表格的形式存放在Flash存儲器中。在需要顯示的時候,利用查表的方法。按照順序在表
中找到對應的顯示數(shù)據(jù)去顯示。比如漢字顯示時,就是根據(jù)漢字的區(qū)碼和位碼的關系,在漢
字字庫中查找對應漢字的顯示信息。
4.3基于嵌入式操作系統(tǒng)RL-RTX的移植和應用
基于嵌入式操作系統(tǒng)RL-RTX的移植和應用程序開發(fā)是整個系統(tǒng)的主體程序。移植的工
作主要是基于微控制器LPC2138,完成系統(tǒng)時鐘節(jié)拍和中斷系統(tǒng)的修改。應用程序的開發(fā)則
是利用嵌入式操作系統(tǒng)RL-RTX提供的各種系統(tǒng)服務如信號量、郵箱和事件標志等完成各個
任務之間的同步和數(shù)據(jù)傳遞?;镜牧鞒淌峭ㄟ^RS48_5通信接口接收顯示信息,根據(jù)不同
的顯示類型調用不同的顯示程序,同時由于電梯工作環(huán)境的電磁干擾較大,加入了保護模塊
的子程序,確保程序的穩(wěn)定性。如圖4-2所示為電梯顯示系統(tǒng)整體控制程序流程圖。
圖4-2電梯顯示系統(tǒng)整體控制程序流程圖
基于ZLG/GUI圖形用戶界面的應用部分主要是為了實現(xiàn)更多的顯示效果,比如一些顯示
控件如對話框,下拉菜單的實現(xiàn),包括動態(tài)的顯示效果,如一部分屏幕移動,一部分靜止.
但由于電梯體積顯示,顯示屏的大小受到限制,屏幕較小,無法完成更多的顯示效果。
整個系統(tǒng)的流程為:主控制通過RS485總線接收電梯運行和控制信息以及要發(fā)布的公共
信息或廣告,根據(jù)不同的接收信息來確定顯示的形式和效果:如電梯的樓層和上下運行信息
在固定的區(qū)域顯示,箭頭要有滾動的效果;電梯的維護和控制信息則分屏上下顯示;公共信
息或廣告則進行左右滾動顯示;在涉及到多國語言顯示時,調用字庫信息;
第五章電梯顯示系統(tǒng)服務端設計
5.1客戶服務器模式
在整個的互連網絡之中,各個進程間的通信最主要的應用模型是客戶一服務器模式
(Client/Servermodel,c/s模式)。該模式中的客戶一服務器完全是針對網絡通信進程的。在
該種應用模式之中用戶可以根據(jù)需求將單個的PC計算機機建立公布于網絡上,使之成為該
模式之中的服務器端。并且客戶和服務器是完全根據(jù)雙方在通信進程中所扮演的角色來建立
的。在單臺的PC機上,用戶是可以處于多個通信的進程之中的。鑒于這種情況,用戶可以
是某一個進程的客戶又同時是另一個程的服務器。在客戶一服務器模式之中,很多時候都是
由客戶端一方主動向服務器端發(fā)出請求,在服務器端獲取到了客戶端的請求之后對該請求進
行回復操作該過程及是回答。該簡單的相互作用的過程就是客戶一服務器模式,并且在整個
該模式的過程之中提問方就是客戶,回答方及時服務器。該模式的過程具體如圖5-1所示。
客戶機服務器
請求
一響應
響應
圖5-1客戶服務器模式
這種模式被應用于大部分的網絡通信之中,并且根據(jù)該種模式建立的通信往往往隱含的
建立了客戶機與服務器之間的單對N之間的非對稱通信。由于實際情況會存在不同,該種
模式下的協(xié)議也可能會隨著該種情況出現(xiàn)對稱的或是非對稱的。其中對稱的協(xié)議就是指在通
信中的雙方都有可能及時主又是從的雙重角色;在非對稱協(xié)議中,通信的雙方之中的一方會
始終被作為主機,另一方則會一直被認定是從機。
5.2服務器端的設計
服務器端網絡通信接口模塊主要實現(xiàn)與外部網絡的數(shù)掘交換和提供用戶訪問的接口。要
完成的工作包括:啟動服務器監(jiān)聽線程,監(jiān)聽來自客戶的請求,然后調用信息庫中的信息來
驗證此用戶的身份,對于合法的用戶,將此用戶的相關信息記錄進信息庫;然后將用戶的點
播請求以及包含有此特定客戶的信息發(fā)送給媒體服務器,通知媒體服務器可以為此用戶服務。
實現(xiàn)流程圖如圖5-2所示:
圖5-2服務器端網絡通信流程
服務器端是整個系統(tǒng)運行的基礎,所以為了保證系統(tǒng)的可運行需要對服務器進行啟動系
統(tǒng)軟件。根據(jù)5-2的服務器端網絡通信流程圖分析在服務器的啟動中,首先需要啟動一個定
義好了的監(jiān)聽線程,對服務器端需要建立一個套接字的監(jiān)聽層析,并對套接字類型進行明確
的定義,即是對使用傳輸協(xié)議的進行監(jiān)聽。可以調用系統(tǒng)的socket()函數(shù)來完成。下面將
對socket的原型函數(shù)進行分析如下所示:
函數(shù)原型:SOCKETsocket(int,af”imtype,int,protocol);其中參數(shù)of是對一個地址
的描述具體的取值是AF」NET,參數(shù)type則是新套接字類型,該類型則是由SOCKET—STREAM
來進行創(chuàng)建。參數(shù)protocol指整個通信過程中套接字所采用的通訊協(xié)議,該參數(shù)在不指定的
情況下可以使用默認值0來表示。在該函數(shù)調用失敗的時候,可以調用系統(tǒng)函數(shù)WSAGetLast
Error()來獲取錯誤日志。由于客戶端在和服務器端進行連接的時候,客戶端需要知道服務
器的連接的地址和端口,所以需要調用bind()函數(shù)來進行訪問地址和端口綁定操作,該
函數(shù)的原型如下:
imbind(SOCKETs.conststructsockaddrFAR+name,imnamelen);
鑒于網絡信息一直重視的安全性問題,那么在服務器端在監(jiān)聽的時候。當獲取到了客戶
端的連接請求之后,服務器端在對該請求作出響應之前服務器是可以通過對請求連接的IP
地址進行安全驗證的。當驗證通過了服務器端可以做出接受,否則就拒絕并返回錯誤提示,
并關閉請求套接字。針對驗證通過了的請求,并將服務器端存儲好了的流媒體資源通過UDP
的方式發(fā)給客戶端。在接收到客戶端的點播請求之后,將點播信息發(fā)送至媒體服務器進行客
戶端流媒體下載播放操作。并且在服務器單系統(tǒng)之中,服務器會根據(jù)連接的客戶端,會為每
一個客戶端啟動并分配一個線程進行獨立的服務。針對以上的介紹在本系統(tǒng)的設計中牽涉并
使用到的線程都是工作線程,并且全部的線程從一開始啟動之后都將會在服務器端的后臺運
行。
第六章電梯顯示系統(tǒng)終端機實現(xiàn)
6.1電梯顯示系統(tǒng)RL-RTX操作系統(tǒng)嵌入式實現(xiàn)
6.1.1程序架構
在過去的8位或16位微控制器應用中,由于微控制器自身資源的限制,一般不會使用
嵌入式操作系統(tǒng),而通常會前后臺模式來實現(xiàn)任務之間的調度。當應用比較復雜的時候,這
種任務調度方式無論在編程上還是調試上都會比較復雜和困難。
在前后臺模式中,后臺程序一般是無限循環(huán),前臺程序由中斷服務程序設置標志位,后
臺程序查詢這些標志位來完成事務的而處理。
由于前后臺程序結構是一個無限循環(huán),一個任務出現(xiàn)“死機”等情況,往往造成整個系
統(tǒng)的崩潰。而且在任務中的延時程序往往采用循環(huán)語句完成,這樣在任務進行延時操作時,
處理器一直處于空轉,浪費大量的時間,無法提高處理器的運行效率。但是由于前后臺程序
結構簡單,編寫容易,在一些中小規(guī)模的程序中任然大量使用。前后臺程序結構的框架代碼
如下所示。
intmain(void)
(
Systemlnit();〃系統(tǒng)初始化
while(1)
{Taskl();〃任務1
Task2();〃任務2
Taskn;〃任務n
})
當采用操作系統(tǒng)編程時,根據(jù)系統(tǒng)的要求,將整個應用程序按照功能劃分為多個任務,
任務之間利用信號量、郵箱來進行通信和同步的操作。由操作系統(tǒng)的任務管理衍生出相應的
處理器管理、內存管理,它們分別負責分配任務對處理器的占有權和管理任務所占有的內存
空間。
6.1.2RL-RTX簡介
RL-RTX是一個簡單的實時內核,同時包括RL-FlashFS(文件系統(tǒng))、RL-TCPnet(TCP/IP
協(xié)議棧)、RL-CANCCAN總線函數(shù)庫)和RL-USB(USB總線函數(shù)庫)等功能組件,可用于ARM7,
ARMS和Cortex-M系列的微控制器,只需要占用幾百個字節(jié)的RAM和幾K字節(jié)的ROM。
RL-RTX的全部源代碼位于RealViewMDK安裝軟件目錄下面的:\Keil\ARM\RL\RTX文件
夾中,里面有兩個工程,一個是RTX_Lib_ARM,針對的是ARM7和ARMS微控制器的內核,
一個是RTX_Lib_CM,針對的是Cortex-M微控制器的內核。
RL-RTX的技術參數(shù)見表6-1所列。
功能RL-RTX
支持的進程數(shù)量最多250
支持的郵箱數(shù)量20
支持的信號量數(shù)量20
支持的互斥量數(shù)量20
支持的事件標志數(shù)量單個進程16個
支持的用戶定時器數(shù)量20
RAM要求最少500字節(jié)
ROM要求小于4K字節(jié)
硬件要求一個或多個片上定時器
用戶進程優(yōu)先級1~254
在RL-RTX實時內核的應用中,往往要把一個具體應用劃分為多個任務。一般而言任務
有三種狀態(tài):就緒態(tài),運行態(tài),阻塞態(tài),如圖6-1所示。
圖6-1任務狀態(tài)變遷圖
所謂的就緒態(tài)任務是指:不具備運行條件的任務,它的運行要滿足一定的條件,如定時
時間到,或者其他任務的觸發(fā)。
運行態(tài)任務指的是當前正在運行的任務,該任務實際占用處理器的所有資源,
該狀態(tài)的任務只有一個。
阻塞態(tài)任務的情況則相對要復雜些,前面我們提到了根據(jù)任務的執(zhí)行情況可以分成三種:
一種是單次執(zhí)行的任務,一種是周期性執(zhí)行的任務,一種是事件觸發(fā)執(zhí)行的任務。單次執(zhí)行
的任務執(zhí)行一次后將不再運行,可以從任務列表中刪除,不再和其他任務發(fā)生關聯(lián),不會處
于阻塞態(tài),而后兩種任務才會處于阻塞態(tài)。對于周期性執(zhí)行的任務,比如LED顯示屏的掃描,
要求每隔20ms執(zhí)行一次,以避免顯示屏的閃爍。LED顯示屏的掃描程序自身執(zhí)行的時間一
般很短,大約幾十個us到幾個ms之間(具體時間由顯示屏的大小決定),執(zhí)行完后就應該
主動交出處理器的控制權,等待下一個20ms延時時間到的時候再運行,這樣LED顯示屏掃
描任務就從運行態(tài)切換到阻塞態(tài),它阻塞的原因是延時。這個可以利用操作系統(tǒng)提供的時間
功能來完成。
RL-RTX除了提供了時間片輪轉后,還支持優(yōu)先級調度,使得系統(tǒng)的實時性大大提高,
成為一個非常優(yōu)秀的商業(yè)內核。當多個任務優(yōu)先級相同時;按照時間片輪轉的方法來調度。
如果多個任務優(yōu)先級不同時,則按照優(yōu)先級調度算法執(zhí)行。RL-RTX為任務賦予一個用數(shù)字
表示的優(yōu)先級,優(yōu)先級共有256個,為0-255,數(shù)值越大,優(yōu)先級越高。其中優(yōu)先級0由系統(tǒng)
分配給一個空閑任務,該任務在系統(tǒng)沒有任何任務運行時才執(zhí)行,優(yōu)先級255也由系統(tǒng)保留,
因此用戶實際使用的優(yōu)先等級只有1-254。
6.2RL-RTX的移植
由于RL-RTX己經集成在RealViewMDK開發(fā)工具中,移植的方法非常簡單,只需要在
RealViewMDK集成開發(fā)環(huán)境界面的左邊Project窗口中,右鍵單擊你的Target的名稱(Target
的名稱在整個工程樹形結構的最上方。如果沒有顯示Project窗口,可以左鍵點擊View菜單,
在彈出的下拉菜單中選擇ProjectWindows就可以出現(xiàn)Project窗口),如圖6-2所示。
6.2.1系統(tǒng)任務的劃分
完成RL-RTX嵌入式操作系統(tǒng)的移植后,整體系統(tǒng)的程序框架就比較簡單了.整個系統(tǒng)
劃分為以下四個任務。
一個是LED顯示屏的顯示任務,由于采用了動態(tài)掃描方式,該任務必須每隔20ms執(zhí)行
一次,利用時間管理函數(shù)。s_dly_wait(20)完成?;敬a如下。
_taskvoidtask_disp(void){
While(1){
LARGE_Dislapy();
os-dly_wait(20);
})
一個是看門狗任務,用于系統(tǒng)的自檢和監(jiān)控??撮T狗的自啟動時間設置為1s,則該任務
必須在小于1s的時間內執(zhí)行一次,經過調試設置為700ms執(zhí)行一次,利用時間管理函數(shù)
os_dly_wait(700)完成?;敬a如下。
_taskvoidtask_watchdog(void){
While(1)
Watchdog();
os_dly_wait(700);
系統(tǒng)初始化時,完成底層硬件的驅動,如LED顯示屏引腳初始化、電壓監(jiān)控芯片X_5043和
RS48_5通信接口。然后建立四個任務,之后就通過RL-RTX嵌入式操作系統(tǒng)提供的服務函數(shù)
來完成各個任務之間的同步和數(shù)據(jù)交換?;镜拇a如下,
**函數(shù)名稱:init
**函數(shù)功能:建立系統(tǒng)所需的四個任務:顯示任務;通信任務;看門狗任務和顯
示內容變化任務
**入口參數(shù):無
**出口參數(shù):無
**其他:無
_taskvoidinit(void){
〃建立任務1,2,3,4,優(yōu)先級分別為123,4
TASKl=os_tsk_create(task__disp,1);
TASK2=os_tsk_create(task__com,2);
TASK3=os_tsk_create(task_watchdog,3);
TASK4=os_tsk_create(task_display_change,4);
os_tsk_delete__self();〃任務執(zhí)行完成,刪除自身
)
**函數(shù)名稱:main
"函數(shù)功能:事件標志的測試
**入口參數(shù):無
**出口參數(shù):無
**其他:無
-------------------------------------------------------------------------------/
intmain(void){
Drivejinit();〃初始化底層硬件
os__sysinit(init);
〃初始化RT-RTX內核,并啟動init任務}
6.2.2RL-RTX的調試
在RealViewMDK開發(fā)工具,RL-RTX內核以庫的形式集成在內部,用戶在采用常規(guī)的單
步或者斷點的調試手段時,無法進入到內核進行源碼級的調試。RealViewMDK開發(fā)工具專
門提供了RL-RTX實時內核的調試方法,采用圖形化的界面直觀地顯示各個任務的運行狀態(tài)。
進入RL-RTX實時內核的調試界面很簡單,在Debug菜單中選擇OSSupport選項,然后
在彈出的子菜單中選擇RTXTasksandSystem,6-6所示,調試界面如圖6-7所示。
'Debug|PeripheralsTools5VCSWindowHelp
4Start/StopDebugSesswnCtrt+FSDeviceAddress[▼Rf
篙ResetCPU?S?父?
StepFil
伊StepOverF10
<午StepOutCtrl+Fll
tanup_LPC17xxi
1JRuntoCursorLineCirl+F10
?ShowNextStatement
Breakpoints.^Ctrf+B:*****************
?Insen/RemoveBreakpointF9
EnaWe/DisableBreakpointCtri+F9
ODisableAllBreakpoints
?KillAHBreakpointsCtri+Shift+F9
OSSupportRTXTasksandSystem
ExecutionProfilingEventViewer
圖6-6選擇RTXTasksandSystem
圖6-7RTXTasksandSystem調試界面
在這個界面中,上半部分顯示了RT-RTX實時內核的配置參數(shù),如時鐘節(jié)拍,時間片的
大小,實際的任務數(shù)等。下半部分顯示了各個任務的運行狀態(tài)。各個參數(shù)的含義如下:TID;
任務開始時分配的任務標識符。
TaskName:任務函數(shù)的名稱
Priority:當前任務優(yōu)先級。
State:當前任務狀態(tài)
Delay:任務延時值。
EventValue:任務事件標志集當前的狀態(tài)
EventMask:說明任務等待的事件標記情況。
StackLoad:說明任務堆棧的使用方法。
通過RealViewMDK開發(fā)工具提供的調試手段,用戶可以更方便地掌握任務的執(zhí)行情況,
進一步地優(yōu)化程序。
6.3LED顯示屏驅動程序的實現(xiàn)
6.3.1基本時序
其幾個主要的控制信號為:列移位時鐘(CP),行信號(H),場信號(V),它們之間的
時序關系可以描述如圖6-8所示(以112X16的LED顯示屏為例)。
對于112X16的顯示屏,場頻為50HZ,則行頻為50X16=800HZ,點頻為800X112=89600HZ,
因此主控芯片至少要提供89600V的-點-時-鐘-。----->
1231612
行移位脈沖TKmL.--.mvL
l/z23、、、、、11212
列移位脈沖T
1行
圖6-8112x16的LED顯示屏的行、列移位時鐘
V(行頻)=場頻X行數(shù)
CP(點頻)=行頻X列數(shù)
6.3.2底層驅動程序
前面己經分別對LED顯示屏的工作原理、硬件結構和時序進行了分析,下面將據(jù)此進行
顯示程序的設計,重點介紹基本的固定數(shù)據(jù)顯示和圖片顯示。對于字符和漢字的顯示,灰度
的顯示,以及一些特殊的顯示效果:如動畫效果、圖像的左右移動、上下移動,閃爍和實時
顯示等給出編程思路。整個底層驅動程序采用模塊化設計方式,各個顯示程序都是由基本的
模塊構成的,如8位列數(shù)據(jù)的送出,行掃描信號的行程等,主程序調用各個子模塊來構成整
個程序。
6.3.3引腳初始化程序
LED顯示屏驅動的信號如前面所述,主要是行驅動和列驅動信號,一共六個本顯示屏采用微
控制器LPC2138作為主控芯片,直接利用LPC2138的GPIO來連接這六個驅動信號,硬件連
接的宏定義如下所示:
/************************************************************
**文件名稱:led.h
**文件功能:LED顯示屏引腳定義
*************************************************************/
#defineMCSDI19
#defineMCCLK17
#defineMCOE16
#defineMCST23
#defineMRSDI21
#defineMRCLK15
使用了微控制器LPC2138的P0口和P1口其中的幾個引腳作為顯示屏的控制接口。這
里的引腳號采用了宏定義,主要是為了方便程序的可移植性,如果在其他電路中不是采用的
P。端口和P1端口控制,則只需要在宏定義中修改端口定義為其他引腳即可,不用在程序中
一個一個修改。
LED顯示屏的驅動程序主要是利用微控制器LPC2138的GPIO功能,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 后勤衛(wèi)生區(qū)域制度
- 衛(wèi)生監(jiān)督與協(xié)管管理制度
- 火車站安全衛(wèi)生管理制度
- 衛(wèi)生間防疫密封管理制度
- 基層衛(wèi)生院各項管理制度
- 一級衛(wèi)生院繼教制度
- 衛(wèi)生所常見藥品管理制度
- 美發(fā)宿舍衛(wèi)生制度
- 衛(wèi)生院科研獎勵制度
- 衛(wèi)生部三方核查制度
- 村衛(wèi)生室藥品管理規(guī)范
- 鑄件清理工上崗證考試題庫及答案
- GB/T 32223-2025建筑門窗五金件通用要求
- 非煤礦山行業(yè)企業(yè)班組長(含車間主任)工傷預防能力提升培訓大綱
- 2021金屬非金屬礦山在用架空乘人裝置安全檢驗規(guī)范
- 道路工程施工組織設計1
- 《特種設備使用單位落實使用安全主體責任監(jiān)督管理規(guī)定》知識培訓
- 醫(yī)院培訓課件:《臨床輸血過程管理》
- 制粒崗位年終總結
- 《中國心力衰竭診斷和治療指南2024》解讀(總)
- 《MSA測量系統(tǒng)分析》考核試題
評論
0/150
提交評論