智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于ARM9和Linux的液晶驅動終端設計

來源:網絡

點擊:1026

A+ A-

所屬頻道:新聞中心

關鍵詞: ARM9,Linux,液晶驅動,MCU

      1 引言

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

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

      2 系統組成及工作原理

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

    基于ARM9和Linux的液晶驅動終端設計

      3 系統主要硬件模塊設計

      3.1 ARM9微控制器

      系統采用ATMEL公司的AT91RM9200作為MCU,該處理器基于ARM920T內核,工作主頻為180MHz,性能高達200MVVs。AT91RM9200包括一個高速片上SRAM工作區及一個低等待時間的外部總線接口(EBI),完成片外存儲器和內部存儲器映

      射外設配置的無縫連接。EBI中設計專用電路以便SmartMedia、ComDact Flash及NAND F1ash連接。系統使用一片MT公司的28F128J3型16 MB NOR Flash,用于存儲Linux內核與根文件系統,使用2片HY57V281620來組成32位SDRAM接口。

      3.2 液晶驅動接口

      系統選用EPSON公司的顯示控制器件S1D13506用于控制LCD的圖像數據顯示。S1D13506可與多種CPU總線兼容,支持最高為 16位數據寬度的LCD接口.可以在TFTLCD、CRT最高顯示64 K顏色。它配置一個16位內存接口,支持最高2 MB的EDO-DRAM。系統中將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所示。

    基于ARM9和Linux的液晶驅動終端設計

      3.3 CF卡存儲接口

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

    基于ARM9和Linux的液晶驅動終端設計

      4 軟件設計

      4.1 整體軟件架構

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

      4.2 Framebuffer驅動的實現

      Framebuffer是Linux內核中的一種驅動程序接口.這種接El將顯示設備抽象為幀緩沖區。在應用程序中.將其映射到進程地址空間開辟的存儲區域中,通過對存儲區域進行的數據讀寫操作可以直接的反映在LCD上。在Linux2.4版本的內核中,Framebuffer被抽象為 linux\drivers\vide0下的fbcon.c文件,其主要依靠fb_info、fb_var_screeninfo、 fb_fix_screeninfo3個數據結構,這些結構定義在include/Linux/fb.h程序內。S1D13506基于 Framebuffer的設備驅動程序主要完成AT91RM9200 EBI總線的配置工作、S1D13506內部寄存器的初始化及Frambuffer中預定義的數據結構的填充。系統中使用的驅動程序是對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的寄存器與顯示存儲的線性地址空間保存到顯卡狀態結構體

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

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

      }

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

      4.3 應用程序

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

    基于ARM9和Linux的液晶驅動終端設計

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

      5 結語

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

    (審核編輯: 小王子)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 抛丸机-通过式抛丸机-履带吊钩式抛丸机厂家-青岛泓霖智能设备公司 | 微波烘干设备厂家-微波烘干干燥设备-山东邦普机械设备有限公司 | 泡沫混凝土垫层填充厂家,发泡混凝土垫层填充,轻质混凝土垫层填充厂家,深圳市鸿奥建材发展有限公司 | 宁波雷豹机电科技有限公司|雷豹冷风机|雷豹工业大风扇|MFC18000|MFC16000|MFC6000|EF3622|EF4222|EF4822|移动工业蒸发式冷风机空气冷却器|大型工业空调扇|雷豹移动式工业大风扇|雷豹大风扇|生产厂家|公司官网 | 重庆成考网_重庆成人高考网 | 乐清人才网_乐清招聘网_求职找工作平台 | 婴童人才网-孕婴童、母婴行业人才招聘求职系统 | 上海眸社设计-上海专业的VI设计,宣传册设计,画册设计,折页设计公司 | 深圳专卖店设计,餐饮空间设计,酒店空间策划设计【左右高端人文空间设计公司】 | 中国(北京)国际园林绿化设备展览会 | 中频感应加热设备_高频感应加热电源厂家_高频淬火设备_容大电源 中派康明斯发电机_玉柴发电机厂家_静音移动拖车发电机-深圳市斯坦福电力设备有限公司 | 氢能展,氢能展会,燃料电池展,加氢设备_氢气储运_制氢设备_氢燃料汽车_加氢站成套设备 | 湖南视频会议设备厂家|长沙视频会议设备安装型号齐全找湖南日恒智能工程有限公司 | 中房网_中国房地产业协会官方网站 | 无锡大然新风环保设备有限公司-办公室空气净化器_商用空气净化器_酒店空气净化器 | 石家庄德迈机电设备有限公司| 欧氏运动木地板,体育木地板厂家,篮球木地板价格_欧氏体育木地板 欧派板材官网 | 全屋定制板材 专业供应商 | 进销存软件|仓库管理软件|库存物资出入库|ERP生产|MRP|易特软件官方网站 | 输送带_山东输送带厂家_橡胶传送带-山东中输输送机械有限公司 | 芜湖净水设备-纯水设备-无负压供水设备-不锈钢水箱-芜湖市百川给水设备有限责任公司 | 云德律师事务所_全国律师服务咨询服务企业| 深圳沃亚游学官网丨国外游学丨国际夏冬令营丨美国游学线路丨出国短期游学丨亲子海外游丨游学咨询: 0755-83843308 | 上海三凌自控阀门有限公司| 曲阜市好博医疗器械有限公司_手术无影灯厂家,电动手术台出售,妇科手术台价格 | 汽车检具标准件_汽车检具配件_昆山宏易腾达模具五金有限公司 | 专题秀_汇聚网络热门专题_实时报道各类新闻专题资讯 | 装备升级改造I成都星迅通科技有限公司-成都星迅通科技有限公司官方网站 | 进销存软件|仓库管理软件|库存物资出入库|ERP生产|MRP|易特软件官方网站 | 上海物流公司_上海冷链运输_空运_电商仓储配送电话-迈泽物流 | 吉林省创智汇成包装有限公司,长春高档礼盒,长春包装盒厂家,长春精品包装盒 | 上海防爆墙厂家_上海上胜安防工程有限公司 | 加药装置-排油烟装置-工业滤水器-连云港灵动 | 铜排,异型紫棒,紫铜棒,紫铜微孔管,异型黄管,黄铜管,异形紫管,紫铜管,焊接铜管,散热器铜管,电力铜管_河间市通海铜业有限公司 | 鲜淘网 - 精选全球水果蔬菜肉食海产生鲜,酒水食品零食加盟供求信息 | 紫外线光疗仪|白癜风光疗仪|牛皮癣治疗仪|308纳米led|SIGMA|上海希格玛高技术有限公司 | 温州合发模架科技有限公司| 基坑护栏,临边护栏网,爬架网,爬架网片,铁路防护栅栏,公路护栏网,河北昊坤金属制品有限公司 | 推拉雨棚,防雨棚,遮阳遮雨棚,伸缩雨棚,移动雨棚,电动雨棚,雨棚制作厂家 - 山东创力篷业 | 重庆晓宇餐饮文化管理有限公司_重庆晓宇火锅 | 真空干燥箱厂家-热风循环烘箱生产厂家-鼓风烘干箱价格-南京火燥机械科技有限公司 | 郑州建网站,郑州做网站,郑州网站建设,郑州网站制作,郑州高端定制网站,郑州APP开发 |