参考老外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; 后面几组参数更离谱,最高到了180多Hz).
到底是 程序错误 还是 数据表的问题 还是显示器检测 的问题?
我暂时得不出答案. 希望各位大侠给小弟指点迷津^_^
=====================================================================
整理出来的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
用户1559257 2012-8-27 10:42