日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]1 引言液晶驅動終端是將液晶控制器、微控制器等集成在一起.并將液晶控制與圖形界面顯示等功能通過軟件封裝在一起.為用戶開放操作接口、屏蔽液晶顯示器的控制細節(jié),使用戶通

1 引言

液晶驅動終端是將液晶控制器、微控制器等集成在一起.并將液晶控制與圖形界面顯示等功能通過軟件封裝在一起.為用戶開放操作接口、屏蔽液晶顯示器的控制細節(jié),使用戶通過熟悉的接口(如RS232接口)發(fā)送預定義命令即可控制液晶顯示,進行圖形界面開發(fā)工作。

目前.已有的液晶驅動終端主要采用微控制器與前、后臺軟件結合的方法進行設計,該類終端只能夠顯示字模方式的圖片.該種類型的終端顯示數據存放在自帶的NANDFlash中,在人機界面設計過程中對NAND Flash中的數據管理是以扇區(qū)為基本操作單元,圖片下載需要專用的軟件工具完成,增加了界面設計的邏輯復雜性與操作性。這里采用ARM9微控制器與 Linux操作系統(tǒng)結合的方法,設計出一種新型的液晶驅動終端。該終端通過FAT文件系統(tǒng)管理CF卡中數據資源,利用多線程技術實現串口命令解析與圖型界面的顯示,不僅能夠顯示字模與圖片等數據資源,而且利用該設計方法可以實現調用MiniGUI圖型庫等資源,適用于工業(yè)測控、智能儀表等領域的人機界面設計。

2 系統(tǒng)組成及工作原理

系統(tǒng)主要有ARM9微控制器、存儲單元、LCD控制器、CF卡接口與RS422通信接口組成,系統(tǒng)組成框圖如圖l所示。工作流程:系統(tǒng)上電后,ARM9微控制器從NOR Flash中讀取、解壓Linux內核與Ramdisk根文件系統(tǒng)到SDRAM中,律壓完成后,啟動Linux內核并掛載根文件系統(tǒng);當軟件環(huán)境初始化完成后啟動應用程序,開始接收串口命令,應用程序接收到有效的串口命令后,圖形界面數據通過Fmmebuffer接口傳送給LCD控制器。

 


3 系統(tǒng)主要硬件模塊設計

3.1 ARM9微控制器

系統(tǒng)采用ATMEL公司的AT91RM9200作為MCU,該處理器基于ARM920T內核,工作主頻為180MHz,性能高達 200MVVs。AT91RM9200包括一個高速片上SRAM工作區(qū)及一個低等待時間的外部總線接口(EBI),完成片外存儲器和內部存儲器映射外設配置的無縫連接。EBI中設計專用電路以便SmartMedia、ComDACt Flash及NAND F1ash連接。系統(tǒng)使用一片MT公司的28F128J3型16 MB NOR Flash,用于存儲Linux內核與根文件系統(tǒng),使用2片HY57V281620來組成32位SDRAM接口。

3.2 液晶驅動接口

系統(tǒng)選用EPSON公司的顯示控制器件S1D13506用于控制LCD的圖像數據顯示。S1D13506可與多種CPU總線兼容,支持最高為 16位數據寬度的LCD接口.可以在TFTLCD、CRT最高顯示64 K顏色。它配置一個16位內存接口,支持最高2 MB的EDO-DRAM。系統(tǒng)中將S1D13506連接在AT91RM9200的BANK 3,數據總線寬度為16位.地址線A21與S1D13506M/R引腳相連,用于選擇訪問寄存器與顯存。AT91RM9200訪問S1D13506顯存起始地址為0x30200000.寄存器起始地址為0x30000000。使用了GM71V18163型2MBDRAM作為顯示存儲,AT91RM9200 通過訪問S1D13506數據地址空間,實現對DRAM的數據存儲操作,使用50 MHz的有源晶振作為DRAM的總線時鐘,25 MHz有源晶振作為LCD的像素時鐘信號,支持640x480 60 HzTFT LCD顯示,LCD行、場同步信號由S1D13506內部通過對25 MHz像素時鐘分頻得出。LCD顯示控制硬件接口電路如圖2所示。

 


3.3 CF卡存儲接口

在圖形界面的設計中需要運用到位圖、字庫等數據資源,系統(tǒng)通過FAT文件系統(tǒng)管理CF中數據,并且通過PC機將數據直接拷貝至CF卡。AT91RM9200與CF卡硬件接口連接如圖3所示。

 


4 軟件設計

4.1 整體軟件架構

系統(tǒng)軟件可以使用Linux、VxWorks等操作系統(tǒng),也可使用從直接操作低層硬件的前、后臺軟件。使用前、后臺方式的軟件雖然能夠實現對硬件的充分利用,但使用操作系統(tǒng)增強了系統(tǒng)的可維護性與擴展性。系統(tǒng)在運行和使用過程中需要管理CF卡中的數據以及應用程序需要多線程支持,眾多操作系統(tǒng)中,開源的Linux操作系統(tǒng)具有較為完善的文件系統(tǒng)與網絡協(xié)議族,并且能較好的支持多線程程序,可滿足設計需求。該系統(tǒng)使用的Linux內核版本為 2.4.2l,交叉編譯工具鏈為ARM-Linux-cross-2.95.3。系統(tǒng)軟件架構如圖4所示。系統(tǒng)中,無論應用程序調用POSIX接口直接控制LCD顯示還是通過MiniGUI間接控制LCD,最終都要調用相應的液晶控制器驅動接口函數,因此如何設計出一個S1D13506特殊硬件的驅動程序是整個軟件設計的重點。

 


4.2 Framebuffer驅動的實現

Framebuffer是Linux內核中的一種驅動程序接口.這種接El將顯示設備抽象為幀緩沖區(qū)。在應用程序中.將其映射到進程地址空間開辟的存儲區(qū)域中,通過對存儲區(qū)域進行的數據讀寫操作可以直接的反映在LCD上。在Linux2.4版本的內核中,Framebuffer被抽象為 linuxdriversvide0下的fbcon.c文件,其主要依靠fb_info、fb_var_screeninfo、 fb_fix_screeninfo3個數據結構,這些結構定義在include/Linux/fb.h程序內。S1D13506基于 Framebuffer的設備驅動程序主要完成AT91RM9200 EBI總線的配置工作、S1D13506內部寄存器的初始化及Frambuffer中預定義的數據結構的填充。系統(tǒng)中使用的驅動程序是對EPSON公司 S1D13xxx系列顯示控制器件Linux驅動程序修改完成。其初始化函數示意性代碼如下:

int sldl3506fb_init()

{

init_9200_bank(); //初使化AT9lRM9200EBI總線

fb_info.RegAddr=(unsigned char*)ioremap_nocache(Ox300000000,0x200000);

fb_jnfo.VmemAddr=(unsigned char*)ioremap_nocache(0x30200000,Ox200000);

//將S1D13506的寄存器與顯示存儲的線性地址空間保存到顯卡狀態(tài)結構體[!--empirenews.page--]

setsIdl3506_reg();//配置S1D13506顯卡寄存器,并填充顯卡狀態(tài)數據結構

register_framebuffer(&fb_info.gen.info);||注豫framebuffer,初始化完成

}

將驅動文件添加至Linux根目錄下的driversvide0目錄中,并在當前目錄下makefile文件中添加obi一$(CONFIG FBS1D13506)+=sldl3506fb.O,在Config.ini文件中添加boolSldl3506‘CONFIG_FB_EPSON,在 Linux移植過程中可將驅動程序靜態(tài)編譯到內核中。若要使MiniGUl支持Frame-buffer,需將MiniGUI.efg文件中GAL引擎設為Framebuffer,如gal_engine=fbcon。

4.3 應用程序

在應用程序設計中,使用多線程可更好的協(xié)調串口接收、圖像顯示、數據存儲以及超時處理等操作。終端中基于POSIX的應用程序由圖形顯示與串口命令解析組成,由于Linux操作系統(tǒng)中不同的線程之間可通過全局變量傳遞參數,應用程序中使用了一個全局的循環(huán)FIFO作為兩個線程之間的命令緩沖區(qū),采用兩個靜態(tài)數據緩沖區(qū)用于存放串口傳來的圖像數據資源,數據緩沖區(qū)大小與LCD分辨率和像素深度有關。命令循環(huán)FIFO管理結構如下所示。

 


系統(tǒng)中,基于Framebuffer的設備被映射為/dev/fb0文件,應用程序啟動后,首先調用open()函數打開設備,然后調用 mmap()函數將顯存影射到用戶空間開辟的數據緩沖區(qū)內,初始化命令緩沖隊列后,啟動串口命令接收,接收到有效的串口命令后則執(zhí)行相應的顯示操作。

5 結語

目前,該終端可成功驅動SHARP LQ035Q3DG01、LQl04-V1DG21等多種分辨率18 bit接口LCD,并在某紡織廠的細紗機車速監(jiān)控儀中得到應用。使用該終端可降低人機界面的設計難度,提高儀器儀表的開發(fā)效率,并且可進一步擴展網絡視頻播放及網絡命令接口等功能,具有良好的市場前景和使用價值。

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉