显示设备接口与帧缓冲_第1页
显示设备接口与帧缓冲_第2页
显示设备接口与帧缓冲_第3页
显示设备接口与帧缓冲_第4页
显示设备接口与帧缓冲_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

显示设备接口与帧缓冲1LCD接口设计LCD显示模块液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。LCD的背光:EL(场致发光):2000-3000小时LED光源:50000小时新CCFL:60000小时2LCD的显示方式反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。3常见的液晶显示器物理结构扭曲向列型(TN-TwistedNematic)超扭曲向列型(STN-SuperTN)双层超扭曲向列型(DSTN-DualScanTortuosityNomograph)薄膜晶体管型(TFT-ThinFilmTransistor)其中TN-LCD、STN-LCD和DSYN-LCD的基本显示原理都相同,只是液晶分子的扭曲角度不同而已。而TFT-LCD则采用截然不同的显示方式。4LCD通常由两种方式一种是带有LCD扫描芯片的LCD模块一种是通过LCD控制器,直接扫描LCD屏。比如:S3C2410处理器,带有LCD控制器,显示缓存和系统内存公用。可以支持STN(彩色/灰度)和TFT两种模式的LCD。TFT模式下最多支持24位色,800x600分辨率。LCD的驱动方式5嵌入式处理器与LCD的连接嵌入式处理器LCD模块数据总线寄存器选择使能信号有LCD控制器的嵌入式处理器LCDLCD控制信号线6片外的LCD控制器7集成了LCD控制器的嵌入式处理器体系结构

8典型的LCD模式信号线LDD<17:0>,数据线L_PCLK,点时钟L_LCLK,行频L_FCLK,帧频L_BIAS,CSTN的AC信号,TFT的开启信号9S3C2410的LCD扫描模式4/8位,单/双扫描模式,CSTN最多256级灰度显示缓冲区支持15、16、24位TFT模式支持RGB格式104位单扫描STN模式114位单扫描显示缓冲的对应关系1个字节存储两个点的信息16级灰度128位CSTN屏幕点阵:320x240138位单扫描CSTN模式148位单扫描显示缓冲的对应关系1个字节存储1个点的信息可以是用调色板标准映射:1516位单扫描TFT模式1616/15位显示缓冲的对应关系17Linux系统下Framebuffer设备帧缓冲(framebuffer)是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由Framebuffer设备驱动来完成的。嵌入式系统下大多采用Framebuffer设备来实现显示设备LCD驱动。18Linux系统下Framebuffer设备Framebuffer在系统中的位置LinuxKernelFramebufferVFS虚拟文件系统系统调用VGALCDGUILIBUserApplication19Linu选x系统下阔Fram况ebuf办fer设通备帧缓冲毅设备对坊应的设吵备文件般为/d船ev/洁fb*狼,如果健系统有钞多个显橡示卡,凝Lin蝴ux属下还可蜡支持多捎个帧缓纲冲设备肝,最多宏可达载32合个,分侄别为/觉dev扇/fb邮0到电/de吉v/f拢b31饿,而/均dev烦/fb瓶则为病当前缺晚省的帧新缓冲设后备,通科常指向皱/de隙v/f陆b0。当然在嵌扁入式系统宏中支持一按个显示设县备就够了置。帧缓冲饰设备为标侵准字符设漠备,主设肺备号为2睡9,次设亡备号则从鞠0到31抛。分别对板应/de妻v/fb傻0到/d饮ev/f布b31。20Fram称ebuf宪fer驱饺动结构Fra枯meB都uff慕er设茎备驱动造基于如桶下两个触文件:格li钱nux饭/in毫clu绑de/健lin帮ux/对fb.泡h

l趣inu雨x/d蹈riv圾ers杨/vi霸deo沃/fb寻mem票.c与平台傅相关的异设备驱逼动文件葱:lin浊ux/赖dri既ver论s/v付ide洽o/s输3c-宜fb.幅c21Fra厅meb咽uff围er驱辟动结构Fra续meB蜡uff上er帧反缓冲的伟重要数魄据结构鹅:fb_i惧nfofb_卧var湖_sc畅ree言nin慌fofb_它fix毙_sc暂ree饥nin割fofb_c朝mapfb_o龙ps在fb庙.h中举定义22Fram氏ebuf专fer驱业动结构str数uct扭fb扫_in续fo痰{int猴no英de;int校flag渗s;str糟uct点fb质_va汽r_s版cre随eni爱nfo崖va秒r;穗/封*C砌urr迎ent散va暮r*附/str羊uct凯fb张_fi迅x_s睁cre青eni舰nfo百fi认x;押/达*C梢urr惩ent解fi榜x*母/stru率ctf拘b_mo蒜nspe拌csm之onsp捧ecs;挎/*C奇urre赤ntM盗onit勺ors他pecs舒*/…………};该结构琴是LI爷NUX均系统定扩义的f灶ram铃ebu弯ffe徐r设备躲驱动接掠口。定史义了当洞前显卡逼fra纤meb危uff液er设妥备状态锈,一个虽显卡可钱能有两拨个fr浩ame躁buf克fer锦,在这予种情况别下,就切需要两壳个fb照_in厨fo结武构。这戏个结构泪是唯一序在内核雾空间可啦见的。出在这个蚂结构中纤有一个星fb_赴ops誉指针,存指向驱伞动设备交工作所龙需的函叙数集。23Fra碑meb你uff监er驱掌动结构stru种ctf希b_fi循x_sc党reen责info盐{cha杏ri究d[1阔6];灵/星*i巡寿den蚊tif迅ica疗tio笔ns胃tri顶ng衔eg弹"TT赚Bu衫ilt宫in"桃*/uns缴ign塘ed毯lon收gs慎mem岔_st催art迎;梳/抛*S肆tar途to锈ff蹈ram魔eb龟uff拦er冤mem岔*//*披(ph斤ysi荐cal吊ad摩dre爆ss)贝*/__u芹32和sme壮m_l炊en;虽/窜*L鞭eng篇th漂of葬fra句me邪buf算fer磨me秤m*婆/__u筹32舰typ而e;累/*死se么eF父B_T去YPE咐_*仓*/__u蔬32解vis患ual盗;/*s苦eeF蝴B_VI毫SUAL胖_*有*/…………};该结构用皆来描述设消备无关,景不可变更隔的信息。竹可以使用递FBIO芳GET_距FSCR稀EENI鹊NFO惕命令来获能取该结构展相应信息明。24Fram东ebuf舌fer驱瓣动结构str蚕uct蒜fb调_va将r_s患cre娇eni柄nfo魄{__u3浸2xr简es;颂/*v暑isib秀ler内esol惭utio比n饰*/__u3冷2yr慈es;__u熊32姥xre箩s_v闪irt受ual命;听/偶*v学irt用ual喊re尚sol婚uti滩on鸟*/__u3独2yr严es_v蜘irtu韵al;__u3枕2xo社ffse羊t;循/*o姜ffse液tfr罚omv经irtu幸alt土ovi巡寿sibl翠e*/__u3首2yo到ffse结t;…………};该结构羞用来描炎述设备令无关,单用户可阅变更的销信息。礼可以使险用FB曾IOG希ET_弦VSC感REE摆NIN抢FO席命令裂来获取覆该结构组相应信捆息,使休用FB磁IOP育UT_济VSC茎REE冠NIN劲FO乱命令来右设置该摔结构相伶应信息锹。25Fra韵meb务uff散er驱倦动结构stru制ctf拉b_cm霜ap{__u暴32梳sta怨rt;骨/直*F豆irs驾te乡丰ntr紧y昏*/__u码32贱len棒;剂/丸*N婶umb欣er疯of布ent马rie损s*甲/__u1费6*r斧ed;笋/*R钳edv派alue涛s呜*/__u糕16震*gr造een猎;__u呼16丸*bl禽ue;__u沃16盆*tr挑ans像p;师/祥*t捧ran写spa谜ren垄cy,移ca贱nb番eN弱ULL跨*/};该结构规描述设悄备无关渡的颜色散映射信哪息。可旨以通过利FBI觉OGE晓TCM渠AP和伟FBI昨OPU致TCM珍AP敏对应的槐ioc晕tl操杏作设定陵或获取枪颜色映虏射信息夫.26Fra滩meb熊uff教er驱距动AP躬ILinu煤x系统中刮对帧缓冲住设备的操跪作是通过班,fb_轧ops结榨构来完成搞和定义的施。用户可悦以通过i恩octl疤接口来完紧成对fb蛾_ops恭结构中定零义的功能慨函数的调小用。帧缓冲驱裁动程序的树主要工作毛就是编写犹fb_o学ps结构郊中的接口幻玉函数。27Fram习ebuf绒fer驱凶动APIstr缝uct本fb偷_op伯s{/*洁ope亦n/r趣ele遍ase怖an普du匪sag叙em披ark卖ing驰*/stru堆ctm最odul寻e*o戒wner伯;int唱(*超fb_庸ope钳n)(糕str周uct闷fb表_in拔fo支*in艺fo,惜in叨tu毅ser寻);int索(*fb芦_rel菌ease册)(st钢ruct催fb_励info哥*in氧fo,响int哄user滤);ssiz客e_t孩(*fb嫂_rea肚d)(s沿truc寨tfb煌_inf崇o*i门nfo,围cha侄r__剧user飞*bu骆f,siz五e_t施co阴unt地,l将off迅_t伴*pp未os)剖;ssi姐ze_林t(卡*fb虫_wr跳ite每)(s嘉tru努ct怎fb_深inf励o*蹲inf导o,艰con誉st末cha垒r_酷_us出er窝*bu竞f,siz颤e_t词co么unt妨,l蚊off鉴_t斥*pp文os)垂;int随(*影fb_公mma习p)(雁str言uct缎fb梦_in衫fo喝*in名fo,役st床ruc址tv厨m_a渠rea烛_st胸ruc黎t*闹vma忌);int热(*fb壳_ioc批tl)(沫stru隶ctf哪b_in月fo*课info阶,un丈sign铸edi舅ntc夹md,u坏nsig哑ned考long勇arg莫);…………};28Fram累ebuf调fer驱抢动APIfb_成ops岁结构中场常见的纷接口函绣数:fb_妹ope页n:起打开帧抗缓冲设竿备fb_r气elea登se:婚关闭帧缓运冲设备fb_r碎ead:牢帧缓冲泪设备的读凡操作fb_w摊rite咽: 帧缓积冲设备的眯写操作fb_m源map:阁帧缓冲英设备的内崖存映射操曲作fb_i王octl雷: 帧植缓冲设备蔑的ioc虽tl操作29Fra较meb暮uff黑er帧数缓冲内祝核驱动予核心fbm缸em.纺c实趋现了如昼下函数鹅.reg蜓ist银er_塞fra咐meb柿uff宝er(烘str似uct士fb春_in青fo百*fb阴_in择fo)拌;unr去egi博ste棕r_f诵ram扑ebu每ffe小r(s猛tru责ct旺fb_风inf俩o*接fb_捧inf苏o);这两个宰是提供侮给下层岩Fra歌meB孟uff打er设村备驱动贼的接口播,设备使驱动通赛过这两息函数向神系统注肠册或注黑销自己详。几乎判底层设霜备驱动股所要做给的所有炕事情就弹是填充阅fb_稀inf微o结构沉然后向堡系统注愈册或注望销它。30Fram杂ebuf客fer帧旺缓冲设备戴驱动程序略分析内核源爷码目录心(dr玩ive脑r/v呼ide棕o/)忙下的s粮3c-丈fb.菌c文件敢是S5耀PV2田10处荷理器帧柿缓冲设耐备硬件呼相关的罢驱动程谁序。s3c-阳fb.c叉驱动程序躬主要完成舰以下工作毒:初始化L探CD控制欠器、设置作显示模式细、分配显封示缓存。分配并外初始化叹fb_鹅inf碌o结构拴,填充包其成员效函数。调用修reg属ist块er_移fra鼠meb己uff册er(径str返uct计fb致_in蛾fo金*fb圈_in地fo)变,函数政向系统校注册帧洞缓冲设心备驱动震程序。31Linu宅x内核对得fram型ebuf北fer帧迷缓冲的支慌持Linu除x内核对轮fram姑ebuf涉fer帧汇缓冲设备礼有着良好轻的支持。mak辉em彩enu砍con书fig圆配置菜患单:->D手evic肉eDr单iver魄s->G颈raph姐ics芒supp袖ort->驶Sup效por龄tf调or筋fra坝me桐buf住fer比de语vic略es利(FB赛[=梢y])32Linu污x内核对宵fram根ebuf醋fer帧联缓冲的支估持<*>凤Supp烛ort蹄for北fram佳ebu踏ffer祸dev蚁ices掀--竹->33Linu脉x内核对故fram芦ebuf直fer帧自缓冲的支亚持<*>互Sa夺msun株gS3衔Cfr紧ameb录uffe站rsu摧ppor园t34Fram固ebuf过fer帧扔缓冲设备截的操作应用程困序对f勤ram夸ebu诵ffe哨r帧缓拉冲设备听的操作叛有以下狗几种:读/写读/写(已read滑/wri汗te)/牌dev/明fb:相字当于读/眯写屏幕缓虫冲区。例如:用c叙p/兰dev危/fb笼0t哨mp捎命令可巩将当前授屏幕的赞内容拷拼贝到一翅个文件萝中,而且命令疫cp洲tmp贼>随/de旦v/f牌b0喘则将图劣形文件亭tmp茧显示在丛屏幕上恶。35Fram田ebuf摊fer帧航缓冲设备甜的操作映射(m毁ap)操衡作:由于碰Lin木ux摘工作在狸保护模鲁式,每睡个应用华程序都责有自己筐的虚拟网地址空矮间,在芽应用程虹序中是时不能直洗接访问至物理缓忆冲区地先址的。犬为此,熊Lin的ux钻在文件倚操作寒fil获e_o窗per单ati蛙ons瓶结构洪中提供院了m轰map斤函数慨,可将垃文件的贴内容映悦射到用堤户空间警。对于取帧缓冲成设备,愤则可通课过映射卸操作,伟可将屏踪蝶幕缓冲罚区的物庄理地址贵映射到祥用户空例间的一箭段虚拟闹地址中益,之后末用户就爸可以通钓过读写吐这段虚症拟地址俩访问屏康幕缓冲势区,在粉屏幕上拦绘图了耀。36Fra鸽meb梅uff尊er帧弊缓冲设铸备的操负作IO操作叹:对于帧缓均冲设备,暖对设备文敬件的i损octl啊操作可读敲取/设置愈显示设备率及屏幕的序参数,如踩分辨率,廊显示颜色抚数,屏幕蛮大小等等烦。ioc滨tl的辆操作是由夜底层的驱帖动程序来胃完成的。例如:ioct句l(fb教fd,侨FBIO购GET_饥FSCR椒EENI池NFO,孕&fi匆nfo)获取f巨b_f住ix_菜scr霉een谣inf巧o结构法的信息罩,在l戏inu绝x/i雪ncl陶ude霜/li揪nux帝/fb记.h定居义。ioc枕tl(到fbf贞d,撇FBI吓OGE峡T_V坏SCR察EEN铃INF梨O,吨&vi陆nfo竟)获取f链b_v授ar_汤scr便een陆inf融on结啊构的信挪息。在米lin晴ux/仙inc疑lud限e/l僻inu愁x/f秧b.h赞定义。37Fram匆ebuf服fer帧刮缓冲设备售的操作在应用广程序中路,操作剑/de抱v/f惜b的一纤般步骤愿如下:1.打开脱/dev差/fb设样备文件。2.用叙ioct危rl操滤作取得当束前显示屏蹦幕的参数闻,如屏幕旦分辨渴率,每个窜像素点的秤比特数。级根据屏幕遭参数可计凉算屏幕缓天冲区的大躁小。3.将刺屏幕缓峰冲区映扫射到用缺户空间宴(mm烟ap)污。4.映射阶后就可以向直接读写蚕屏幕缓冲联区,进行舱绘图和图苗片显示了鉴。38Fram洒ebuf处fer帧党缓冲设备痛的操作Fram底ebuf挥fer操披作典型程撇序int风ma铜in(膊){int朽fb=权0;voi赖d*决fb_劣mem要;str石uct厕fb所_va今r_s栽cre角eni隶nfo活vi伤nfo猴;str炭uct蛮fb本_fi论x_s局cre志eni将nfo稼fi昼nfo浅;long锤int有scr静eens葡ize夫=0;/*打开拔设备文件镜*/fb=械ope痛n("/跨dev/某fb0"廉,O_对RDWR横);/*取蜜得屏幕提相关参碧数*/ioct镰l(fb篮,FB套IOGE援T_FS俗CREE模NINF刃O,&箱finf芹o);ioct碑l(fb厉,FB惹IOGE毯T_VS摔CREE护NINF妨O,&葱vinf其o);/*计算包屏幕缓冲蚕区大小*倚/scre于ensi翅ze=稳vin动fo.x始res镇*vi构nfo.袋yres奇*v闻info卫.bit厨s_pe悔r_pi石xel委/8;/*映秒射屏幕掉缓冲区塘到用户江地址空货间*/fb_推mem番=(c帅har竖*)m痰map胖(0,群scr节een裹siz文e,P孝ROT鸽_RE翻AD|夕PRO黑T_W法RIT忆E,M串AP_筋SHA碑RED定,f预b,症0);/*下损面可通筝过f曾bp指侵针读写锹缓冲区吵*/……/*释缴放缓冲购区,关矩闭设备参*/mun娘map吧(fb习_me桐m,苍scr令een求siz陕e);clo素se(等fb)歌;}39基于Fr公ameb挣uffe而r设备的映图形系统因应用流行的秆Lin乱ux桌亦面图形敞系统XWi衬ndow旗sSy两ster驶mGno沾meKdeMozi伍lla…40基于F谁ram啄ebu胡ffe界r设备裁的图形俩系统应逐用嵌入式系定统由于自贤身硬件资观源及成本飘的限制,侦导致无法辱运行资源轿消耗比较条大的大型绍图形系统拌。随着嵌慕入式Li莫nux系摊统市场需辟求的不断翼状态,许愧多商业和摇开源的项众目陆续开好始对嵌入果式Lin上ux系统裁支持。QT/E早mbed榴ded、牲Qtop兴iaMini漆GUIMic疏row弊ind图ows燃(N骡ano矛-X)Gtk段FBDir纯ect小FB419、静夜命四无邻防,荒居戚旧业贫怜。。4月-背234月-元23Sat低urd备ay,屋Ap北ril伐29吼,2恢02310、雨中黄尤叶树,灯播下白头人块。。11:3是9:3911:3垦9:3911:风394/29街/202拨311穷:39:杏39A跃M11、以我连独沈久右,愧君以相见频恶。。4月-肌2311:3碍9:3911:格39Apr-亲2329-创Apr变-2312、故人俊江海别级,几度蝇隔山川椅。。11:郑39:其3911:3垫9:3911:宾39Satu吵rday泰,Ap容ril漠29,哨202313、乍见亮翻疑梦体,相悲座各问年布。。4月-2蒜34月-2沾311:3歇9:3911:3纵9:39Apr薄il具29,汇20香2314、他乡晨生白发苍,旧国精见青山坝。。29孩四月茅202绳311:肤39:构39篮上午11:库39:绕394月-2拥315、比不发了得就汤不比,冰得不到模的就不厉要。。。四月汁2311:3惭9上午4月-2罩311:火39Apri艺l29触,20秩2316、行动出扯成果,工开作出财富叠。。2023兔/4/2范911罩:39:处3911:3坡9:3929A攀pril仿202讯317、做前,镜能够环视犁四周;做度时,你只秃能或者最隐好沿着以好脚为起点乳的射线向快前。。11:3拘9:39获上午11:爸39仰上午11:株39:腹394月-葵239、没有失似败,只有芦暂时停止锁成功!。4月-2朱34月-赌23Satu哑rday俱,Ap名ril题29,进202310、很多事登情努力了裂未必有结振果,但是罗不努力却闯什么改变率也没有。败。11:3呈9:3911:3讽9:3911:露394/2写9/2贯023酱11脚:39先:39确AM11、成功显就是日汇复一日润那一点举点小小池努力的溪积累。漂。4月-乓2311:帽39:奇3911:3疲9Apr肃-2329-A吊pr-2南312、世间涝成事,杯不求其粥绝对圆锅满,留纵一份不馅足,可贼得无限击完美。暂。11:尊39:卡3911:伴39:鉴3911:3汽9Satu清rday鸟,Ap厅ril窃29,唤202313、不知香已积寺,数忘里入云峰午。。4月-痰234月-2支311:3奖9:3911:3瞎9:39Apri宾l29锐,20扒2314、意志底坚强的焦人能把遵世界放腔在手中滋像泥块双一样任港意揉捏右。29四梯月20籍2311:欲39:统39泉上午11:晚39:禽394月-易2315、楚塞三串湘接,荆身门九派通遗。。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论