带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf_第1页
带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf_第2页
带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf_第3页
带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf_第4页
带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

带串行接口的数字OSD控制芯片的设计与实现优秀毕业论文 可复制黏贴.pdf.pdf 免费下载

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

文档简介

琴1 0 2 1 3 4 梗里大擎 硕士学位论文 ( 专业学位) 学校哉鹞: 1 9 2 4 6 拳q :0 4 3 0 2 l l l 8 带串行接口的数字o s d 控制芯片的设计与实现 院系;信息科学弓工程学院 专盈:电子写通信工稔 姓名:李跃辉 指导教师:俞承芳教授 究成国期:2 0 0 6 年9 月2 6 目 摘要 在羼显示( o ns c r e e n d i s p l a y , o s d ) 是实现人机交互的一种用户界面。o s d 的主要功能是提供个直观的图形界匿,帮助用户获得系统的信息,并完成对系 统鹃各萃申控铡,阉时壤结栗照示在屏幕上。o s d 主要蠢字符翻位图两种类型。 字符受o s d 成本低,效果较差,主妥用在中 蔻端产品上:位阁穗o s d 性能好, 成本较商,主要应用在高端产品帮专业显示器中。率文针对中低端液最显示系统, 设计了一种憔价托较商的字符鍪数字o s d 发生器。 外部主机通过率行接口设黄o s d 的位置、大小、颜色等显示属性;在水平 和垂煮扫描同步信号蚋作用下,o s d 发生器根据寄存器设簧产生o s d 的阉文数 摆;采用a l p h a 混合技零,将o s d 图文数据与揽颁巨像遴行蹙热混合,并输出 给遂示簿幕。这款o s d 可以摄示1 2 8 个字瓮,缝输出2 5 6 静字符颜色,提供色 彩丰塞的o s d 画瑟,支持8 个子黎口,可良方便撼实现o s d 菜单,遥合溺在中 低端的液晶屏幕显示系统中。o s d 发生器带有1 2 c 和兰线两种率行总线接口, 提赢了系统静兼容瞧。经过f p g a 验汪窝滤冀测试,工作稳迩可靠,已经在多款 便携式液晶娃示d v d 播放机上应用。 论文魈主要改进和创瓤有:1 、采用字典结构的字符型o s d 发生器,对原有 的存继器资源配置避行优化,嫠德o s d 的最大屏幕显示区域不再依赖o s d 内郝 的缓存缩梅,而蔗囱嗣户通避寄存器鑫自设薰,大大增瀚了躅户在往用编程时的 灵活性;2 、采用三行三列的邻城运算生成字符边框,改进了现有的字符发生器 的存储结构,可以在个时钟餍期同时读取三行字符点阵数据,避免系统使用不 同的时钟,辩低芯片豹复杂链;3 、采蘑只读存储器作为颜色发生器,根据颜色 索引号产生2 5 6 种颜色,提供色彩丰富的o s d 域面;4 、o s d 发生器内部有8 令独立弱予塞口,可以方便地实现下拉式或者弹出式o s d 蘩单以及简单翡动蕊 效鬃。 关键字;在潜显示;字符点阵;图像合成;串行接口 a b s t r a c t o ns c r e e nd i s p l a y ( o s d ) i sau s e ri n t e r f a c et oi m p l e m e n th u m a n c o m p u t e ri n t e r a c t i o n 。 t h eo s d p r o v i d e sc o n s u m e r sa ni n t u i t i o n i s f i cg r a p h i ci n t e r f a c et oh e l pu s e rt og e tt h e s y s t e mi n f o r m a t i o n ,a c c o m p l i s hv a r i o u sc o n t r o lt ot h es y s t e m ,a n dd i s p l a yt h er e s u l t o nt h es c r e e n t h e r ea r em a i n l yt w ot y p e so fo s d :f o n t - b a s e do s da n db i t m a po s d t h ec o s to ft h ef o r m e ri sl o wb u tt h ee f f e c ti sr i o tg o o dw h i l et h ec o s to ft h el a r e ri s h i g hb u tt h ee f f e c ti sb e t t e r t h e r e f o r et h ef o n t b a s e do s di sm a i n l yu s e df o rt h e m i d d l e e n do rl o w e n dp r o d u c t sa n dt h eb i t m a po s di sm a i n l yu s e df o rh i g h - e n d p r o d u c t s t h ep a p e rd e s i g n e daf o n t b a s e dd i g i t a lo s de n g i n ew i t hh i g hr a t i oo f p e r f o r m a n c et op r i c eb a s e do r lt h em i d d l e e n d o rl o w e n dl i q u i dc r y s t a ld i s p l a y ( l c d ) s y s t e m t h r o u g hs e r i a lb u si n t e r f a c e ,t h eh o s tc a n s e td i s p l a yp r o p e r t yr e g i s t e r so fo s d ,s u c h a sp o s i t i o n ,s i z ea n dc o l o re ta l 。s y n c h r o n i z e dw i t ht h eh o r i z o n t a la n dv e r t i c a l s y n c h r o n i z a t i o ns i g n a l s ,t h e o s de n g i n e o u t p u tg r a p h i c sa n dc h a r a c t e r s d a t a a c c o r d i n gt or e g i s t e r s w i t ht h ea l p h ab l e n d i n ga l g o r i t h m ,t h eo s di m a g ed i s p l a y si n t h el c do v e r l a p p i n gt h ei n p u tv i d e os i g n a l t h i so s dc a nd i s p l a y1 2 8f o n t s ,g e n e r a t e 2 5 6c o l o r st op r o v i d eac o l o r f u li m a g e ,a n dc r e a t e8s u b w i n d o w st oi m p l e m e n tt h e o s dm e n u t h e r ea r et w ot y p e so fs e r i a lb u si n t e r l a c e ,1 2 cb u sa n d3 州i r es e r i a lb u s , i nt h eo s de n g i n e ,w h i c hi m p r o v e st h es y s t e mc o m p a t i b i l i t y , l o g i cf u n c t i o n sa n d c h a r a c t e r i s t i co f t h eo s de n g i n ea r ev e r i f i e di nf p g a ,a n dt h er e s u l ts h o w st h a ti tc a n w o r ks t a b l ya n dr e l i a b l y t h eo s de n g i n eh a sb e e na p p l i e dt os e v e r a lk i n d so f p o r t a b l ed v dl c dp l a y e r ss u c c e s s f u l l y t h em a i ni m p r o v e m e n t sa n di n n o v a t i o n si nt h i sp a p e ra r ea sf o l l o w s :1 t h ep a p e r a d o p t s af o n t b a s e do s dw h i c hs t r u c t u r el i k e sad i c t i o n a r ya n do p t i m i z e st h e c o n f i g u r a t i o no f t h ei n t e r n a lm e m o r i e s 。t h em a xd i s p l a ya r e ao fo s d c a nb es e tf r e e l y b yw r i t i n gr e g i s t e r sa n di td o e s n td e p e n do nt h es t r u c t u r eo fb u f f e ri nt h eo s d t h e f l e x i b i l i t yi si n c r e a s e dc o n s u m e d l yi no s dp r o g r a m m i n g 2 。t h eo s da d o p t sa3 x 3 n e i g h b o r h o o do p e r a t i o na r i t h m e t i ct og e n e r a t et h eb o r d e ra n ds h a d o wo ff b n t s i t i r e p r o v e st h es t o r a g em e t h o do ft h ef o n t1 a t t i c e a n dt h r e el i n e sd a t ao ff o n tl a t t i c ec a n f e t c hs y n c h r o n o u s l yi no n ec l o c kc y c l et oa v o i du s i n gd i f f e r e n tc l o c ki no n ed e s i g n a n dt or e d u c et h ec o m p l e x i t yo ft h ec h i p 3 t h eo s da d o p t sr o mf r 崩矗o n l y m e m o r y ) t og e n e r a t ec o l o r h e r ea r e2 5 6c o l o r sg e n e r a t e db yt h e c o l o ri n d e xi n a t t r i b u t eb u f f e rt o p r o v i d eac o l o r f u lo s di m a g e 4 t h eo s dc a nc r e a t e 8 i n d e p e n d e n ts u b w i n d o w sa n di tc a nc o n v e n i e n t l yi m p l e m e n tad r o p - d o w no rp o p - u p m e n ua n da s i m p l ea n i m a t i o n k e y w o r d s :o ns c r e e nd i s p l a y ( o s d ) ;c h a r a c t e rl a t t i c e ;i m a g ec o m p o s i t i o n ;s e r i a lb u s i n t e r f a c e ; 论文独创牲声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果论文中 除了特男9 加以标注和致鞋的地方外不包含其他入或其它机构已经发表或撰写 过的研究成果其他同志对本研究的启发和所做的贡献均已在论文中作了明确 的声明并表示了谢意 作者签名丝嘲型鲨 论文使用授权声明 本入完全了解复虽大学有关保留、使用学位论文的规定酃:学校有权保 留送交论文的复印件,允许论文被查阅翘借润:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它复制手段保存论文保密的论文在解密后 遵守此规定 作撇:盛蛆导燧名:链喊型翌 1 1 前言 第1 章绪论 人与机器之间存在一个相互作用的媒介,称为人枫界面,也称作人机接口或 用户界面。人与机器之间的信息交流和控制活动都发生在用户界面上“1 。用户界 面是机器与用户之间的接口,也是控制和选择信息输入输出的主要途径。机器在 用户界面上显示相关的信息,用户得到这些信息后,做出相应的选择和控制,实 现人机之间的信息传递“1 。 在臣常,圭活里,人们使用电视、d v d 播放器等撬频娱乐系统的过程中,都需 要根据各自的需要和爱好,对其进行控制,而这些动作都需要通过个用户界面 来实现。用户界面主要的两个问题是显示与控铡。视频系统的用户界瑟主要有建 立在机器上的按键和红外遥控器等输入和屏幕输出”1 。 在屡显示( o ns o s e e ndjs p l a y ,o s d ) 就是实现人桃交互的种用户界面。 o s d 的主要功能是提供一个壹观的图形界面,帮助用户完成各种对机器的控制和 信息获知等任务“1 。早期的屏幕要调整设定,必须使用屏幕下方的按钮,可调整 的功能较少。但是随着技术的进步,厂海发震出了o s d 功能,可在屏幕上显示相 关的信息,操作的功能也比较多。通过o s d ,只需要几个按钮,就可以调黪屏幕 的亮度和对比度,垂趣和水乎的宽度和位置以及其它各静设定,不侄操作方便, 调整的数值和结果也会即时显示在画面上。目前o s d 已经成为屏幕的标准规格之 一了。 1 2 论文背景和目的 随着人们生活的改善,具有各种丰富功能的平板电视不断上市,人们对o s d 用户界面的要求也曰益苛刻。视频系统豹o s d 效果是人们可以直接感受到的第一 体验,因此o s d 设计也是实现产品差异化的关键”“”。随着液晶显示器、笔记本 电脑、液晶电视等行业的蓬勃发展,视频显示系统中越来越多地使用液晶显示屏 ”“。传统视频显示设备的屏幕显示电路是用于显示模拟的隔行扫描视频信号的 显示系统,而对于液晶显示屏( i 。i q u i dc r y s t a ld i s p l a y ,l c d ) ,其接收的是逐行 扫描的视频信号,显示的数据与液晶屏藜的物理像素点一一对应“”。本文的目的 是设计一款数字在屏显示( o s d ) 发生器,实现视频图文信息的叠加。这款o s d 发 生器能显示1 2 8 个字符,产生2 5 6 群颜色供用户选择,改善o s d 画蔼色彩,并且 内建有8 个子窗口,可以方便地实现下拉式或者弹出式o s d 菜单以及简单动画效 果,同时支终1 6 神放大模式,支持阴影、边摇、c j = | 烁等功能,满足大部分中低 端产品的需求。 1 2 1o s d 概述 在屏照示( o ns c r e e nd i s p l a y 。o s d ) 是用来实现人讥交互舞醛的一种技本。 实际上,o s d 技术就是在视频图像上囊加图形和文字,提供个直观的图形莽巍, 从丽使显示屏幕能够帮助用户完成各种对机器的控制戳及提供绘用户更多黔信 息。 o s d 其肖字符型( f o n t b a s e d ) 和位图型( b i t - m a p ) 两种类型。 器1 。l 字符型o s d图1 2 位图型0 s 8 为了节约显示缓存,早赣及低成本的解决方案中使用字符型o s d 发生嚣( 见 图1 1 ) ,其原理是将o s d 中显示内容按照特定的格式( 1 2 1 8 、1 2 1 6 等) 送行 分害l 成块,例如数字0 - 9 、字母a - z 、常用能亮度、对比度符号等,并把这些内 容固化在r o m 或f l a s h 中,在显示缓存中仪存放对应的索g l 号,这样的“字典” 结孛勾可以大蠛度减少显示缓存的需求,降低成本。搠时,为了提供对每个字符的 颜色等属性的控制,逶常还具有一个与显示缓存一榉大小的攫性缓存,其属性( 前 景颜色、背景颜色、斑烁等) 靖整个字符中的每个像素有效“3 。 字符型o s d 优点是可以使用o s d 内部较少的显示缓存,并晨阮u 只需要指定 显示内容的索引即可显示对应o s d 信息,可以在比较低速的m c u 上实现。但正是 由于上述的显示信息和颜色编码方式不蟛直褒,会给字符型o s d 的固件开发带采 一些麻烦。通常液晶显示器、低成本的平扳电视鞠c r t 传统电视上均使用这类 o s d ,目前仍占据着市场主流地位“3 。 袒较字符型o s d ,位图型o s d ( 如盈1 2 ) 黝处理原理较直溉和简攀:透过 对需要显示的内容的每个像素点进行改变,煮接将其叠搬到最终的显示蘧面上, 其按像素进行控制的方式可以保证具有多色及足够的表现能力。位图o s d 发生器 通常建在视频处理器内部,并共同使用其主显示缓存。也有独立在视频处理器之 外的专业o s d 位图发生器,如美信的m a x 4 4 5 5 ,通常这类芯片需要外帮$ d r a m 作为显示缓存“1 。 位图型o s d 的显示效果理论上可以做到非常完美的程度,可以提供类似 w i n d o w s 中具有立体感的各种物件,如具有阴影的按钮、颜色丰富的图形和文字 等,其缺点是必须具有足够的o s d 显示缓存,以及按像素进行处理而对r c u 带来 的速度要求。逶常在大尺寸的高端平板电视和专业显示器上会使弼这一类o s d 。 随着技术的不断发展和存储器成本的不断下降,未来的o s d 应该都是位图型的”。 目前,实现图文用户界面可以由软件或者硬件完成。用软件实现图文用户接 口,要求系统能交互处理图、文信息,不仅处理量大,处理速度要求也很高,因 此对处理器的要求比较高,不仅要求处理器功能强、速度高,而且还需要足够大 的存储空间。所以一般的视频系统通常不采用软件来实现。 利用硬件和固件结合实现o s d 是主流的方法。目前有两秘主要的o s o 实现方 法:一种跫外部o s d 发生器与视频处理器问的叠加合成;另一种是视频处理器内 部支持o s d ,直接在视频缓存内部叠加o s d 信息”。 外部o s d 发生器与视频处理器间的叠加合成的实现原理是:由一个m c u 内建 的字符发生器及显示缓存,利用快速消隐信号切换电视的画面和o s d 显示内容, 使o s d 的字符等内容叠加在最终的显示画面土,在o s d 和显示画面叠加处理过程 中,通过调整两者之例的比例可以实现o s d 的半透明( b l e n d i n g ) 效果。围对,对 o s d 信号中的红绿蓝信号进行重新编码,可以得到不同的o s d 颜色效果“。 而视频处理器内部支持o s d 的方法,通常其有外部存储器或内部少量的行缓 存,同时具有o s d 发生器,o s d 图像的合成和控制直接在视频缓存内完成,同样 具有上述的半透明和颜色控制功能”1 。 1 。2 。2 论文的目的 目前,市场上有很多数字o s d 专用芯片,但是由于市场竞争激烈,在系统厂 商日益要求降低成本的呼声下,如何平衡集成与性能、功能与价格的关系,成为 摆在芯片供应商面前的一项挑战。“。国外些半导体公司也已经推出了集成有 o s d 发生器的l c d 控制芯片。对于中低端产品来浣,如果选用功能强大的o s d 芯 片,虽然性能上能满足用户的需求,但是价格较高,大大增加了系统厂商的成本; 而如果选用简单的o s d 芯片,虽然价格低廉,但是o s d 功能较少,性能较差,不 能满足用户的需要。 本文旨在性能和成本之间选取一个平衡点,设计一款在中低端产晶中使用 的,性价比较高的数字在屏显示( o s d ) 发生器,既满足用户的需求,同时也让系 统厂商可以接受。本文采用字典结构的字符型o s d 发生器,在现有的存储器资源 配置基础上,根据o s d 发生器的工作原理,对整个o s d 发生器的存储器配置结构 进行优化设计,大大减少了用户使用编摇的工作量和复杂度,降低了成本。在性 能上,o s d 内部提供了2 5 6 种颜色供用户选择,丰富了o s d 画面颜色,并且内建 有8 个子窗口,可以方便地实现下拉式或者弹出式o s d 菜单,同时支持1 6 种放 大模式,支持阴影、边框、闪烁等功能,满足大部分中低端产品的需求。 本文设计的o s d 发生器带鸯串行总线接口,既可以稠视频处理控制器集成在 一起,也可以做成独立的芯片使用,以满足不同的需求。 本文详细披露了带有串行接翻的o s d 发生器的具体设计与实现方案,该方案 通过了功能仿真和门级时序仿真,并在a 1 t e r a 公司的现场可编程门阵列( f i e l d p r o g r a m m a b l eg a t ea r r a y ,f p g a ) 上通过验证,目前已经成功地集成到多款l c d 控制芯片中,如m x 8 8 v 4 4 v 4 5 v 4 6 2 v 4 6 5 等芯片,这些芯片主要包括格式转换、 视频处理( 如亮度、对比度、色度、饱和度、伽玛等) 、图像缩放、电视解码、 t c o n 、o s d 等功能模块,主要应用在便携式d v d 播放器中。 1 3 本文主要解决的问题 本文设计了一种带串行接口的数字在屏幕显示( o s d ) 控制芯片,通过串行接 口,用户可以设鬟图形和字符的显示属性( 包括显示位置、大小、颜色等) ,在 水平和垂直圆步信号作用下,o s d 发生器根据用户的设置从内建的字符发生器 r o m r a m 中读取相应的图形和字符的点阵数据,经过邻域运算生成o s d 图像数据, 然后采用a t p h a 混合技术与输入视频图像叠加合成输出到l c d 显示屏幕。 本文采用字典结构的字符型o s d 发生器,在现有的存储器资源配嚣基础上, 根据o s d 发生器的工作原理,对整个o s d 发生器的存储器配置结构进行优化设计, 大大减少了用户使用编程的工作量和复杂度。 其它字符型o s d 芯片,如m b 9 0 0 9 2 ”“、u p d 6 4 5 0 “”等,最大屏幕显示区域是 固定的,如2 4 个字符x 1 2 行,这是由于它们内部的代码和属性缓存就是按照2 4 x 1 2 的形状来存储数据的,也就是说它们内部的缓存结构决定了其o s d 的最大屏 幕显示区域。在使用过程中用户不能随意设置,每一行最多显示2 4 个字符,一 屏幕最多显示1 2 行字符。而本设计中的o s d 由于对其内部的存储器结构进行了 优化配置,使得o s d 最大屏幕显示区域只与寄存器的值有关,与缓存的结构无关, 所以用户在不超出屏幕显示容量的情况下可以根据需要自由设置。 本文基于一个字符边框发生器的邻域算法,改进了字符点阵在存储器中的存 储结构,使得o s d 能够同时读取三行点阵数据,生成字符边框。o s d 发生器的设 计就是根据这个结构,简便地实现了o s d 内部的存储器读写和o s d 图文显示的时 序控翎。文中采用a l p h a 混合技术实现o s d 输出与视频图像的合成。 本设计中采用的存储器都是内嵌在芯片中的,不需要外挂存储器。除了串行 总线接口外,本文全部采用同步设计,只需要一个时钟信号,便于后端作业和测 试。 设计中采用的串行总线有两种,一种是通用的两线总线1 2 c ,一种是基于特 定用户的三线总线。两种类型的串行总线可以由用户进行选择。 本设计采用v e r i l o gh d l 语言编写r t l 代码,使用c a d e n c e 公司的 v e r i l o g x l n c v e r i l o g 软件进行功能仿真,然后使用s y n o p h y s 公司的d e s h e l l 软件进行综合,并通过时序仿真和调试,最后利用f p g a 进行验证。 1 - 4 论文的安排 第2 章分柝了目前o s d 发生器的资源配置情况,并对其进行改善。嗣对基于 字符边框生成算法,改进了现有的字符点阵存储结构,便于生成字符边框; 第3 章给出了本设计的总体架构,并详细描述了o s d 发生器的具体设计与实 现: 第4 章概述了串行总线的作用及类型,详缩描述了1 2 c 和三线串行总线的设 计与实现; 第5 章弦述了模块的综合、验证方法与结果,并给出了o s d 应爝的具体实例; 第6 章对本文进行了总结和展望; 第2 章o s d 的现有技术及改进 2 1o s d 总体分析 2 1 1o s d 现有技术 一般来说,字符型o s d 都会有字符代码缓存和属性缓存,还有一个存放字符 点阵的存储器呻“2 4 m 5 m 。文献中介绍的o s d 系统包括了一鳃o s d 存储器存 储块序列,每块存储器包含了表示o s d 的数据和指向下一块的指针。o s d 发生器 根据时序控制信号按顺序从o s d 存储器中检索数据,生成o s d 图像。由于这些数 据在o s d 显示菜单的不阉区域中,所以采用了链表目录结构,这样在编程的时候 需要汁算和指定下一块的指慰1 ,大大增加了编程的工作量和复杂度“”“。 2 1 2 改进的o s d 结构 本文直接采用字符型o s d 的字典结构,内部共有五块存储器,分别是代码缓 存r a m ,属性缓存r a m ,自定义字符发生器r a m ,固化字符发生器r o m 和颜色发 生器r o m 。“”1 。自定义字符发生器r a m 存放着用户白定义的字符点阵数据, 一般只需要在系统开机后写入一次就可以。代码缓存和属性缓存分别存放着字符 代码索引和颜色索引,它们是一一对应的,由外部主机通过串行接髓写入。o s d 发生器根据o s d 寄存器设定的位置、大小等属性产生时序控制信号,按顺序从代 码缓存中读取需要显示的代码索引,自动从字符发生器( r o m r a m ) 中输出点阵数 据;同时根据属性缓存中的颜色索 ;,自动从颜色存储器r o m 中读取相应的r g b 颜色值,这两者结合起来并经过处理屠输出o s d 数据。如图2 。l 质示。 在这个结构中,字符发生器存储的是字雩奇点阵数据,不需要存储指向下个 地址的指针,o s d 发生器按照特定顺序读取数据,生成o s d 图像。在应用过程中, 用户只需要计算o s d 窗臼的起始位置,并糁其写入寄存器,然后在代码缓存和属 性缓存中指定要显示的字符索引和颜色索引,o s d 发生器就会自动产生o s d 数据。 用户如果需要自定义字符,则在开杌时将自定义字符点阵数搌写入良定义字符发 生器;如果不需要囱定义字符,那就鸯接使用固化的字符发生器。这样来,就 大大减少了编程的工作量。 烹机写入 代码 r a m 属性 r a m 代码索b 颜色索 字符发生器 r a m r o m 颜色 r o m 点阵数据 颜色r g b 控制时序 位霞、大小 等设置 图2 1o s d 工作原理示意图 2 2o s d 字符边框 在字符型o s d 中,字符点阵的存储方法与整个o s d 发生器的架构设计方案密 切相关。o s d 发生器的设计就是基于字符点阵的存储结孛句来展开的。一个好的存 储方法,可以方便地实现o s d 发生器的时序控制,同时还可以节省很多资源。可 以说o s d 数据的输出,就是根据外部主机写入的配置信惠从存储器中读取字符点 阵的数据,结合行场控制以及位置、颜色等属性,生成字符、字符边框和字符背 景等数据信号。下面介绍一下字符和字符边框的生成算法以及字符点阵的存储结 构。 2 。2 1 字符点阵 字符点阵大小为1 8x1 2 点,分为1 8 行,每行1 2 位。外部主机( m c u ) 进行 读写操作时,每一行数据分成两次操作,第一次读写f 氐s t 位数据,第二次读写赢 四位数据,读写一个完整的字符需要3 6 次操作。丽在屏幕上显示时读取数据麴 宽度为1 2 位,每次读取一行。字符点阵示意强如图2 2 所表示。 这个示意图就是表示一个字符( 数字“1 ”) 在字符发生器中存储的点阵内容, 黑色方块表示该位存储的是l ,其余的位存储的是0 。而空心方块和空心圆圈是 在边榧发生器中,根据字符点阵经过特定算法生成的字符边框。在字符发生器 r o m 和r a m 中,字符点阵存储的方法都是一样的。 第0 行 第1 行 第2 行 第3 符 第4 行 第5 舒 筇6 行 第7 行 第8 行 第9 行 第1 0 行 第1 i 行 第1 2 行 骞1 3 行 第1 4 行 第1 5 季亍 第1 6 行 第1 7 行 一 一 一 一 一 一 口 一 00 :字符前景 o :字符右下方边框( 字符阴影) 口或o :字符环绕边框 图2 2 字符点阵结构示意图 2 2 2 邻域运算 在屏幕上显示的字符本身每个像素点都是由对应的字符点痒数据决定的,与 其周围的像素点没有任何关系,而在屏幕上显示的字符边框中每个像素点与该点 周围相邻的像素点有关。字符边界生成算法就是根据该点周圈的邻域的值进行邻 域运算,从而判断该点是否为边界。 邻域运算是指当输出图象中每个像索是由对应的输入像素及其一个邻域内 的像素共同决定时的图象运算,通常邻域是远比图象尺寸小的一规则形状,如正 方形2 x 2 、3 x 3 、4 x 4 等“帅”。 由于字符点阵大小为1 8 x 1 2 点,所以在字符边赛生成算法中,采用73 x 3 的 邻域模板,然后根据中心点周围的8 个邻域点的数据进行计算,生成字符边界。 3 x 3 的邻域示意图如图2 3 所示。 p ( x ,y ) 楚读取到的中心点位置上的字符点阵数据,其周围8 个方位的点阵 数据,分别是左方p ( x 一1 ,y ) ,上方p ( x ,y - 1 ) ,右方p ( x + 1 ,y ) ,下方p ( x ,y + 1 ) , 和左上方p ( x 一1 ,y 1 ) ,右上方p ( x + l ,y - 1 ) ,右下方p ( x + l ,y 十1 ) ,左下方 p ( x 一1 ,y + 1 ) 。其中x 表示水平方向像素点位置,y 表示垂直方向像索点位簧;x 一1 口一000000000000一o一一一0 可i一一一一一一一一一一一一一i一一一一一一一一一一0口一口一一一一一一0口一曩一口一口一口一口一口一口一一0 0 一 一一 一 一一 一一口一一0 口一口一一一0一 一一 一 一一 一一口一一0口一口一口一一一一一一一一口一口一口 表示前一个点,x + l 表示后一个点;y - 1 表示上一行,y + 1 表示下行。 p ( x - 1 ,y - 1 )p ( x ,y - 1 )p ( x + i ,y - 1 ) p ( x - l ,y )p ( x ,y )p ( x + 1 ,y ) p ( x - 1 ,y + 1 )p ( x ,y + 1 )p ( x 十l ,y 十1 ) 图2 33 x 3 邻域示意图 每一个点的值只有0 或者“1 ”,字符本身的每一个像素点对应的字符点 阵数据如栗为“l ”,那么该像紊点就输出“l ”:如果对应的字符点阵数据为0 , 那么该像素点就输出0 。字符点阵的输出也就是p ( x ,y ) 的值。见式2 - 1 。 c h a r ( x ,y ) = p ( x ,y ) ; ( 2 - 1 ) 其中c h a r ( x ,y ) 表示当前要在羼幕上输出的像素点的值,p ( x ,y ) 是读取到 的与c h a r ( x ,y ) 对应位蚤上的字符点阵数据。 当p ( x ,y ) 的值为“l ”时,屏幕上也输出“1 ”,显示字符的本身,不是字 符的边界,所以不需要作判断。当p ( x ,y ) 的值为“o ”时,屏幕上该点没有输 出,此时要对p ( x ,y ) 的8 点邻域作计算,判断该点是否为边界。p ( x ,y ) 所对 应的位置也就是当前需要判断是否为字符边界的像素点。 边界类型分为两群,环绕边框彳 移+ 移8 r s t n 。 代码 1 代码 : 字符发生器 i l s y n c r 1r o s d - 内部 和r a m 字符 r o m v s y n 寄存器羼性存储 外部屐十晕l 字符发生器| 控制 _ 缓存。:1 7 1 茹| 控制 : , r a m 控制 r t 千1f 接口 | | f o s d l o 、v r 。 | | ,。|引 : o s d l o r a 输出一 控制a d d r 主窗口字符边框i o s d| ) 控制 发生醛 r d l n t n a n d o u t 子密蟊毅色发生器 : 袋 割 1r 控制r o m 潮3 。2o s d 发生器蠖图 0 s d 外部控制接口模块,是整个o s d 发生嚣的输入帮分,是帛并转换模块与 o s d 内部进行通信静接暖,主要功能楚把率并转按模块给出的建纰、数据和读写 控制信号用o s d 内部时钟进行同步采样,同时对外部主梳m c u 访问的髓撬和数据 进行二次译码,分别实现对0 s d 内帮的毒存器、代码缓存、属性缓存、自定义字 符发生器r a m 进行读写访问。访问地址和数据以o s d 内部总线的方式提供给o s d 发生器的其他模块,o s d 内部总线分别是地址总线、输入数据总线积输出数裾葱 线。i o r d 和i o w r 分别是来自串并转换模块的读写访问信号,a d d r 是串并转换模 块给出的8 位宽的读写访问地址,d i n 和d o u r 分别是审并转换模块的8 位宽的 输入输出数据总线。h s n y c 和v s y n c 分别是彳亍场阉步信号,由视频处理芯片提供。 c l k 和r s t n 是系统时钟和系统复位信号。 瘫郝寄存器存放麓主机对o s d 的各释设鬣维莱,共有9 1 个寄存嚣,采嗣双 缓冲结构,避免了在写寄存器过程中髓示屏幕出现混乱的情7 兄。 代码和属性缓存r a m 分别存放着漆要显示的字符的代码索引巍颜色索引,代 码和属性缓存控制模块是对代码和属性缓存的读写控制,一方面接受外部主机 ( m c u ) 对其进行读写操作,另一方面根据o s d 的密口控制对序,从代码缓存中读 取字符代码索引,送给字符发生器,同时从属性缓存中读取颜色索引送给输出模 块。 字符发生器r o m 中存放着固化的字符点阵,字符发生器r a m 中存放着用户自 定义的字符点阵。字符存储控制模块实现对字符存储器的读写控制。一方面接受 外部主机对字符发生器r a m 的读写操作,另一方面根据字符代码索弓 读取相应的 字符点阵数据,送给字符边框发生器。 主窗口和子窗口控制模块,根据o s d 内部寄存器的设置,产生相应的水平垂 直时序控制信号,如读取下一行字符点阵数据、读取下一个字符的点阵数据、水 平数据有效、垂直数据有效等控利信号。这些时序信号控稍着o s d 各个功能模块 的工作。 字符边框发生器掇据字符点阵数据,采用邻域运算,生成字符滟环绕边框或 者右下方边框,送给输出模块。 由于各个模块的控制信号或者数据到达o s d 输出控制模块的时间不一定一 致,所以需要谲整各路信号的时净,使之相互完全对齐。另外,输出模块还要根 据字符边框发生器的数据和属性缓存中的颜色索引,从颜色发生器r o m 中读取相 应的r o b 颜色僮。最后o s d 输出模块输出o s d 的图文数据( o s d r 7 :0 ,o s d g 7 : 0 ,o s d b 7 :0 ) 、数据有效信号( b l a n k ) ,字符前景色有效信号( f g v l d ) 。 3 2 3o s d 的工作原理 o s d 发生器内部瓣工作原理如下: 1 ) 通过外部控制接口,即由串并转换模块产生的读写控制信号( i o w r 、i o r d 、 a d d r 、d i n 、d o u t ) ,外部主机m c u 进行以下操作,完成对o s d 的控铺。 读写o s d 内部寄存器,对o s d 窗口位置、大小、属性等进行设置; 读写代码和属性缓存,在代码缓存中指定o s d 所要显示的字符索引以及 设置每个字符的闪烁、背景、边框等功能的开关;在属性缓存中指定字 符前景色和背景色的颜色索引; 读写字符发生器r a m ,写入用户自定义的特殊字符点阵: 2 ) 当主机对o s d 设置完毕后,o s d 的内部寄存器模块将相应的寄存器内容分别 输出给主窗口和予窗口控制模块、代码和属性缓存控制模块、字符存储控制 模块、字符边框发生器模块。 3 ) 主霞口和子窗口控制模块投摇外部输入的行场同步信号( h s y n c 和v s y n c ) 以及窗口的位置、大小等信息,产生读取代码和属性缓存与字符存储器内容 所需要的时序控制信号,嗣时生成o s d 的消稳信号( b l a n k ) 送给输出控制 模块。 4 ) 代碣秘耩牲缓存控制模块缀攥窗口控青模块产生熬控制傣息,读取代码缓存 和属性缓存中的内容,并将字符索引数据送给字符存储控制模块,同时将字 符的属性( 包括前景色、背景色、边框、闪烁等) 分别送给字符边框发生器 模块与输磁控制模块。 曰字符存赭控象8 模块掇豢对序控剃绩患和字符索引,按特定颂序从字符发生嚣 r o m 或者r a m 中读取字符点阵数据送给字符边框发生器模块。 6 ) 字符边框发生器模块根据窗e l 控制信息和字符边框穗性,采用邻域运算,生 成o s d 瀑幕显示像素比特流,送给输出控铺模块。 7 ) 输出控制模块根据字符属性( 前景色、背景色、边框和阴影的颜色索引) 从 颜色存罐r o m 中读敬相应的颜色值( r g b ) ,并根据霞口控制信息,输出o s d 的r g b 数据( o s d r 、o s d g 、o s db ) 以及o s d 酒隐信号 b l a n k ) j ;手强o s d 兹 景色有效信号( f g r i d ) 。 3 3o s d 接口单元 3 3 1 接口单元概述 图3 。3o s d 外部控制接口 o s d 外部控制接口怒o s d 与主机m c u 通过串并转换模块进行邋信的通道,主 要是接收来自串并转换模块的指令,并将其转化为o s d 内部的读写操作。该模块 实现异步时钟隔离,并进行数据同步;对o s d 内部地址采用二级地址编码方式, 避免外部地址空间的不足:产生o s d 内部访问控制信号,分别控制内部寄存器、 代码缓存、属性缓存和字符发生器r a m 。该模块框图如图3 3 所示。 外部寄存器有五个,分别是外部地址高、低位寄存器,外部数据高、低位寄 存器和控制寄存器。这五个寄存器负责与外部主机的通信。i o r d 和i o w r 分别是 来自串行接口的读写访阅信号,a d d r 是8 位宽的读写访问地址,d i n 和d o u r 分 别是8 位宽的输入输出数据总线。读写信号、输入数据经过同步采样后分别生成 内部访问信号。同时根据外部控制寄存器的值,生成内部访问选择信号a c c s e l , 表示当蘸访闫的是内部寄存器、代码缓存、属性缓存或者自定义字符存储器。然 后根据外部读写信号( i o r d i o v r ) 生成o s d 内部的读写信号( o s d w r ) ,同时控 制着内部地址的产生( 详见3 3 4o s d 内部寻址) 。o s d a d d r 、o s d d a t a i n 和 o s d d a t a o u t 分别是o s d 内部的地址总线、输入数据总线和输出数据总线。 3 3 2 数据同步采样 一般来说,串行总线端口数据速率比较低,其端口并行输出一般只有几百 k h z ,甚至更低,而o s d 发生器的时钟般与视频处理控制器一致,一般能达到 十几m h z 甚至更高,所以o s d 与串行总线接口属于两个不同的时钟域,采用两级 寄存器采样的方法,有效避免亚稳态数据的传播。由于两个对钟域频率相差很大, o s d 时钟( o s d c l k ) 频率至少是串行总线频率的五倍以上,所以完全可以保证同步 采样以后数据的准确性。 数据同步采样模块对来自外部总线的读写信号、地址、数据用o s d 内部时钟 进行采样,与内部时钟同步。 。s d c l k 厂 厂 厂 厂 厂 厂 厂 t o w r i o w rd l i o w rd 2 i o w rd 3 0 s o w r 图3 4 同步采样示意图 2 0 如图3 4 所示,o s d c l k 是o s d 内部的主时钟,从串并转换模块送过来的写 信号( i o w r ) 和输入数据总线( d i n ) 都是异步的。为了避免信号出现亚稳态,采用 了二级同步采样的方法。将i o w r 延迟两个时钟周期,分别是i o w rd l 和i o w rd 2 。 而i o w r d 3 则是为了取i o w r 的后沿而进行的延迟。i o w r d 2 和i o w r d 3 组合生 成o s d 内部的写信号( o s d w r ) 。同样的,对数据( d i n ) 也进行两级延迟同步采样, 分别褥到d i nd l 和o s d 内部的数据总线( o s d d a t a i n ) 。 3 3 3 二级地址编码 由于串并转换模块输出的并行地址

温馨提示

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

评论

0/150

提交评论