![基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用_第1頁](http://file4.renrendoc.com/view/367498d43b4a1bff0a78fb4cfd97281d/367498d43b4a1bff0a78fb4cfd97281d1.gif)
![基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用_第2頁](http://file4.renrendoc.com/view/367498d43b4a1bff0a78fb4cfd97281d/367498d43b4a1bff0a78fb4cfd97281d2.gif)
![基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用_第3頁](http://file4.renrendoc.com/view/367498d43b4a1bff0a78fb4cfd97281d/367498d43b4a1bff0a78fb4cfd97281d3.gif)
![基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用_第4頁](http://file4.renrendoc.com/view/367498d43b4a1bff0a78fb4cfd97281d/367498d43b4a1bff0a78fb4cfd97281d4.gif)
![基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用_第5頁](http://file4.renrendoc.com/view/367498d43b4a1bff0a78fb4cfd97281d/367498d43b4a1bff0a78fb4cfd97281d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于ARM9&Linux的液晶驅(qū)動終端設(shè)計-設(shè)計應(yīng)用1引言
液晶驅(qū)動終端是將液晶控制器、微控制器等集成在一起.并將液晶控制與圖形界面顯示等功能通過軟件封裝在一起.為用戶開放操作接口、屏蔽液晶顯示器的控制細(xì)節(jié),使用戶通過熟悉的接口(如RS232接口)發(fā)送預(yù)定義命令即可控制液晶顯示,進(jìn)行圖形界面開發(fā)工作。
目前.已有的液晶驅(qū)動終端主要采用微控制器與前、后臺軟件結(jié)合的方法進(jìn)行設(shè)計,該類終端只能夠顯示字模方式的圖片.該種類型的終端顯示數(shù)據(jù)存放在自帶的NANDFlash中,在人機(jī)界面設(shè)計過程中對NANDFlash中的數(shù)據(jù)管理是以扇區(qū)為基本操作單元,圖片需要專用的軟件工具完成,增加了界面設(shè)計的邏輯復(fù)雜性與操作性。這里采用ARM9微控制器與Linux操作系統(tǒng)結(jié)合的方法,設(shè)計出一種新型的液晶驅(qū)動終端。該終端通過FAT文件系統(tǒng)管理CF卡中數(shù)據(jù)資源,利用多線程技術(shù)實現(xiàn)串口命令解析與圖型界面的顯示,不僅能夠顯示字模與圖片等數(shù)據(jù)資源,而且利用該設(shè)計方法可以實現(xiàn)調(diào)用MiniGUI圖型庫等資源,適用于工業(yè)測控、智能儀表等領(lǐng)域的人機(jī)界面設(shè)計。
2系統(tǒng)組成及工作原理
系統(tǒng)主要有ARM9微控制器、存儲單元、LCD控制器、CF卡接口與RS422通信接口組成,系統(tǒng)組成框圖如圖1所示。工作流程:系統(tǒng)上電后,ARM9微控制器從NORFlash中讀取、解壓Linux內(nèi)核與Ramdisk根文件系統(tǒng)到SDRAM中,律壓完成后,啟動Linux內(nèi)核并掛載根文件系統(tǒng);當(dāng)軟件環(huán)境初始化完成后啟動應(yīng)用程序,開始接收串口命令,應(yīng)用程序接收到有效的串口命令后,圖形界面數(shù)據(jù)通過Fmmebuffer接口傳送給LCD控制器。
3系統(tǒng)主要硬件模塊設(shè)計
3.1ARM9微控制器
系統(tǒng)采用ATMEL公司的AT91RM9200作為MCU,該處理器基于ARM920T內(nèi)核,工作主頻為180MHz,性能高達(dá)200MVVs。AT91RM9200包括一個高速片上SRAM工作區(qū)及一個低等待時間的外部總線接口(EBI),完成片外存儲器和內(nèi)部存儲器映
射外設(shè)配置的無縫連接。EBI中設(shè)計專用電路以便SmartMedia、ComDactFlash及NANDF1ash連接。系統(tǒng)使用一片MT公司的28F128J3型16MBNORFlash,用于存儲Linux內(nèi)核與根文件系統(tǒng),使用2片HY57V281620來組成32位SDRAM接口。
3.2液晶驅(qū)動接口
系統(tǒng)選用EPSON公司的顯示控制器件S1D13506用于控制LCD的圖像數(shù)據(jù)顯示。S1D13506可與多種CPU總線兼容,支持為16位數(shù)據(jù)寬度的LCD接口.可以在TFTLCD、CRT顯示64K顏色。它配置一個16位內(nèi)存接口,支持2MB的EDO-DRAM。系統(tǒng)中將S1D13506連接在AT91RM9200的BANK3,數(shù)據(jù)總線寬度為16位.地址線A21與S1D13506M/R引腳相連,用于選擇訪問寄存器與顯存。AT91RM9200訪問S1D13506顯存起始地址為0x30200000.寄存器起始地址為0x30000000。使用了GM71V18163型2MBDRAM作為顯示存儲,AT91RM9200通過訪問S1D13506數(shù)據(jù)地址空間,實現(xiàn)對DRAM的數(shù)據(jù)存儲操作,使用50MHz的有源晶振作為DRAM的總線時鐘,25MHz有源晶振作為LCD的像素時鐘信號,支持640x48060HzTFTLCD顯示,LCD行、場同步信號由S1D13506內(nèi)部通過對25MHz像素時鐘分頻得出。LCD顯示控制硬件接口電路如圖2所示。
3.3CF卡存儲接口
在圖形界面的設(shè)計中需要運用到位圖、字庫等數(shù)據(jù)資源,系統(tǒng)通過FAT文件系統(tǒng)管理CF中數(shù)據(jù),并且通過PC機(jī)將數(shù)據(jù)直接拷貝至CF卡。AT91RM9200與CF卡硬件接口連接如圖3所示。
4軟件設(shè)計
4.1整體軟件架構(gòu)
系統(tǒng)軟件可以使用Linux、VxWorks等操作系統(tǒng),也可使用從直接操作低層硬件的前、后臺軟件。使用前、后臺方式的軟件雖然能夠?qū)崿F(xiàn)對硬件的充分利用,但使用操作系統(tǒng)增強(qiáng)了系統(tǒng)的可維護(hù)性與擴(kuò)展性。系統(tǒng)在運行和使用過程中需要管理CF卡中的數(shù)據(jù)以及應(yīng)用程序需要多線程支持,眾多操作系統(tǒng)中,開源的Linux操作系統(tǒng)具有較為完善的文件系統(tǒng)與網(wǎng)絡(luò)協(xié)議族,并且能較好的支持多線程程序,可滿足設(shè)計需求。該系統(tǒng)使用的Linux內(nèi)核版本為2.4.2l,交叉編譯工具鏈為ARM-Linux-cross-2.95.3。系統(tǒng)軟件架構(gòu)如圖4所示。系統(tǒng)中,無論應(yīng)用程序調(diào)用POSIX接口直接控制LCD顯示還是通過MiniGUI間接控制LCD,終都要調(diào)用相應(yīng)的液晶控制器驅(qū)動接口函數(shù),因此如何設(shè)計出一個S1D13506特殊硬件的驅(qū)動程序是整個軟件設(shè)計的重點。
4.2Framebuffer驅(qū)動的實現(xiàn)
Framebuffer是Linux內(nèi)核中的一種驅(qū)動程序接口.這種接El將顯示設(shè)備抽象為幀緩沖區(qū)。在應(yīng)用程序中.將其映射到進(jìn)程地址空間開辟的存儲區(qū)域中,通過對存儲區(qū)域進(jìn)行的數(shù)據(jù)讀寫操作可以直接的反映在LCD上。在Linux2.4版本的內(nèi)核中,F(xiàn)ramebuffer被抽象為linux\drivers\vide0下的fbcon.c文件,其主要依靠fb_info、fb_var_screeninfo、fb_fix_screeninfo3個數(shù)據(jù)結(jié)構(gòu),這些結(jié)構(gòu)定義在include/Linux/fb.h程序內(nèi)。S1D13506基于Framebuffer的設(shè)備驅(qū)動程序主要完成AT91RM9200EBI總線的配置工作、S1D13506內(nèi)部寄存器的初始化及Frambuffer中預(yù)定義的數(shù)據(jù)結(jié)構(gòu)的填充。系統(tǒng)中使用的驅(qū)動程序是對EPSON公司S1D13xxx系列顯示控制器件Linux驅(qū)動程序修改完成。其初始化函數(shù)示意性代碼如下:
intsldl3506fb_init()
{
init_9200_bank();//初使化AT9lRM9200EBI總線
fb_info.RegAddr=(unsignedchar*)ioremap_nocache(Ox300000000,0x200000);
fb_jnfo.VmemAddr=(unsignedchar*)ioremap_nocache(0x30200000,Ox200000);
//將S1D13506的寄存器與顯示存儲的線性地址空間保存到顯卡狀態(tài)結(jié)構(gòu)體
setsIdl3506_reg();//配置S1D13506顯卡寄存器,并填充顯卡狀態(tài)數(shù)據(jù)結(jié)構(gòu)
register_framebuffer(fb_info.gen.info);||注豫framebuffer,初始化完成
}
將驅(qū)動文件添加至Linux根目錄下的drivers\vide0目錄中,并在當(dāng)前目錄下makefile文件中添加obi一$(CONFIGFBS1D13506)+=sldl3506fb.O,在Config.ini文件中添加boolSldl3506'CONFIG_FB_EPSON,在Linux移植過程中可將驅(qū)動程序靜態(tài)編譯到內(nèi)核中。若要使MiniGUl支持Frame-buffer,需將MiniGUI.efg文件中GAL引擎設(shè)為Framebuffer,如gal_engine=fbcon
4.3應(yīng)用程序
在應(yīng)用程序設(shè)計中,使用多線程可更好的協(xié)調(diào)串口接收、圖像顯示、數(shù)據(jù)存儲以及超時處理等操作。終端中基于POSIX的應(yīng)用程序由圖形顯示與串口命令解析組成,由于Linux操作系統(tǒng)中不同的線程之間可通過全局變量傳遞參數(shù),應(yīng)用程序中使用了一個全局的循環(huán)FIFO作為兩個線程之間的命令緩沖區(qū),采用兩個靜態(tài)數(shù)據(jù)緩沖區(qū)用于存放串口傳來的圖像數(shù)據(jù)資源,數(shù)據(jù)緩沖區(qū)大小與LCD分辨率和像素深度有關(guān)。命令循環(huán)FIFO管理結(jié)構(gòu)如下所示。
系統(tǒng)中,基于Framebuffer的設(shè)備被映射為/dev/fb0文件,應(yīng)用程序啟動后,首先調(diào)用open()函數(shù)打開設(shè)備,然后調(diào)用mmap()函數(shù)將顯存影射到用戶空間開辟的數(shù)據(jù)緩沖區(qū)內(nèi),初始化命令緩沖隊列后,啟動串口命令接收,接收到有效的串口命令后則執(zhí)行相應(yīng)的顯示操作。
5結(jié)語
目前,該終端可成功驅(qū)動SHARPLQ035Q3DG01、LQl04-V1DG21等多種分辨率18bit接口LCD,并在某紡織廠的細(xì)紗機(jī)車速監(jiān)控儀中得到應(yīng)用。使用該終端可降低人機(jī)界面的設(shè)計難度,提高儀器儀表的開發(fā)效率,并且可進(jìn)一步擴(kuò)展網(wǎng)絡(luò)視頻播放及網(wǎng)絡(luò)命令接口等功能,具有良好的市場前景和使用價值。
參考文獻(xiàn):
[1].RS232datasheet/datasheet/RS232_585128.html.[2].AT9
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)維修保養(yǎng)年合作協(xié)議
- 2025年建筑結(jié)構(gòu)植筋施工成果合同書
- 2025年信息技術(shù)保障與維修服務(wù)年協(xié)議
- 2025年中型商業(yè)地產(chǎn)租賃合同范文
- 2025年花卉種植采購合同
- 2025年雙方共同發(fā)展合作協(xié)議書模板
- 2025年度家具批量采購合同策劃
- 2025年土木工程建設(shè)合同更新
- 2025年企業(yè)贊助意向性協(xié)議
- 2025年專業(yè)車輛清洗服務(wù)租賃合同
- 北京市西城區(qū)2024-2025學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試卷含答案
- 2025年南京信息職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 二零二五年度海外市場拓展合作協(xié)議4篇
- 北京市朝陽區(qū)2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2025年春新外研版(三起)英語三年級下冊課件 Unit4第2課時Speedup
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 2025中國鐵塔集團(tuán)安徽分公司招聘29人高頻重點提升(共500題)附帶答案詳解
- 2025年河北省農(nóng)村信用社招聘歷年高頻重點提升(共500題)附帶答案詳解
- 人教版五年級下冊信息技術(shù)全冊教案
- 手術(shù)室植入物的管理
- 電力供電系統(tǒng)試驗調(diào)試和聯(lián)調(diào)方法
評論
0/150
提交評論