课程设计论文基于ARM的LCD显示系统的设计.docx
《课程设计论文基于ARM的LCD显示系统的设计.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于ARM的LCD显示系统的设计.docx(11页珍藏版)》请在冰豆网上搜索。
课程设计论文基于ARM的LCD显示系统的设计
目录
摘要II
1设计目的1
2设计原理1
3设计内容1
3.1S3C2440A最小系统.1
3.2显示系统硬件电路2
3.2.1LCD控制电路2
3.2.2时序和数据匹配电路5
3.2.3多路电压产生电路6
3.2.3以太网通信模块9
3.2.4显示驱动和LQ035Q7DH01的接口电路7
3.2.5显示系统整体结构框图8
3.3显示系统软件编写8
总结与致谢10
参考文献11
摘要
嵌入式系统是嵌入到对象体系中的专用计算机系统。
以嵌入式计算机为核心的嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。
本文介绍和设计了一款基于ARM嵌入式系统的LCD显示系统。
该系统在功耗,体积,集成度,成本等都有较好的优势,具有一定的实用意义。
关键词:
嵌入式;LCD;S3C2440A;LQ035Q7DH01;
1设计目的
以三星公司的嵌入式微处理器S3C2440A和夏普公司3.5inLCD屏LQ035Q7DH01为基础,设计了显示硬件电路,不论是显示硬件电路还是软件驱动程序,都有很强的可移植性,可以方便地移植到不同的平台。
2设计要求
设计要求实现一个能把采集和处理的数据,图像显示在LCD上的系统。
该系统可以把采集来的数据经过ARM的处理后显示在LCD上。
采集数据和处理数据可以自己根据具体情况自己设定(如键盘输入,ARM计算等)。
根据设计题目的要求,选择确定ARM芯片型号、LCD型号、LCD控制器芯片型号,完成系统硬件设计。
3设计内容
3.1S3C2440A最小系统
为确保S3C2440A的基本运行需求,对ARM主芯片的基本硬件设计,包括电源,时钟以及复位的设计
图1时钟以及复位的设计
3.2显示系统硬件电路
3.2.1LCD控制器电路
LCD控制器用来传输图像数据并产生相应的控制信号,S3C2440ALCD控制器能支持高达4K色STN屏和256K色TFT屏,支持1024×768分辨率下的各种液晶屏,具有LCD专用DMA。
LCD控制器产生的控制信号和数据信号主要有:
∙VFRAME:
LCD控制器和LCD驱动器之间的帧同步信号,LCD控制器在一个完整帧显示完成后插入一个VFRAME信号,开始新一帧的显示。
∙VLINE:
LCD控制器和LCD驱动器之间的行同步信号,LCD控制器在整行数据移入LCD驱动器后插入一个VLINE信号。
∙VCLK:
LCD控制器和LCD驱动器之间的像素时钟信号,由LCD控制器送出的数据在VCLK的上升沿处送出,在VCLK的下降沿处被LCD驱动器采样。
∙VM:
数据输出使能信号,在VM信号跃变成高电平后行数据信号开始由LCD控制器输出至LCD驱动器,当VM信号跃变为低电平后数据输出停止。
∙数据线:
也就是RGB信号线,S3C2440ALCD控制器有VD[0:
23]共24根数据线,数据格式不同,接线方式就不同。
本文用的是RGB565方式,只需要16根数据线(红色5根,绿色6根,蓝色5根)。
其数据线接线方式如表1所示:
∙
图2LCD控制器电路
3.2.2时序和数据匹配电路
由于S3C2440A的LCD控制器与LCD屏LQ035Q7DH01在数据格式及显示时序上无法匹配,需要选用一种时序控制IC或者用CPLD(也就是通常所说的LCD伴侣芯片)来对不同数据格式的数据接口进行映射。
但CPLD面积较大、成本较高,因而通常只在需要对电路进行灵活配置的情况下才使用。
本文时序控制IC选用夏普公司的LZ9FC22。
该芯片专用于对TFT型QVGA屏幕(屏幕分辨率320×240)的LCD进行时序控制。
这是一个18bit(R6G6B6)的控制器,由于本文采用的是RGB56516位工作模式,所以将其输入引脚R0和B0接地。
时序和数据匹配电路如图所示:
图3时序和数据匹配电路
3.2.3多路电压产生电路
图4多路电压产生电路
3.2.4显示驱动和LQ035Q7DH01的接口电路
显示驱动和LQ035Q7DH01的接口电路如图所示:
图5显示驱动和LQ035Q7DH01的接口电路
3.2.5显示系统整体结构框图
图6整体结构框图
3.3显示系统软件编写
文中根据需要为S3C2440A的LCD控制器定义了一个专用结构体s3c2440fb_mach_info:
structs3c2440fb_mach_info{
u_longpixclock;/*像素时钟频率*/
u_charbpp;/*每像素需要的bit数*/
u_shortxres;/*显示器行分辨率*/
u_shortyres;/*显示器列分辨率*/
u_charhsync_len;/*行同步信号的长度*/
u_charvsync_len;/*帧同步信号的长度*/
u_charleft_margin;/*从本行图象数据输出结束到下一行的行同步信号开始之间的像素时钟数*/
u_charright_margin;/*从行同步信号结束到该行的图象数据开始输出之间的像素时钟数*/
u_charupper_margin;/*从本帧图象数据输出结束到下一帧的帧同步信号开始之间的无效行数*/
u_charlower_margin;/*从帧同步信号结束到该帧图象数据开始输出之间的无效行数*/
u_charsync;
structs3c2440fb_lcd_regreg;/*S3C2440A
LCD控制寄存器结构体*/
};
Main()
{
intfbfd=O;
structfb_var_screeninfovinfo;
structfb_fix_screeninfofinfo;
unsignedchar*fbp;
fbfd=open("/dev/fb0",O_RDWR);
/*打开设备文件*/
if(!
fbfd){ /*失败返回*/
printf("Error:
cannotopenframebufferdevice.\n");
exit
(1);
}
Printf("Theframebufferdevicewasopenedsuccessfully.\n");
ioctl(fbfd,FBIOGET_FSCREENINFO,&finfo);
/*获取显示设备特性*/
ioctl(fbfd,FBIOGET_VSCREENINFO,&vinfo);
screensize=vinfo.xres*vinfo.yres*vinfo.bits_per_pixel/8/*计算屏幕缓冲区的大小*/
fbp=(unsignedchar*)mmap(0,screensize,PORT_READ|PORT_WRITE,MAP_SHARED,fbfd,0);/*将屏幕缓冲区映射到用户地址空间,然后应用程序就可以通过fbp访问缓冲区了*/
memset(fbp,0,screensize);/*用memset将屏幕清空*/
}
总结与致谢
在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此论文完成之际,首先特别感谢我的导师杨健对我的悉心指导和帮助。
在我的设计和调试工作中无不倾注着老师辛勤的汗水和心血。
导师脚踏实地的治学态度、兢兢业业的工作态度和认真务实的科研作风使我深受启迪。
从尊敬的导师身上,我不仅学到了专业的知识,也学到了做学问的方法。
在此,我要向我的导师表达深深的感谢和崇高的敬意。
在显示系统硬件设计中,显示硬件的整体设计考虑全面是设计过程中的重点,这就要求对显示硬件的各特性参数有全面的了解。
软件设计中,由于其中涉及到的数据结构比较多,同时又和控制台联系在一起,有一定的难度。
只有在深刻理解各个变量和操作函数的具体意义后,才能分析编写自己需要的LCD驱动程序。
参考文献
[1]杜春雷.ARM体系结构与编程[M].北京:
清华大学出版社,2003.
[2]周立功.ARM嵌入式Linux系统构建与驱动开发范例[M].北京:
北京航空航天大学出版社,2006.
[3]斯洛斯(Sloss,A.N.).ARM嵌入式系统开发:
软件设计与优化[M].北京:
北京航空航天大学出版社,2005.
[4]ARM&Linux嵌入式系统教程.北京:
北京航空航天大学出版社,2004.
[5]陈赜.ARM9嵌入式技术及Linux高级实践教程[M].北京:
北京航空航天大学出版社,2005.
[6]孙天泽,袁文菊.嵌入式设计及Linux驱动开发指南——基于ARM9处理器[M].第2版.北京:
电子工业出版社,2007.
[7]田泽.ARM9嵌入式Linux开发实验与实践[M].北京:
北京航空航天大学出版社,2006.
[8]于明.ARM9嵌入式系统设计与开发教程[M].北京:
电子工业出版社,2006.
[9]赵星寒 .ARM开发工具ADS原理与应用[M].北京:
北京航空航天大学出版社,2006.
[10]季昱,林俊超,宋飞编.ARM嵌入式应用系统开发典型实例[M].北京:
中国电力出版社,2005.