原创 VGA时序小结

2009-10-13 23:58 8428 13 14 分类: FPGA/CPLD

参考老外Nathan Ickes的文档上的数据:


点击看大图点击看大图


--------> 根据程序整理几组参数用来测试


 其中,    Ta = Sync Pluse 


              Te = Sync Pluse + Back Porch


              Td = Sync Pluse + Back Porch + Active video


              All = Sync Pluse + Back Porch + Active video + Front Porch


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


 


分辨率   刷新率  像素频率(MHz)   Ta   Te   Td    all   (H)|(V)   Ta   Te   Td    all


                                                                                            |


640*480   60Hz      25.175               96  144  784  800       |        2    33   513   524


                                                                                             |


800*600   60Hz      40.00                 128 216  1016  1056   |       4   27  627   628


                                                                                             |


800*600   72Hz      50.00                 120 184  984   1040    |        6   29  629   666  


                                                                                             |


1024*768  60Hz      65.00                136  296 1320   1344   |        6   35   803  806


 


>>>>>>>>>> 说明: (H)|(V) 标示 左边的行信号的参数,右边是场信号的参数.


======================================================================


       不得不说的问题.


       当使用640*480 ,  60Hz , 25MHz的参数时, 显示器(SAMSUNG SyncMaster 785MB)检测到的显示规格是640*480   59Hz .


暂且不管这个刷新率的偏差; 当使用另外几组的参数时, 显示器只能检测出刷新率,分辨率则检查不出. 而且检测到的刷新率与上面表格的数据有很大偏差(比如,当使用800*600   60Hz , 40.00MHz,显示的刷新率居然88Hz; 后面几组参数更离谱,最高到了180Hz).


       到底是 程序错误 还是 数据表的问题 还是显示器检测 的问题?


      我暂时得不出答案. 希望各位大侠给小弟指点迷津^_^


 


=====================================================================


整理出来的VGA时序------------------感觉不是很妥.


点击看大图


 


>>>>> 场信号里面的Ta,Te, Td ,all 划分类似行信号的.


 


点击看大图点击看大图


 


----------------------------------------------------------------------------------------------------------------------


       这两天,由于手头上的VGA资料少得可怜, 吃了不少苦头.


       写过几个版本的程序先前的一个版本能正确输出60Hz.


       一开始,由于并不 清楚RGB颜色的输出时序. 结果,显示器检测到刷新率,分辨率,就是没图像输出,或者偶尔在屏幕的首行附近出现些许图像.


直到看到老外的一段话后,才明白过来:


During the time when pixel data is not being displayed and the


   beam is returning to the left column to start another horizontal


   scan, the RGB signals should all be set to black color (all zero)


 


整理的RGB颜色输出时序:


assign R = hs? (img_enable_hs?  (img_enable_vs? rv:`LOW): `LOW):`LOW;


 assign G = hs? (img_enable_hs?  (img_enable_vs? gv:`LOW): `LOW):`LOW;


 assign B = hs? (img_enable_hs?  (img_enable_vs? bv:`LOW): `LOW):`LOW;


-------- 当对像素频率计数达到Te , img_enable_hs = 1;  到达Td,img_enable_hs = 0; 


当对行计数达到Te , img_enable_vs = 1; 到达Td,img_enable_vs = 0;


当一行扫描完毕,回扫的时候, RGB信号应该保持全0. 故这里直接引入行信号hs.


======================================================================


9.30


 

 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1559257 2012-8-27 10:42

哈哈,谢谢楼主,我一直都看不懂这个时序,看了这个后,懂了很多了,谢谢楼主!
相关推荐阅读
用户1528688 2014-10-19 10:55
【博客大赛】汽车电子的容错处理
汽车电子的容错处理随着新能源汽车的逐步上路,车上EMC状况将是一个巨大挑战。软硬件方面都应采取一定的措施提高系统容错性能。下面是笔者的一些经验整理,希望能起到抛砖引玉之作用。  在实验室验证原型的时...
用户1528688 2014-09-08 00:14
背景任务的几种常见调度方式
背景任务的几种常见调度方式   我们喜欢RTOS,因为它足够简单;我们讨厌RTOS,因为它足够复杂。从“裸奔”到RTOS,首先意味着工程师们要去适应这些“新”东西,更要命的是要去给BOSS...
用户1528688 2014-08-18 21:20
工程师应要会讲故事
    是的,我回来了,EDN博客(...好吧,其实没人记得我)     5年之前我还在念书,自认为是那种无师自通的材料,于是乎——大一白天疯玩,晚上熬夜做作业;大二开始沉迷code,以至于去...
用户1528688 2009-12-03 07:33
KeilC 里面慎重对全局变量初始化
首先,这里的全局变量指的是 在main() 之前定义的变量(包括在 .h文件 或者  其他.c文件里面定义的变量)。<?xml:namespace prefix = o ns = "urn:sc...
用户1528688 2009-11-28 23:03
C51外部RAM扩展
//存储模式的选择(small,compect,large),并不直接影响XDATA的使用 -- //使用XDATA,PDATA时,主要注意的是 //参数传递,堆栈的位置--因为这些直接影响到程序的效...
用户1528688 2009-11-28 21:53
特定序列检测
从数据流<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  010_01101_0_...
EE直播间
更多
我要评论
1
13
关闭 站长推荐上一条 /3 下一条