单片机信息网:深圳市今科电子有限公司
网站地图 RSS订阅
高级搜索 收藏本站
会员中心 欢迎投稿
首页 | 业界动态 | 解决方案 | 技术文献 | 下载中心 | 单片机学习 | 单片机原理 | 单片机编程 | 单片机设计 | 单片机开发 | 技术专题 | 单片机论坛 |单片机博客| 联系我们
单片机新闻 | 单片机学习 | 单片机编程 | 单片机设计 | 单片机开发 | 单片机原理 | 单片机解密 | 芯片解密 | IC解密 | 单片机方案 | 51单片机 | AVR单片机 | PIC单片机
单片机程序实例大全 | 潜入式系统 | PCB设计 | 单片机资料下载 | 工具/软件下载 | 技术经验分享 | 单片机技术人生 | IC资料下载 | 数字电路 | 模拟电路 | 单片机空间
当前位置:主页>嵌入式系统>文章内容
基于嵌入式Linux的 TFT LCD IP及驱动的设计
来源: 作者: 发布时间:2007-10-12 阅读次数: 【大 中 小】【收藏本文】 【打印

基于嵌入式Linux的 TFT LCD IP及驱动的设计


系统总体设计方案

本系统的总体设计框图如图1所示。

图1 系统框图

Nios II处理器在SDRAM中开辟帧缓冲(Frame buffer),可以是单缓冲也可以是双缓冲。以单缓冲为例。处理器将一帧图像数据(640×480×2Bytes,RGB565,16bit)存入帧缓冲,然后将帧缓冲的首地址写入到LCD控制器,并启动LCD控制器。该控制器自动从传来的首地址处开始读取数据,并按照TFT的格式输出。图中各模块由Avalon Bus连接在一起。Avalon Bus是一种简单的总线结构,Nios II处理器和各种外设都是通过Avalon Bus连接在一起。由图1可以看出,作为Slaver的SDRAM Controller分别要受到Processor 和LCD Controller的控制,为了解决总线冲突,Avalon Bus自动在有冲突的接口上加入了Arbitrator这样一个仲裁模块,用于合理分配总线时间,用户通过改变每个模块的权值来改变对其分配总线时间的多少。在这个系统中,SDRAM Controller是影响整个系统性能的关键。以SDRAM时钟频率为100MHz计算,16bit的SDRAM其数据总带宽为200MByte/s,640×480×2Bytes×60Hz的TFT LCD要占用36MByte/s左右的带宽,这对于还要处理其他任务的处理器来说是很大的影响。

LCD控制器的FPGA实现

Avalon Bus Slaver从总线接口模块实现

Avalon从总线接口负责处理器与LCD控制器的接口控制,LCD控制器在整个系统中作为从设备,NIOS II通过该接口对控制寄存器进行设置,控制LCD。

LCD从模块有四个32bit的可读写寄存器,用于控制LCD控制器的工作和指示其工作状态。

Avalon Bus DMA Master主设备接口模块实现

Avalon Bus DMA Master负责按照控制模块的指令,读取SDRAM中的数据,并写入到FIFO中,其核心部分是DMA地址累加器。当条件满足时,地址累加器开始在100MHz的时钟下以4为单位开始累加用于生成读取SDRAM的地址。读完一帧的数据后,自动复位到首地址,继续累加。

主设备接口采用带延迟的主设备读传输模式,在这种传输模式下,即使没有接收到上一次的有效数据,主设备也可以发起下一次读命令。当waitrequest信号无效(低电平)时,主设备可以连续的发起读命令,当waitrequest信号有效(高电平)时,主设备开始等待,直到其变为低电平。当 readdatavalid信号有效(高电平)时,表示读数据有效,此时主设备可以锁存数据口上的有效数据。这里没有使用flush信号,flush信号会清除前面一切未完成的读命令。Avalon总线保证数据的输出顺序与主设备要求的顺序一致(即与主设备地址输出顺序一致)。readdatavalid 信号可以作为FIFO的wrreq信号,这样可以直接将读出来的数据写入到FIFO中。当前地址等于尾地址时,则复位累加器,使之重新开始从首地址累加。地址累加器代码模块如图3。

图2 LCD BSF图

图3 设备接口模块BSF图

FIFO模块实现

FIFO的作用是对DMA输出的图像数据进行缓存,以匹配时序控制模块的输出速度。FIFO大小暂定为4096×16bit,在实际设计时,再根据系统需要以及资源状况做出适当调整。原则是,在系统资源允许的情况下,将FIFO大小尽量设置大点。

FIFO由DMA控制器写入数据,写入时钟为100MHz;由LCD控制器的时序发生模块读出数据,读出时钟为PCLK,即LCD的像素点扫描频率,通常取25MHz。在独立的写时钟和读时钟作用下,FIFO可以提供rdusedw[11:0]信号,用于指示FIFO中已经使用掉的容量。系统可以设置一个上限和一个下限,当FIFO中的数据量高于上限或低于下限时,控制器暂停DMA传输或启动DMA传输,用以保证系统性能。

在本例应用中,将wrclk接系统时钟(100MHz),wrreq接master_readdatavalid,data接writedata,即可完成DMA的数据写入操作;将rdclk接12.5MHz(因为TFT的时钟为25MHz,数据宽度为16bit,而FIFO的宽度为32bit,所以用一半的时钟12.5MHz去读取FIFO,然后依次输出32bit的高16bit和低16bit),rdreq由时序发生模块控制,即可在每个rdclk的上升沿读出一个数据到q。aclr接~reset_n,可以完成复位操作。当然,所有信号都受controller_GoBit的控制。

FIFO设计采用了Quartus II自带的fifo宏模块,自动生成所需要的模块,供调用。

LCD 时序发生器设计模块实现

时序发生器用于产生TFT所需的时序,将图像数据按特定的时序输出。每种控制器的设计关键就是时序设计,本文专门针对三菱公司的AA084VC05液晶屏,图4,图5是其时序图。

图4 水平时序图

图5 垂直时序图

LCD时序发生器以DCLK为时钟基准,该DCLK即上面所说的PCLK,也就是像点时钟,每个像素点的数据以该时钟驱动进入LCD。图4为AA084VC05的水平扫描时序,其中,DATA为18位数据信号(本设计中只用其中的16位),DENA为数据有效信号,高电平使能,其有效宽度THA为640个DCLK;HD为水平同步信号,低电平有效,其有效宽度TWHL为96个DCLK。一行640个象素扫描完毕之后,控制器将驱动HD有效,在HD有效之前插入THFP(Horizontal Front Porch)为16个DCLK,有效之后插入THBP(Horizontal Back Porch)为144个DCLK,然后再开始下一行的扫描。如此一来,行扫描信号的频率FH典型值为31.5KHz。而读FIFO信号要提前DENA信号一个时钟节拍到来,提前一个时钟节拍结束,因为该FIFO有一个时钟节拍的延迟。

AA084VC05的垂直扫描时序与水平扫描时序类似,该时序以HD为时钟基准,其中,VD为垂直同步信号(帧同步)。每扫描完一帧(480行),控制器将驱动VD有效(低电平),有效宽度TWVL为2个 HD。同样,在VD有效之前插入TVFP(Vertical Front Porch)为10个HD,有效之后插入TVBP(Vertical Back Porch)为35个HD,如此一来,垂直扫描信号频率FV的典型值为60Hz。

时序发生器采用状态机实现。由于该控制器的参数比较大,为了便于观察仿真结果,本文对这些参数做了一些处理(成倍减少)。

结语

本文设计实现了一个简单的基于Avalon总线的TFT LCD控制器,能实现640×480,颜色深度为16bit的彩色图形显示,可应用于各种TFT LCD,亦可改写为VGA控制器,有较大的灵活性。根据设计好的控制器编写了相应的Linux下的Frame buffer驱动程序。很好的实现了界面环境的开发,可以用于很多手持设备的电子产品。该设计最大的特点是有很强的可移植性,不论是控制器的设计还是Frame buffer驱动程序的设计都很灵活。



上一篇:医疗半导体市场潜力大 便携式应用最热门   下一篇:选择合适的嵌入式系统软、硬件调试工具

标签:嵌入式Linux TFT LCD IP 驱动 点此搜索本站更多相关信息...搜索更多相关内容..

您可能还感兴趣的内容: 深圳今科电子单片机解密、IC解密服务 今科电子单解机、IC解密业务是怎样的流程?

此页的访问者还关注了下面这些相关资讯


·选择合适的嵌入式系统软、硬件调试工具
·中国嵌入式软件产业链现状与趋势分析
·半导体材料研究与开发
·加密存储芯片AT88SC1616的原理和应用技术
·具有嵌入式虚拟技术的服务器即将问世
·嵌入式系统电源的设计与调试
·基于嵌入式Linux系统设备驱动程序的开发
·如何制作嵌入式Linux文件系统
·典型的嵌入式系统设计和实现
·8位机嵌入式TCP通信速度的研究
·Giotto软件在实时嵌入式控制中的应用
·54M无线网络适配器在嵌入式系统中的研究与应用
·嵌入式系统编程中的代码优化
·μC/OS-II中缩短中断关闭时间的方法
·基于IXP2400的RPR综合业务接入系统设计
·TMS320C61416 EMIF总线下双FPGA加载设计
·用FPGA实现数据远距离的高精度传输
·混合仿真下DDS的改进研究与实现
·嵌入式应用中存储器类型的选择技巧
·低功耗领域再进一步 AMD推出嵌入式解决方案系列新产品
·基于DSP的实时多任务嵌入式系统
·分析技术:让世界变得更安全、更清洁、更美好
·嵌入式设备中使用Malloc Hook的试验
·嵌入式系统下的软件保护
·基于模型和产品代码生成的汽车嵌入式系统设计
·Keil C动态内存管理机制分析及改进
·嵌入式芯片同质化的对策
·嵌入式实时操作系统Nucleus PLUS在S3C2410A上移植的实
·嵌入式操作系统的新动向
·嵌入式操作系统uClinux和eCos的比较
·嵌入式Linux操作系统的驱动程序开发要点
·嵌入式系统发展步入新时代
·FPGA的DSP性能揭秘
·嵌入式Linux系统的动态电源管理技术
·基于μC/OS-II嵌入式系统的低功耗开发
·达芬奇数字媒体片上系统的架构和Linux启动过程
·用UML建模开发嵌入式软件
·如何选择合适的嵌入式软件开发平台
·嵌入式Linux系统中I2C总线设备的驱动设计
·DSP25年–让梦想照进现实


版权声明:
( 更多版权详述 | 隐私政策 )

1、凡本网注明“来源:单片机信息网”或“单片机论坛”的文字、图片和音视频作品,版权均属深圳市今科电子有限公司所有,任何媒体、网站或个人未经本网书面授权不得转载、链接、转贴或以其他方式使用;已经本网书面授权的,在使用时必须注明“来源:单片机信息网”或“单片机论坛””。
2、本网未注明“来源:单片机信息网”或“单片机论坛”的作品均为转载稿,本网转载稿件只为传递更多信息,并不意味着认同其观点或真实性。如其他媒体、网站或个人转载使用,必须保留本网注明的“稿件来源”,并自负法律责任。
3、对于单片机信息网通过单片机论坛发布的作品,本网受著作权人委托禁止任何媒体、网站或个人在未经书面授权的情况下转载使用。
4、为维护自身权益、尊重作者版权,单片机信息网特委托深圳市律师协会为本网站法律顾问。对于违反本声明的,单片机信息网律师将依法追究其责任;对于刊载作品涉及版权等问题的,请作者在两周内与网站管理或张朝阳律师联系。
责任编辑:今科电子
双击复制本文网址,发送给您QQ/MSN上的朋友:
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
§最新评论
今科热门解密系列
·PIC芯片DSP系列单片机解密PIC芯
·Freescale单片机解密飞思卡尔芯
·飞思卡尔(Freescale)单片机解密/
·pic18f系列单片机解密
·三星(Samsung)系列单片机极速解
·飞林Feeling芯片系列MCU单片机/I
·MICROCHIP微芯(PIC)系列单片机/M
·单片机破解的常用方法及应对策略
·IC卡预付费电度表的安全及防范技
·单片机解密 单片机解密方法 单片
·PHILIPS系列单片机解密
·独家STC单片机解密
·我对红外遥控信号的解码思路
·51系列单片机解密(数分钟搞定)
·芯片解密业务流程介绍
·单片机解密后提供什么文件?
·单片机解密后为何要提供厂家的专
·芯片是如何被解密的?
·SST系列MCU单片机/IC/芯片解密
·INTEL系列单片机/IC/芯片解密
·ISSI系列MCU单片机IC破解芯片解
·ZILOG系列MCU单片机IC破解芯片解
·MOTOROLA系列MCU单片机IC破解芯
·LG(HYUNDAI系列MCU单片机/IC破
·MCPLD/EPLD系列MCU单片机IC破解
·新茂系列MCU单片机IC破解芯片解
·PHILIPS系列MCU单片机IC破解芯片
·MXIC系列MCU单片机IC破解芯片解
·(ATMEL)51系列MCU单片机IC破解芯
·华邦芯片系列MCU单片机/IC/芯片
·(MICROCHIP)微芯(PIC)系列MCU单
·CYPRESS系列MCU单片机IC破解芯芯
·Sinowealih系列MCU单片机IC破解
·Tenx系列MCU单片机IC破解芯片解
·松翰(SONIX)系列MCU单片机IC破解
·义隆(EMC)系列MCU单片机IC破解
·合泰(HOLTEK)系列MCU单片机IC破
·麦肯(MDT)系列mcu单片机IC破解芯
·今科单片机解密服务
·单片机程序开发
热点技术文章文献
·嵌入式系统的技术特点及前景展望
·加密存储芯片AT88SC1616的原理和
·编写适合自己需要的printf()函数
·基于ARM的嵌入式网络收音机的设
·嵌入式Linux系统中I2C总线设备的
·嵌入式Linux的GDB调试环境建立
·用USB启动Windows XP Embedded
·基于ARM7的指纹考勤机设计
·HC(S)08单片机的高效C语言编程
·基于Linux和S3C2410的嵌入式图象
·基于FPGA的32 Kbit/s CVSD语音编
·嵌入式实时Linux的技术研究
·X86嵌入式处理器开发
·基于WinCE的ARM视频监控系统
·如何制作嵌入式Linux文件系统
·模拟器开发以及嵌入式系统内核调
·基于DM642的嵌入式网络视频服务
·嵌入式系统的发展趋势:网络互联
·嵌入式数据库Berkeley DB 环境使
·嵌入式系统中USB主机控制器的设
·基于mClinux的嵌入式USB接口设计
·54M无线网络适配器在嵌入式系统
·Keil C动态内存管理机制分析及改
·使用虚拟机嵌入式Linux开发前的
·基于AVR单片机的嵌入式“瘦服务
·用MSP430实现的嵌入式因特网终端
·Java能否主演嵌入式应用开发?
·基于TinyXml的嵌入式Linux
·嵌入式芯片同质化的对策
·32位ARM嵌入式处理器的调试技术
今科推荐产品
·51系列单片机解密(数分钟搞定)
·今科单片机解密服务
·单片机程序开发
·小家电(厨卫电器)系列产品
·灯饰控制系列产品
·四键遥控器系列产品
·红外遥控器系列产品
相关技术文献资讯
·选择合适的嵌入式系统软、硬件调
·中国嵌入式软件产业链现状与趋势
·半导体材料研究与开发
·加密存储芯片AT88SC1616的原理和
·具有嵌入式虚拟技术的服务器即将
·嵌入式系统电源的设计与调试
·基于嵌入式Linux系统设备驱动程
·如何制作嵌入式Linux文件系统
·典型的嵌入式系统设计和实现
·8位机嵌入式TCP通信速度的研究
·Giotto软件在实时嵌入式控制中的
·54M无线网络适配器在嵌入式系统
·嵌入式系统编程中的代码优化
·μC/OS-II中缩短中断关闭时间的
·基于IXP2400的RPR综合业务接入系
·TMS320C61416 EMIF总线下双FPGA
·用FPGA实现数据远距离的高精度传
·混合仿真下DDS的改进研究与实现
·嵌入式应用中存储器类型的选择技
·低功耗领域再进一步 AMD推出嵌入
·基于DSP的实时多任务嵌入式系统
·分析技术:让世界变得更安全、更
·嵌入式设备中使用Malloc Hook的
·嵌入式系统下的软件保护
·基于模型和产品代码生成的汽车嵌
论坛最新讨论资讯
芯片解密常见问题
· 什么是单片机?
· 单片机要如何加密?
· 单片机芯片是如何被解密的?
· 单片机解密后提供什么文件?
· 芯片解密为何用专用格式文档?
· 芯片解密是怎样的业务流程?
首页 - 隐私政策 - 版权申明 - 网站地图 - 产品中心 - IC解密中心 - 企业文化 - 代理加盟 - 公司简介 - 人才招聘 - 常见问题 - 我要投稿 - 联系我们 - 返回顶部
[单片机信息网] .© 2006-2009 版权所有,严禁非法复制与建立镜像.运营商:[今科电子] 公司地址:中国.深圳/上海 E-Mail:renbangent#126.com sales#techmcu.com(换#为@)
深圳公司 电话热线:+86 0755-82964200 82964201 82964700 传真:0755-82964432 支持手机:13684994966 业务QQ: 501995683 联系人:王小姐 张小姐(工程师) 罗先生(高工)
上海公司 电话热线:+86 021-63062380 15001885509   传真:+86 021-63062380-6   技术支持:15001885509 业务QQ:xxxxxxxx   联系人:郑小姐(业务) 陆工(工程师)
Optimized for 1024x768 to Firefox,Opera and MS-IE6 or higher,Template designed by: Berlin Lee.Web Support[FuAn Network] ICP Record No.:07053756 Webmaster