历史上的今天
今天是:2025年02月28日(星期五)
2021年02月28日 | 基于ARM9和Linux的液晶驱动终端
2021-02-28 来源:eefocus
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控制器。

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所示。

史海拾趣
|
error LNK2001: unresolved external symbol CLSID_RemoteDataAccess Linking... RDAExamDlg.obj : error LNK2001: unresolved external symbol CLSID_RemoteDataAccess RDAExamDlg.obj : error LNK2001: unresolved external symbol IID_ISSCERDA ARMV4IDbg/RDAExam.exe : fatal error LNK1120: 2 unresolved exte ...… 查看全部问答> |
|
各位大哥哥。小弟有一问题: 目的: 我们现在需要用ioLogic E2212来控制一个电压为5~12VDC 的电压输出。 在ioLogic E2212中, 使用干节点, DO(digital output), DO为on时(灯亮),DO输出电压为0。 如何让DO输出为5~12VDC … 查看全部问答> |
|
Error:Target DLL has been cancelled.Debugger aborted! 我是单片机初学者,我很想学好它! 我做的是《Proteus中文教程》里的第一个例子,好像是AT89C51的(不大懂),在KeiluVision2与Proteus6.9联调的时候发现: ...… 查看全部问答> |
|
老师出的题目,不用做:VxWorks MultiTask、信号量、消息队列及I/O子系统综合实验 题目:VxWorks MultiTask、信号量、消息队列及I/O子系统综合实验 目的:练习多任务实时操作系统下 Task 调度、Task 间主要通信手段、I/O 子系统基本应用 等内容,并形成嵌入式实时应用软件的良好编程习惯。 环境:VxSim 内容: ...… 查看全部问答> |
|
平台--2440 现在把nand flash扩大到512M,导致系统不能启动,请问如果要让系统启动,要修改哪些地方呢? 要修改C:\\WINCE500\\PLATFORM\\smdk2440\\eboot吗 C:\\WINCE500\\PLATFORM\\smdk2440\\NBOOT呢? C:\\WINCE500\\PLATFORM\\smdk2440\\DR ...… 查看全部问答> |
|
时间控制器的设计 1. 内容 用89S52单片机设计一个时间控制器,有8位数码管显示年月日及时分秒,具有日历 和时钟功能,有一路输出控制电灯,有一路输出控制蜂鸣器,可以设置年月日及时分秒,可以设置一张时间表,该时间表记录什么时间开、关电灯,什 ...… 查看全部问答> |
|
103默认串口设置是1个停止位,无校验,8数据位 我改成2个停止位,或者奇校验/偶校验,PC也按照这个参数设置,但是PC死活收到的不是正确数据 比如103发0x31,PC收到的是0x91… 查看全部问答> |




