应用于液晶驱动终端的ARM9和Linux设计

发布时间:2015-05-12 阅读量:896 来源: 我爱方案网 作者:

【导读】我爱方案网小编为大家介绍应用于液晶驱动终端的ARM9和Linux设计,该终端通过FAT文件系统管理CF卡中数据资源,利用多线程技术实现串 口命令解析与图型界面的显示,不仅能够显示字模与图片等数据资源,而且利用该设计方法可以实现调用MiniGUI图型库等资源,适用于工业测控、智能仪表 等领域的人机界面设计。

1 引言


液晶驱动终端是将液晶控制器、微控制器等集成在一起,并将液晶控制与图形界面显示等功能通过软件封装在一起,为用户开放操作接口、屏蔽液晶显示器的控制细节,使用户通过熟悉的接口(如RS232接口)发送预定义命令即可控制液晶显示,进行图形界面开发工作。

目前.已有的液晶驱动终端主要采用微控制器与前、后台软件结合的方法进行设计,该类终端只能够显示字模方式的图片.该种类型的终端显示数据存放在自带的 NANDFlash中, 在人机界面设计过程中对NAND Flash中的数据管理是以扇区为基本操作单元,图片下载需要专用的软件工具完成,增加了界面设计的逻辑复杂性与操作性。这里采用ARM9微控制器与 Linux操作系统结合的方法,设计出一种新型的液晶驱动终端。
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()函数将显存影射到用户空间开辟的数据缓冲区内,初始化命令缓冲队列后,启动串口命令接收,接收到有效的串口命令后则执行相应的显示操作。

目前,该终端可成功驱动SHARP LQ035Q3DG01、LQl04-V1DG21等多种分辨率18 bit接口LCD,并在某纺织厂的细纱机车速监控仪中得到应用。使用该终端可降低人机界面的设计难度,提高仪器仪表的开发效率,并且可进一步扩展网络视频 播放及网络命令接口等功能,具有良好的市场前景和使用价值。

相关文章

智能电网--液晶驱动电路的应用设计

智能显示液晶显示模块TC1602A与单片机的接口技术的分析方案

智能电视液晶电视与液晶显示器解析方案
相关资讯
半导体产业升级战:三星电子新一代1c DRAM量产布局解析

在全球半导体产业加速迭代的背景下,三星电子日前披露了其第六代10纳米级DRAM(1c DRAM)的产能规划方案。根据产业研究机构TechInsights于2023年8月22日发布的行业简报,这家韩国科技巨头正在同步推进华城厂区和平泽P4基地的设备升级工作,预计将于2023年第四季度形成规模化量产能力。这项技术的突破不仅标志着存储芯片制程进入新纪元,更将直接影响下一代高带宽存储器(HBM4)的市场格局。

蓝牙信道探测技术落地:MOKO联手Nordic破解室内定位三大痛点

全球领先的物联网设备制造商MOKO SMART近期推出基于Nordic Semiconductor新一代nRF54L15 SoC的L03蓝牙6.0信标,标志着低功耗蓝牙(BLE)定位技术进入高精度、长续航的新阶段。该方案集成蓝牙信道探测(Channel Sounding)、多协议兼容性与超低功耗设计,覆盖室内外复杂场景,定位误差率较传统方案降低60%以上,同时续航能力突破10年,为智慧城市、工业4.0等场景提供基础设施支持。

财报季再现黑天鹅!ADI营收超预期为何股价暴跌5%?

半导体行业风向标企业亚德诺(ADI)最新财报引发市场深度博弈。尽管公司第三财季营收预期上修至27.5亿美元,显著超出市场共识,但受关税政策驱动的汽车电子产品需求透支风险显露,致使股价单日重挫5%。这一背离现象揭示了当前半导体产业面临的复杂生态:在供应链重构与政策扰动交织下,短期业绩爆发与长期可持续增长之间的矛盾日益凸显。

全球可穿戴腕带市场首季激增13%,生态服务成决胜关键

根据国际权威市场研究机构Canalys于5月23日发布的调研报告,2025年第一季度全球可穿戴腕带设备市场呈现显著增长态势,总出货量达到4660万台,较去年同期增长13%。这一数据表明,消费者对健康监测、运动管理及智能互联设备的需求持续升温,行业竞争格局亦同步加速重构。

RP2350 vs STM32H7:性能翻倍,成本减半的MCU革新之战

2025年5月23日,全球领先的半导体与电子元器件代理商贸泽电子(Mouser Electronics)宣布,正式开售Raspberry Pi新一代RP2350微控制器。作为RP2040的迭代升级产品,RP2350凭借双核异构架构(Arm Cortex-M33 + RISC-V)、硬件级安全防护及工业级性价比,重新定义了中高端嵌入式开发场景的技术边界。该芯片通过多架构动态切换、可编程I/O扩展及4MB片上存储等创新设计,解决了传统微控制器在实时响应能力、跨生态兼容性与安全成本矛盾上的核心痛点,为工业自动化、消费电子及边缘AI设备提供了更具竞争力的底层硬件方案。