基于ARM与FPGA的LCD控制器设计

发布者:导航灯最新更新时间:2010-12-13 来源: 维库开发网关键字:FPGA  LCD控制器  ARM  Cyclone 手机看文章 扫描二维码
随时随地手机看文章

  随着显示屏技术的不断发展,真彩液晶显示屏以其高分辨率、高对比度及高清晰度等优势逐渐在嵌入式显示系统中占据重要地位。目前,基于嵌入式平台的LCD显控技术的实现主要有两种方式:ARM内嵌LCD控制器和独立的控制器件。但是这两种实现方式都存在着不足之处,内嵌控制器的使用可能增大处理器的负担和限制显示帧率,而外部控制器件不仅成本高,而且专用性比较强,很难适应不同类型的液晶屏。

  据此存在的问题,这里提出一种基于ARM与FPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LINUX OS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的设计,开发周期短、功耗低,同时具有灵活的移植性,可应用于不同中小尺寸的液晶显示屏。

  1 系统组成及工作原理

  系统主要有微控制器、FPGA(LCD控制器)、存储单元以及外设接口组成,系统组成框图如图1所示。

  系统的工作流程:在FPGA内部的时序发生电路所产生的时序控制信号作用下,LCD控制器通过Framebuffer接口从微控制器读出显示所需的数据存入显示缓存SRAM中。同时LCD显示屏从显存SRAM中读取显示数据,并通过数据格式转换电路直接将数据信息实时显示。

  2 系统硬件设计

  2.1 LCD控制器

  LCD控制器是基于FPGA实现的。本方案采用Altera公司的Cvclone(飓风)系列EPlC6Q240。FPGA具有高速的数据传输I/O接口,可实现高速的显存读取速率,大大提高LCD显示的帧率。而同时FPGA是可编程逻辑器件,可实现复杂的逻辑运算及提供复杂的控制时序。LCD显示屏采用LQ035Q3DG01型的TFT-LCD液晶显示屏,分辨率为320×240,图像信号为RGB格式。

  由于SRAM有较高的读写速度,该设计方案的显示缓存采用1片IS61LV51216AL型SRAM,其容量为512 KB,读写速度为10ns左右。而显示一帧图像的大小为125 KB(320x240x2/l024),FPGA对显存的读写速度约为200 ns,因此满足系统要求。图2为LCD控制器电路连接图。

[page]

  2.2 ARM9微控制器

  该系统设计的主控单元采用ATMEL公司的AT9lRM9200(简称9200)作为MCU,该处理器是基于ARM920T内核,工作主频为180 MHz。性能可达到200 MI/s,系统采用开源的LINUX OS。但是ARM9作为系统的控制终端,需要完成信息采集、处理以及与外部通信等多项工作,而LCD控制器如果也要从内存中读出数据显示,这就会造成处理器负担,从而降低显示缓存读入数据的速率,影响LCD的实时显示。因此这里提出一种基于LINUX 0S下的Framebuffer接口的应用方法,大大提升显存读入数据的速率,从而提升整个显示系统的实时性。图3为AT91RM9200接口电路连接。

  3 系统软件设计

  系统的软件设计主要分为基于FPGA的LCD控制器设计与LINUX OS下Framebuffer驱动程序设计2部分。

  3.1 LCD控制器设计

  3.1.1 LCD控制器组成

  该设计方案的LCD控制器主要由缓存读写、MCU接口及LCD时序控制等模块组成,具体组成如图4所示。

  3.1.2 LCD控制器设计原理

  由TFT-LCD液晶屏显示原理可知,显示所需的主要控制信号有像素时钟信号、行/场同步信号以及使能信号。该方案的显示屏分辨率为320x240,要求设计液晶显示屏的刷新频率为60 Hz,即场同步信号(VSYNC)为60Hz,刷新一屏所需时间为1/60 s,而一场则由240个行同步信号组成,那么一个行同步信号的周期为1/(60x240)s,即可得行同步信号(HSYNC)为15 kHz。同理可得像素时钟信号(CK)为5MHz。

  采用FPGA内置的锁相环IP模块(PLL)将FPGA 50 MHz时钟信号F_CLK 10分频为5 MHz的像素时钟信号。应用状态机方法,用Verilog硬件描述语言设计时序控制模块,它为LCD提供满足时序要求的控制信号VSYNC、HSYNC以及ENAB。设计完成后在QuatuslI环境下完成时序仿真,得到的仿真结果满足时序要求,仿真图如图5所示。

  SRAM为显存模块,由图2可知LCD控制器与微控制器之间的数据传输是在ARM的时钟控制下读入,而同时LCD屏显则是在像素时钟信号CK的控制下从SRAM中读取数据。针对该异时钟域之间数据的传输问题本方案采用FPGA设计实现异步FIFO来完成。[page]

  3.2 Framebuffer驱动设计

  Framebuffer是Linux内核中的一种驱动程序接口,该接口将显示设备映射为帧缓冲区。平台使用Linux2.6.25内核。在Linux2.6内核当中,通常采用分层的驱动设计框架。对设备进行分层和分类管理,驱动底层为总线驱动,上层为具体设备驱动。在Framebuffer驱动程序中,其软件设计流程为:首先需要针对该具体的设备和硬件连接注册总线类型及申请系统总线资源;其次,将具体设备驱动程序注册进入总线链表,Linux内核根据设备驱动程序中提供的探测函数检测总线设备类型;最后在驱动探测函数中实现具体设备类型的注册。以下为其具体的实现过程。

  1)资源申请 系统中,9200通过外部总线接口的BANK7与FPGA FIFO接口连接,采用16位静态总线方式对FIFO数据进行写入操作。根据驱动设计框架,驱动程序设计的第一步需要通过系统调用platform_device_register函数申请总线资源,示意代码如下:

  2)驱动注册在具体设备驱动中,通过使用module_init宏与module_exit定义驱动模块的加载与卸载方法,在模块注册函数中使用plat-form_driver_register函数将具体设备的platform_driver结构体注册进入系统总线链表,platform_driver中为总线提供具体设备的probe与remove等操作方法,其示意代码如下:


[page]

  3)Framebuffer设备注册在Linux中,通过fb_info结构体对帧缓冲设备信息进行描述。在fb_info中,较为重要的结构有fb_var_scree-ninfo、fb_var_screeninfo、fb_ops。其中,fb_var_screeninfo记录用户可修改的显示控制器参数,包括屏幕分辨率;fb_fix_screeninfo记录用户不能修改的显示控制器的参数,如屏幕缓冲区的物理地址等;fb_ops记录了具体显示设备IO操作的实现方法。驱动通过register_-framebuffer函数将fb_info记录的显示设备信息注册进Framebuffer设备链表。

  在Linux文件系统中,Framebuffer设备的主设备号为29,次设备号为帧缓冲序号。Framebuffer设备注册后通过mknod指令在系统dev目录下创建Framebuffer设备文件节点,应用层程序可通过Framebuffer设备文件实现Framebuffer设备的访问和操作。

  4 结束语

  该设计方案的LCD控制器达到实时性及显示帧率的要求,每秒显示至少25帧。基于FPGA设计的LCD控制器技术具有应用广泛、移植性强、开发周期短以及成本低等优点,可以适用于众多的需要LCD液晶显示的系统或场合。

关键字:FPGA  LCD控制器  ARM  Cyclone 引用地址:基于ARM与FPGA的LCD控制器设计

上一篇:2010年FPGA盘点:两巨头在28nm中采用新技术
下一篇:GSA授予Altera最佳财务管理半导体公司奖

推荐阅读最新更新时间:2024-05-02 21:13

LTE中卷积码的译码器设计与FPGA实现
摘要:基于长期演进(LTE)的Tail-biting卷积码,介绍了维特比译码算法,它是一种最优的卷积码译码算法。由于Tail-biting卷积码的循环特性,采用固定延迟译码的方法,降低了译码复杂度。通过使用全并行的结构及简单的回溯存储方法,设计了一个具有高速和低复杂度的固定延迟译码器。在FPGA上实现并验证,验证结果表明译码器的性能满足了LTE系统的要求。 关键词:LTE;Tail-biting卷积码;维特比译码算法;固定延迟译码;FPGA 0 引言 LTE(Long Term Evolution)是“准4G”的技术,以OFDM/FDMA和MIMO为其核心技术。它对实时业务、高可靠性业务和广播级多播业务都能提供较好的支持
[嵌入式]
LTE中卷积码的译码器设计与<font color='red'>FPGA</font>实现
LCD控制器驱动的24位TFT真彩屏接口设计
引言 在嵌入式设计中常常会使用LCD屏,现在常用的屏大部分都是高性能的。因为LCD屏的生产厂商很多,标准也不统一,LCD屏往往不能与LCD控制器无粘合连接,所以在使用LCD屏时,厂家还会推荐使用其专为LCD屏是设计的时序芯片,例如,Sharp的LCD LQ035Q7DB02 配套的控制器为 LZ9FC22 ;日本的LCD屏是16位色的,本身价格很高,控制器成本也非常高,性能却不见得好,采用高性能的24位真彩色屏是比较理想的,但接口逻辑需要重新设计。 1 RGB565-RGB888的转换 以友达光电AUO生产的A06QU01 为例,这是一种24位的TFT真彩屏,分辨率为320 240,每个象素由RGB888表示,其控制时序如图1所
[单片机]
<font color='red'>LCD</font><font color='red'>控制器</font>驱动的24位TFT真彩屏接口设计
飞思卡尔推出单芯片图形LCD Kinetis微控制器系列
思卡尔半导体(NYSE: FSL)近日推出面向单芯片、图形LCD 应用的基于ARM® Cortex™-M4内核的微控制器(MCU)系列。高性能Kinetis K70系列的目标应用需要复杂的图形LCD用户界面以及先进的连接和安全功能,而没有多芯片设计相关的成本与功耗的增加。   为K70提供支持的是飞思卡尔 便携嵌入式图形用户界面(PEG) 图形开发套件,这是全面的可视化布局和设计工具,能够加快设计流程,使开发人员可以在简单的基于PC的环境内创建丰富的图形用户界面(GUI)。   图形LCD界面正在迅速取代传统的LED和分段LCD显示器,越来越多的设计人员利用图形LCD界面提供的美观性、灵活性和成本效益。Kinetis K
[嵌入式]
ARM编程注意事项
LPC21XX系列 ARM编程要点: 1. 未使用的引脚初始化时设置为输出。 2. 从掉电模式唤醒后,PLL的恢复必须由软件完成。通常先将PLL激活并等待锁定,然后再将PLL连接。 3. 复位后,存储器加速模块MAM默认为禁止状态。在改变MAM定时值时,必须先关闭MAM。 4. 在编程和操作过程中不允许访问Flash存储器。 5. 3.3V和1.8V电源设计最大电流分别为600mA和300mA,可使用SPX1117。 6. ARM端口做输入输出时与单片机有区别,实例如下: a) 要将P0.8、P0.9设置为TxD1、RxD1,则PINSEL0=(PINSEL0 & 0xFFF0FFFF)|(0x05 1
[单片机]
基于FPGA的相检宽带测频系统的设计
在电子测量技术中,频率测量是最基本的测量之一。常用的测频法和测周期法在实际应用中具有较大的局限性,并且对被测信号的计数存在%26;#177;1个字的误差。而在直接测频方法的基础上发展起来的等精度测频方法消除了计数所产生的误差,实现了宽频率范围内的高精度测量,但是它不能消除和降低标频所引入的误差。本文将介绍的系统采用相检宽带测频技术,不仅实现了对被测信号的同步,也实现了对标频信号的同步,大大消除了一般测频系统中的%26;#177;1个字的计数误差,并且结合了现场可编程门阵列(FPGA),具有集成度高、高速和高可靠性的特点,使频率的测量范围可达到1Hz~2.4GHz,测频精度在 1s闸门下达到10-11数量级。 测频原理 本测频系统
[应用]
揭秘iMac Pro上那颗神秘芯片:可真不简单
   iMac  Pro来了,经过试用,人们给了它各种各样的评价,但总结起来其实也就是四个字 —— 性能怪兽。这点其实没有疑问,毕竟 iMac  Pro这一上来就是冲着这一点去的。跑分成绩,中端级的 iMac  Pro比高端的Mac Pro还要快45%,可以想见它有多可怕。下面就随嵌入式小编一起来了解一下相关内容吧。   不过老实说,iMac Pro除了那可怕的硬件性能外,真正值得我们去津津乐道的倒反不多。说来说去,配置规格就是高嘛,用来完成专业任务就是更快更顺手嘛。毕竟,iMac Pro可是带着“Pro”的,要多挖出点什么具体的感想,那还得专精某个方向才行。   所以我们倒不如先来聊一聊iMac Pro的那颗T2芯片。我们最早
[嵌入式]
基于ARM的旋转编码器采集模块设计
  随着工业生产自动化水平的提高,各种传感器的应用也越来越多。旋转编码器作为速度和位移反馈的传感器,主要应用于数控机床、高精度的闭环调速系统、伺服电动机、异步电动机、步进电动机、电梯曳引机、电梯门机乃至机械轴等需要对运动速度和位移信息反馈的自动化控制场合,以保证机械的高精度稳定运转,进而提高生产效率和保障安全运营。   本文针对旋转编码器在工业现场中的应用,基于LPCI768硬件平台,设计出一种旋转编码器采集模块,该模块内部具有高精度分析、整形、解码电路,可同时对2路编码器输入信号进行分析、解码。经过处理的旋转信号通过高性能处理器进行采集及数字滤波。旋转编码器同时还对2路编码器信号进行角速度计算,最终模块通过CAN总线将采集到
[单片机]
基于<font color='red'>ARM</font>的旋转编码器采集模块设计
英对俄制裁再加码,禁止俄厂商获取ARM架构授权
据俄罗斯媒体报道,英国已将对俄罗斯的制裁扩大到国内 MCST处理器和贝加尔电子公司。除了冻结其资产外,制裁还禁止英国企业对俄罗斯提供技术服务的限。 因此,俄罗斯最有名的微处理器研发企业贝加尔电子公司面临停产死亡。禁止使用英国 ARM 架构贝加尔就无法设计并生产新的处理器。除非贝加尔能够找到一家违反专利法的芯片代工厂,或者找到新的芯片专利公司向其授权开放处理器架构。 英国在5月4日公布的最新制裁名单包括俄罗斯处理器制造商:JSC MCST(生产 Elbrus 处理器)和 JSC Baikal Electronics(生产 Baikal 处理器)。后者使用英国公司 ARM 的处理器架构的许可证(苹果、Nvidia、高通、三星和中
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved